MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance pooling_rt2pq
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ⓘ | -4391.82593000 (ANTIGONE) -4391.82590200 (BARON) -4391.82681600 (COUENNE) -4391.82595600 (GUROBI) -4391.82589300 (LINDO) -4391.82600300 (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 + 180.8*x8 + 128*x9 + 88*x10 - 110*x11 + 140.8*x18 + 180.8*x19
+ 100.8*x20 + 140.8*x21 + 180.8*x22 + 100.8*x23 + 128*x24 + 168*x25
+ 88*x26 + 128*x27 + 168*x28 + 88*x29 - 110*x30 - 70*x31 - 150*x32
- 110*x33 - 70*x34 - 150*x35 =E= 0;
e2.. x8 + x18 + x19 + x20 + x21 + x22 + x23 =L= 60.98;
e3.. x9 + x10 + x24 + x25 + x26 + x27 + x28 + x29 =L= 161.29;
e4.. x11 + x30 + x31 + x32 + x33 + x34 + x35 =L= 5;
e5.. x18 + x19 + x20 + x24 + x25 + x26 + x30 + x31 + x32 =L= 12.5;
e6.. x21 + x22 + x23 + x27 + x28 + x29 + x33 + x34 + x35 =L= 17.5;
e7.. x9 + x11 + x18 + x21 + x24 + x27 + x30 + x33 =G= 5;
e8.. x8 + x19 + x22 + x25 + x28 + x31 + x34 =G= 5;
e9.. x10 + x20 + x23 + x26 + x29 + x32 + x35 =G= 5;
e10.. x9 + x11 + x18 + x21 + x24 + x27 + x30 + x33 =L= 300;
e11.. x8 + x19 + x22 + x25 + x28 + x31 + x34 =L= 300;
e12.. x10 + x20 + x23 + x26 + x29 + x32 + x35 =L= 300;
e13.. - 0.17*x9 - 0.04*x11 + 0.0299999999999999*x18 + 0.0299999999999999*x21
- 0.17*x24 - 0.17*x27 - 0.04*x30 - 0.04*x33 =L= 0;
e14.. - 3*x9 - 3*x11 - 3*x24 - 3*x27 - 3*x30 - 3*x33 =L= 0;
e15.. - 26.1*x9 - 14.8*x18 - 14.8*x21 - 26.1*x24 - 26.1*x27 =L= 0;
e16.. - 15.2*x9 - 8.2*x18 - 8.2*x21 - 15.2*x24 - 15.2*x27 =L= 0;
e17.. 0.12*x9 - 0.01*x11 - 0.08*x18 - 0.08*x21 + 0.12*x24 + 0.12*x27
- 0.01*x30 - 0.01*x33 =L= 0;
e18.. 7.09999999999999*x9 - 19*x11 - 4.2*x18 - 4.2*x21
+ 7.09999999999999*x24 + 7.09999999999999*x27 - 19*x30 - 19*x33 =L= 0;
e19.. 1.5*x9 - 13.7*x11 - 5.5*x18 - 5.5*x21 + 1.5*x24 + 1.5*x27 - 13.7*x30
- 13.7*x33 =L= 0;
e20.. 0.0299999999999999*x8 + 0.0299999999999999*x19
+ 0.0299999999999999*x22 - 0.17*x25 - 0.17*x28 - 0.04*x31 - 0.04*x34
=L= 0;
e21.. 2.1*x8 + 2.1*x19 + 2.1*x22 - 0.9*x25 - 0.9*x28 - 0.9*x31 - 0.9*x34
=L= 0;
e22.. - 14.8*x8 - 14.8*x19 - 14.8*x22 - 26.1*x25 - 26.1*x28 =L= 0;
e23.. - 8.2*x8 - 8.2*x19 - 8.2*x22 - 15.2*x25 - 15.2*x28 =L= 0;
e24.. - 0.08*x8 - 0.08*x19 - 0.08*x22 + 0.12*x25 + 0.12*x28 - 0.01*x31
- 0.01*x34 =L= 0;
e25.. - 3.2*x8 - 3.2*x19 - 3.2*x22 + 8.09999999999999*x25
+ 8.09999999999999*x28 - 18*x31 - 18*x34 =L= 0;
e26.. - 2.5*x8 - 2.5*x19 - 2.5*x22 + 4.5*x25 + 4.5*x28 - 10.7*x31 - 10.7*x34
=L= 0;
e27.. - 0.17*x10 + 0.0299999999999999*x20 + 0.0299999999999999*x23 - 0.17*x26
- 0.17*x29 - 0.04*x32 - 0.04*x35 =L= 0;
e28.. - 3*x10 - 3*x26 - 3*x29 - 3*x32 - 3*x35 =L= 0;
e29.. - 26.1*x10 - 14.8*x20 - 14.8*x23 - 26.1*x26 - 26.1*x29 =L= 0;
e30.. - 15.2*x10 - 8.2*x20 - 8.2*x23 - 15.2*x26 - 15.2*x29 =L= 0;
e31.. 0.12*x10 - 0.08*x20 - 0.08*x23 + 0.12*x26 + 0.12*x29 - 0.01*x32
- 0.01*x35 =L= 0;
e32.. 3.09999999999999*x10 - 8.2*x20 - 8.2*x23 + 3.09999999999999*x26
+ 3.09999999999999*x29 - 23*x32 - 23*x35 =L= 0;
e33.. - 7*x20 - 7*x23 - 15.2*x32 - 15.2*x35 =L= 0;
e34.. x2 + x4 + x6 =E= 1;
e35.. x3 + x5 + x7 =E= 1;
e36.. -x2*x12 + x18 =E= 0;
e37.. -x2*x13 + x19 =E= 0;
e38.. -x2*x14 + x20 =E= 0;
e39.. -x3*x15 + x21 =E= 0;
e40.. -x3*x16 + x22 =E= 0;
e41.. -x3*x17 + x23 =E= 0;
e42.. -x4*x12 + x24 =E= 0;
e43.. -x4*x13 + x25 =E= 0;
e44.. -x4*x14 + x26 =E= 0;
e45.. -x5*x15 + x27 =E= 0;
e46.. -x5*x16 + x28 =E= 0;
e47.. -x5*x17 + x29 =E= 0;
e48.. -x6*x12 + x30 =E= 0;
e49.. -x6*x13 + x31 =E= 0;
e50.. -x6*x14 + x32 =E= 0;
e51.. -x7*x15 + x33 =E= 0;
e52.. -x7*x16 + x34 =E= 0;
e53.. -x7*x17 + x35 =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 = 60.98;
x9.up = 161.29;
x10.up = 161.29;
x11.up = 5;
x12.up = 12.5;
x13.up = 12.5;
x14.up = 12.5;
x15.up = 17.5;
x16.up = 17.5;
x17.up = 17.5;
x18.up = 12.5;
x19.up = 12.5;
x20.up = 12.5;
x21.up = 17.5;
x22.up = 17.5;
x23.up = 17.5;
x24.up = 12.5;
x25.up = 12.5;
x26.up = 12.5;
x27.up = 17.5;
x28.up = 17.5;
x29.up = 17.5;
x30.up = 5;
x31.up = 5;
x32.up = 5;
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

