MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance pooling_adhya4pq
PQ formulation of pooling problem. Explicitly added RLT constraints were removed from the original formulation of Alfaki and Haugland.
| Formatsⓘ | ams gms lp mod nl osil pip py |
| Primal Bounds (infeas ≤ 1e-08)ⓘ | |
| Other points (infeas > 1e-08)ⓘ | |
| Dual Boundsⓘ | -877.64574100 (ANTIGONE) -877.64574090 (BARON) -877.64574010 (COUENNE) -877.64574280 (GUROBI) -877.64573990 (LINDO) -877.64574320 (SCIP) |
| Referencesⓘ | Adhya, Nilanjan, Tawarmalani, Mohit, and Sahinidis, Nikolaos V., A Lagrangian Approach to the Pooling Problem, Industrial & Engineering Chemistry Research, 38:5, 1999, 1956-1972. Alfaki, Mohammed and Haugland, Dag, Strong formulations for the pooling problem, Journal of Global Optimization, 56:3, 2013, 897-916. |
| Sourceⓘ | Adhya4.gms from Standard Pooling Problem Instances |
| Applicationⓘ | Pooling problem |
| Added to libraryⓘ | 12 Sep 2017 |
| Problem typeⓘ | QCP |
| #Variablesⓘ | 58 |
| #Binary Variablesⓘ | 0 |
| #Integer Variablesⓘ | 0 |
| #Nonlinear Variablesⓘ | 18 |
| #Nonlinear Binary Variablesⓘ | 0 |
| #Nonlinear Integer Variablesⓘ | 0 |
| Objective Senseⓘ | min |
| Objective typeⓘ | linear |
| Objective curvatureⓘ | linear |
| #Nonzeros in Objectiveⓘ | 39 |
| #Nonlinear Nonzeros in Objectiveⓘ | 0 |
| #Constraintsⓘ | 77 |
| #Linear Constraintsⓘ | 37 |
| #Quadratic Constraintsⓘ | 40 |
| #Polynomial Constraintsⓘ | 0 |
| #Signomial Constraintsⓘ | 0 |
| #General Nonlinear Constraintsⓘ | 0 |
| Operands in Gen. Nonlin. Functionsⓘ | |
| Constraints curvatureⓘ | indefinite |
| #Nonzeros in Jacobianⓘ | 391 |
| #Nonlinear Nonzeros in Jacobianⓘ | 80 |
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 80 |
| #Nonzeros in Diagonal of Hessian of Lagrangianⓘ | 0 |
| #Blocks in Hessian of Lagrangianⓘ | 2 |
| Minimal blocksize in Hessian of Lagrangianⓘ | 9 |
| Maximal blocksize in Hessian of Lagrangianⓘ | 9 |
| Average blocksize in Hessian of Lagrangianⓘ | 9.0 |
| #Semicontinuitiesⓘ | 0 |
| #Nonlinear Semicontinuitiesⓘ | 0 |
| #SOS type 1ⓘ | 0 |
| #SOS type 2ⓘ | 0 |
| Minimal coefficientⓘ | 1.0000e-01 |
| Maximal coefficientⓘ | 2.7000e+01 |
| Infeasibility of initial pointⓘ | 1 |
| Sparsity Jacobianⓘ | ![]() |
| Sparsity Hessian of Lagrangianⓘ | ![]() |
$offlisting
*
* Equation counts
* Total E G L N X C B
* 78 43 0 35 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 59 59 0 0 0 0 0 0
* FX 0
*
* Nonzero counts
* Total const NL DLL
* 431 351 80 0
*
* Solve m using NLP minimizing 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;
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;
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;
e1.. objvar - 5*x20 + 10*x21 + 15*x22 - 9*x23 - 5*x24 + 3*x25 + 18*x26
+ 23*x27 - x28 + 3*x29 + 6*x30 + 21*x31 + 26*x32 + 2*x33 + 6*x34 + 5*x35
+ 20*x36 + 25*x37 + x38 + 5*x39 + 4*x40 + 19*x41 + 24*x42 + 4*x44 + 7*x45
+ 22*x46 + 27*x47 + 3*x48 + 7*x49 + 5*x50 + 20*x51 + 25*x52 + x53 + 5*x54
+ 5*x55 + 20*x56 + 25*x57 + x58 + 5*x59 =E= 0;
e2.. x20 + x21 + x22 + x23 + x24 =L= 85;
e3.. x25 + x26 + x27 + x28 + x29 =L= 85;
e4.. x30 + x31 + x32 + x33 + x34 =L= 85;
e5.. x35 + x36 + x37 + x38 + x39 =L= 85;
e6.. x40 + x41 + x42 + x43 + x44 =L= 85;
e7.. x45 + x46 + x47 + x48 + x49 =L= 85;
e8.. x50 + x51 + x52 + x53 + x54 =L= 85;
e9.. x55 + x56 + x57 + x58 + x59 =L= 85;
e10.. x20 + x21 + x22 + x23 + x24 + x25 + x26 + x27 + x28 + x29 + x30 + x31
+ x32 + x33 + x34 + x35 + x36 + x37 + x38 + x39 =L= 85;
e11.. x40 + x41 + x42 + x43 + x44 + x45 + x46 + x47 + x48 + x49 + x50 + x51
+ x52 + x53 + x54 + x55 + x56 + x57 + x58 + x59 =L= 85;
e12.. x20 + x25 + x30 + x35 + x40 + x45 + x50 + x55 =L= 15;
e13.. x21 + x26 + x31 + x36 + x41 + x46 + x51 + x56 =L= 25;
e14.. x22 + x27 + x32 + x37 + x42 + x47 + x52 + x57 =L= 10;
e15.. x23 + x28 + x33 + x38 + x43 + x48 + x53 + x58 =L= 20;
e16.. x24 + x29 + x34 + x39 + x44 + x49 + x54 + x59 =L= 15;
e17.. - 0.7*x20 + 0.2*x25 + 0.3*x35 + 0.4*x40 + 0.3*x50 + 0.2*x55 =L= 0;
e18.. 0.2*x20 + 0.1*x25 + 0.2*x30 - 0.5*x35 + 0.1*x40 - 0.6*x45 - 0.2*x50
- 0.0999999999999999*x55 =L= 0;
e19.. - 0.0999999999999999*x20 + 0.3*x25 + 0.3*x35 + 0.2*x40 + 0.1*x50
- 0.2*x55 =L= 0;
e20.. - 0.7*x20 - 0.0999999999999999*x25 - 0.3*x30 - 0.4*x35 + 0.3*x40
+ 0.3*x45 - 0.2*x50 - 0.0999999999999999*x55 =L= 0;
e21.. - 0.9*x21 - 0.2*x31 + 0.1*x36 + 0.2*x41 - 0.2*x46 + 0.1*x51 =L= 0;
e22.. 0.6*x21 + 0.5*x26 + 0.6*x31 - 0.1*x36 + 0.5*x41 - 0.2*x46 + 0.2*x51
+ 0.3*x56 =L= 0;
e23.. - 0.5*x21 - 0.1*x26 - 0.4*x31 - 0.1*x36 - 0.2*x41 - 0.4*x46 - 0.3*x51
- 0.6*x56 =L= 0;
e24.. - 0.4*x21 + 0.2*x26 - 0.0999999999999999*x36 + 0.6*x41 + 0.6*x46
+ 0.1*x51 + 0.2*x56 =L= 0;
e25.. - 0.8*x22 + 0.0999999999999999*x27 - 0.1*x32 + 0.2*x37 + 0.3*x42
- 0.1*x47 + 0.2*x52 + 0.0999999999999999*x57 =L= 0;
e26.. 0.6*x22 + 0.5*x27 + 0.6*x32 - 0.1*x37 + 0.5*x42 - 0.2*x47 + 0.2*x52
+ 0.3*x57 =L= 0;
e27.. - 0.6*x22 - 0.2*x27 - 0.5*x32 - 0.2*x37 - 0.3*x42 - 0.5*x47 - 0.4*x52
- 0.7*x57 =L= 0;
e28.. - 0.9*x22 - 0.3*x27 - 0.5*x32 - 0.6*x37 + 0.1*x42 + 0.1*x47 - 0.4*x52
- 0.3*x57 =L= 0;
e29.. - 0.7*x23 + 0.2*x28 + 0.3*x38 + 0.4*x43 + 0.3*x53 + 0.2*x58 =L= 0;
e30.. 0.8*x23 + 0.7*x28 + 0.8*x33 + 0.0999999999999999*x38 + 0.7*x43
+ 0.4*x53 + 0.5*x58 =L= 0;
e31.. - 0.4*x23 - 0.3*x33 - 0.0999999999999999*x43 - 0.3*x48 - 0.2*x53
- 0.5*x58 =L= 0;
e32.. - 0.6*x23 - 0.2*x33 - 0.3*x38 + 0.4*x43 + 0.4*x48 - 0.1*x53 =L= 0;
e33.. - 1.1*x24 - 0.2*x29 - 0.4*x34 - 0.1*x39 - 0.4*x49 - 0.1*x54 - 0.2*x59
=L= 0;
e34.. - 0.0999999999999999*x29 - 0.7*x39 - 0.0999999999999999*x44 - 0.8*x49
- 0.4*x54 - 0.3*x59 =L= 0;
e35.. - 0.7*x24 - 0.3*x29 - 0.6*x34 - 0.3*x39 - 0.4*x44 - 0.6*x49 - 0.5*x54
- 0.8*x59 =L= 0;
e36.. - 1.5*x24 - 0.9*x29 - 1.1*x34 - 1.2*x39 - 0.5*x44 - 0.5*x49 - x54
- 0.9*x59 =L= 0;
e37.. x2 + x3 + x4 + x5 =E= 1;
e38.. x6 + x7 + x8 + x9 =E= 1;
e39.. -x2*x10 + x20 =E= 0;
e40.. -x2*x11 + x21 =E= 0;
e41.. -x2*x12 + x22 =E= 0;
e42.. -x2*x13 + x23 =E= 0;
e43.. -x2*x14 + x24 =E= 0;
e44.. -x3*x10 + x25 =E= 0;
e45.. -x3*x11 + x26 =E= 0;
e46.. -x3*x12 + x27 =E= 0;
e47.. -x3*x13 + x28 =E= 0;
e48.. -x3*x14 + x29 =E= 0;
e49.. -x4*x10 + x30 =E= 0;
e50.. -x4*x11 + x31 =E= 0;
e51.. -x4*x12 + x32 =E= 0;
e52.. -x4*x13 + x33 =E= 0;
e53.. -x4*x14 + x34 =E= 0;
e54.. -x5*x10 + x35 =E= 0;
e55.. -x5*x11 + x36 =E= 0;
e56.. -x5*x12 + x37 =E= 0;
e57.. -x5*x13 + x38 =E= 0;
e58.. -x5*x14 + x39 =E= 0;
e59.. -x6*x15 + x40 =E= 0;
e60.. -x6*x16 + x41 =E= 0;
e61.. -x6*x17 + x42 =E= 0;
e62.. -x6*x18 + x43 =E= 0;
e63.. -x6*x19 + x44 =E= 0;
e64.. -x7*x15 + x45 =E= 0;
e65.. -x7*x16 + x46 =E= 0;
e66.. -x7*x17 + x47 =E= 0;
e67.. -x7*x18 + x48 =E= 0;
e68.. -x7*x19 + x49 =E= 0;
e69.. -x8*x15 + x50 =E= 0;
e70.. -x8*x16 + x51 =E= 0;
e71.. -x8*x17 + x52 =E= 0;
e72.. -x8*x18 + x53 =E= 0;
e73.. -x8*x19 + x54 =E= 0;
e74.. -x9*x15 + x55 =E= 0;
e75.. -x9*x16 + x56 =E= 0;
e76.. -x9*x17 + x57 =E= 0;
e77.. -x9*x18 + x58 =E= 0;
e78.. -x9*x19 + x59 =E= 0;
* set non-default bounds
x2.up = 1;
x3.up = 1;
x4.up = 1;
x5.up = 1;
x6.up = 1;
x7.up = 1;
x8.up = 1;
x9.up = 1;
x10.up = 15;
x11.up = 25;
x12.up = 10;
x13.up = 20;
x14.up = 15;
x15.up = 15;
x16.up = 25;
x17.up = 10;
x18.up = 20;
x19.up = 15;
x20.up = 15;
x21.up = 25;
x22.up = 10;
x23.up = 20;
x24.up = 15;
x25.up = 15;
x26.up = 25;
x27.up = 10;
x28.up = 20;
x29.up = 15;
x30.up = 15;
x31.up = 25;
x32.up = 10;
x33.up = 20;
x34.up = 15;
x35.up = 15;
x36.up = 25;
x37.up = 10;
x38.up = 20;
x39.up = 15;
x40.up = 15;
x41.up = 25;
x42.up = 10;
x43.up = 20;
x44.up = 15;
x45.up = 15;
x46.up = 25;
x47.up = 10;
x48.up = 20;
x49.up = 15;
x50.up = 15;
x51.up = 25;
x52.up = 10;
x53.up = 20;
x54.up = 15;
x55.up = 15;
x56.up = 25;
x57.up = 10;
x58.up = 20;
x59.up = 15;
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

