MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance waternd1
| Formatsⓘ | ams gms mod nl osil py |
| Primal Bounds (infeas ≤ 1e-08)ⓘ | |
| Other points (infeas > 1e-08)ⓘ | |
| Dual Boundsⓘ | 606763.16750000 (ANTIGONE) 606763.16750000 (BARON) 606763.16750000 (COUENNE) 606763.16750000 (LINDO) 606763.16750000 (SCIP) 320026.52300000 (SHOT) |
| Referencesⓘ | Ahmetović, Elvis and Grossmann, I E, Integrated Process Water Networks Design Problem, 2010. |
| Sourceⓘ | WaterNetwokProblem-B-Eps.gms from minlp.org model 101 |
| Applicationⓘ | Water Network Design |
| Added to libraryⓘ | 25 Sep 2013 |
| Problem typeⓘ | MBNLP |
| #Variablesⓘ | 74 |
| #Binary Variablesⓘ | 20 |
| #Integer Variablesⓘ | 0 |
| #Nonlinear Variablesⓘ | 49 |
| #Nonlinear Binary Variablesⓘ | 0 |
| #Nonlinear Integer Variablesⓘ | 0 |
| Objective Senseⓘ | min |
| Objective typeⓘ | nonlinear |
| Objective curvatureⓘ | concave |
| #Nonzeros in Objectiveⓘ | 43 |
| #Nonlinear Nonzeros in Objectiveⓘ | 22 |
| #Constraintsⓘ | 83 |
| #Linear Constraintsⓘ | 67 |
| #Quadratic Constraintsⓘ | 16 |
| #Polynomial Constraintsⓘ | 0 |
| #Signomial Constraintsⓘ | 0 |
| #General Nonlinear Constraintsⓘ | 0 |
| Operands in Gen. Nonlin. Functionsⓘ | vcpower |
| Constraints curvatureⓘ | indefinite |
| #Nonzeros in Jacobianⓘ | 258 |
| #Nonlinear Nonzeros in Jacobianⓘ | 92 |
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 106 |
| #Nonzeros in Diagonal of Hessian of Lagrangianⓘ | 22 |
| #Blocks in Hessian of Lagrangianⓘ | 17 |
| Minimal blocksize in Hessian of Lagrangianⓘ | 1 |
| Maximal blocksize in Hessian of Lagrangianⓘ | 5 |
| Average blocksize in Hessian of Lagrangianⓘ | 2.882353 |
| #Semicontinuitiesⓘ | 0 |
| #Nonlinear Semicontinuitiesⓘ | 0 |
| #SOS type 1ⓘ | 0 |
| #SOS type 2ⓘ | 0 |
| Minimal coefficientⓘ | 1.0000e-03 |
| Maximal coefficientⓘ | 1.6800e+04 |
| Infeasibility of initial pointⓘ | 2500 |
| Sparsity Jacobianⓘ | ![]() |
| Sparsity Hessian of Lagrangianⓘ | ![]() |
$offlisting
*
* Equation counts
* Total E G L N X C B
* 84 43 0 41 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 75 55 20 0 0 0 0 0
* FX 6
*
* Nonzero counts
* Total const NL DLL
* 302 188 114 0
*
* Solve m using MINLP minimizing objvar;
Variables b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19
,b20,objvar,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;
Positive Variables x23,x24,x25,x26,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38
,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x52,x53,x58,x59,x60,x61,x62
,x63,x64,x65,x66,x67,x68,x69,x70,x71,x72,x73,x74,x75;
Binary Variables b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17
,b18,b19,b20;
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;
e1.. -(0.1*(16800*(0.001 + x47)**0.7 + 12600*(0.001 + x48)**0.7) + 8000*x47 +
53.6*x48 + 0.1*(100*(0.001 + x23)**0.6 + 100*(0.001 + x24)**0.6 + 100*(
0.001 + x25)**0.6 + 100*(0.001 + x26)**0.6 + 100*(0.001 + x29)**0.6 + 100*
(0.001 + x30)**0.6 + 100*(0.001 + x31)**0.6 + 100*(0.001 + x32)**0.6 + 100
*(0.001 + x33)**0.6 + 100*(0.001 + x34)**0.6 + 100*(0.001 + x35)**0.6 +
100*(0.001 + x36)**0.6 + 100*(0.001 + x37)**0.6 + 100*(0.001 + x38)**0.6
+ 100*(0.001 + x39)**0.6 + 100*(0.001 + x40)**0.6 + 100*(0.001 + x43)**
0.6 + 100*(0.001 + x44)**0.6 + 100*(0.001 + x41)**0.6 + 100*(0.001 + x42)
**0.6) + 48*x23 + 48*x24 + 48*x25 + 48*x26 + 48*x29 + 48*x30 + 48*x31 + 48
*x32 + 48*x33 + 48*x34 + 48*x35 + 48*x36 + 48*x37 + 48*x38 + 48*x39 + 48*
x40 + 48*x41 + 48*x42 + 48*x43 + 48*x44) - 0.6*b1 - 0.6*b2 - 0.6*b3
- 0.6*b4 - 0.6*b5 - 0.6*b6 - 0.6*b7 - 0.6*b8 - 0.6*b9 - 0.6*b10 - 0.6*b11
- 0.6*b12 - 0.6*b13 - 0.6*b14 - 0.6*b15 - 0.6*b16 - 0.6*b17 - 0.6*b18
- 0.6*b19 - 0.6*b20 + objvar - 8000*x22 =E= 0;
e2.. x22 - x23 - x24 - x25 - x26 =E= 0;
e3.. - x23 - x30 - x37 - x39 =E= -40;
e4.. - x24 - x29 - x38 - x40 =E= -50;
e5.. -(x30*x56 + x37*x62 + x39*x64) + 40*x50 =E= 0;
e6.. -(x30*x57 + x37*x63 + x39*x65) + 40*x51 =E= 0;
e7.. -(x29*x54 + x38*x62 + x40*x64) + 50*x52 =E= 0;
e8.. -(x29*x55 + x38*x63 + x40*x65) + 50*x53 =E= 0;
e9.. - x27 =E= -40;
e10.. - x28 =E= -50;
e11.. -x27*x54 + 40*x50 =E= -1000;
e12.. -x27*x55 + 40*x51 =E= -1500;
e13.. -x28*x56 + 50*x52 =E= -1000;
e14.. -x28*x57 + 50*x53 =E= -1000;
e15.. x27 - x29 - x31 - x32 - x35 =E= 0;
e16.. x28 - x30 - x33 - x34 - x36 =E= 0;
e17.. - x54 + x66 =E= 0;
e18.. - x55 + x67 =E= 0;
e19.. - x56 + x68 =E= 0;
e20.. - x57 + x69 =E= 0;
e21.. - x25 - x31 - x33 - x42 + x45 =E= 0;
e22.. - x26 - x32 - x34 - x41 + x46 =E= 0;
e23.. x45*x58 - (x42*x72 + x31*x66 + x33*x68) =E= 0;
e24.. x45*x59 - (x42*x73 + x31*x67 + x33*x69) =E= 0;
e25.. x46*x60 - (x41*x70 + x32*x66 + x34*x68) =E= 0;
e26.. x46*x61 - (x41*x71 + x32*x67 + x34*x69) =E= 0;
e27.. x45 - x47 =E= 0;
e28.. x46 - x48 =E= 0;
e29.. - 0.0499999999999999*x58 + x62 =E= 0;
e30.. - x59 + x63 =E= 0;
e31.. - x60 + x64 =E= 0;
e32.. - 0.0499999999999999*x61 + x65 =E= 0;
e33.. - x37 - x38 - x41 - x43 + x47 =E= 0;
e34.. - x39 - x40 - x42 - x44 + x48 =E= 0;
e35.. - x62 + x70 =E= 0;
e36.. - x63 + x71 =E= 0;
e37.. - x64 + x72 =E= 0;
e38.. - x65 + x73 =E= 0;
e39.. - x35 - x36 - x43 - x44 + x49 =E= 0;
e40.. x49*x74 - (x35*x66 + x36*x68 + x43*x70 + x44*x72) =E= 0;
e41.. x49*x75 - (x35*x67 + x36*x69 + x43*x71 + x44*x73) =E= 0;
e42.. -(0.95*x45*x58 + x49*x74) =E= -2000;
e43.. -(0.95*x46*x61 + x49*x75) =E= -2500;
e44.. - 40*b17 + x37 =L= 0;
e45.. - 50*b18 + x38 =L= 0;
e46.. - 40*b19 + x39 =L= 0;
e47.. - 50*b20 + x40 =L= 0;
e48.. - x37 =L= 0;
e49.. - x38 =L= 0;
e50.. - x39 =L= 0;
e51.. - x40 =L= 0;
e52.. - 40*b5 + x29 =L= 0;
e53.. - 40*b6 + x30 =L= 0;
e54.. - x29 =L= 0;
e55.. - x30 =L= 0;
e56.. - 40*b7 + x31 =L= 0;
e57.. - 40*b8 + x32 =L= 0;
e58.. - 50*b9 + x33 =L= 0;
e59.. - 50*b10 + x34 =L= 0;
e60.. - x31 =L= 0;
e61.. - x32 =L= 0;
e62.. - x33 =L= 0;
e63.. - x34 =L= 0;
e64.. - 40*b11 + x35 =L= 0;
e65.. - 50*b12 + x36 =L= 0;
e66.. - x35 =L= 0;
e67.. - x36 =L= 0;
e68.. - 90*b13 + x43 =L= 0;
e69.. - 90*b14 + x44 =L= 0;
e70.. - x43 =L= 0;
e71.. - x44 =L= 0;
e72.. - 90*b15 + x41 =L= 0;
e73.. - 90*b16 + x42 =L= 0;
e74.. - x41 =L= 0;
e75.. - x42 =L= 0;
e76.. - 40*b1 + x23 =L= 0;
e77.. - 50*b2 + x24 =L= 0;
e78.. - x23 =L= 0;
e79.. - x24 =L= 0;
e80.. - 90*b3 + x25 =L= 0;
e81.. - 90*b4 + x26 =L= 0;
e82.. - x25 =L= 0;
e83.. - x26 =L= 0;
e84.. b1 + b2 + b3 + b4 + b5 + b6 + b7 + b8 + b9 + b10 + b11 + b12 + b13
+ b14 + b15 + b16 + b17 + b18 + b19 + b20 =L= 20;
* set non-default bounds
x22.lo = 40; x22.up = 90;
x23.up = 40;
x24.up = 50;
x25.up = 90;
x26.up = 90;
x27.fx = 40;
x28.fx = 50;
x29.up = 40;
x30.up = 40;
x31.up = 40;
x32.up = 40;
x33.up = 50;
x34.up = 50;
x35.up = 40;
x36.up = 50;
x37.up = 40;
x38.up = 50;
x39.up = 40;
x40.up = 50;
x41.up = 90;
x42.up = 90;
x43.up = 90;
x44.up = 90;
x45.up = 90;
x46.up = 90;
x47.up = 90;
x48.up = 90;
x49.lo = 40; x49.up = 90;
x50.fx = 0;
x51.fx = 0;
x52.up = 50;
x53.up = 50;
x54.fx = 25;
x55.fx = 37.5;
x56.lo = 20; x56.up = 70;
x57.lo = 20; x57.up = 70;
x58.up = 70;
x59.up = 70;
x60.up = 70;
x61.up = 70;
x62.up = 3.5;
x63.up = 70;
x64.up = 70;
x65.up = 3.5;
x66.up = 25;
x67.up = 37.5;
x68.up = 70;
x69.up = 70;
x70.up = 3.5;
x71.up = 70;
x72.up = 70;
x73.up = 3.5;
x74.up = 10;
x75.up = 10;
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% minimizing objvar;
Last updated: 2025-08-07 Git hash: e62cedfc

