MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance pooling_bental5tp
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ⓘ | -3500.00000300 (ANTIGONE) -3500.00000000 (BARON) -3500.00000000 (COUENNE) -3500.00000000 (GUROBI) -3500.00000000 (LINDO) -3500.00000000 (SCIP) |
| Referencesⓘ | Ben-Tal, Aharon, Eiger, Gideon, and Gershovitz, Vladimir, Global minimization by reducing the duality gap, Mathematical Programming, 63:1, 1994, 193-212. Alfaki, Mohammed and Haugland, Dag, Strong formulations for the pooling problem, Journal of Global Optimization, 56:3, 2013, 897-916. |
| Sourceⓘ | Bental5.gms from Standard Pooling Problem Instances |
| Applicationⓘ | Pooling problem |
| Added to libraryⓘ | 12 Sep 2017 |
| Problem typeⓘ | QCP |
| #Variablesⓘ | 92 |
| #Binary Variablesⓘ | 0 |
| #Integer Variablesⓘ | 0 |
| #Nonlinear Variablesⓘ | 27 |
| #Nonlinear Binary Variablesⓘ | 0 |
| #Nonlinear Integer Variablesⓘ | 0 |
| Objective Senseⓘ | min |
| Objective typeⓘ | linear |
| Objective curvatureⓘ | linear |
| #Nonzeros in Objectiveⓘ | 59 |
| #Nonlinear Nonzeros in Objectiveⓘ | 0 |
| #Constraintsⓘ | 86 |
| #Linear Constraintsⓘ | 26 |
| #Quadratic Constraintsⓘ | 60 |
| #Polynomial Constraintsⓘ | 0 |
| #Signomial Constraintsⓘ | 0 |
| #General Nonlinear Constraintsⓘ | 0 |
| Operands in Gen. Nonlin. Functionsⓘ | |
| Constraints curvatureⓘ | indefinite |
| #Nonzeros in Jacobianⓘ | 502 |
| #Nonlinear Nonzeros in Jacobianⓘ | 120 |
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 120 |
| #Nonzeros in Diagonal of Hessian of Lagrangianⓘ | 0 |
| #Blocks in Hessian of Lagrangianⓘ | 3 |
| 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ⓘ | 1.3000e+01 |
| Infeasibility of initial pointⓘ | 1 |
| Sparsity Jacobianⓘ | ![]() |
| Sparsity Hessian of Lagrangianⓘ | ![]() |
$offlisting
*
* Equation counts
* Total E G L N X C B
* 87 64 0 23 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 93 93 0 0 0 0 0 0
* FX 0
*
* Nonzero counts
* Total const NL DLL
* 562 442 120 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,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;
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,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;
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,e79,e80,e81,e82,e83,e84,e85,e86,e87;
e1.. objvar + 12*x17 + 9*x18 + 13*x19 + 10*x20 + 8*x21 + 12*x22 + 9*x23
+ 13*x24 + 10*x25 + 8*x26 + 12*x27 + 9*x28 + 13*x29 + 10*x30 + 8*x31
+ 2*x32 - x33 + 3*x34 - 2*x36 + 2*x37 - x38 + 3*x39 - 2*x41 + 2*x42 - x43
+ 3*x44 - 2*x46 + 3*x47 + 4*x49 + x50 - x51 + 3*x52 + 4*x54 + x55 - x56
+ 3*x57 + 4*x59 + x60 - x61 + 6*x62 + 3*x63 + 7*x64 + 4*x65 + 2*x66
+ 6*x67 + 3*x68 + 7*x69 + 4*x70 + 2*x71 + 6*x72 + 3*x73 + 7*x74 + 4*x75
+ 2*x76 + 8*x89 + 5*x90 + 9*x91 + 6*x92 + 4*x93 =E= 0;
e2.. x17 + x18 + x19 + x20 + x21 + x22 + x23 + x24 + x25 + x26 + x27 + x28
+ x29 + x30 + x31 =L= 600;
e3.. x32 + x33 + x34 + x35 + x36 + x37 + x38 + x39 + x40 + x41 + x42 + x43
+ x44 + x45 + x46 =L= 600;
e4.. x47 + x48 + x49 + x50 + x51 + x52 + x53 + x54 + x55 + x56 + x57 + x58
+ x59 + x60 + x61 =L= 50;
e5.. x62 + x63 + x64 + x65 + x66 + x67 + x68 + x69 + x70 + x71 + x72 + x73
+ x74 + x75 + x76 =L= 600;
e6.. x89 + x90 + x91 + x92 + x93 =L= 600;
e7.. x17 + x18 + x19 + x20 + x21 + x32 + x33 + x34 + x35 + x36 + x47 + x48
+ x49 + x50 + x51 + x62 + x63 + x64 + x65 + x66 =L= 600;
e8.. x22 + x23 + x24 + x25 + x26 + x37 + x38 + x39 + x40 + x41 + x52 + x53
+ x54 + x55 + x56 + x67 + x68 + x69 + x70 + x71 =L= 600;
e9.. x27 + x28 + x29 + x30 + x31 + x42 + x43 + x44 + x45 + x46 + x57 + x58
+ x59 + x60 + x61 + x72 + x73 + x74 + x75 + x76 =L= 600;
e10.. x17 + x22 + x27 + x32 + x37 + x42 + x47 + x52 + x57 + x62 + x67 + x72
+ x89 =L= 100;
e11.. x18 + x23 + x28 + x33 + x38 + x43 + x48 + x53 + x58 + x63 + x68 + x73
+ x90 =L= 200;
e12.. x19 + x24 + x29 + x34 + x39 + x44 + x49 + x54 + x59 + x64 + x69 + x74
+ x91 =L= 100;
e13.. x20 + x25 + x30 + x35 + x40 + x45 + x50 + x55 + x60 + x65 + x70 + x75
+ x92 =L= 100;
e14.. x21 + x26 + x31 + x36 + x41 + x46 + x51 + x56 + x61 + x66 + x71 + x76
+ x93 =L= 100;
e15.. 0.5*x17 + 0.5*x22 + 0.5*x27 - 1.5*x32 - 1.5*x37 - 1.5*x42 - 1.5*x47
- 1.5*x52 - 1.5*x57 - x62 - x67 - x72 - 0.5*x89 =L= 0;
e16.. - x17 - x22 - x27 + x32 + x37 + x42 + 0.5*x47 + 0.5*x52 + 0.5*x57
+ 0.5*x62 + 0.5*x67 + 0.5*x72 + 0.5*x89 =L= 0;
e17.. 1.5*x18 + 1.5*x23 + 1.5*x28 - 0.5*x33 - 0.5*x38 - 0.5*x43 - 0.5*x48
- 0.5*x53 - 0.5*x58 + 0.5*x90 =L= 0;
e18.. - 1.5*x18 - 1.5*x23 - 1.5*x28 + 0.5*x33 + 0.5*x38 + 0.5*x43 =L= 0;
e19.. x19 + x24 + x29 - x34 - x39 - x44 - x49 - x54 - x59 - 0.5*x64
- 0.5*x69 - 0.5*x74 =L= 0;
e20.. - 1.6*x19 - 1.6*x24 - 1.6*x29 + 0.4*x34 + 0.4*x39 + 0.4*x44 - 0.1*x49
- 0.1*x54 - 0.1*x59 - 0.1*x64 - 0.1*x69 - 0.1*x74 - 0.1*x91 =L= 0;
e21.. x20 + x25 + x30 - x35 - x40 - x45 - x50 - x55 - x60 - 0.5*x65
- 0.5*x70 - 0.5*x75 =L= 0;
e22.. - x20 - x25 - x30 + x35 + x40 + x45 + 0.5*x50 + 0.5*x55 + 0.5*x60
+ 0.5*x65 + 0.5*x70 + 0.5*x75 + 0.5*x92 =L= 0;
e23.. x21 + x26 + x31 - x36 - x41 - x46 - x51 - x56 - x61 - 0.5*x66
- 0.5*x71 - 0.5*x76 =L= 0;
e24.. - x21 - x26 - x31 + x36 + x41 + x46 + 0.5*x51 + 0.5*x56 + 0.5*x61
+ 0.5*x66 + 0.5*x71 + 0.5*x76 + 0.5*x93 =L= 0;
e25.. x2 + x3 + x4 + x5 + x6 =E= 1;
e26.. x7 + x8 + x9 + x10 + x11 =E= 1;
e27.. x12 + x13 + x14 + x15 + x16 =E= 1;
e28.. -x2*x77 + x17 =E= 0;
e29.. -x3*x77 + x18 =E= 0;
e30.. -x4*x77 + x19 =E= 0;
e31.. -x5*x77 + x20 =E= 0;
e32.. -x6*x77 + x21 =E= 0;
e33.. -x7*x78 + x22 =E= 0;
e34.. -x8*x78 + x23 =E= 0;
e35.. -x9*x78 + x24 =E= 0;
e36.. -x10*x78 + x25 =E= 0;
e37.. -x11*x78 + x26 =E= 0;
e38.. -x12*x79 + x27 =E= 0;
e39.. -x13*x79 + x28 =E= 0;
e40.. -x14*x79 + x29 =E= 0;
e41.. -x15*x79 + x30 =E= 0;
e42.. -x16*x79 + x31 =E= 0;
e43.. -x2*x80 + x32 =E= 0;
e44.. -x3*x80 + x33 =E= 0;
e45.. -x4*x80 + x34 =E= 0;
e46.. -x5*x80 + x35 =E= 0;
e47.. -x6*x80 + x36 =E= 0;
e48.. -x7*x81 + x37 =E= 0;
e49.. -x8*x81 + x38 =E= 0;
e50.. -x9*x81 + x39 =E= 0;
e51.. -x10*x81 + x40 =E= 0;
e52.. -x11*x81 + x41 =E= 0;
e53.. -x12*x82 + x42 =E= 0;
e54.. -x13*x82 + x43 =E= 0;
e55.. -x14*x82 + x44 =E= 0;
e56.. -x15*x82 + x45 =E= 0;
e57.. -x16*x82 + x46 =E= 0;
e58.. -x2*x83 + x47 =E= 0;
e59.. -x3*x83 + x48 =E= 0;
e60.. -x4*x83 + x49 =E= 0;
e61.. -x5*x83 + x50 =E= 0;
e62.. -x6*x83 + x51 =E= 0;
e63.. -x7*x84 + x52 =E= 0;
e64.. -x8*x84 + x53 =E= 0;
e65.. -x9*x84 + x54 =E= 0;
e66.. -x10*x84 + x55 =E= 0;
e67.. -x11*x84 + x56 =E= 0;
e68.. -x12*x85 + x57 =E= 0;
e69.. -x13*x85 + x58 =E= 0;
e70.. -x14*x85 + x59 =E= 0;
e71.. -x15*x85 + x60 =E= 0;
e72.. -x16*x85 + x61 =E= 0;
e73.. -x2*x86 + x62 =E= 0;
e74.. -x3*x86 + x63 =E= 0;
e75.. -x4*x86 + x64 =E= 0;
e76.. -x5*x86 + x65 =E= 0;
e77.. -x6*x86 + x66 =E= 0;
e78.. -x7*x87 + x67 =E= 0;
e79.. -x8*x87 + x68 =E= 0;
e80.. -x9*x87 + x69 =E= 0;
e81.. -x10*x87 + x70 =E= 0;
e82.. -x11*x87 + x71 =E= 0;
e83.. -x12*x88 + x72 =E= 0;
e84.. -x13*x88 + x73 =E= 0;
e85.. -x14*x88 + x74 =E= 0;
e86.. -x15*x88 + x75 =E= 0;
e87.. -x16*x88 + x76 =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 = 1;
x11.up = 1;
x12.up = 1;
x13.up = 1;
x14.up = 1;
x15.up = 1;
x16.up = 1;
x17.up = 100;
x18.up = 200;
x19.up = 100;
x20.up = 100;
x21.up = 100;
x22.up = 100;
x23.up = 200;
x24.up = 100;
x25.up = 100;
x26.up = 100;
x27.up = 100;
x28.up = 200;
x29.up = 100;
x30.up = 100;
x31.up = 100;
x32.up = 100;
x33.up = 200;
x34.up = 100;
x35.up = 100;
x36.up = 100;
x37.up = 100;
x38.up = 200;
x39.up = 100;
x40.up = 100;
x41.up = 100;
x42.up = 100;
x43.up = 200;
x44.up = 100;
x45.up = 100;
x46.up = 100;
x47.up = 50;
x48.up = 50;
x49.up = 50;
x50.up = 50;
x51.up = 50;
x52.up = 50;
x53.up = 50;
x54.up = 50;
x55.up = 50;
x56.up = 50;
x57.up = 50;
x58.up = 50;
x59.up = 50;
x60.up = 50;
x61.up = 50;
x62.up = 100;
x63.up = 200;
x64.up = 100;
x65.up = 100;
x66.up = 100;
x67.up = 100;
x68.up = 200;
x69.up = 100;
x70.up = 100;
x71.up = 100;
x72.up = 100;
x73.up = 200;
x74.up = 100;
x75.up = 100;
x76.up = 100;
x77.up = 600;
x78.up = 600;
x79.up = 600;
x80.up = 600;
x81.up = 600;
x82.up = 600;
x83.up = 50;
x84.up = 50;
x85.up = 50;
x86.up = 600;
x87.up = 600;
x88.up = 600;
x89.up = 100;
x90.up = 200;
x91.up = 100;
x92.up = 100;
x93.up = 100;
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

