MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance pooling_foulds2tp
TP 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ⓘ | -1100.00000100 (ANTIGONE) -1100.00000000 (BARON) -1100.00000000 (COUENNE) -1100.00000000 (GUROBI) -1100.00000000 (LINDO) -1100.00000000 (SCIP) |
| Referencesⓘ | Foulds, L. R., Haugland, D., and Jörnsten, K., A bilinear approach to the pooling problem, Optimization, 24:1-2, 1992, 165-180. Alfaki, Mohammed and Haugland, Dag, Strong formulations for the pooling problem, Journal of Global Optimization, 56:3, 2013, 897-916. |
| Sourceⓘ | Foulds2.gms from Standard Pooling Problem Instances |
| Applicationⓘ | Pooling problem |
| Added to libraryⓘ | 12 Sep 2017 |
| Problem typeⓘ | QCP |
| #Variablesⓘ | 36 |
| #Binary Variablesⓘ | 0 |
| #Integer Variablesⓘ | 0 |
| #Nonlinear Variablesⓘ | 12 |
| #Nonlinear Binary Variablesⓘ | 0 |
| #Nonlinear Integer Variablesⓘ | 0 |
| Objective Senseⓘ | min |
| Objective typeⓘ | linear |
| Objective curvatureⓘ | linear |
| #Nonzeros in Objectiveⓘ | 23 |
| #Nonlinear Nonzeros in Objectiveⓘ | 0 |
| #Constraintsⓘ | 34 |
| #Linear Constraintsⓘ | 18 |
| #Quadratic Constraintsⓘ | 16 |
| #Polynomial Constraintsⓘ | 0 |
| #Signomial Constraintsⓘ | 0 |
| #General Nonlinear Constraintsⓘ | 0 |
| Operands in Gen. Nonlin. Functionsⓘ | |
| Constraints curvatureⓘ | indefinite |
| #Nonzeros in Jacobianⓘ | 140 |
| #Nonlinear Nonzeros in Jacobianⓘ | 32 |
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 32 |
| #Nonzeros in Diagonal of Hessian of Lagrangianⓘ | 0 |
| #Blocks in Hessian of Lagrangianⓘ | 2 |
| Minimal blocksize in Hessian of Lagrangianⓘ | 6 |
| Maximal blocksize in Hessian of Lagrangianⓘ | 6 |
| Average blocksize in Hessian of Lagrangianⓘ | 6.0 |
| #Semicontinuitiesⓘ | 0 |
| #Nonlinear Semicontinuitiesⓘ | 0 |
| #SOS type 1ⓘ | 0 |
| #SOS type 2ⓘ | 0 |
| Minimal coefficientⓘ | 5.0000e-01 |
| Maximal coefficientⓘ | 1.2000e+01 |
| Infeasibility of initial pointⓘ | 1 |
| Sparsity Jacobianⓘ | ![]() |
| Sparsity Hessian of Lagrangianⓘ | ![]() |
$offlisting
*
* Equation counts
* Total E G L N X C B
* 35 19 0 16 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 37 37 0 0 0 0 0 0
* FX 0
*
* Nonzero counts
* Total const NL DLL
* 164 132 32 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;
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;
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;
e1.. objvar + 3*x10 + 9*x11 + 6*x13 - 7*x14 - x15 - 10*x16 - 4*x17 + 6*x18
+ 12*x19 + 3*x20 + 9*x21 - 4*x22 + 2*x23 - 7*x24 - x25 - x28 + 5*x29
- 4*x30 + 2*x31 + 2*x34 + 8*x35 - x36 + 5*x37 =E= 0;
e2.. x10 + x11 + x12 + x13 =L= 600;
e3.. x14 + x15 + x16 + x17 =L= 600;
e4.. x28 + x29 + x30 + x31 =L= 600;
e5.. x18 + x19 + x20 + x21 =L= 600;
e6.. x22 + x23 + x24 + x25 =L= 600;
e7.. x34 + x35 + x36 + x37 =L= 600;
e8.. x10 + x11 + x12 + x13 + x14 + x15 + x16 + x17 =L= 600;
e9.. x18 + x19 + x20 + x21 + x22 + x23 + x24 + x25 =L= 600;
e10.. x10 + x14 + x18 + x22 + x28 + x34 =L= 100;
e11.. x11 + x15 + x19 + x23 + x29 + x35 =L= 200;
e12.. x12 + x16 + x20 + x24 + x30 + x36 =L= 100;
e13.. x13 + x17 + x21 + x25 + x31 + x37 =L= 200;
e14.. 0.5*x10 - 1.5*x14 + x18 - x22 - 0.5*x28 =L= 0;
e15.. 1.5*x11 - 0.5*x15 + 2*x19 + 0.5*x29 + x35 =L= 0;
e16.. - 2*x16 + 0.5*x20 - 1.5*x24 - x30 - 0.5*x36 =L= 0;
e17.. x13 - x17 + 1.5*x21 - 0.5*x25 + 0.5*x37 =L= 0;
e18.. x2 + x3 + x4 + x5 =E= 1;
e19.. x6 + x7 + x8 + x9 =E= 1;
e20.. -x2*x26 + x10 =E= 0;
e21.. -x3*x26 + x11 =E= 0;
e22.. -x4*x26 + x12 =E= 0;
e23.. -x5*x26 + x13 =E= 0;
e24.. -x2*x27 + x14 =E= 0;
e25.. -x3*x27 + x15 =E= 0;
e26.. -x4*x27 + x16 =E= 0;
e27.. -x5*x27 + x17 =E= 0;
e28.. -x6*x32 + x18 =E= 0;
e29.. -x7*x32 + x19 =E= 0;
e30.. -x8*x32 + x20 =E= 0;
e31.. -x9*x32 + x21 =E= 0;
e32.. -x6*x33 + x22 =E= 0;
e33.. -x7*x33 + x23 =E= 0;
e34.. -x8*x33 + x24 =E= 0;
e35.. -x9*x33 + x25 =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 = 100;
x11.up = 200;
x12.up = 100;
x13.up = 200;
x14.up = 100;
x15.up = 200;
x16.up = 100;
x17.up = 200;
x18.up = 100;
x19.up = 200;
x20.up = 100;
x21.up = 200;
x22.up = 100;
x23.up = 200;
x24.up = 100;
x25.up = 200;
x26.up = 600;
x27.up = 600;
x28.up = 100;
x29.up = 200;
x30.up = 100;
x31.up = 200;
x32.up = 600;
x33.up = 600;
x34.up = 100;
x35.up = 200;
x36.up = 100;
x37.up = 200;
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

