Fix expansion cost breakdown

gh-actions
Alinson S. Xavier 5 years ago
parent c10eb506a6
commit 237275fc2b

@ -1,4 +1,8 @@
# Version 0.3 (June 25, 2020) # Vertion 0.3.1 (July 17, 2020)
- Fix expansion cost breakdown
# Version 0.3.0 (June 25, 2020)
- Track emissions and energy (transportation and plants) - Track emissions and energy (transportation and plants)
- Minor changes to input file format: - Minor changes to input file format:

@ -1,7 +1,7 @@
name = "RELOG" name = "RELOG"
uuid = "a2afcdf7-cf04-4913-85f9-c0d81ddf2008" uuid = "a2afcdf7-cf04-4913-85f9-c0d81ddf2008"
authors = ["Alinson S Xavier <axavier@anl.gov>"] authors = ["Alinson S Xavier <axavier@anl.gov>"]
version = "0.3.0" version = "0.3.1"
[deps] [deps]
Cbc = "9961bab8-2fa3-5c5a-9d89-47fab24efd76" Cbc = "9961bab8-2fa3-5c5a-9d89-47fab24efd76"

@ -15,16 +15,16 @@
216672.818 216672.818
], ],
"Transportation ($)": [ "Transportation ($)": [
714499.2748313101, 714499.27483131,
714499.2748313101 714499.27483131
], ],
"Disposal ($)": [ "Disposal ($)": [
-20.0, -20.0,
-20.0 -20.0
], ],
"Total ($)": [ "Total ($)": [
935782.0928313101, 939896.86883131,
935396.8688313101 931282.09283131
], ],
"Fixed operating ($)": [ "Fixed operating ($)": [
130.0, 130.0,
@ -35,8 +35,8 @@
0.0 0.0
], ],
"Expansion ($)": [ "Expansion ($)": [
0.0, 4114.776,
4114.776 0.0
] ]
}, },
"Plants": { "Plants": {
@ -119,8 +119,8 @@
] ]
}, },
"Expansion cost ($)": [ "Expansion cost ($)": [
0.0, 750.0,
750.0 0.0
], ],
"Longitude (deg)": 0.0, "Longitude (deg)": 0.0,
"Energy (GJ)": [ "Energy (GJ)": [
@ -207,16 +207,16 @@
"C3": { "C3": {
"Distance (km)": 8889.75, "Distance (km)": 8889.75,
"Amount (tonne)": [ "Amount (tonne)": [
212.97, 212.97000000000003,
212.97 212.97000000000003
], ],
"Transportation energy (J)": [ "Transportation energy (J)": [
227190.00689999998, 227190.00690000004,
208257.506325 208257.50632500005
], ],
"Transportation cost ($)": [ "Transportation cost ($)": [
28398.7508625, 28398.750862500005,
28398.7508625 28398.750862500005
], ],
"Longitude (deg)": 76.0, "Longitude (deg)": 76.0,
"Variable operating cost ($)": [ "Variable operating cost ($)": [
@ -226,74 +226,74 @@
"Latitude (deg)": 84.0, "Latitude (deg)": 84.0,
"Emissions (tonne)": { "Emissions (tonne)": {
"CH4": [ "CH4": [
0.63891, 0.6389100000000001,
0.42594 0.42594000000000004
], ],
"CO2": [ "CO2": [
11.07444, 11.074440000000001,
10.6485 10.648500000000002
] ]
} }
}, },
"C7": { "C7": {
"Distance (km)": 8526.39, "Distance (km)": 8526.39,
"Amount (tonne)": [ "Amount (tonne)": [
246.61999999999998, 246.62,
246.61999999999998 246.62
], ],
"Transportation energy (J)": [ "Transportation energy (J)": [
252333.39621599994, 252333.396216,
231305.61319799995 231305.613198
], ],
"Transportation cost ($)": [ "Transportation cost ($)": [
31541.674526999996, 31541.674527,
31541.674526999996 31541.674527
], ],
"Longitude (deg)": 83.0, "Longitude (deg)": 83.0,
"Variable operating cost ($)": [ "Variable operating cost ($)": [
7398.599999999999, 7398.6,
7398.599999999999 7398.6
], ],
"Latitude (deg)": 30.0, "Latitude (deg)": 30.0,
"Emissions (tonne)": { "Emissions (tonne)": {
"CH4": [ "CH4": [
0.73986, 0.7398600000000001,
0.49323999999999996 0.49324
], ],
"CO2": [ "CO2": [
12.824239999999998, 12.82424,
12.331 12.331000000000001
] ]
} }
}, },
"C5": { "C5": {
"Distance (km)": 9148.52, "Distance (km)": 9148.52,
"Amount (tonne)": [ "Amount (tonne)": [
510.33, 510.3299999999999,
510.33 510.3299999999999
], ],
"Transportation energy (J)": [ "Transportation energy (J)": [
560251.705392, 560251.7053919999,
513564.06327600003 513564.0632759999
], ],
"Transportation cost ($)": [ "Transportation cost ($)": [
70031.463174, 70031.46317399999,
70031.463174 70031.46317399999
], ],
"Longitude (deg)": 92.0, "Longitude (deg)": 92.0,
"Variable operating cost ($)": [ "Variable operating cost ($)": [
15309.9, 15309.899999999998,
15309.9 15309.899999999998
], ],
"Latitude (deg)": 32.0, "Latitude (deg)": 32.0,
"Emissions (tonne)": { "Emissions (tonne)": {
"CH4": [ "CH4": [
1.53099, 1.5309899999999999,
1.02066 1.02066
], ],
"CO2": [ "CO2": [
26.537159999999997, 26.537159999999997,
25.5165 25.516499999999997
] ]
} }
}, },
@ -333,7 +333,7 @@
}, },
"L2": { "L2": {
"Opening cost ($)": [ "Opening cost ($)": [
1000.0, 999.9999999999999,
0.0 0.0
], ],
"Emissions (tonne)": { "Emissions (tonne)": {
@ -347,8 +347,8 @@
] ]
}, },
"Expansion cost ($)": [ "Expansion cost ($)": [
0.0, 3364.7759999999994,
3364.776 0.0
], ],
"Longitude (deg)": 0.5, "Longitude (deg)": 0.5,
"Energy (GJ)": [ "Energy (GJ)": [
@ -357,8 +357,8 @@
], ],
"Total output": { "Total output": {
"P2": [ "P2": [
747.7280000000001, 747.728,
747.7280000000001 747.728
], ],
"P3": [ "P3": [
1869.32, 1869.32,
@ -366,8 +366,8 @@
] ]
}, },
"Capacity (tonne)": [ "Capacity (tonne)": [
3738.64, 3738.6399999999994,
3738.64 3738.6399999999994
], ],
"Latitude (deg)": 0.5, "Latitude (deg)": 0.5,
"Output": { "Output": {
@ -377,8 +377,8 @@
"L4": { "L4": {
"Distance (km)": 43.35, "Distance (km)": 43.35,
"Amount (tonne)": [ "Amount (tonne)": [
747.7280000000001, 747.728,
747.7280000000001 747.728
], ],
"Longitude (deg)": 0.2, "Longitude (deg)": 0.2,
"Latitude (deg)": 0.75 "Latitude (deg)": 0.75
@ -635,7 +635,7 @@
"F2": { "F2": {
"L4": { "L4": {
"Opening cost ($)": [ "Opening cost ($)": [
3000.0, 2999.9999999999995,
0.0 0.0
], ],
"Emissions (tonne)": {}, "Emissions (tonne)": {},
@ -695,8 +695,8 @@
"Dispose": {} "Dispose": {}
}, },
"Total input (tonne)": [ "Total input (tonne)": [
946.7280000000001, 946.728,
946.7280000000001 946.728
], ],
"Fixed operating cost ($)": [ "Fixed operating cost ($)": [
50.0, 50.0,
@ -729,21 +729,21 @@
"L2": { "L2": {
"Distance (km)": 43.35, "Distance (km)": 43.35,
"Amount (tonne)": [ "Amount (tonne)": [
747.7280000000001, 747.728,
747.7280000000001 747.728
], ],
"Transportation energy (J)": [ "Transportation energy (J)": [
0.0, 0.0,
0.0 0.0
], ],
"Transportation cost ($)": [ "Transportation cost ($)": [
648.2801760000001, 648.280176,
648.2801760000001 648.280176
], ],
"Longitude (deg)": 0.5, "Longitude (deg)": 0.5,
"Variable operating cost ($)": [ "Variable operating cost ($)": [
37386.4, 37386.399999999994,
37386.4 37386.399999999994
], ],
"Latitude (deg)": 0.5, "Latitude (deg)": 0.5,
"Emissions (tonne)": {} "Emissions (tonne)": {}

@ -1,53 +1,11 @@
Gurobi Optimizer version 9.0.0 build v9.0.0rc2 (linux64) [ Info: Reading s1.json...
Optimize a model with 124 rows, 141 columns and 400 nonzeros [ Info: Building graph...
Model fingerprint: 0x46af87f0 [ Info: 2 time periods
Variable types: 117 continuous, 24 integer (24 binary) [ Info: 6 process nodes
Coefficient statistics: [ Info: 8 shipping nodes (plant)
Matrix range [5e-02, 2e+04] [ Info: 10 shipping nodes (collection)
Objective range [9e-01, 3e+03] [ Info: 38 arcs
Bounds range [1e+00, 1e+08] [ Info: Building optimization model...
RHS range [3e+01, 2e+04] [ Info: Optimizing MILP...
Presolve removed 98 rows and 107 columns [ Info: Re-optimizing with integer variables fixed...
Presolve time: 0.00s [ Info: Extracting solution...
Presolved: 26 rows, 34 columns, 74 nonzeros
Variable types: 28 continuous, 6 integer (6 binary)
Root relaxation: objective 1.870636e+06, 10 iterations, 0.00 seconds
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 1870636.06 0 2 - 1870636.06 - - 0s
H 0 0 1871178.9617 1870636.06 0.03% - 0s
Explored 1 nodes (10 simplex iterations) in 0.00 seconds
Thread count was 8 (of 80 available processors)
Solution count 1: 1.87118e+06
Optimal solution found (tolerance 1.00e-02)
Best objective 1.871178961663e+06, best bound 1.870636062997e+06, gap 0.0290%
Gurobi Optimizer version 9.0.0 build v9.0.0rc2 (linux64)
Optimize a model with 124 rows, 141 columns and 400 nonzeros
Model fingerprint: 0x133a97e7
Coefficient statistics:
Matrix range [5e-02, 2e+04]
Objective range [9e-01, 3e+03]
Bounds range [1e+00, 1e+08]
RHS range [3e+01, 2e+04]
Presolve removed 115 rows and 110 columns
Presolve time: 0.00s
Presolved: 9 rows, 31 columns, 94 nonzeros
Iteration Objective Primal Inf. Dual Inf. Time
0 1.0296026e+06 1.950922e+03 0.000000e+00 0s
7 1.8711790e+06 0.000000e+00 0.000000e+00 0s
Solved in 7 iterations and 0.00 seconds
Optimal objective 1.871178962e+06
Reading s1.json...
Building graph...
Building optimization model...
Optimizing MILP...
Re-optimizing with integer variables fixed...
Extracting solution...

@ -304,11 +304,13 @@ function get_solution(model::ManufacturingModel)
JuMP.value(vars.expansion[process_node, t]) * JuMP.value(vars.expansion[process_node, t]) *
slope_fix_oper_cost(plant, t) slope_fix_oper_cost(plant, t)
for t in 1:T], for t in 1:T],
"Expansion cost (\$)" => [JuMP.value(vars.expansion[process_node, t]) * "Expansion cost (\$)" => [(if t == 1
(if t < T slope_open(plant, t) * JuMP.value(vars.expansion[process_node, t])
slope_open(plant, t) - slope_open(plant, t + 1)
else else
slope_open(plant, t) slope_open(plant, t) * (
JuMP.value(vars.expansion[process_node, t]) -
JuMP.value(vars.expansion[process_node, t - 1])
)
end) end)
for t in 1:T], for t in 1:T],
) )

Loading…
Cancel
Save