MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance syn10hfsg
Selection of optimal configuration and parameters for a processing system selected from a superstructure containing alternative processing units and interconnections. Equivalent perspective reformulation of syn10.
| Formatsⓘ | ams gms mod nl osil py |
| Primal Bounds (infeas ≤ 1e-08)ⓘ | |
| Other points (infeas > 1e-08)ⓘ | |
| Dual Boundsⓘ | 1267.35355000 (ALPHAECP) 1267.35355100 (ANTIGONE) 1267.35355200 (BARON) 1267.35355000 (BONMIN) 1267.35355000 (COUENNE) 1267.35355000 (LINDO) 1267.35355100 (SCIP) 2023.61063100 (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ⓘ | 77 |
| #Binary Variablesⓘ | 10 |
| #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ⓘ | 18 |
| #Nonlinear Nonzeros in Objectiveⓘ | 0 |
| #Constraintsⓘ | 112 |
| #Linear Constraintsⓘ | 106 |
| #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ⓘ | 242 |
| #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ⓘ | 5.0000e+02 |
| Infeasibility of initial pointⓘ | 1 |
| Sparsity Jacobianⓘ | ![]() |
| Sparsity Hessian of Lagrangianⓘ | ![]() |
$offlisting
*
* Equation counts
* Total E G L N X C B
* 113 55 10 48 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 78 68 10 0 0 0 0 0
* FX 0
*
* Nonzero counts
* Total const NL DLL
* 261 243 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,b69
,b70,b71,b72,b73,b74,b75,b76,b77,b78;
Positive Variables 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;
Binary Variables b69,b70,b71,b72,b73,b74,b75,b76,b77,b78;
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;
e1.. objvar - 5*x8 + 2*x13 - 200*x21 - 250*x22 - 200*x23 - 200*x24 - 500*x25
- 350*x26 + 5*b69 + 8*b70 + 6*b71 + 10*b72 + 6*b73 + 7*b74 + 4*b75
+ 5*b76 + 2*b77 + 4*b78 =E= 0;
e2.. x2 - x3 - x4 =E= 0;
e3.. - x5 - x6 + x7 =E= 0;
e4.. x7 - x8 - x9 =E= 0;
e5.. x9 - x10 - x11 - x12 =E= 0;
e6.. x14 - x17 - x18 =E= 0;
e7.. x16 - x19 - x20 - x21 =E= 0;
e8.. (x31/(0.001 + 0.999*b69) - log(1 + x27/(0.001 + 0.999*b69)))*(0.001 +
0.999*b69) =L= 0;
e9.. x28 =E= 0;
e10.. x32 =E= 0;
e11.. x3 - x27 - x28 =E= 0;
e12.. x5 - x31 - x32 =E= 0;
e13.. x27 - 10*b69 =L= 0;
e14.. x28 + 10*b69 =L= 10;
e15.. x31 - 2.39789527279837*b69 =L= 0;
e16.. x32 + 2.39789527279837*b69 =L= 2.39789527279837;
e17.. (x33/(0.001 + 0.999*b70) - 1.2*log(1 + x29/(0.001 + 0.999*b70)))*(0.001
+ 0.999*b70) =L= 0;
e18.. x30 =E= 0;
e19.. x34 =E= 0;
e20.. x4 - x29 - x30 =E= 0;
e21.. x6 - x33 - x34 =E= 0;
e22.. x29 - 10*b70 =L= 0;
e23.. x30 + 10*b70 =L= 10;
e24.. x33 - 2.87747432735804*b70 =L= 0;
e25.. x34 + 2.87747432735804*b70 =L= 2.87747432735804;
e26.. - 0.75*x35 + x43 =E= 0;
e27.. x36 =E= 0;
e28.. x44 =E= 0;
e29.. x10 - x35 - x36 =E= 0;
e30.. x14 - x43 - x44 =E= 0;
e31.. x35 - 2.87747432735804*b71 =L= 0;
e32.. x36 + 2.87747432735804*b71 =L= 2.87747432735804;
e33.. x43 - 2.15810574551853*b71 =L= 0;
e34.. x44 + 2.15810574551853*b71 =L= 2.15810574551853;
e35.. (x45/(0.001 + 0.999*b72) - 1.5*log(1 + x37/(0.001 + 0.999*b72)))*(0.001
+ 0.999*b72) =L= 0;
e36.. x38 =E= 0;
e37.. x47 =E= 0;
e38.. x11 - x37 - x38 =E= 0;
e39.. x15 - x45 - x47 =E= 0;
e40.. x37 - 2.87747432735804*b72 =L= 0;
e41.. x38 + 2.87747432735804*b72 =L= 2.87747432735804;
e42.. x45 - 2.03277599268042*b72 =L= 0;
e43.. x47 + 2.03277599268042*b72 =L= 2.03277599268042;
e44.. - x39 + x49 =E= 0;
e45.. - 0.5*x41 + x49 =E= 0;
e46.. x40 =E= 0;
e47.. x42 =E= 0;
e48.. x50 =E= 0;
e49.. x12 - x39 - x40 =E= 0;
e50.. x13 - x41 - x42 =E= 0;
e51.. x16 - x49 - x50 =E= 0;
e52.. x39 - 2.87747432735804*b73 =L= 0;
e53.. x40 + 2.87747432735804*b73 =L= 2.87747432735804;
e54.. x41 - 7*b73 =L= 0;
e55.. x42 + 7*b73 =L= 7;
e56.. x49 - 3.5*b73 =L= 0;
e57.. x50 + 3.5*b73 =L= 3.5;
e58.. (x59/(0.001 + 0.999*b74) - 1.25*log(1 + x51/(0.001 + 0.999*b74)))*(0.001
+ 0.999*b74) =L= 0;
e59.. x52 =E= 0;
e60.. x60 =E= 0;
e61.. x17 - x51 - x52 =E= 0;
e62.. x22 - x59 - x60 =E= 0;
e63.. x51 - 2.15810574551853*b74 =L= 0;
e64.. x52 + 2.15810574551853*b74 =L= 2.15810574551853;
e65.. x59 - 1.43746550029693*b74 =L= 0;
e66.. x60 + 1.43746550029693*b74 =L= 1.43746550029693;
e67.. (x61/(0.001 + 0.999*b75) - 0.9*log(1 + x53/(0.001 + 0.999*b75)))*(0.001
+ 0.999*b75) =L= 0;
e68.. x54 =E= 0;
e69.. x62 =E= 0;
e70.. x18 - x53 - x54 =E= 0;
e71.. x23 - x61 - x62 =E= 0;
e72.. x53 - 2.15810574551853*b75 =L= 0;
e73.. x54 + 2.15810574551853*b75 =L= 2.15810574551853;
e74.. x61 - 1.03497516021379*b75 =L= 0;
e75.. x62 + 1.03497516021379*b75 =L= 1.03497516021379;
e76.. (x63/(0.001 + 0.999*b76) - log(1 + x46/(0.001 + 0.999*b76)))*(0.001 +
0.999*b76) =L= 0;
e77.. x48 =E= 0;
e78.. x64 =E= 0;
e79.. x15 - x46 - x48 =E= 0;
e80.. x24 - x63 - x64 =E= 0;
e81.. x46 - 2.03277599268042*b76 =L= 0;
e82.. x48 + 2.03277599268042*b76 =L= 2.03277599268042;
e83.. x63 - 1.10947836929589*b76 =L= 0;
e84.. x64 + 1.10947836929589*b76 =L= 1.10947836929589;
e85.. - 0.9*x55 + x65 =E= 0;
e86.. x56 =E= 0;
e87.. x66 =E= 0;
e88.. x19 - x55 - x56 =E= 0;
e89.. x25 - x65 - x66 =E= 0;
e90.. x55 - 3.5*b77 =L= 0;
e91.. x56 + 3.5*b77 =L= 3.5;
e92.. x65 - 3.15*b77 =L= 0;
e93.. x66 + 3.15*b77 =L= 3.15;
e94.. - 0.6*x57 + x67 =E= 0;
e95.. x58 =E= 0;
e96.. x68 =E= 0;
e97.. x20 - x57 - x58 =E= 0;
e98.. x26 - x67 - x68 =E= 0;
e99.. x57 - 3.5*b78 =L= 0;
e100.. x58 + 3.5*b78 =L= 3.5;
e101.. x67 - 2.1*b78 =L= 0;
e102.. x68 + 2.1*b78 =L= 2.1;
e103.. b69 + b70 =E= 1;
e104.. - b71 + b74 + b75 =G= 0;
e105.. - b72 + b76 =G= 0;
e106.. b69 + b70 - b71 =G= 0;
e107.. b69 + b70 - b72 =G= 0;
e108.. b69 + b70 - b73 =G= 0;
e109.. b71 - b74 =G= 0;
e110.. b71 - b75 =G= 0;
e111.. b72 - b76 =G= 0;
e112.. b73 - b77 =G= 0;
e113.. b73 - b78 =G= 0;
* set non-default bounds
x2.up = 10;
x13.up = 7;
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

