MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance pooling_rt2tp
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ⓘ | -4391.82589700 (ANTIGONE) -4391.82589800 (BARON) -4391.82787000 (COUENNE) -4391.82593200 (GUROBI) -4391.82589300 (LINDO) -4391.82606100 (SCIP) |
| Referencesⓘ | Audet, Charles, Hansen, Pierre, Jaumard, Brigitte, and Savard, Gilles, A branch and cut algorithm for nonconvex quadratically constrained quadratic programming, Mathematical Programming, 87:1, 2000, 131-152. Alfaki, Mohammed and Haugland, Dag, Strong formulations for the pooling problem, Journal of Global Optimization, 56:3, 2013, 897-916. |
| Sourceⓘ | RT2.gms from Standard Pooling Problem Instances |
| Applicationⓘ | Pooling problem |
| Added to libraryⓘ | 12 Sep 2017 |
| Problem typeⓘ | QCP |
| #Variablesⓘ | 34 |
| #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ⓘ | 22 |
| #Nonlinear Nonzeros in Objectiveⓘ | 0 |
| #Constraintsⓘ | 52 |
| #Linear Constraintsⓘ | 34 |
| #Quadratic Constraintsⓘ | 18 |
| #Polynomial Constraintsⓘ | 0 |
| #Signomial Constraintsⓘ | 0 |
| #General Nonlinear Constraintsⓘ | 0 |
| Operands in Gen. Nonlin. Functionsⓘ | |
| Constraints curvatureⓘ | indefinite |
| #Nonzeros in Jacobianⓘ | 277 |
| #Nonlinear Nonzeros in Jacobianⓘ | 36 |
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 36 |
| #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ⓘ | 1.0000e-02 |
| Maximal coefficientⓘ | 1.8080e+02 |
| Infeasibility of initial pointⓘ | 5 |
| Sparsity Jacobianⓘ | ![]() |
| Sparsity Hessian of Lagrangianⓘ | ![]() |
$offlisting
*
* Equation counts
* Total E G L N X C B
* 53 21 3 29 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 35 35 0 0 0 0 0 0
* FX 0
*
* Nonzero counts
* Total const NL DLL
* 300 264 36 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;
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;
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;
e1.. objvar + 140.8*x8 + 180.8*x9 + 100.8*x10 + 140.8*x11 + 180.8*x12
+ 100.8*x13 + 128*x14 + 168*x15 + 88*x16 + 128*x17 + 168*x18 + 88*x19
- 110*x20 - 70*x21 - 150*x22 - 110*x23 - 70*x24 - 150*x25 + 180.8*x28
+ 128*x31 + 88*x32 - 110*x35 =E= 0;
e2.. x8 + x9 + x10 + x11 + x12 + x13 + x28 =L= 60.98;
e3.. x14 + x15 + x16 + x17 + x18 + x19 + x31 + x32 =L= 161.29;
e4.. x20 + x21 + x22 + x23 + x24 + x25 + x35 =L= 5;
e5.. x8 + x9 + x10 + x14 + x15 + x16 + x20 + x21 + x22 =L= 12.5;
e6.. x11 + x12 + x13 + x17 + x18 + x19 + x23 + x24 + x25 =L= 17.5;
e7.. x8 + x11 + x14 + x17 + x20 + x23 + x31 + x35 =G= 5;
e8.. x9 + x12 + x15 + x18 + x21 + x24 + x28 =G= 5;
e9.. x10 + x13 + x16 + x19 + x22 + x25 + x32 =G= 5;
e10.. x8 + x11 + x14 + x17 + x20 + x23 + x31 + x35 =L= 300;
e11.. x9 + x12 + x15 + x18 + x21 + x24 + x28 =L= 300;
e12.. x10 + x13 + x16 + x19 + x22 + x25 + x32 =L= 300;
e13.. 0.0299999999999999*x8 + 0.0299999999999999*x11 - 0.17*x14 - 0.17*x17
- 0.04*x20 - 0.04*x23 - 0.17*x31 - 0.04*x35 =L= 0;
e14.. - 3*x14 - 3*x17 - 3*x20 - 3*x23 - 3*x31 - 3*x35 =L= 0;
e15.. - 14.8*x8 - 14.8*x11 - 26.1*x14 - 26.1*x17 - 26.1*x31 =L= 0;
e16.. - 8.2*x8 - 8.2*x11 - 15.2*x14 - 15.2*x17 - 15.2*x31 =L= 0;
e17.. - 0.08*x8 - 0.08*x11 + 0.12*x14 + 0.12*x17 - 0.01*x20 - 0.01*x23
+ 0.12*x31 - 0.01*x35 =L= 0;
e18.. - 4.2*x8 - 4.2*x11 + 7.09999999999999*x14 + 7.09999999999999*x17
- 19*x20 - 19*x23 + 7.09999999999999*x31 - 19*x35 =L= 0;
e19.. - 5.5*x8 - 5.5*x11 + 1.5*x14 + 1.5*x17 - 13.7*x20 - 13.7*x23 + 1.5*x31
- 13.7*x35 =L= 0;
e20.. 0.0299999999999999*x9 + 0.0299999999999999*x12 - 0.17*x15 - 0.17*x18
- 0.04*x21 - 0.04*x24 + 0.0299999999999999*x28 =L= 0;
e21.. 2.1*x9 + 2.1*x12 - 0.9*x15 - 0.9*x18 - 0.9*x21 - 0.9*x24 + 2.1*x28
=L= 0;
e22.. - 14.8*x9 - 14.8*x12 - 26.1*x15 - 26.1*x18 - 14.8*x28 =L= 0;
e23.. - 8.2*x9 - 8.2*x12 - 15.2*x15 - 15.2*x18 - 8.2*x28 =L= 0;
e24.. - 0.08*x9 - 0.08*x12 + 0.12*x15 + 0.12*x18 - 0.01*x21 - 0.01*x24
- 0.08*x28 =L= 0;
e25.. - 3.2*x9 - 3.2*x12 + 8.09999999999999*x15 + 8.09999999999999*x18
- 18*x21 - 18*x24 - 3.2*x28 =L= 0;
e26.. - 2.5*x9 - 2.5*x12 + 4.5*x15 + 4.5*x18 - 10.7*x21 - 10.7*x24 - 2.5*x28
=L= 0;
e27.. 0.0299999999999999*x10 + 0.0299999999999999*x13 - 0.17*x16 - 0.17*x19
- 0.04*x22 - 0.04*x25 - 0.17*x32 =L= 0;
e28.. - 3*x16 - 3*x19 - 3*x22 - 3*x25 - 3*x32 =L= 0;
e29.. - 14.8*x10 - 14.8*x13 - 26.1*x16 - 26.1*x19 - 26.1*x32 =L= 0;
e30.. - 8.2*x10 - 8.2*x13 - 15.2*x16 - 15.2*x19 - 15.2*x32 =L= 0;
e31.. - 0.08*x10 - 0.08*x13 + 0.12*x16 + 0.12*x19 - 0.01*x22 - 0.01*x25
+ 0.12*x32 =L= 0;
e32.. - 8.2*x10 - 8.2*x13 + 3.09999999999999*x16 + 3.09999999999999*x19
- 23*x22 - 23*x25 + 3.09999999999999*x32 =L= 0;
e33.. - 7*x10 - 7*x13 - 15.2*x22 - 15.2*x25 =L= 0;
e34.. x2 + x3 + x4 =E= 1;
e35.. x5 + x6 + x7 =E= 1;
e36.. -x2*x26 + x8 =E= 0;
e37.. -x3*x26 + x9 =E= 0;
e38.. -x4*x26 + x10 =E= 0;
e39.. -x5*x27 + x11 =E= 0;
e40.. -x6*x27 + x12 =E= 0;
e41.. -x7*x27 + x13 =E= 0;
e42.. -x2*x29 + x14 =E= 0;
e43.. -x3*x29 + x15 =E= 0;
e44.. -x4*x29 + x16 =E= 0;
e45.. -x5*x30 + x17 =E= 0;
e46.. -x6*x30 + x18 =E= 0;
e47.. -x7*x30 + x19 =E= 0;
e48.. -x2*x33 + x20 =E= 0;
e49.. -x3*x33 + x21 =E= 0;
e50.. -x4*x33 + x22 =E= 0;
e51.. -x5*x34 + x23 =E= 0;
e52.. -x6*x34 + x24 =E= 0;
e53.. -x7*x34 + 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 = 12.5;
x9.up = 12.5;
x10.up = 12.5;
x11.up = 17.5;
x12.up = 17.5;
x13.up = 17.5;
x14.up = 12.5;
x15.up = 12.5;
x16.up = 12.5;
x17.up = 17.5;
x18.up = 17.5;
x19.up = 17.5;
x20.up = 5;
x21.up = 5;
x22.up = 5;
x23.up = 5;
x24.up = 5;
x25.up = 5;
x26.up = 12.5;
x27.up = 17.5;
x28.up = 60.98;
x29.up = 12.5;
x30.up = 17.5;
x31.up = 161.29;
x32.up = 161.29;
x33.up = 5;
x34.up = 5;
x35.up = 5;
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

