Open parkyr opened 5 months ago
debugging session log with @bernalde
changed code with
res = opt.solve(m, algorithm='LOA', mip_solver='gams', nlp_solver='gams', tee=True, nlp_solver_args={'tee': True, 'solver': 'baron'})
The output:
Starting GDPopt version 22.5.13 using LOA algorithm
iterlim: None
time_limit: None
tee: true
logger: <Logger pyomo.contrib.gdpopt (DEBUG)>
integer_tolerance: 1.0e-05
constraint_tolerance: 1.0e-06
variable_tolerance: 1.0e-08
subproblem_initialization_method: <function restore_vars_to_original_values at 0x7fd9cc06f100>
call_before_subproblem_solve: <class 'type'>
call_after_subproblem_solve: <class 'type'>
call_after_subproblem_feasible: <class 'type'>
force_subproblem_nlp: false
subproblem_presolve: true
tighten_nlp_var_bounds: false
round_discrete_vars: true
max_fbbt_iterations: 3
init_strategy: None
init_algorithm: set_covering
custom_init_disjuncts: []
max_slack: 1000.0
OA_penalty_factor: 1000.0
set_cover_iterlim: 8
discrete_problem_transformation: gdp.bigm
call_before_discrete_problem_solve: <class 'type'>
call_after_discrete_problem_solve: <class 'type'>
call_before_master_solve: <class 'type'>
call_after_master_solve: <class 'type'>
mip_presolve: true
calc_disjunctive_bounds: false
obbt_disjunctive_bounds: false
mip_solver: gams
mip_solver_args:
nlp_solver: gams
nlp_solver_args:
solver: baron
tee: true
minlp_solver: baron
minlp_solver_args:
local_minlp_solver: bonmin
local_minlp_solver_args:
small_dual_tolerance: 1.0e-08
bound_tolerance: 1.0e-06
If you use this software, you may cite the following:
- Implementation:
Chen, Q; Johnson, ES; Bernal, DE; Valentin, R; Kale, S;
Bates, J; Siirola, JD; Grossmann, IE.
Pyomo.GDP: an ecosystem for logic based modeling and optimization
development.
Optimization and Engineering, 2021.
- LOA algorithm:
Türkay, M; Grossmann, IE.
Logic-based MINLP algorithms for the optimal synthesis of process
networks. Comp. and Chem. Eng. 1996, 20(8), 959–978.
DOI: 10.1016/0098-1354(95)00219-7.
Original model has 429 constraints (55 nonlinear) and 4 disjunctions, with 285 variables, of which 8 are binary, 0 are integer, and 277 are continuous.
---Starting GDPopt initialization---
Starting set covering initialization.
=============================================================================================
Iteration | Subproblem Type | Lower Bound | Upper Bound | Gap | Time(s)
6 disjuncts need to be covered.
Solved set covering MIP
Fixed the following Disjuncts to 'True': cheap_feed_disjunct, single_stage_feed_compressor_disjunct, expensive_reactor, single_stage_recycle_compressor_disjunct
Fixed the following Boolean variables:
Solving nonlinear subproblem for fixed binaries and logical realizations.
--- Job model.gms Start 06/26/24 16:58:05 45.7.0 64fbf3ce LEX-LEG x86 64bit/Linux
--- Applying:
/home/yirangpark/gams45.7_linux_x64_64_sfx/gmsprmun.txt
--- GAMS Parameters defined
Input /tmp/tmpzni3v1o3/model.gms
Output /tmp/tmpzni3v1o3/output.lst
ScrDir /tmp/tmpzni3v1o3/225a/
SysDir /home/yirangpark/gams45.7_linux_x64_64_sfx/
CurDir /tmp/tmpzni3v1o3/
LogOption 3
Licensee: Prof. Ignacio E. Grossmann G240103|0002AS-GEN
Carnegie Mellon University, Dept. of Chemical Engineering DCE375
/home/yirangpark/gams45.7_linux_x64_64_sfx/gamslice.txt
License Admin: Ignacio E. Grossmann,
Evaluation license: Not for commercial or production use
The evaluation period of the license will expire on Nov 28, 2024
Processor information: 1 socket(s), 6 core(s), and 12 thread(s) available
GAMS 45.7.0 Copyright (C) 1987-2024 GAMS Development. All rights reserved
--- Starting compilation
--- model.gms(1197) 2 Mb
--- Starting execution: elapsed 0:00:00.002
--- model.gms(785) 3 Mb
--- Generating NLP model GAMS_MODEL
--- model.gms(786) 5 Mb
--- Reset Solvelink = 2
--- 175 rows 183 columns 498 non-zeroes
--- 279 nl-code 101 nl-non-zeroes
--- Range statistics (absolute non-zero finite values)
--- RHS [min, max] : [ 1.000E-02, 3.627E+03] - Zero values observed as well
--- Bound [min, max] : [ 1.000E-03, 8.000E+01] - Zero values observed as well
--- Matrix [min, max] : [ 1.000E-03, 3.343E+05] - Zero values observed as well
--- model.gms(786) 3 Mb
--- Executing BARON (Solvelink=2): elapsed 0:00:00.004
GAMS/BARON 45.7.0 64fbf3ce Jan 18, 2024 LEG x86 64bit/Linux
===========================================================================
BARON version 23.6.22. Built: LNX-64 Thu Jun 22 20:08:45 EDT 2023
BARON is a product of The Optimization Firm.
For information on BARON, see https://minlp.com/about-baron
If you use this software, please cite publications from
https://minlp.com/baron-publications, such as:
Khajavirad, A. and N. V. Sahinidis,
A hybrid LP/NLP paradigm for global optimization relaxations,
Mathematical Programming Computation, 10, 383-421, 2018.
===========================================================================
This BARON run may utilize the following subsolver(s)
For LP/MIP/QP: CLP/CBC, ILOG CPLEX
For NLP: MINOS, SNOPT, External NLP, IPOPT, FILTERSQP
===========================================================================
Doing local search
Preprocessing found feasible solution with value 1288.46
Solving bounding LP
Starting multi-start local search
Preprocessing found feasible solution with value 1288.46
Done with local search
===========================================================================
Iteration Open nodes Time (s) Lower bound Upper bound
1 1 1.77 -3676.42 1288.46
4888 1295 31.75 -2199.80 1288.46
10088 2603 61.76 -1849.71 1288.46
12837 3299 91.76 -1744.46 1288.46
16513 4203 121.76 -1643.37 1288.46
20648 5079 151.76 -1542.12 1288.46
24164 5748 181.76 -1473.50 1288.46
28265+ 6468 211.77 -1397.05 1288.46
29232 6630 241.77 -1373.17 1288.46
30284+ 6780 271.81 -1348.24 1288.46
30437+ 6718 301.82 -1343.55 1288.46
30633+ 6607 331.83 -1339.88 1288.46
30753+ 6540 361.83 -1338.21 1288.46
30891+ 6461 391.84 -1335.30 1288.46
31109+ 6336 421.85 -1329.97 1288.46
31183+ 6295 451.87 -1329.25 1288.46
31307+ 6225 481.90 -1325.63 1288.46
31379+ 6187 511.92 -1324.55 1288.46
31405+ 6176 541.93 -1324.29 1288.46
32677 6315 571.94 -1303.13 1288.46
34546+ 6499 601.94 -1272.64 1288.46
37090 6849 631.94 -1228.22 1288.46
40332+ 7243 661.94 -1173.54 1288.46
42143 7496 691.94 -1147.72 1288.46
44383+ 7628 721.94 -1116.41 1288.46
44432+ 7602 751.96 -1115.65 1288.46
47336 8012 781.96 -1074.16 1288.46
51947 8588 811.96 -1014.05 1288.46
55878+ 8999 841.97 -965.412 1288.46
56099+ 8874 871.97 -962.158 1288.46
56242+ 8793 901.98 -961.279 1288.46
56278+ 8774 931.99 -961.065 1288.46
56461+ 8671 962.00 -959.254 1288.46
56652+ 8561 992.01 -958.226 1288.46
56804+ 8477 1022.02 -956.275 1288.46
56883+ 8435 1052.02 -955.271 1288.46
58479 8586 1082.02 -937.115 1288.46
58745+ 8457 1112.03 -933.757 1288.46
58873+ 8389 1142.05 -933.097 1288.46
59076+ 8272 1172.06 -930.857 1288.46
59130 8244 1202.07 -930.281 1288.46
59394+ 8090 1232.12 -928.250 1288.46
59595+ 7976 1262.13 -926.477 1288.46
59822+ 7851 1292.15 -925.164 1288.46
59971+ 7766 1322.15 -924.209 1288.46
60195+ 7635 1352.16 -920.285 1288.46
60250+ 7605 1382.16 -919.849 1288.46
61437 7744 1412.16 -905.703 1288.46
62904+ 7771 1442.17 -890.512 1288.46
63040+ 7695 1472.18 -887.589 1288.46
64725+ 7862 1502.18 -871.998 1288.46
66988 8048 1532.18 -849.723 1288.46
68741+ 8148 1562.19 -834.461 1288.46
68793+ 8118 1592.20 -834.173 1288.46
68974+ 8015 1622.21 -832.181 1288.46
69231+ 7869 1652.21 -828.530 1288.46
69544+ 7695 1682.21 -823.541 1288.46
69838+ 7528 1712.22 -820.128 1288.46
69984+ 7449 1742.22 -818.875 1288.46
70048+ 7415 1772.23 -817.955 1288.46
70279+ 7286 1802.23 -814.728 1288.46
70351+ 7249 1832.24 -813.981 1288.46
70531+ 7146 1862.25 -812.496 1288.46
70770+ 7010 1892.25 -809.995 1288.46
70939+ 6916 1922.25 -807.637 1288.46
70990+ 6917 1952.27 -807.224 1288.46
72715+ 7006 1982.28 -789.786 1288.46
72945+ 6873 2012.28 -786.339 1288.46
73124+ 6771 2042.29 -784.925 1288.46
73288+ 6675 2072.30 -782.660 1288.46
73486+ 6563 2102.30 -779.195 1288.46
73652+ 6466 2132.32 -777.412 1288.46
73779+ 6393 2162.34 -774.888 1288.46
74035+ 6246 2192.35 -771.293 1288.46
74275+ 6107 2222.36 -769.137 1288.46
74529+ 5962 2252.36 -765.850 1288.46
74860+ 5776 2282.38 -761.247 1288.46
75046+ 5669 2312.38 -758.953 1288.46
75253+ 5549 2342.39 -755.613 1288.46
75424+ 5454 2372.40 -753.623 1288.46
75620+ 5336 2402.40 -750.853 1288.46
75936 5203 2432.40 -746.427 1288.46
79918+ 5516 2462.41 -687.328 1288.46
80277+ 5307 2492.42 -680.234 1288.46
80574+ 5140 2522.43 -675.215 1288.46
80729+ 5048 2552.43 -671.505 1288.46
81061+ 4861 2582.43 -666.343 1288.46
81353+ 4697 2612.43 -661.405 1288.46
81563+ 4581 2642.44 -656.967 1288.46
81778+ 4453 2672.45 -653.202 1288.46
82020+ 4315 2702.46 -649.135 1288.46
82065+ 4296 2732.47 -648.252 1288.46
84230+ 4296 2762.48 -604.985 1288.46
84511+ 4141 2792.49 -600.185 1288.46
84543+ 4130 2822.50 -600.145 1288.46
84768 4053 2852.50 -596.298 1288.46
85889+ 4014 2882.51 -575.230 1288.46
85959+ 3978 2912.51 -573.874 1288.46
87567 4033 2942.51 -538.993 1288.46
90452 4104 2972.52 -481.635 1288.46
90780+ 3917 3002.53 -474.534 1288.46
91046+ 3765 3032.53 -470.093 1288.46
91345+ 3588 3062.54 -464.559 1288.46
91756+ 3346 3092.55 -454.043 1288.46
91849+ 3306 3122.56 -452.103 1288.46
93777+ 3323 3152.56 -406.890 1288.46
94049+ 3165 3182.57 -400.931 1288.46
95675 3226 3212.57 -360.520 1288.46
97541 3115 3242.57 -317.739 1288.46
97680+ 3081 3272.58 -314.564 1288.46
97916+ 2956 3302.59 -309.945 1288.46
98124 2893 3332.59 -306.597 1288.46
99424 2820 3362.59 -272.447 1288.46
100129 2824 3392.59 -256.408 1288.46
103298+ 2832 3422.61 -175.660 1288.46
103630+ 2642 3452.61 -166.601 1288.46
103700+ 2616 3482.62 -164.823 1288.46
106276+ 2657 3512.62 -96.6821 1288.46
106514+ 2578 3542.62 -93.3741 1288.46
108395+ 2591 3562.29 -51.3803 1288.46
111081+ 2532 3592.29 12.8972 1288.46
111664+ 2205 3622.29 26.4764 1288.46
112251 1865 3652.29 39.6716 1288.46
113457+ 1171 3682.29 82.1774 1288.46
115078 1053 3712.29 159.237 1288.46
117375+ 857 3742.30 299.523 1288.46
118177+ 406 3772.30 357.406 1288.46
123075 340 3802.30 798.087 1288.46
125745 0 3830.01 1288.33 1288.46
Calculating duals
*** Normal completion ***
Wall clock time: 3886.91
Total CPU time used: 3830.01
Total no. of BaR iterations: 125745
Best solution found at node: 33
Max. no. of nodes in memory: 9013
All done
===========================================================================
Solution = 1288.45681146896 found at node 33
Best possible = 1288.32796612
Absolute gap = 0.128845348961249 optca = 1E-9
Relative gap = 9.99997421833283E-5 optcr = 0.0001
--- Reading solution for model GAMS_MODEL
--- Executing after solve: elapsed 1:04:47.006
--- model.gms(789) 3 Mb
--- model.gms(1197) 5 Mb
--- Putfile results /tmp/tmpzni3v1o3/results.dat
--- Putfile statresults /tmp/tmpzni3v1o3/resultsstat.dat
*** Status: Normal completion
--- Job model.gms Stop 06/26/24 18:02:52 elapsed 1:04:47.009
0 subproblem -inf 1288.45681 inf% 3830.84 *
Adding OA cuts.
Ignore_set None
Adding OA cut for single_stage_feed_compressor_disjunct.compressor_3.t_ratio_con with dual value -182.24888611059163
Cut expression: temps[6] - 5.22 - 3*(single_stage_feed_compressor_disjunct.compressor_3.p_ratio - 1.74) - 1.74*(temps[4] - 3) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[1] <= 0
Ignore_set None
Adding OA cut for single_stage_feed_compressor_disjunct.compressor_3.electricity_requirement_con with dual value 175.255
Cut expression: - (single_stage_feed_compressor_disjunct.compressor_3.electricity_requirement - 0.530125367816657 - 0.9235169216102612*(flows[4] - 0.574028862289086) - 0.17670845593888576*(temps[4] - 3) - 0.7163856321846721*(single_stage_feed_compressor_disjunct.compressor_3.p_ratio - 1.74) - 3.3306690738754696e-16) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[2] <= 0
Ignore_set None
Adding OA cut for single_stage_feed_compressor_disjunct.compressor_3.p_ratio_con with dual value -653.2252237304127
Cut expression: 0.03642101099675059*(pressures[6] - 11.024949308404004) - (single_stage_feed_compressor_disjunct.compressor_3.p_ratio - 1.74) - 0.4015398*(pressures[4] - 1.0) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[3] <= 0
Ignore_set None
Adding OA cut for mixer_recycle_feed_mixer.average_temp with dual value -317.4908059218978
Cut expression: 1.339373231246362*(temps[11] - 4.370689829425267) + 4.370689829425267*(flows[11] - 1.339373231246362) - 0.574028862289086*(temps[10] - 5.22) - 5.22*(flows[10] - 0.574028862289086) - 0.765344368957277*(temps[33] - 3.733684357483555) - 3.733684357483555*(flows[33] - 0.765344368957277) - 7.105427357601002e-15 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[4] <= 0
Ignore_set None
Adding OA cut for cooler_7.heat_duty_con with dual value -2964.433295255815
Cut expression: cooler_7.heat_duty - 0.468100880731446*(flows[11] - 1.339373231246362) - 0.14344687306648535*(temps[11] - 4.370689829425267) + 0.468100880731446*(flows[12] - 1.339373231246362) + 0.14344687306648535*(temps[12] - 4.370689829425267) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[5] <= 0
Ignore_set None
Adding OA cut for heater_8.heat_duty_con with dual value 2964.433295255815
Cut expression: - (heater_8.heat_duty - 0.4681008807314461*(flows[13] - 1.339373231246362) - 0.14344687306648535*(temps[13] - 4.370689829425268) + 0.468100880731446*(flows[12] - 1.339373231246362) + 0.14344687306648535*(temps[12] - 4.370689829425267) - 9.51239087498834e-17) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[6] <= 0
Ignore_set None
Adding OA cut for expensive_reactor.reactor_9.p_sq_inv_con with dual value 7.222455348481836
Cut expression: - (121.54950725287793*(expensive_reactor.reactor_9.p_sq_inv - 0.008227100402139) + 0.18140672977746536*(expensive_reactor.reactor_9.pressure - 11.024949308404004) - 5.062616992290714e-14) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[7] <= 0
Ignore_set None
Adding OA cut for expensive_reactor.reactor_9.t_inv_con with dual value -24.85739890490882
Cut expression: 0.191204588910134*(expensive_reactor.reactor_9.temp - 5.23) + 5.23*(expensive_reactor.reactor_9.t_inv - 0.191204588910134) + 8.881784197001252e-16 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[8] <= 0
Ignore_set None
Adding OA cut for expensive_reactor.reactor_9.conversion_consumption_con with dual value -4718.518225422897
Cut expression: expensive_reactor.reactor_9.consumption_rate - 0.219884259788177 - 0.708391494299803*(expensive_reactor.reactor_9.conversion - 0.310399350581584) - 0.310399350581584*(component_flows[15,H2] - 0.708391494299803) + 2.7755575615628914e-16 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[9] <= 0
Ignore_set None
Adding OA cut for expensive_reactor.reactor_9.energy_balance with dual value -9.071165883482793
Cut expression: -0.15*(expensive_reactor.reactor_9.consumption_rate - 0.219884259788177) - 152.97414402988437*(flows[15] - 1.339373231246362) - 46.87806309362267*(temps[15] - 4.370689829425268) + 183.05*(flows[17] - 1.119488971458186) + 39.18211400103651*(temps[17] - 5.23) + 1.463967835846347e-13 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[10] <= 0
Ignore_set None
Adding OA cut for expensive_reactor.reactor_9.eq_conversion_con with dual value -2517.4707051629284
Cut expression: expensive_reactor.reactor_9.equilibrium_conversion - 0.412131066775208 + 0.3487174198148457*(expensive_reactor.reactor_9.p_sq_inv - 0.008227100402139) - 0.05164079804624866*(expensive_reactor.reactor_9.t_inv - 0.191204588910134) - 3.885780586188048e-16 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[11] <= 0
Ignore_set None
Adding OA cut for expensive_reactor.reactor_9.conversion_con with dual value -2495.6136934868737
Cut expression: 1.339373231246362*(expensive_reactor.reactor_9.conversion - 0.310399350581584) + 0.310399350581584*(flows[15] - 1.339373231246362) - 1.0087581710795626*(expensive_reactor.reactor_9.equilibrium_conversion - 0.412131066775208) - 0.4121123560537235*(component_flows[15,H2] - 0.708391494299803) - 0.4121123560537235*(component_flows[15,CO] - 0.240357701807378) - 0.4121123560537235*(component_flows[15,CH3OH] - 0.060054774601796) + 6.106226635438361e-16 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[12] <= 0
Ignore_set None
Adding OA cut for expansion_valve_11.ratio_con with dual value 49.42168384836002
Cut expression: - (1.698203736799734*(temps[19] - 4.469333969940723) + 0.1765195615013008*(pressures[18] - 9.922454377563604) - 1.4512121699348615*(temps[18] - 5.23) - 0.34880309983438934*(pressures[19] - 5.021478583693208)) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[13] <= 0
Ignore_set None
Adding OA cut for cooler_12.heat_duty_con with dual value 700.0
Cut expression: - (cooler_12.heat_duty - 0.162500277830115 - 0.47866566818065137*(flows[19] - 1.119488971458186) - 0.1198972688431717*(temps[19] - 4.469333969940723) + 0.33350990338696107*(flows[20] - 1.119488971458186) + 0.1198972688431717*(temps[20] - 3.114004700158367) + 2.7755575615628914e-16) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[14] <= 0
Ignore_set None
Adding OA cut for flash_13.antoine_con[H2] with dual value 0.00266015938176
Cut expression: - (53.50240048351598*(flash_13.flash_t - 3.114004700158367) - 4.736258295240611*(flash_13.vapor_pressure[H2] - 65.07467515560805) - 1.4210854715202004e-13) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[15] <= 0
Ignore_set None
Adding OA cut for flash_13.antoine_con[CO] with dual value -0.017332354441528
Cut expression: 163.3705845424064*(flash_13.flash_t - 3.114004700158367) - 7.1727379041493515*(flash_13.vapor_pressure[CO] - 45.24778046442876) - 2.2737367544323206e-13 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[16] <= 0
Ignore_set None
Adding OA cut for flash_13.antoine_con[CH3OH] with dual value -0.605303024590355
Cut expression: 1049.0743351512874*(flash_13.flash_t - 3.114004700158367) - 789.6009308402836*(flash_13.vapor_pressure[CH3OH] - 0.437804030509383) - 9.094947017729282e-13 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[17] <= 0
Ignore_set None
Adding OA cut for flash_13.antoine_con[CH4] with dual value -0.106096562344321
Cut expression: 281.84287898475463*(flash_13.flash_t - 3.114004700158367) - 9.783346874828014*(flash_13.vapor_pressure[CH4] - 32.56150212106599) + 2.2737367544323206e-13 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[18] <= 0
Ignore_set None
Adding OA cut for flash_13.vle_con[CO] with dual value 53.22560861368646
Cut expression: - (64.86117190184949*(flash_13.vapor_recovery[H2] - 0.992487883964864) - 0.007431222822099182*(flash_13.vapor_pressure[H2] - 65.07467515560805) - 45.39672239796532*(flash_13.vapor_recovery[CO] - 0.989231634248123) + 0.010687472538840122*(flash_13.vapor_pressure[CO] - 45.24778046442876) + 1.4210854715202004e-14) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[19] <= 0
Ignore_set None
Adding OA cut for flash_13.vle_con[CH3OH] with dual value -825.0645295979771
Cut expression: 30.8545320388272*(flash_13.vapor_recovery[H2] - 0.992487883964864) - 0.003535041010345741*(flash_13.vapor_pressure[H2] - 65.07467515560805) - 0.9233637065492672*(flash_13.vapor_recovery[CH3OH] - 0.470578595140366) + 0.5254443298348437*(flash_13.vapor_pressure[CH3OH] - 0.437804030509383) - 3.552713678800501e-15 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[20] <= 0
Ignore_set None
Adding OA cut for flash_13.vle_con[CH4] with dual value 94.21374497579305
Cut expression: - (64.5901863476409*(flash_13.vapor_recovery[H2] - 0.992487883964864) - 0.007400175679782017*(flash_13.vapor_pressure[H2] - 65.07467515560805) - 32.80574484957192*(flash_13.vapor_recovery[CH4] - 0.985098691922427) + 0.014789367722218913*(flash_13.vapor_pressure[CH4] - 32.56150212106599) + 1.4210854715202004e-14) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[21] <= 0
Ignore_set None
Adding OA cut for flash_13.vapor_recovery_con[H2] with dual value -32587.89255010161
Cut expression: component_flows[21,H2] - 0.484837511481972 - 0.488507234511627*(flash_13.vapor_recovery[H2] - 0.992487883964864) - 0.992487883964864*(component_flows[20,H2] - 0.488507234511627) - 2.220446049250313e-16 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[22] <= 0
Ignore_set None
Adding OA cut for flash_13.vapor_recovery_con[CO] with dual value -18527.45146342491
Cut expression: component_flows[21,CO] - 0.129011209335187 - 0.13041557191329*(flash_13.vapor_recovery[CO] - 0.989231634248123) - 0.989231634248123*(component_flows[20,CO] - 0.13041557191329) - 4.718447854656915e-16 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[23] <= 0
Ignore_set None
Adding OA cut for flash_13.vapor_recovery_con[CH3OH] with dual value 4481.461850444169
Cut expression: - (component_flows[21,CH3OH] - 0.079996904495884 - 0.169996904495884*(flash_13.vapor_recovery[CH3OH] - 0.470578595140366) - 0.470578595140366*(component_flows[20,CH3OH] - 0.169996904495884) - 6.938893903907228e-17) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[24] <= 0
Ignore_set None
Adding OA cut for flash_13.vapor_recovery_con[CH4] with dual value -9349.78671027694
Cut expression: component_flows[21,CH4] - 0.325643346145142 - 0.330569260537385*(flash_13.vapor_recovery[CH4] - 0.985098691922427) - 0.985098691922427*(component_flows[20,CH4] - 0.330569260537385) + 5.551115123125783e-17 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[25] <= 0
Ignore_set None
Adding OA cut for flash_13.total_p_con with dual value 493.5816981319057
Cut expression: - (0.1*(flash_13.flash_p - 5.021478583693208) + 5.021478583693208*(flows[22] - 0.1) - 0.003669723029655*(flash_13.vapor_pressure[H2] - 65.07467515560805) - 65.07467515560805*(component_flows[22,H2] - 0.003669723029655) - 0.001404362578102*(flash_13.vapor_pressure[CO] - 45.24778046442876) - 45.24778046442876*(component_flows[22,CO] - 0.001404362578102) - 0.09*(flash_13.vapor_pressure[CH3OH] - 0.437804030509383) - 0.437804030509383*(component_flows[22,CH3OH] - 0.09) - 0.004925914392243*(flash_13.vapor_pressure[CH4] - 32.56150212106599) - 32.56150212106599*(component_flows[22,CH4] - 0.004925914392243) - 5.10702591327572e-15) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[26] <= 0
Ignore_set None
Adding OA cut for heater_14.heat_duty_con with dual value 8000.000000000001
Cut expression: - (heater_14.heat_duty - 0.009489009661304 - 0.42839999999999995*(flows[23] - 0.1) + 0.33350990338696107*(flows[22] - 0.1) + 0.010709999999999999*(temps[22] - 3.114004700158367) + 1.1102230246251565e-16) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[27] <= 0
Ignore_set None
Adding OA cut for splitter_purge_splitter.split_frac_con[H2] with dual value -3416.9694742950733
Cut expression: component_flows[26,H2] - 0.363974176926352 - 0.484837511481972*(splitter_purge_splitter.split_fraction - 0.75071373049048) - 0.75071373049048*(component_flows[21,H2] - 0.484837511481972) - 1.6653345369377348e-16 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[28] <= 0
Ignore_set None
Adding OA cut for splitter_purge_splitter.split_frac_con[CO] with dual value 2276.610598536916
Cut expression: - (component_flows[26,CO] - 0.096850486235107 - 0.129011209335187*(splitter_purge_splitter.split_fraction - 0.75071373049048) - 0.75071373049048*(component_flows[21,CO] - 0.129011209335187) + 5.273559366969494e-16) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[29] <= 0
Ignore_set None
Adding OA cut for splitter_purge_splitter.split_frac_con[CH3OH] with dual value -8041.214797767494
Cut expression: component_flows[26,CH3OH] - 0.060054774601796 - 0.079996904495884*(splitter_purge_splitter.split_fraction - 0.75071373049048) - 0.75071373049048*(component_flows[21,CH3OH] - 0.079996904495884) + 2.7755575615628914e-16 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[30] <= 0
Ignore_set None
Adding OA cut for splitter_purge_splitter.split_frac_con[CH4] with dual value 6160.847461437857
Cut expression: - (component_flows[26,CH4] - 0.244464931194022 - 0.325643346145142*(splitter_purge_splitter.split_fraction - 0.75071373049048) - 0.75071373049048*(component_flows[21,CH4] - 0.325643346145142) - 2.220446049250313e-16) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[31] <= 0
Ignore_set None
Adding OA cut for heater_15.heat_duty_con with dual value 8000.000000000001
Cut expression: - (heater_15.heat_duty - 0.024115805884994 - 0.42839999999999995*(flows[25] - 0.254144602500909) + 0.33350990338696107*(flows[24] - 0.254144602500909) + 0.02721888692784735*(temps[24] - 3.114004700158367) + 3.8510861166685117e-16) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[32] <= 0
Ignore_set None
Adding OA cut for single_stage_recycle_compressor_disjunct.compressor_16.t_ratio_con with dual value -242.98980050803118
Cut expression: temps[29] - 3.733684357483555 - 3.114004700158367*(single_stage_recycle_compressor_disjunct.compressor_16.p_ratio - 1.198997662814598) - 1.198997662814598*(temps[27] - 3.114004700158367) + 4.440892098500626e-16 - _gdpopt_cuts.GDPopt_OA_slacks.slacks[33] <= 0
Ignore_set None
Adding OA cut for single_stage_recycle_compressor_disjunct.compressor_16.electricity_requirement_con with dual value 175.255
Cut expression: - (single_stage_recycle_compressor_disjunct.compressor_16.electricity_requirement - 0.197294970247241 - 0.2577858781610176*(flows[27] - 0.765344368957277) - 0.06335731292801447*(temps[27] - 3.114004700158367) - 0.9914436554516582*(single_stage_recycle_compressor_disjunct.compressor_16.p_ratio - 1.198997662814598) - 5.273559366969494e-16) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[34] <= 0
Ignore_set None
Adding OA cut for single_stage_recycle_compressor_disjunct.compressor_16.p_ratio_con with dual value 401.67518927472724
Cut expression: - (0.03642101099675059*(pressures[29] - 11.024949308404004) - 1.4512121699348615*(single_stage_recycle_compressor_disjunct.compressor_16.p_ratio - 1.198997662814598) - 0.07996445535065386*(pressures[27] - 5.021478583693208)) - _gdpopt_cuts.GDPopt_OA_slacks.slacks[35] <= 0
Added 35 OA cuts
Adding no-good cut: 1 <= 1 - cheap_feed_disjunct.binary_indicator_var + 1 - single_stage_feed_compressor_disjunct.binary_indicator_var + 1 - expensive_reactor.binary_indicator_var + 1 - single_stage_recycle_compressor_disjunct.binary_indicator_var + expensive_feed_disjunct.binary_indicator_var + two_stage_feed_compressor_disjunct.binary_indicator_var + cheap_reactor.binary_indicator_var + two_stage_recycle_compressor_disjunct.binary_indicator_var
3 disjuncts need to be covered.
Solved set covering MIP
Fixed the following Disjuncts to 'True': cheap_feed_disjunct, two_stage_feed_compressor_disjunct, cheap_reactor, two_stage_recycle_compressor_disjunct
Fixed the following Boolean variables:
Solving nonlinear subproblem for fixed binaries and logical realizations.
--- Job model.gms Start 06/26/24 18:02:53 45.7.0 64fbf3ce LEX-LEG x86 64bit/Linux
--- Applying:
/home/yirangpark/gams45.7_linux_x64_64_sfx/gmsprmun.txt
--- GAMS Parameters defined
Input /tmp/tmp7jcm6_pb/model.gms
Output /tmp/tmp7jcm6_pb/output.lst
ScrDir /tmp/tmp7jcm6_pb/225a/
SysDir /home/yirangpark/gams45.7_linux_x64_64_sfx/
CurDir /tmp/tmp7jcm6_pb/
LogOption 3
Licensee: Prof. Ignacio E. Grossmann G240103|0002AS-GEN
Carnegie Mellon University, Dept. of Chemical Engineering DCE375
/home/yirangpark/gams45.7_linux_x64_64_sfx/gamslice.txt
License Admin: Ignacio E. Grossmann,
Evaluation license: Not for commercial or production use
The evaluation period of the license will expire on Nov 28, 2024
Processor information: 1 socket(s), 6 core(s), and 12 thread(s) available
GAMS 45.7.0 Copyright (C) 1987-2024 GAMS Development. All rights reserved
--- Starting compilation
--- model.gms(1584) 2 Mb
--- Starting execution: elapsed 0:00:00.002
--- model.gms(1112) 3 Mb
--- Generating NLP model GAMS_MODEL
--- model.gms(1113) 5 Mb
--- Reset Solvelink = 2
--- 207 rows 211 columns 586 non-zeroes
--- 345 nl-code 125 nl-non-zeroes
--- Range statistics (absolute non-zero finite values)
--- RHS [min, max] : [ 1.000E-02, 3.627E+03] - Zero values observed as well
--- Bound [min, max] : [ 1.000E-03, 8.000E+01] - Zero values observed as well
--- Matrix [min, max] : [ 1.404E-03, 8.000E+03] - Zero values observed as well
--- model.gms(1113) 3 Mb
--- Executing BARON (Solvelink=2): elapsed 0:00:00.004
GAMS/BARON 45.7.0 64fbf3ce Jan 18, 2024 LEG x86 64bit/Linux
===========================================================================
BARON version 23.6.22. Built: LNX-64 Thu Jun 22 20:08:45 EDT 2023
BARON is a product of The Optimization Firm.
For information on BARON, see https://minlp.com/about-baron
If you use this software, please cite publications from
https://minlp.com/baron-publications, such as:
Khajavirad, A. and N. V. Sahinidis,
A hybrid LP/NLP paradigm for global optimization relaxations,
Mathematical Programming Computation, 10, 383-421, 2018.
===========================================================================
This BARON run may utilize the following subsolver(s)
For LP/MIP/QP: CLP/CBC, ILOG CPLEX
For NLP: MINOS, SNOPT, External NLP, IPOPT, FILTERSQP
===========================================================================
Doing local search
Preprocessing found feasible solution with value 242.054
Solving bounding LP
Starting multi-start local search
Preprocessing found feasible solution with value 242.054
Preprocessing found feasible solution with value 242.054
Done with local search
===========================================================================
Iteration Open nodes Time (s) Lower bound Upper bound
1 1 2.19 -4468.63 242.054
* 1922 631 12.85 -3825.84 242.052
6884 1842 42.84 -3393.01 242.052
10208 2570 72.85 -3215.99 242.052
10600+ 2588 98.85 -3197.06 242.052
10613+ 2581 102.68 -3195.87 242.052
10638+ 2570 120.01 -3195.66 242.052
10638+ 2570 123.57 -3195.66 242.052
10639+ 2569 127.77 -3194.12 242.052
10652+ 2564 157.76 -3193.92 242.052
13091 3047 187.76 -3093.04 242.052
17530+ 3833 217.78 -2945.71 242.052
17652+ 3768 247.78 -2938.66 242.052
17764+ 3707 277.80 -2936.55 242.052
17895+ 3639 307.81 -2932.59 242.052
18036+ 3563 337.81 -2928.46 242.052
18153+ 3497 367.81 -2923.23 242.052
* 18191 3479 376.24 -2922.34 242.051
18279+ 3432 406.24 -2919.51 242.051
18381+ 3377 436.24 -2914.65 242.051
18469+ 3329 466.25 -2913.38 242.051
^CBARON: Cntrl-C Abort
--- The best solution found is:
Solution = 242.050964343 found at node 18191
Best possible = -2886.74145951
Absolute gap = 3128.792423853 optca = 1E-9
Relative gap = NA optcr = 0.0001
--- Reading solution for model GAMS_MODEL
--- Executing after solve: elapsed 15:51:06.606
--- model.gms(1116) 3 Mb
--- model.gms(1584) 5 Mb
--- Putfile results /tmp/tmp7jcm6_pb/results.dat
--- Putfile statresults /tmp/tmp7jcm6_pb/resultsstat.dat
*** Status: Normal completion
--- Job model.gms Stop 06/27/24 09:53:59 elapsed 15:51:06.607
Solved in 0 iterations and 4524.01274 seconds
Optimal objective value 1288.4568114690
Relative optimality gap inf%
BARON is certainly converging to a better solution than any we have seen in IPOPT so far, we need to play with the NLP solvers and initialization in this case.
the result shows infeasible. tried running in both master and methanol branches, same result.