MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance wastewater11m1
| Formatsⓘ | ams gms lp mod nl osil pip py |
| Primal Bounds (infeas ≤ 1e-08)ⓘ | |
| Other points (infeas > 1e-08)ⓘ | |
| Dual Boundsⓘ | 2127.11538200 (ANTIGONE) 2127.11538200 (BARON) 1579.13954400 (COUENNE) 2127.11538500 (GUROBI) 1697.21732400 (LINDO) 2126.91776800 (SCIP) |
| Referencesⓘ | Castro, Pedro M, Matos, Henrique A, and Novais, Augusto Q, An efficient heuristic procedure for the optimal design of wastewater treatment systems, Resources, Conservation and Recycling, 50:2, 2007, 158-185. Castro, Pedro M, Teles, João P, and Novais, Augusto Q, Linear program-based algorithm for the optimal design of wastewater treatment systems, Clean Technologies and Environmental Policy, 11:1, 2009, 83-93. |
| Sourceⓘ | ANTIGONE test library model Other_MIQCQP/castro_etal_2007_wts_Ex11_M1.gms |
| Applicationⓘ | Waste Water Treatment |
| Added to libraryⓘ | 15 Aug 2014 |
| Problem typeⓘ | QCP |
| #Variablesⓘ | 118 |
| #Binary Variablesⓘ | 0 |
| #Integer Variablesⓘ | 0 |
| #Nonlinear Variablesⓘ | 77 |
| #Nonlinear Binary Variablesⓘ | 0 |
| #Nonlinear Integer Variablesⓘ | 0 |
| Objective Senseⓘ | min |
| Objective typeⓘ | linear |
| Objective curvatureⓘ | linear |
| #Nonzeros in Objectiveⓘ | 7 |
| #Nonlinear Nonzeros in Objectiveⓘ | 0 |
| #Constraintsⓘ | 42 |
| #Linear Constraintsⓘ | 34 |
| #Quadratic Constraintsⓘ | 8 |
| #Polynomial Constraintsⓘ | 0 |
| #Signomial Constraintsⓘ | 0 |
| #General Nonlinear Constraintsⓘ | 0 |
| Operands in Gen. Nonlin. Functionsⓘ | |
| Constraints curvatureⓘ | indefinite |
| #Nonzeros in Jacobianⓘ | 395 |
| #Nonlinear Nonzeros in Jacobianⓘ | 126 |
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 126 |
| #Nonzeros in Diagonal of Hessian of Lagrangianⓘ | 0 |
| #Blocks in Hessian of Lagrangianⓘ | 14 |
| Minimal blocksize in Hessian of Lagrangianⓘ | 2 |
| Maximal blocksize in Hessian of Lagrangianⓘ | 9 |
| Average blocksize in Hessian of Lagrangianⓘ | 5.5 |
| #Semicontinuitiesⓘ | 0 |
| #Nonlinear Semicontinuitiesⓘ | 0 |
| #SOS type 1ⓘ | 0 |
| #SOS type 2ⓘ | 0 |
| Minimal coefficientⓘ | 1.0000e-01 |
| Maximal coefficientⓘ | 5.0000e+02 |
| Infeasibility of initial pointⓘ | 450 |
| Sparsity Jacobianⓘ | ![]() |
| Sparsity Hessian of Lagrangianⓘ | ![]() |
$offlisting
*
* Equation counts
* Total E G L N X C B
* 43 35 0 8 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 119 119 0 0 0 0 0 0
* FX 0
*
* Nonzero counts
* Total const NL DLL
* 403 277 126 0
*
* Solve m using NLP minimizing objvar;
Variables x1,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,x86,x87
,x88,x89,x90,x91,x92,x93,x94,x95,x96,x97,x98,x99,x100,x101,x102,x103
,x104,x105,x106,x107,x108,x109,x110,x111,x112,x113,x114,x115,x116
,x117,x118,objvar;
Positive Variables x1,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
,x86,x87,x88,x89,x90,x91,x92,x93,x94,x95,x96,x97,x98,x99,x100,x101
,x102,x103,x104,x105,x106,x107,x108,x109,x110,x111,x112,x113,x114
,x115,x116,x117,x118;
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;
e1.. - x112 - x113 - x114 - x115 - x116 - x117 - x118 + objvar =E= 0;
e2.. - x64 - x76 - x77 - x78 - x79 - x80 - x81 - x82 =E= -80;
e3.. - x65 - x83 - x84 - x85 - x86 - x87 - x88 - x89 =E= -450;
e4.. - x66 - x90 - x91 - x92 - x93 - x94 - x95 - x96 =E= -230;
e5.. - x67 - x97 - x98 - x99 - x100 - x101 - x102 - x103 =E= -90;
e6.. - x68 - x104 - x105 - x106 - x107 - x108 - x109 - x110 =E= -330;
e7.. - x15 - x22 - x29 - x36 - x43 - x50 - x57 - x76 - x83 - x90 - x97 - x104
+ x112 =E= 0;
e8.. - x16 - x23 - x30 - x37 - x44 - x51 - x58 - x77 - x84 - x91 - x98 - x105
+ x113 =E= 0;
e9.. - x17 - x24 - x31 - x38 - x45 - x52 - x59 - x78 - x85 - x92 - x99 - x106
+ x114 =E= 0;
e10.. - x18 - x25 - x32 - x39 - x46 - x53 - x60 - x79 - x86 - x93 - x100
- x107 + x115 =E= 0;
e11.. - x19 - x26 - x33 - x40 - x47 - x54 - x61 - x80 - x87 - x94 - x101
- x108 + x116 =E= 0;
e12.. - x20 - x27 - x34 - x41 - x48 - x55 - x62 - x81 - x88 - x95 - x102
- x109 + x117 =E= 0;
e13.. - x21 - x28 - x35 - x42 - x49 - x56 - x63 - x82 - x89 - x96 - x103
- x110 + x118 =E= 0;
e14.. - x15 - x16 - x17 - x18 - x19 - x20 - x21 - x69 + x112 =E= 0;
e15.. - x22 - x23 - x24 - x25 - x26 - x27 - x28 - x70 + x113 =E= 0;
e16.. - x29 - x30 - x31 - x32 - x33 - x34 - x35 - x71 + x114 =E= 0;
e17.. - x36 - x37 - x38 - x39 - x40 - x41 - x42 - x72 + x115 =E= 0;
e18.. - x43 - x44 - x45 - x46 - x47 - x48 - x49 - x73 + x116 =E= 0;
e19.. - x50 - x51 - x52 - x53 - x54 - x55 - x56 - x74 + x117 =E= 0;
e20.. - x57 - x58 - x59 - x60 - x61 - x62 - x63 - x75 + x118 =E= 0;
e21.. - x64 - x65 - x66 - x67 - x68 - x69 - x70 - x71 - x72 - x73 - x74 - x75
+ x111 =E= 0;
e22.. x15*x8 + x22*x9 + x29*x10 + x36*x11 + x43*x12 + x50*x13 + x57*x14 - x112*
x1 + 12*x76 + 50*x83 + 500*x90 + 400*x97 + 120*x104 =E= 0;
e23.. x16*x8 + x23*x9 + x30*x10 + x37*x11 + x44*x12 + x51*x13 + x58*x14 - x113*
x2 + 12*x77 + 50*x84 + 500*x91 + 400*x98 + 120*x105 =E= 0;
e24.. x17*x8 + x24*x9 + x31*x10 + x38*x11 + x45*x12 + x52*x13 + x59*x14 - x114*
x3 + 12*x78 + 50*x85 + 500*x92 + 400*x99 + 120*x106 =E= 0;
e25.. x18*x8 + x25*x9 + x32*x10 + x39*x11 + x46*x12 + x53*x13 + x60*x14 - x115*
x4 + 12*x79 + 50*x86 + 500*x93 + 400*x100 + 120*x107 =E= 0;
e26.. x19*x8 + x26*x9 + x33*x10 + x40*x11 + x47*x12 + x54*x13 + x61*x14 - x116*
x5 + 12*x80 + 50*x87 + 500*x94 + 400*x101 + 120*x108 =E= 0;
e27.. x20*x8 + x27*x9 + x34*x10 + x41*x11 + x48*x12 + x55*x13 + x62*x14 - x117*
x6 + 12*x81 + 50*x88 + 500*x95 + 400*x102 + 120*x109 =E= 0;
e28.. x21*x8 + x28*x9 + x35*x10 + x42*x11 + x49*x12 + x56*x13 + x63*x14 - x118*
x7 + 12*x82 + 50*x89 + 500*x96 + 400*x103 + 120*x110 =E= 0;
e29.. x1 =L= 400;
e30.. x2 =L= 100;
e31.. x3 =L= 50;
e32.. x4 =L= 570;
e33.. x5 =L= 100;
e34.. x6 =L= 30;
e35.. x7 =L= 640;
e36.. - 0.9*x1 + x8 =E= 0;
e37.. - 0.6*x2 + x9 =E= 0;
e38.. - 0.15*x3 + x10 =E= 0;
e39.. - 0.26*x4 + x11 =E= 0;
e40.. - 0.1*x5 + x12 =E= 0;
e41.. - 0.4*x6 + x13 =E= 0;
e42.. - 0.3*x7 + x14 =E= 0;
e43.. x69*x8 + x70*x9 + x71*x10 + x72*x11 + x73*x12 + x74*x13 + x75*x14
+ 12*x64 + 50*x65 + 500*x66 + 400*x67 + 120*x68 - 4*x111 =L= 0;
* set non-default bounds
x1.up = 1000000;
x2.up = 1000000;
x3.up = 1000000;
x4.up = 1000000;
x5.up = 1000000;
x6.up = 1000000;
x7.up = 1000000;
x8.up = 1000000;
x9.up = 1000000;
x10.up = 1000000;
x11.up = 1000000;
x12.up = 1000000;
x13.up = 1000000;
x14.up = 1000000;
x15.up = 1000000;
x16.up = 1000000;
x17.up = 1000000;
x18.up = 1000000;
x19.up = 1000000;
x20.up = 1000000;
x21.up = 1000000;
x22.up = 1000000;
x23.up = 1000000;
x24.up = 1000000;
x25.up = 1000000;
x26.up = 1000000;
x27.up = 1000000;
x28.up = 1000000;
x29.up = 1000000;
x30.up = 1000000;
x31.up = 1000000;
x32.up = 1000000;
x33.up = 1000000;
x34.up = 1000000;
x35.up = 1000000;
x36.up = 1000000;
x37.up = 1000000;
x38.up = 1000000;
x39.up = 1000000;
x40.up = 1000000;
x41.up = 1000000;
x42.up = 1000000;
x43.up = 1000000;
x44.up = 1000000;
x45.up = 1000000;
x46.up = 1000000;
x47.up = 1000000;
x48.up = 1000000;
x49.up = 1000000;
x50.up = 1000000;
x51.up = 1000000;
x52.up = 1000000;
x53.up = 1000000;
x54.up = 1000000;
x55.up = 1000000;
x56.up = 1000000;
x57.up = 1000000;
x58.up = 1000000;
x59.up = 1000000;
x60.up = 1000000;
x61.up = 1000000;
x62.up = 1000000;
x63.up = 1000000;
x64.up = 1000000;
x65.up = 1000000;
x66.up = 1000000;
x67.up = 1000000;
x68.up = 1000000;
x69.up = 1000000;
x70.up = 1000000;
x71.up = 1000000;
x72.up = 1000000;
x73.up = 1000000;
x74.up = 1000000;
x75.up = 1000000;
x76.up = 1000000;
x77.up = 1000000;
x78.up = 1000000;
x79.up = 1000000;
x80.up = 1000000;
x81.up = 1000000;
x82.up = 1000000;
x83.up = 1000000;
x84.up = 1000000;
x85.up = 1000000;
x86.up = 1000000;
x87.up = 1000000;
x88.up = 1000000;
x89.up = 1000000;
x90.up = 1000000;
x91.up = 1000000;
x92.up = 1000000;
x93.up = 1000000;
x94.up = 1000000;
x95.up = 1000000;
x96.up = 1000000;
x97.up = 1000000;
x98.up = 1000000;
x99.up = 1000000;
x100.up = 1000000;
x101.up = 1000000;
x102.up = 1000000;
x103.up = 1000000;
x104.up = 1000000;
x105.up = 1000000;
x106.up = 1000000;
x107.up = 1000000;
x108.up = 1000000;
x109.up = 1000000;
x110.up = 1000000;
x111.up = 1000000;
x112.up = 1000000;
x113.up = 1000000;
x114.up = 1000000;
x115.up = 1000000;
x116.up = 1000000;
x117.up = 1000000;
x118.up = 1000000;
Model m / all /;
m.limrow=0; m.limcol=0;
m.tolproj=0.0;
$if NOT '%gams.u1%' == '' $include '%gams.u1%'
$if not set NLP $set NLP NLP
Solve m using %NLP% minimizing objvar;
Last updated: 2025-08-07 Git hash: e62cedfc

