diff --git a/test/fixtures/boat_example.jl b/test/fixtures/boat_example.jl index 2cc707c..e059bfb 100644 --- a/test/fixtures/boat_example.jl +++ b/test/fixtures/boat_example.jl @@ -166,7 +166,24 @@ function run_boat_example() ), ) + # Generate instance file open(fixture("boat_example.json"), "w") do file JSON.print(file, data, 2) end + + # Load and solve example + instance = RELOG.parsefile(fixture("boat_example.json")) + model = RELOG.build_model(instance, optimizer = HiGHS.Optimizer, variable_names = true) + optimize!(model) + + # Write reports + mkpath(fixture("boat_example")) + write_to_file(model, fixture("boat_example/model.lp")) + RELOG.write_plants_report(model, fixture("boat_example/plants.csv")) + RELOG.write_plant_outputs_report(model, fixture("boat_example/plant_outputs.csv")) + RELOG.write_centers_report(model, fixture("boat_example/centers.csv")) + RELOG.write_center_outputs_report(model, fixture("boat_example/center_outputs.csv")) + RELOG.write_transportation_report(model, fixture("boat_example/transportation.csv")) + + return end \ No newline at end of file diff --git a/test/fixtures/boat_example.json b/test/fixtures/boat_example.json index 34c1ab4..ecadb79 100644 --- a/test/fixtures/boat_example.json +++ b/test/fixtures/boat_example.json @@ -43,7 +43,7 @@ "Nail" ], "fixed output (tonne)": { - "Nail": 5 + "Nail": 1 }, "variable output (tonne/tonne)": { "Nail": 0 @@ -68,7 +68,7 @@ "Nail" ], "fixed output (tonne)": { - "Nail": 5 + "Nail": 1 }, "variable output (tonne/tonne)": { "Nail": 0 @@ -93,7 +93,7 @@ "Nail" ], "fixed output (tonne)": { - "Nail": 5 + "Nail": 1 }, "variable output (tonne/tonne)": { "Nail": 0 @@ -118,7 +118,7 @@ "Wood" ], "fixed output (tonne)": { - "Wood": 95 + "Wood": 100 }, "variable output (tonne/tonne)": { "Wood": 0 @@ -143,7 +143,7 @@ "Wood" ], "fixed output (tonne)": { - "Wood": 95 + "Wood": 100 }, "variable output (tonne/tonne)": { "Wood": 0 @@ -168,7 +168,7 @@ "Wood" ], "fixed output (tonne)": { - "Wood": 95 + "Wood": 100 }, "variable output (tonne/tonne)": { "Wood": 0 @@ -208,7 +208,7 @@ }, "operating cost ($)": 125000, "disposal limit (tonne)": { - "UsedBoat": null + "UsedBoat": 0 }, "disposal cost ($/tonne)": { "UsedBoat": 0 @@ -237,7 +237,7 @@ }, "operating cost ($)": 125000, "disposal limit (tonne)": { - "UsedBoat": null + "UsedBoat": 0 }, "disposal cost ($/tonne)": { "UsedBoat": 0 @@ -266,7 +266,7 @@ }, "operating cost ($)": 125000, "disposal limit (tonne)": { - "UsedBoat": null + "UsedBoat": 0 }, "disposal cost ($/tonne)": { "UsedBoat": 0 @@ -295,7 +295,7 @@ }, "operating cost ($)": 125000, "disposal limit (tonne)": { - "UsedBoat": null + "UsedBoat": 0 }, "disposal cost ($/tonne)": { "UsedBoat": 0 @@ -324,7 +324,7 @@ }, "operating cost ($)": 125000, "disposal limit (tonne)": { - "UsedBoat": null + "UsedBoat": 0 }, "disposal cost ($/tonne)": { "UsedBoat": 0 @@ -353,7 +353,7 @@ }, "operating cost ($)": 125000, "disposal limit (tonne)": { - "UsedBoat": null + "UsedBoat": 0 }, "disposal cost ($/tonne)": { "UsedBoat": 0 @@ -382,7 +382,7 @@ }, "operating cost ($)": 125000, "disposal limit (tonne)": { - "UsedBoat": null + "UsedBoat": 0 }, "disposal cost ($/tonne)": { "UsedBoat": 0 @@ -411,7 +411,7 @@ }, "operating cost ($)": 125000, "disposal limit (tonne)": { - "UsedBoat": null + "UsedBoat": 0 }, "disposal cost ($/tonne)": { "UsedBoat": 0 @@ -440,7 +440,7 @@ }, "operating cost ($)": 125000, "disposal limit (tonne)": { - "UsedBoat": null + "UsedBoat": 0 }, "disposal cost ($/tonne)": { "UsedBoat": 0 @@ -469,7 +469,7 @@ }, "operating cost ($)": 125000, "disposal limit (tonne)": { - "UsedBoat": null + "UsedBoat": 0 }, "disposal cost ($/tonne)": { "UsedBoat": 0 @@ -507,7 +507,7 @@ "capacities": [ { "size (tonne)": 500, - "opening cost ($)": 1000000, + "opening cost ($)": 100000, "fixed operating cost ($)": 250000, "variable operating cost ($/tonne)": 5 }, @@ -550,7 +550,7 @@ "capacities": [ { "size (tonne)": 500, - "opening cost ($)": 1000000, + "opening cost ($)": 100000, "fixed operating cost ($)": 250000, "variable operating cost ($/tonne)": 5 }, @@ -593,7 +593,7 @@ "capacities": [ { "size (tonne)": 500, - "opening cost ($)": 1000000, + "opening cost ($)": 100000, "fixed operating cost ($)": 250000, "variable operating cost ($/tonne)": 5 }, @@ -636,7 +636,7 @@ "capacities": [ { "size (tonne)": 500, - "opening cost ($)": 1000000, + "opening cost ($)": 100000, "fixed operating cost ($)": 250000, "variable operating cost ($/tonne)": 5 }, @@ -679,7 +679,7 @@ "capacities": [ { "size (tonne)": 500, - "opening cost ($)": 1000000, + "opening cost ($)": 100000, "fixed operating cost ($)": 250000, "variable operating cost ($/tonne)": 5 }, @@ -722,7 +722,7 @@ "capacities": [ { "size (tonne)": 500, - "opening cost ($)": 1000000, + "opening cost ($)": 100000, "fixed operating cost ($)": 250000, "variable operating cost ($/tonne)": 5 }, @@ -765,7 +765,7 @@ "capacities": [ { "size (tonne)": 500, - "opening cost ($)": 1000000, + "opening cost ($)": 100000, "fixed operating cost ($)": 250000, "variable operating cost ($/tonne)": 5 }, @@ -808,7 +808,7 @@ "capacities": [ { "size (tonne)": 500, - "opening cost ($)": 1000000, + "opening cost ($)": 100000, "fixed operating cost ($)": 250000, "variable operating cost ($/tonne)": 5 }, @@ -851,7 +851,7 @@ "capacities": [ { "size (tonne)": 500, - "opening cost ($)": 1000000, + "opening cost ($)": 100000, "fixed operating cost ($)": 250000, "variable operating cost ($/tonne)": 5 }, @@ -894,7 +894,7 @@ "capacities": [ { "size (tonne)": 500, - "opening cost ($)": 1000000, + "opening cost ($)": 100000, "fixed operating cost ($)": 250000, "variable operating cost ($/tonne)": 5 }, diff --git a/test/fixtures/boat_example/center_outputs.csv b/test/fixtures/boat_example/center_outputs.csv new file mode 100644 index 0000000..2160955 --- /dev/null +++ b/test/fixtures/boat_example/center_outputs.csv @@ -0,0 +1,81 @@ +center,output product,year,amount collected (tonne),amount disposed (tonne),collection cost ($),disposal cost ($) +NailFactory (Chicago),Nail,1,1.0,0.0,1000.0,0.0 +NailFactory (Chicago),Nail,2,1.0,0.0,1000.0,0.0 +NailFactory (Chicago),Nail,3,1.0,-0.0,1000.0,-0.0 +NailFactory (Chicago),Nail,4,1.0,0.0,1000.0,0.0 +NailFactory (Chicago),Nail,5,1.0,0.0,1000.0,0.0 +NailFactory (Phoenix),Nail,1,1.0,0.0,1000.0,0.0 +NailFactory (Phoenix),Nail,2,1.0,0.0,1000.0,0.0 +NailFactory (Phoenix),Nail,3,1.0,0.0,1000.0,0.0 +NailFactory (Phoenix),Nail,4,1.0,0.0,1000.0,0.0 +NailFactory (Phoenix),Nail,5,1.0,0.0,1000.0,0.0 +NailFactory (Dallas),Nail,1,1.0,-0.0,1000.0,-0.0 +NailFactory (Dallas),Nail,2,1.0,-0.0,1000.0,-0.0 +NailFactory (Dallas),Nail,3,1.0,-0.0,1000.0,-0.0 +NailFactory (Dallas),Nail,4,1.0,0.0,1000.0,0.0 +NailFactory (Dallas),Nail,5,1.0,0.0,1000.0,0.0 +Forest (Chicago),Wood,1,100.0,100.0,0.0,0.0 +Forest (Chicago),Wood,2,100.0,100.0,0.0,0.0 +Forest (Chicago),Wood,3,100.0,100.0,0.0,0.0 +Forest (Chicago),Wood,4,100.0,100.0,0.0,0.0 +Forest (Chicago),Wood,5,100.0,100.0,0.0,0.0 +Forest (Phoenix),Wood,1,100.0,100.0,0.0,0.0 +Forest (Phoenix),Wood,2,100.0,100.0,0.0,0.0 +Forest (Phoenix),Wood,3,100.0,100.0,0.0,0.0 +Forest (Phoenix),Wood,4,100.0,100.0,0.0,0.0 +Forest (Phoenix),Wood,5,100.0,100.0,0.0,0.0 +Forest (Dallas),Wood,1,100.0,43.0,14250.0,0.0 +Forest (Dallas),Wood,2,100.0,43.0,14250.0,0.0 +Forest (Dallas),Wood,3,100.0,43.0,14250.0,0.0 +Forest (Dallas),Wood,4,100.0,43.0,14250.0,0.0 +Forest (Dallas),Wood,5,100.0,43.0,14250.0,0.0 +Retail (Chicago),UsedBoat,1,0.0,0.0,0.0,0.0 +Retail (Chicago),UsedBoat,2,0.0,0.0,0.0,0.0 +Retail (Chicago),UsedBoat,3,0.0,0.0,0.0,0.0 +Retail (Chicago),UsedBoat,4,0.0,0.0,0.0,0.0 +Retail (Chicago),UsedBoat,5,0.0,0.0,0.0,0.0 +Retail (New York City),UsedBoat,1,0.0,0.0,0.0,0.0 +Retail (New York City),UsedBoat,2,0.0,0.0,0.0,0.0 +Retail (New York City),UsedBoat,3,0.0,0.0,0.0,0.0 +Retail (New York City),UsedBoat,4,0.0,0.0,0.0,0.0 +Retail (New York City),UsedBoat,5,0.0,0.0,0.0,0.0 +Retail (Los Angeles),UsedBoat,1,0.0,0.0,0.0,0.0 +Retail (Los Angeles),UsedBoat,2,0.0,0.0,0.0,0.0 +Retail (Los Angeles),UsedBoat,3,0.0,0.0,0.0,0.0 +Retail (Los Angeles),UsedBoat,4,0.0,0.0,0.0,0.0 +Retail (Los Angeles),UsedBoat,5,0.0,0.0,0.0,0.0 +Retail (Houston),UsedBoat,1,0.0,0.0,0.0,0.0 +Retail (Houston),UsedBoat,2,0.0,0.0,0.0,0.0 +Retail (Houston),UsedBoat,3,0.0,0.0,0.0,0.0 +Retail (Houston),UsedBoat,4,0.0,0.0,0.0,0.0 +Retail (Houston),UsedBoat,5,0.0,0.0,0.0,0.0 +Retail (Phoenix),UsedBoat,1,0.0,0.0,0.0,0.0 +Retail (Phoenix),UsedBoat,2,0.0,0.0,0.0,0.0 +Retail (Phoenix),UsedBoat,3,0.0,0.0,0.0,0.0 +Retail (Phoenix),UsedBoat,4,0.0,0.0,0.0,0.0 +Retail (Phoenix),UsedBoat,5,0.0,0.0,0.0,0.0 +Retail (Philadelphia),UsedBoat,1,0.0,0.0,0.0,0.0 +Retail (Philadelphia),UsedBoat,2,0.0,0.0,0.0,0.0 +Retail (Philadelphia),UsedBoat,3,0.0,0.0,0.0,0.0 +Retail (Philadelphia),UsedBoat,4,0.0,0.0,0.0,0.0 +Retail (Philadelphia),UsedBoat,5,0.0,0.0,0.0,0.0 +Retail (San Antonio),UsedBoat,1,0.0,0.0,0.0,0.0 +Retail (San Antonio),UsedBoat,2,0.0,0.0,0.0,0.0 +Retail (San Antonio),UsedBoat,3,0.0,0.0,0.0,0.0 +Retail (San Antonio),UsedBoat,4,0.0,0.0,0.0,0.0 +Retail (San Antonio),UsedBoat,5,0.0,0.0,0.0,0.0 +Retail (San Diego),UsedBoat,1,0.0,0.0,0.0,0.0 +Retail (San Diego),UsedBoat,2,0.0,0.0,0.0,0.0 +Retail (San Diego),UsedBoat,3,0.0,0.0,0.0,0.0 +Retail (San Diego),UsedBoat,4,0.0,0.0,0.0,0.0 +Retail (San Diego),UsedBoat,5,0.0,0.0,0.0,0.0 +Retail (Dallas),UsedBoat,1,6.31579,0.0,631.57895,0.0 +Retail (Dallas),UsedBoat,2,22.93629,0.0,2293.62881,0.0 +Retail (Dallas),UsedBoat,3,31.7714,0.0,3177.13952,0.0 +Retail (Dallas),UsedBoat,4,33.80867,0.0,3380.86724,0.0 +Retail (Dallas),UsedBoat,5,34.54174,0.0,3454.17409,0.0 +Retail (San Jose),UsedBoat,1,0.0,0.0,0.0,0.0 +Retail (San Jose),UsedBoat,2,0.0,0.0,0.0,0.0 +Retail (San Jose),UsedBoat,3,0.0,0.0,0.0,0.0 +Retail (San Jose),UsedBoat,4,0.0,0.0,0.0,0.0 +Retail (San Jose),UsedBoat,5,0.0,0.0,0.0,0.0 diff --git a/test/fixtures/boat_example/centers.csv b/test/fixtures/boat_example/centers.csv new file mode 100644 index 0000000..b27c492 --- /dev/null +++ b/test/fixtures/boat_example/centers.csv @@ -0,0 +1,81 @@ +center,year,input product,input amount (tonne),revenue ($),operating cost ($) +NailFactory (Chicago),1,,0.0,0.0,0.0 +NailFactory (Chicago),2,,0.0,0.0,0.0 +NailFactory (Chicago),3,,0.0,0.0,0.0 +NailFactory (Chicago),4,,0.0,0.0,0.0 +NailFactory (Chicago),5,,0.0,0.0,0.0 +NailFactory (Phoenix),1,,0.0,0.0,0.0 +NailFactory (Phoenix),2,,0.0,0.0,0.0 +NailFactory (Phoenix),3,,0.0,0.0,0.0 +NailFactory (Phoenix),4,,0.0,0.0,0.0 +NailFactory (Phoenix),5,,0.0,0.0,0.0 +NailFactory (Dallas),1,,0.0,0.0,0.0 +NailFactory (Dallas),2,,0.0,0.0,0.0 +NailFactory (Dallas),3,,0.0,0.0,0.0 +NailFactory (Dallas),4,,0.0,0.0,0.0 +NailFactory (Dallas),5,,0.0,0.0,0.0 +Forest (Chicago),1,,0.0,0.0,0.0 +Forest (Chicago),2,,0.0,0.0,0.0 +Forest (Chicago),3,,0.0,0.0,0.0 +Forest (Chicago),4,,0.0,0.0,0.0 +Forest (Chicago),5,,0.0,0.0,0.0 +Forest (Phoenix),1,,0.0,0.0,0.0 +Forest (Phoenix),2,,0.0,0.0,0.0 +Forest (Phoenix),3,,0.0,0.0,0.0 +Forest (Phoenix),4,,0.0,0.0,0.0 +Forest (Phoenix),5,,0.0,0.0,0.0 +Forest (Dallas),1,,0.0,0.0,0.0 +Forest (Dallas),2,,0.0,0.0,0.0 +Forest (Dallas),3,,0.0,0.0,0.0 +Forest (Dallas),4,,0.0,0.0,0.0 +Forest (Dallas),5,,0.0,0.0,0.0 +Retail (Chicago),1,NewBoat,0.0,0.0,125000.0 +Retail (Chicago),2,NewBoat,0.0,0.0,125000.0 +Retail (Chicago),3,NewBoat,0.0,0.0,125000.0 +Retail (Chicago),4,NewBoat,0.0,0.0,125000.0 +Retail (Chicago),5,NewBoat,0.0,0.0,125000.0 +Retail (New York City),1,NewBoat,0.0,0.0,125000.0 +Retail (New York City),2,NewBoat,0.0,0.0,125000.0 +Retail (New York City),3,NewBoat,0.0,0.0,125000.0 +Retail (New York City),4,NewBoat,0.0,0.0,125000.0 +Retail (New York City),5,NewBoat,0.0,0.0,125000.0 +Retail (Los Angeles),1,NewBoat,0.0,0.0,125000.0 +Retail (Los Angeles),2,NewBoat,0.0,0.0,125000.0 +Retail (Los Angeles),3,NewBoat,0.0,0.0,125000.0 +Retail (Los Angeles),4,NewBoat,0.0,0.0,125000.0 +Retail (Los Angeles),5,NewBoat,0.0,0.0,125000.0 +Retail (Houston),1,NewBoat,0.0,0.0,125000.0 +Retail (Houston),2,NewBoat,0.0,0.0,125000.0 +Retail (Houston),3,NewBoat,0.0,0.0,125000.0 +Retail (Houston),4,NewBoat,0.0,0.0,125000.0 +Retail (Houston),5,NewBoat,0.0,0.0,125000.0 +Retail (Phoenix),1,NewBoat,0.0,0.0,125000.0 +Retail (Phoenix),2,NewBoat,0.0,0.0,125000.0 +Retail (Phoenix),3,NewBoat,0.0,0.0,125000.0 +Retail (Phoenix),4,NewBoat,0.0,0.0,125000.0 +Retail (Phoenix),5,NewBoat,0.0,0.0,125000.0 +Retail (Philadelphia),1,NewBoat,0.0,0.0,125000.0 +Retail (Philadelphia),2,NewBoat,0.0,0.0,125000.0 +Retail (Philadelphia),3,NewBoat,0.0,0.0,125000.0 +Retail (Philadelphia),4,NewBoat,0.0,0.0,125000.0 +Retail (Philadelphia),5,NewBoat,0.0,0.0,125000.0 +Retail (San Antonio),1,NewBoat,0.0,0.0,125000.0 +Retail (San Antonio),2,NewBoat,0.0,0.0,125000.0 +Retail (San Antonio),3,NewBoat,0.0,0.0,125000.0 +Retail (San Antonio),4,NewBoat,0.0,0.0,125000.0 +Retail (San Antonio),5,NewBoat,0.0,0.0,125000.0 +Retail (San Diego),1,NewBoat,0.0,0.0,125000.0 +Retail (San Diego),2,NewBoat,0.0,0.0,125000.0 +Retail (San Diego),3,NewBoat,0.0,0.0,125000.0 +Retail (San Diego),4,NewBoat,0.0,0.0,125000.0 +Retail (San Diego),5,NewBoat,0.0,0.0,125000.0 +Retail (Dallas),1,NewBoat,63.15789,757894.73684,125000.0 +Retail (Dallas),2,NewBoat,71.46814,857617.72853,125000.0 +Retail (Dallas),3,NewBoat,75.8857,910628.37148,125000.0 +Retail (Dallas),4,NewBoat,76.90434,922852.03459,125000.0 +Retail (Dallas),5,NewBoat,77.27087,927250.44516,125000.0 +Retail (San Jose),1,NewBoat,0.0,0.0,125000.0 +Retail (San Jose),2,NewBoat,0.0,0.0,125000.0 +Retail (San Jose),3,NewBoat,0.0,0.0,125000.0 +Retail (San Jose),4,NewBoat,0.0,0.0,125000.0 +Retail (San Jose),5,NewBoat,0.0,0.0,125000.0 diff --git a/test/fixtures/boat_example/plant_outputs.csv b/test/fixtures/boat_example/plant_outputs.csv new file mode 100644 index 0000000..643b13c --- /dev/null +++ b/test/fixtures/boat_example/plant_outputs.csv @@ -0,0 +1,151 @@ +plant,output product,year,amount produced (tonne),amount disposed (tonne),disposal cost ($) +BoatFactory (Chicago),NewBoat,1,0.0,0.0,0.0 +BoatFactory (Chicago),NewBoat,2,0.0,0.0,0.0 +BoatFactory (Chicago),NewBoat,3,0.0,0.0,0.0 +BoatFactory (Chicago),NewBoat,4,0.0,0.0,0.0 +BoatFactory (Chicago),NewBoat,5,0.0,0.0,0.0 +BoatFactory (New York City),NewBoat,1,0.0,0.0,0.0 +BoatFactory (New York City),NewBoat,2,0.0,0.0,0.0 +BoatFactory (New York City),NewBoat,3,0.0,0.0,0.0 +BoatFactory (New York City),NewBoat,4,0.0,0.0,0.0 +BoatFactory (New York City),NewBoat,5,0.0,0.0,0.0 +BoatFactory (Los Angeles),NewBoat,1,0.0,0.0,0.0 +BoatFactory (Los Angeles),NewBoat,2,0.0,0.0,0.0 +BoatFactory (Los Angeles),NewBoat,3,0.0,0.0,0.0 +BoatFactory (Los Angeles),NewBoat,4,0.0,0.0,0.0 +BoatFactory (Los Angeles),NewBoat,5,0.0,0.0,0.0 +BoatFactory (Houston),NewBoat,1,0.0,0.0,0.0 +BoatFactory (Houston),NewBoat,2,0.0,0.0,0.0 +BoatFactory (Houston),NewBoat,3,0.0,0.0,0.0 +BoatFactory (Houston),NewBoat,4,0.0,0.0,0.0 +BoatFactory (Houston),NewBoat,5,0.0,0.0,0.0 +BoatFactory (Phoenix),NewBoat,1,0.0,0.0,0.0 +BoatFactory (Phoenix),NewBoat,2,0.0,0.0,0.0 +BoatFactory (Phoenix),NewBoat,3,0.0,0.0,0.0 +BoatFactory (Phoenix),NewBoat,4,0.0,0.0,0.0 +BoatFactory (Phoenix),NewBoat,5,0.0,0.0,0.0 +BoatFactory (Philadelphia),NewBoat,1,0.0,0.0,0.0 +BoatFactory (Philadelphia),NewBoat,2,0.0,0.0,0.0 +BoatFactory (Philadelphia),NewBoat,3,0.0,0.0,0.0 +BoatFactory (Philadelphia),NewBoat,4,0.0,0.0,0.0 +BoatFactory (Philadelphia),NewBoat,5,0.0,0.0,0.0 +BoatFactory (San Antonio),NewBoat,1,0.0,0.0,0.0 +BoatFactory (San Antonio),NewBoat,2,0.0,0.0,0.0 +BoatFactory (San Antonio),NewBoat,3,0.0,0.0,0.0 +BoatFactory (San Antonio),NewBoat,4,0.0,0.0,0.0 +BoatFactory (San Antonio),NewBoat,5,0.0,0.0,0.0 +BoatFactory (San Diego),NewBoat,1,0.0,0.0,0.0 +BoatFactory (San Diego),NewBoat,2,0.0,0.0,0.0 +BoatFactory (San Diego),NewBoat,3,0.0,0.0,0.0 +BoatFactory (San Diego),NewBoat,4,0.0,0.0,0.0 +BoatFactory (San Diego),NewBoat,5,0.0,0.0,0.0 +BoatFactory (Dallas),NewBoat,1,63.15789,0.0,0.0 +BoatFactory (Dallas),NewBoat,2,71.46814,0.0,0.0 +BoatFactory (Dallas),NewBoat,3,75.8857,0.0,0.0 +BoatFactory (Dallas),NewBoat,4,76.90434,0.0,0.0 +BoatFactory (Dallas),NewBoat,5,77.27087,0.0,0.0 +BoatFactory (San Jose),NewBoat,1,0.0,0.0,0.0 +BoatFactory (San Jose),NewBoat,2,0.0,0.0,0.0 +BoatFactory (San Jose),NewBoat,3,0.0,0.0,0.0 +BoatFactory (San Jose),NewBoat,4,0.0,0.0,0.0 +BoatFactory (San Jose),NewBoat,5,0.0,0.0,0.0 +RecyclingPlant (Chicago),Nail,1,0.0,0.0,0.0 +RecyclingPlant (Chicago),Nail,2,0.0,0.0,0.0 +RecyclingPlant (Chicago),Nail,3,0.0,0.0,0.0 +RecyclingPlant (Chicago),Nail,4,0.0,0.0,0.0 +RecyclingPlant (Chicago),Nail,5,0.0,0.0,0.0 +RecyclingPlant (Chicago),Wood,1,0.0,0.0,0.0 +RecyclingPlant (Chicago),Wood,2,0.0,0.0,0.0 +RecyclingPlant (Chicago),Wood,3,0.0,0.0,0.0 +RecyclingPlant (Chicago),Wood,4,0.0,0.0,0.0 +RecyclingPlant (Chicago),Wood,5,0.0,0.0,0.0 +RecyclingPlant (New York City),Nail,1,0.0,0.0,0.0 +RecyclingPlant (New York City),Nail,2,0.0,0.0,0.0 +RecyclingPlant (New York City),Nail,3,0.0,0.0,0.0 +RecyclingPlant (New York City),Nail,4,0.0,0.0,0.0 +RecyclingPlant (New York City),Nail,5,0.0,0.0,0.0 +RecyclingPlant (New York City),Wood,1,0.0,0.0,0.0 +RecyclingPlant (New York City),Wood,2,0.0,0.0,0.0 +RecyclingPlant (New York City),Wood,3,0.0,0.0,0.0 +RecyclingPlant (New York City),Wood,4,0.0,0.0,0.0 +RecyclingPlant (New York City),Wood,5,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),Nail,1,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),Nail,2,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),Nail,3,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),Nail,4,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),Nail,5,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),Wood,1,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),Wood,2,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),Wood,3,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),Wood,4,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),Wood,5,0.0,0.0,0.0 +RecyclingPlant (Houston),Nail,1,0.0,0.0,0.0 +RecyclingPlant (Houston),Nail,2,0.0,0.0,0.0 +RecyclingPlant (Houston),Nail,3,0.0,0.0,0.0 +RecyclingPlant (Houston),Nail,4,0.0,0.0,0.0 +RecyclingPlant (Houston),Nail,5,0.0,0.0,0.0 +RecyclingPlant (Houston),Wood,1,0.0,0.0,0.0 +RecyclingPlant (Houston),Wood,2,0.0,0.0,0.0 +RecyclingPlant (Houston),Wood,3,0.0,0.0,0.0 +RecyclingPlant (Houston),Wood,4,0.0,0.0,0.0 +RecyclingPlant (Houston),Wood,5,0.0,0.0,0.0 +RecyclingPlant (Phoenix),Nail,1,0.0,0.0,0.0 +RecyclingPlant (Phoenix),Nail,2,0.0,0.0,0.0 +RecyclingPlant (Phoenix),Nail,3,0.0,0.0,0.0 +RecyclingPlant (Phoenix),Nail,4,0.0,0.0,0.0 +RecyclingPlant (Phoenix),Nail,5,0.0,0.0,0.0 +RecyclingPlant (Phoenix),Wood,1,0.0,0.0,0.0 +RecyclingPlant (Phoenix),Wood,2,0.0,0.0,0.0 +RecyclingPlant (Phoenix),Wood,3,0.0,0.0,0.0 +RecyclingPlant (Phoenix),Wood,4,0.0,0.0,0.0 +RecyclingPlant (Phoenix),Wood,5,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),Nail,1,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),Nail,2,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),Nail,3,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),Nail,4,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),Nail,5,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),Wood,1,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),Wood,2,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),Wood,3,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),Wood,4,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),Wood,5,0.0,0.0,0.0 +RecyclingPlant (San Antonio),Nail,1,0.0,0.0,0.0 +RecyclingPlant (San Antonio),Nail,2,0.0,0.0,0.0 +RecyclingPlant (San Antonio),Nail,3,0.0,0.0,0.0 +RecyclingPlant (San Antonio),Nail,4,0.0,0.0,0.0 +RecyclingPlant (San Antonio),Nail,5,0.0,0.0,0.0 +RecyclingPlant (San Antonio),Wood,1,0.0,0.0,0.0 +RecyclingPlant (San Antonio),Wood,2,0.0,0.0,0.0 +RecyclingPlant (San Antonio),Wood,3,0.0,0.0,0.0 +RecyclingPlant (San Antonio),Wood,4,0.0,0.0,0.0 +RecyclingPlant (San Antonio),Wood,5,0.0,0.0,0.0 +RecyclingPlant (San Diego),Nail,1,0.0,0.0,0.0 +RecyclingPlant (San Diego),Nail,2,0.0,0.0,0.0 +RecyclingPlant (San Diego),Nail,3,0.0,0.0,0.0 +RecyclingPlant (San Diego),Nail,4,0.0,0.0,0.0 +RecyclingPlant (San Diego),Nail,5,0.0,0.0,0.0 +RecyclingPlant (San Diego),Wood,1,0.0,0.0,0.0 +RecyclingPlant (San Diego),Wood,2,0.0,0.0,0.0 +RecyclingPlant (San Diego),Wood,3,0.0,0.0,0.0 +RecyclingPlant (San Diego),Wood,4,0.0,0.0,0.0 +RecyclingPlant (San Diego),Wood,5,0.0,0.0,0.0 +RecyclingPlant (Dallas),Nail,1,0.15789,0.0,0.0 +RecyclingPlant (Dallas),Nail,2,0.57341,0.0,0.0 +RecyclingPlant (Dallas),Nail,3,0.79428,0.0,0.0 +RecyclingPlant (Dallas),Nail,4,0.84522,0.0,0.0 +RecyclingPlant (Dallas),Nail,5,0.86354,0.0,0.0 +RecyclingPlant (Dallas),Wood,1,3.0,0.0,0.0 +RecyclingPlant (Dallas),Wood,2,10.89474,0.0,0.0 +RecyclingPlant (Dallas),Wood,3,15.09141,0.0,0.0 +RecyclingPlant (Dallas),Wood,4,16.05912,0.0,0.0 +RecyclingPlant (Dallas),Wood,5,16.40733,0.0,0.0 +RecyclingPlant (San Jose),Nail,1,0.0,0.0,0.0 +RecyclingPlant (San Jose),Nail,2,0.0,0.0,0.0 +RecyclingPlant (San Jose),Nail,3,0.0,0.0,0.0 +RecyclingPlant (San Jose),Nail,4,0.0,0.0,0.0 +RecyclingPlant (San Jose),Nail,5,0.0,0.0,0.0 +RecyclingPlant (San Jose),Wood,1,0.0,0.0,0.0 +RecyclingPlant (San Jose),Wood,2,0.0,0.0,0.0 +RecyclingPlant (San Jose),Wood,3,0.0,0.0,0.0 +RecyclingPlant (San Jose),Wood,4,0.0,0.0,0.0 +RecyclingPlant (San Jose),Wood,5,0.0,0.0,0.0 diff --git a/test/fixtures/boat_example/plants.csv b/test/fixtures/boat_example/plants.csv new file mode 100644 index 0000000..622fbf9 --- /dev/null +++ b/test/fixtures/boat_example/plants.csv @@ -0,0 +1,101 @@ +plant,year,operational?,input amount (tonne),opening cost ($),fixed operating cost ($),variable operating cost ($) +BoatFactory (Chicago),1,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Chicago),2,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Chicago),3,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Chicago),4,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Chicago),5,false,-0.0,0.0,0.0,-0.0 +BoatFactory (New York City),1,false,0.0,0.0,0.0,0.0 +BoatFactory (New York City),2,false,0.0,0.0,0.0,0.0 +BoatFactory (New York City),3,false,0.0,0.0,0.0,0.0 +BoatFactory (New York City),4,false,0.0,0.0,0.0,0.0 +BoatFactory (New York City),5,false,0.0,0.0,0.0,0.0 +BoatFactory (Los Angeles),1,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Los Angeles),2,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Los Angeles),3,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Los Angeles),4,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Los Angeles),5,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Houston),1,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Houston),2,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Houston),3,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Houston),4,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Houston),5,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Phoenix),1,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Phoenix),2,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Phoenix),3,false,0.0,0.0,0.0,0.0 +BoatFactory (Phoenix),4,false,-0.0,0.0,0.0,-0.0 +BoatFactory (Phoenix),5,false,0.0,0.0,0.0,0.0 +BoatFactory (Philadelphia),1,false,0.0,0.0,0.0,0.0 +BoatFactory (Philadelphia),2,false,0.0,0.0,0.0,0.0 +BoatFactory (Philadelphia),3,false,0.0,0.0,0.0,0.0 +BoatFactory (Philadelphia),4,false,0.0,0.0,0.0,0.0 +BoatFactory (Philadelphia),5,false,0.0,0.0,0.0,0.0 +BoatFactory (San Antonio),1,false,-0.0,0.0,0.0,-0.0 +BoatFactory (San Antonio),2,false,-0.0,0.0,0.0,-0.0 +BoatFactory (San Antonio),3,false,-0.0,0.0,0.0,-0.0 +BoatFactory (San Antonio),4,false,-0.0,0.0,0.0,-0.0 +BoatFactory (San Antonio),5,false,-0.0,0.0,0.0,-0.0 +BoatFactory (San Diego),1,false,0.0,0.0,0.0,0.0 +BoatFactory (San Diego),2,false,0.0,0.0,0.0,0.0 +BoatFactory (San Diego),3,false,0.0,0.0,0.0,0.0 +BoatFactory (San Diego),4,false,0.0,0.0,0.0,0.0 +BoatFactory (San Diego),5,false,0.0,0.0,0.0,0.0 +BoatFactory (Dallas),1,true,63.15789,100000.0,250000.0,315.78947 +BoatFactory (Dallas),2,true,71.46814,0.0,250000.0,357.34072 +BoatFactory (Dallas),3,true,75.8857,0.0,250000.0,379.42849 +BoatFactory (Dallas),4,true,76.90434,0.0,250000.0,384.52168 +BoatFactory (Dallas),5,true,77.27087,0.0,250000.0,386.35435 +BoatFactory (San Jose),1,false,0.0,0.0,0.0,0.0 +BoatFactory (San Jose),2,false,0.0,0.0,0.0,0.0 +BoatFactory (San Jose),3,false,0.0,0.0,0.0,0.0 +BoatFactory (San Jose),4,false,0.0,0.0,0.0,0.0 +BoatFactory (San Jose),5,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Chicago),1,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Chicago),2,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Chicago),3,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Chicago),4,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Chicago),5,false,0.0,0.0,0.0,0.0 +RecyclingPlant (New York City),1,false,0.0,0.0,0.0,0.0 +RecyclingPlant (New York City),2,false,0.0,0.0,0.0,0.0 +RecyclingPlant (New York City),3,false,0.0,0.0,0.0,0.0 +RecyclingPlant (New York City),4,false,0.0,0.0,0.0,0.0 +RecyclingPlant (New York City),5,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),1,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),2,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),3,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),4,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Los Angeles),5,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Houston),1,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Houston),2,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Houston),3,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Houston),4,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Houston),5,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Phoenix),1,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Phoenix),2,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Phoenix),3,false,-0.0,0.0,0.0,-0.0 +RecyclingPlant (Phoenix),4,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Phoenix),5,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),1,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),2,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),3,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),4,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Philadelphia),5,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Antonio),1,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Antonio),2,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Antonio),3,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Antonio),4,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Antonio),5,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Diego),1,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Diego),2,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Diego),3,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Diego),4,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Diego),5,false,0.0,0.0,0.0,0.0 +RecyclingPlant (Dallas),1,true,6.31579,500000.0,125000.0,15.78947 +RecyclingPlant (Dallas),2,true,22.93629,0.0,125000.0,57.34072 +RecyclingPlant (Dallas),3,true,31.7714,0.0,125000.0,79.42849 +RecyclingPlant (Dallas),4,true,33.80867,0.0,125000.0,84.52168 +RecyclingPlant (Dallas),5,true,34.54174,0.0,125000.0,86.35435 +RecyclingPlant (San Jose),1,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Jose),2,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Jose),3,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Jose),4,false,0.0,0.0,0.0,0.0 +RecyclingPlant (San Jose),5,false,0.0,0.0,0.0,0.0 diff --git a/test/fixtures/boat_example/transportation.csv b/test/fixtures/boat_example/transportation.csv new file mode 100644 index 0000000..17d5f9f --- /dev/null +++ b/test/fixtures/boat_example/transportation.csv @@ -0,0 +1,41 @@ +source,destination,product,year,amount sent (tonne),distance (km),transportation cost ($),center revenue ($),center collection cost ($) +RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,1,0.15789,0.0,0.0,0.0,0.0 +RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,2,0.57341,0.0,0.0,0.0,0.0 +RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,3,0.79428,0.0,0.0,0.0,0.0 +RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,4,0.84522,0.0,0.0,0.0,0.0 +RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,5,0.86354,0.0,0.0,0.0,0.0 +NailFactory (Chicago),BoatFactory (Dallas),Nail,1,1.0,1293.093,387.9279,0.0,1000.0 +NailFactory (Chicago),BoatFactory (Dallas),Nail,2,1.0,1293.093,387.9279,0.0,1000.0 +NailFactory (Chicago),BoatFactory (Dallas),Nail,3,1.0,1293.093,387.9279,0.0,1000.0 +NailFactory (Chicago),BoatFactory (Dallas),Nail,4,1.0,1293.093,387.9279,0.0,1000.0 +NailFactory (Chicago),BoatFactory (Dallas),Nail,5,1.0,1293.093,387.9279,0.0,1000.0 +NailFactory (Phoenix),BoatFactory (Dallas),Nail,1,1.0,1423.57,427.071,0.0,1000.0 +NailFactory (Phoenix),BoatFactory (Dallas),Nail,2,1.0,1423.57,427.071,0.0,1000.0 +NailFactory (Phoenix),BoatFactory (Dallas),Nail,3,1.0,1423.57,427.071,0.0,1000.0 +NailFactory (Phoenix),BoatFactory (Dallas),Nail,4,1.0,1423.57,427.071,0.0,1000.0 +NailFactory (Phoenix),BoatFactory (Dallas),Nail,5,1.0,1423.57,427.071,0.0,1000.0 +NailFactory (Dallas),BoatFactory (Dallas),Nail,1,1.0,0.0,0.0,0.0,1000.0 +NailFactory (Dallas),BoatFactory (Dallas),Nail,2,1.0,0.0,0.0,0.0,1000.0 +NailFactory (Dallas),BoatFactory (Dallas),Nail,3,1.0,0.0,0.0,0.0,1000.0 +NailFactory (Dallas),BoatFactory (Dallas),Nail,4,1.0,0.0,0.0,0.0,1000.0 +NailFactory (Dallas),BoatFactory (Dallas),Nail,5,1.0,0.0,0.0,0.0,1000.0 +RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,1,3.0,0.0,0.0,0.0,0.0 +RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,2,10.89474,0.0,0.0,0.0,0.0 +RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,3,15.09141,0.0,0.0,0.0,0.0 +RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,4,16.05912,0.0,0.0,0.0,0.0 +RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,5,16.40733,0.0,0.0,0.0,0.0 +Forest (Dallas),BoatFactory (Dallas),Wood,1,57.0,0.0,0.0,0.0,14250.0 +Forest (Dallas),BoatFactory (Dallas),Wood,2,57.0,0.0,0.0,0.0,14250.0 +Forest (Dallas),BoatFactory (Dallas),Wood,3,57.0,0.0,0.0,0.0,14250.0 +Forest (Dallas),BoatFactory (Dallas),Wood,4,57.0,0.0,0.0,0.0,14250.0 +Forest (Dallas),BoatFactory (Dallas),Wood,5,57.0,0.0,0.0,0.0,14250.0 +BoatFactory (Dallas),Retail (Dallas),NewBoat,1,63.15789,0.0,0.0,757894.73684,0.0 +BoatFactory (Dallas),Retail (Dallas),NewBoat,2,71.46814,0.0,0.0,857617.72853,0.0 +BoatFactory (Dallas),Retail (Dallas),NewBoat,3,75.8857,0.0,0.0,910628.37148,0.0 +BoatFactory (Dallas),Retail (Dallas),NewBoat,4,76.90434,0.0,0.0,922852.03459,0.0 +BoatFactory (Dallas),Retail (Dallas),NewBoat,5,77.27087,0.0,0.0,927250.44516,0.0 +Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,1,6.31579,0.0,0.0,0.0,631.57895 +Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,2,22.93629,0.0,0.0,0.0,2293.62881 +Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,3,31.7714,0.0,0.0,0.0,3177.13952 +Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,4,33.80867,0.0,0.0,0.0,3380.86724 +Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,5,34.54174,0.0,0.0,0.0,3454.17409