Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

methanol.py result is infeasible #42

Open
parkyr opened this issue Jun 24, 2024 · 2 comments
Open

methanol.py result is infeasible #42

parkyr opened this issue Jun 24, 2024 · 2 comments
Assignees

Comments

@parkyr
Copy link
Contributor

parkyr commented Jun 24, 2024

MILP discrete problem is now infeasible. GDPopt has explored or cut off all feasible discrete configurations.
GDPopt exiting--problem is infeasible.

Solved in 9 iterations and 4.77268 seconds
Optimal objective value inf
Relative optimality gap nan%

Problem: 
- Name: unknown
  Lower bound: inf
  Upper bound: inf
  Number of objectives: 1
  Number of constraints: 429
  Number of variables: 285
  Number of binary variables: 8
  Number of integer variables: 0
  Number of continuous variables: 277
  Number of nonzeros: None
  Sense: 1
  Number of disjunctions: 4
Solver: 
- Name: GDPopt (22, 5, 13) - LOA
  Status: ok
  User time: 4.772652326999999
  Wallclock time: 4.772652326999999
  Termination condition: infeasible
  Iterations: 9
  Timing: integer cut generation: 0.0015824459999969065
main_timer_start_time: 23.405043971
mip: 1.4077680720000032
nlp: 1.0189015869999913
total: 4.772652326999999

activated:
    binary_variables: 8
    constraints: 429
    continuous_variables: 277
    disjunctions: 4
    disjuncts: 8
    integer_variables: 0
    nonlinear_constraints: 55
    variables: 285
overall:
    binary_variables: 8
    constraints: 429
    continuous_variables: 279
    disjunctions: 4
    disjuncts: 8
    integer_variables: 0
    nonlinear_constraints: 55
    variables: 287
warning:
    unassociated_disjuncts: 0

the result shows infeasible. tried running in both master and methanol branches, same result.

@parkyr
Copy link
Contributor Author

parkyr commented Jun 27, 2024

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%

@bernalde
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants