MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance syn05m02hfsg
Selection of optimal configuration and parameters for a processing system selected from a superstructure containing alternative processing units and interconnections. Equivalent perspective reformulation of syn05m02.
| Formatsⓘ | ams gms mod nl osil py |
| Primal Bounds (infeas ≤ 1e-08)ⓘ | |
| Other points (infeas > 1e-08)ⓘ | |
| Dual Boundsⓘ | 3033.09077000 (ALPHAECP) 3032.73552200 (ANTIGONE) 3032.73545500 (BARON) 3032.73538600 (BONMIN) 3032.73742600 (COUENNE) 3032.73538600 (LINDO) 3032.73576100 (SCIP) 4764.35941700 (SHOT) |
| Referencesⓘ | Duran, Marco A and Grossmann, I E, An Outer-Approximation Algorithm for a Class of Mixed-integer Nonlinear Programs, Mathematical Programming, 36:3, 1986, 307-339. Türkay, Metin and Grossmann, I E, Logic-based MINLP Algorithms for optimal synthesis of process networks, Computers and Chemical Engineering, 20:8, 1996, 959-978. Kevin C. Furman, Nicolas W. Sawaya, Ignacio E. Grossmann, A computationally useful algebraic representation of nonlinear disjunctive convex sets using the perspective function, Tech. Rep., 2019. |
| Applicationⓘ | Synthesis of processing system |
| Added to libraryⓘ | 25 Sep 2019 |
| Problem typeⓘ | MBNLP |
| #Variablesⓘ | 104 |
| #Binary Variablesⓘ | 20 |
| #Integer Variablesⓘ | 0 |
| #Nonlinear Variablesⓘ | 18 |
| #Nonlinear Binary Variablesⓘ | 6 |
| #Nonlinear Integer Variablesⓘ | 0 |
| Objective Senseⓘ | max |
| Objective typeⓘ | linear |
| Objective curvatureⓘ | linear |
| #Nonzeros in Objectiveⓘ | 22 |
| #Nonlinear Nonzeros in Objectiveⓘ | 0 |
| #Constraintsⓘ | 151 |
| #Linear Constraintsⓘ | 145 |
| #Quadratic Constraintsⓘ | 0 |
| #Polynomial Constraintsⓘ | 0 |
| #Signomial Constraintsⓘ | 0 |
| #General Nonlinear Constraintsⓘ | 6 |
| Operands in Gen. Nonlin. Functionsⓘ | div log mul |
| Constraints curvatureⓘ | convex |
| #Nonzeros in Jacobianⓘ | 329 |
| #Nonlinear Nonzeros in Jacobianⓘ | 18 |
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 36 |
| #Nonzeros in Diagonal of Hessian of Lagrangianⓘ | 12 |
| #Blocks in Hessian of Lagrangianⓘ | 6 |
| Minimal blocksize in Hessian of Lagrangianⓘ | 3 |
| Maximal blocksize in Hessian of Lagrangianⓘ | 3 |
| Average blocksize in Hessian of Lagrangianⓘ | 3.0 |
| #Semicontinuitiesⓘ | 0 |
| #Nonlinear Semicontinuitiesⓘ | 0 |
| #SOS type 1ⓘ | 0 |
| #SOS type 2ⓘ | 0 |
| Minimal coefficientⓘ | 1.0000e-03 |
| Maximal coefficientⓘ | 4.0500e+02 |
| Infeasibility of initial pointⓘ | 1 |
| Sparsity Jacobianⓘ | ![]() |
| Sparsity Hessian of Lagrangianⓘ | ![]() |
$offlisting
*
* Equation counts
* Total E G L N X C B
* 152 71 6 75 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 105 85 20 0 0 0 0 0
* FX 0
*
* Nonzero counts
* Total const NL DLL
* 352 334 18 0
*
* Solve m using MINLP maximizing objvar;
Variables objvar,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18
,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35
,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52
,x53,x54,x55,x56,x57,x58,x59,x60,x61,x62,x63,x64,x65,x66,x67,x68,x69
,x70,x71,x72,x73,x74,x75,x76,x77,x78,x79,x80,x81,x82,x83,x84,x85,b86
,b87,b88,b89,b90,b91,b92,b93,b94,b95,b96,b97,b98,b99,b100,b101,b102
,b103,b104,b105;
Positive Variables x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25
,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42
,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56,x57,x58,x59
,x60,x61,x62,x63,x64,x65,x66,x67,x68,x69,x70,x71,x72,x73,x74,x75,x76
,x77,x78,x79,x80,x81,x82,x83,x84,x85;
Binary Variables b86,b87,b88,b89,b90,b91,b92,b93,b94,b95,b96,b97,b98,b99,b100
,b101,b102,b103,b104,b105;
Equations e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19
,e20,e21,e22,e23,e24,e25,e26,e27,e28,e29,e30,e31,e32,e33,e34,e35,e36
,e37,e38,e39,e40,e41,e42,e43,e44,e45,e46,e47,e48,e49,e50,e51,e52,e53
,e54,e55,e56,e57,e58,e59,e60,e61,e62,e63,e64,e65,e66,e67,e68,e69,e70
,e71,e72,e73,e74,e75,e76,e77,e78,e79,e80,e81,e82,e83,e84,e85,e86,e87
,e88,e89,e90,e91,e92,e93,e94,e95,e96,e97,e98,e99,e100,e101,e102,e103
,e104,e105,e106,e107,e108,e109,e110,e111,e112,e113,e114,e115,e116
,e117,e118,e119,e120,e121,e122,e123,e124,e125,e126,e127,e128,e129
,e130,e131,e132,e133,e134,e135,e136,e137,e138,e139,e140,e141,e142
,e143,e144,e145,e146,e147,e148,e149,e150,e151,e152;
e1.. objvar + x12 + x13 - 5*x24 - 10*x25 + 2*x34 + x35 - 80*x36 - 90*x37
- 285*x38 - 390*x39 - 290*x40 - 405*x41 + 5*b96 + 4*b97 + 8*b98 + 7*b99
+ 6*b100 + 9*b101 + 10*b102 + 9*b103 + 6*b104 + 10*b105 =E= 0;
e2.. x12 - x14 - x16 =E= 0;
e3.. x13 - x15 - x17 =E= 0;
e4.. - x18 - x20 + x22 =E= 0;
e5.. - x19 - x21 + x23 =E= 0;
e6.. x22 - x24 - x26 =E= 0;
e7.. x23 - x25 - x27 =E= 0;
e8.. x26 - x28 - x30 - x32 =E= 0;
e9.. x27 - x29 - x31 - x33 =E= 0;
e10.. (x50/(0.001 + 0.999*b86) - log(1 + x42/(0.001 + 0.999*b86)))*(0.001 +
0.999*b86) =L= 0;
e11.. (x51/(0.001 + 0.999*b87) - log(1 + x43/(0.001 + 0.999*b87)))*(0.001 +
0.999*b87) =L= 0;
e12.. x44 =E= 0;
e13.. x45 =E= 0;
e14.. x52 =E= 0;
e15.. x53 =E= 0;
e16.. x14 - x42 - x44 =E= 0;
e17.. x15 - x43 - x45 =E= 0;
e18.. x18 - x50 - x52 =E= 0;
e19.. x19 - x51 - x53 =E= 0;
e20.. x42 - 40*b86 =L= 0;
e21.. x43 - 40*b87 =L= 0;
e22.. x44 + 40*b86 =L= 40;
e23.. x45 + 40*b87 =L= 40;
e24.. x50 - 3.71357206670431*b86 =L= 0;
e25.. x51 - 3.71357206670431*b87 =L= 0;
e26.. x52 + 3.71357206670431*b86 =L= 3.71357206670431;
e27.. x53 + 3.71357206670431*b87 =L= 3.71357206670431;
e28.. (x54/(0.001 + 0.999*b88) - 1.2*log(1 + x46/(0.001 + 0.999*b88)))*(0.001
+ 0.999*b88) =L= 0;
e29.. (x55/(0.001 + 0.999*b89) - 1.2*log(1 + x47/(0.001 + 0.999*b89)))*(0.001
+ 0.999*b89) =L= 0;
e30.. x48 =E= 0;
e31.. x49 =E= 0;
e32.. x56 =E= 0;
e33.. x57 =E= 0;
e34.. x16 - x46 - x48 =E= 0;
e35.. x17 - x47 - x49 =E= 0;
e36.. x20 - x54 - x56 =E= 0;
e37.. x21 - x55 - x57 =E= 0;
e38.. x46 - 40*b88 =L= 0;
e39.. x47 - 40*b89 =L= 0;
e40.. x48 + 40*b88 =L= 40;
e41.. x49 + 40*b89 =L= 40;
e42.. x54 - 4.45628648004517*b88 =L= 0;
e43.. x55 - 4.45628648004517*b89 =L= 0;
e44.. x56 + 4.45628648004517*b88 =L= 4.45628648004517;
e45.. x57 + 4.45628648004517*b89 =L= 4.45628648004517;
e46.. - 0.75*x58 + x74 =E= 0;
e47.. - 0.75*x59 + x75 =E= 0;
e48.. x60 =E= 0;
e49.. x61 =E= 0;
e50.. x76 =E= 0;
e51.. x77 =E= 0;
e52.. x28 - x58 - x60 =E= 0;
e53.. x29 - x59 - x61 =E= 0;
e54.. x36 - x74 - x76 =E= 0;
e55.. x37 - x75 - x77 =E= 0;
e56.. x58 - 4.45628648004517*b90 =L= 0;
e57.. x59 - 4.45628648004517*b91 =L= 0;
e58.. x60 + 4.45628648004517*b90 =L= 4.45628648004517;
e59.. x61 + 4.45628648004517*b91 =L= 4.45628648004517;
e60.. x74 - 3.34221486003388*b90 =L= 0;
e61.. x75 - 3.34221486003388*b91 =L= 0;
e62.. x76 + 3.34221486003388*b90 =L= 3.34221486003388;
e63.. x77 + 3.34221486003388*b91 =L= 3.34221486003388;
e64.. (x78/(0.001 + 0.999*b92) - 1.5*log(1 + x62/(0.001 + 0.999*b92)))*(0.001
+ 0.999*b92) =L= 0;
e65.. (x79/(0.001 + 0.999*b93) - 1.5*log(1 + x63/(0.001 + 0.999*b93)))*(0.001
+ 0.999*b93) =L= 0;
e66.. x64 =E= 0;
e67.. x65 =E= 0;
e68.. x80 =E= 0;
e69.. x81 =E= 0;
e70.. x30 - x62 - x64 =E= 0;
e71.. x31 - x63 - x65 =E= 0;
e72.. x38 - x78 - x80 =E= 0;
e73.. x39 - x79 - x81 =E= 0;
e74.. x62 - 4.45628648004517*b92 =L= 0;
e75.. x63 - 4.45628648004517*b93 =L= 0;
e76.. x64 + 4.45628648004517*b92 =L= 4.45628648004517;
e77.. x65 + 4.45628648004517*b93 =L= 4.45628648004517;
e78.. x78 - 2.54515263975353*b92 =L= 0;
e79.. x79 - 2.54515263975353*b93 =L= 0;
e80.. x80 + 2.54515263975353*b92 =L= 2.54515263975353;
e81.. x81 + 2.54515263975353*b93 =L= 2.54515263975353;
e82.. - x66 + x82 =E= 0;
e83.. - x67 + x83 =E= 0;
e84.. - 0.5*x70 + x82 =E= 0;
e85.. - 0.5*x71 + x83 =E= 0;
e86.. x68 =E= 0;
e87.. x69 =E= 0;
e88.. x72 =E= 0;
e89.. x73 =E= 0;
e90.. x84 =E= 0;
e91.. x85 =E= 0;
e92.. x32 - x66 - x68 =E= 0;
e93.. x33 - x67 - x69 =E= 0;
e94.. x34 - x70 - x72 =E= 0;
e95.. x35 - x71 - x73 =E= 0;
e96.. x40 - x82 - x84 =E= 0;
e97.. x41 - x83 - x85 =E= 0;
e98.. x66 - 4.45628648004517*b94 =L= 0;
e99.. x67 - 4.45628648004517*b95 =L= 0;
e100.. x68 + 4.45628648004517*b94 =L= 4.45628648004517;
e101.. x69 + 4.45628648004517*b95 =L= 4.45628648004517;
e102.. x70 - 30*b94 =L= 0;
e103.. x71 - 30*b95 =L= 0;
e104.. x72 + 30*b94 =L= 30;
e105.. x73 + 30*b95 =L= 30;
e106.. x82 - 15*b94 =L= 0;
e107.. x83 - 15*b95 =L= 0;
e108.. x84 + 15*b94 =L= 15;
e109.. x85 + 15*b95 =L= 15;
e110.. x2 + 5*b96 =E= 0;
e111.. x3 + 4*b97 =E= 0;
e112.. x4 + 8*b98 =E= 0;
e113.. x5 + 7*b99 =E= 0;
e114.. x6 + 6*b100 =E= 0;
e115.. x7 + 9*b101 =E= 0;
e116.. x8 + 10*b102 =E= 0;
e117.. x9 + 9*b103 =E= 0;
e118.. x10 + 6*b104 =E= 0;
e119.. x11 + 10*b105 =E= 0;
e120.. b86 - b87 =L= 0;
e121.. b88 - b89 =L= 0;
e122.. b90 - b91 =L= 0;
e123.. b92 - b93 =L= 0;
e124.. b94 - b95 =L= 0;
e125.. b96 + b97 =L= 1;
e126.. b96 + b97 =L= 1;
e127.. b98 + b99 =L= 1;
e128.. b98 + b99 =L= 1;
e129.. b100 + b101 =L= 1;
e130.. b100 + b101 =L= 1;
e131.. b102 + b103 =L= 1;
e132.. b102 + b103 =L= 1;
e133.. b104 + b105 =L= 1;
e134.. b104 + b105 =L= 1;
e135.. b86 - b96 =L= 0;
e136.. - b86 + b87 - b97 =L= 0;
e137.. b88 - b98 =L= 0;
e138.. - b88 + b89 - b99 =L= 0;
e139.. b90 - b100 =L= 0;
e140.. - b90 + b91 - b101 =L= 0;
e141.. b92 - b102 =L= 0;
e142.. - b92 + b93 - b103 =L= 0;
e143.. b94 - b104 =L= 0;
e144.. - b94 + b95 - b105 =L= 0;
e145.. b86 + b88 =E= 1;
e146.. b87 + b89 =E= 1;
e147.. b86 + b88 - b90 =G= 0;
e148.. b87 + b89 - b91 =G= 0;
e149.. b86 + b88 - b92 =G= 0;
e150.. b87 + b89 - b93 =G= 0;
e151.. b86 + b88 - b94 =G= 0;
e152.. b87 + b89 - b95 =G= 0;
* set non-default bounds
x12.up = 40;
x13.up = 40;
x34.up = 30;
x35.up = 30;
Model m / all /;
m.limrow=0; m.limcol=0;
m.tolproj=0.0;
$if NOT '%gams.u1%' == '' $include '%gams.u1%'
$if not set MINLP $set MINLP MINLP
Solve m using %MINLP% maximizing objvar;
Last updated: 2025-08-07 Git hash: e62cedfc

