MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

Home // Instances // Documentation // Download // Statistics


Instance: pooling_bental5stp

STP 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
Primal Bounds (infeas ≤ 1e-08)
-3500.00000000 p1 ( gdx sol )
(infeas: 3e-14)
Other points (infeas > 1e-08)  
Dual Bounds
-3500.00000300 (ANTIGONE)
-3500.00000000 (BARON)
-3500.00000000 (COUENNE)
-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 119
#Binary Variables 0
#Integer Variables 0
#Nonlinear Variables 54
#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 149
#Linear Constraints 29
#Quadratic Constraints 120
#Polynomial Constraints 0
#Signomial Constraints 0
#General Nonlinear Constraints 0
Operands in Gen. Nonlin. Functions  
Constraints curvature indefinite
#Nonzeros in Jacobian 694
#Nonlinear Nonzeros in Jacobian 240
#Nonzeros in (Upper-Left) Hessian of Lagrangian 240
#Nonzeros in Diagonal of Hessian of Lagrangian 0
#Blocks in Hessian of Lagrangian 6
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
Infeasibility of initial point 1
Sparsity Jacobian Sparsity of Objective Gradient and Jacobian
Sparsity Hessian of Lagrangian Sparsity of Hessian of Lagrangian

$offlisting
*  
*  Equation counts
*      Total        E        G        L        N        X        C        B
*        150      127        0       23        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*        120      120        0        0        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        754      514      240        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,x94,x95,x96,x97,x98,x99,x100,x101,x102
          ,x103,x104,x105,x106,x107,x108,x109,x110,x111,x112,x113,x114,x115
          ,x116,x117,x118,x119,x120;

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,x94,x95,x96,x97,x98,x99,x100,x101
          ,x102,x103,x104,x105,x106,x107,x108,x109,x110,x111,x112,x113,x114
          ,x115,x116,x117,x118,x119,x120;

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
          ,e88,e89,e90,e91,e92,e93,e94,e95,e96,e97,e98,e99,e100,e101,e102,e103
          ,e104,e105,e106,e107,e108,e109,e110,e111,e112,e113,e114,e115,e116
          ,e117,e118,e119,e120,e121,e122,e123,e124,e125,e126,e127,e128,e129
          ,e130,e131,e132,e133,e134,e135,e136,e137,e138,e139,e140,e141,e142
          ,e143,e144,e145,e146,e147,e148,e149,e150;


e1..    objvar + 8*x14 + 5*x15 + 9*x16 + 6*x17 + 4*x18 + 12*x61 + 9*x62
      + 13*x63 + 10*x64 + 8*x65 + 12*x66 + 9*x67 + 13*x68 + 10*x69 + 8*x70
      + 12*x71 + 9*x72 + 13*x73 + 10*x74 + 8*x75 + 2*x76 - x77 + 3*x78 - 2*x80
      + 2*x81 - x82 + 3*x83 - 2*x85 + 2*x86 - x87 + 3*x88 - 2*x90 + 3*x91
      + 4*x93 + x94 - x95 + 3*x96 + 4*x98 + x99 - x100 + 3*x101 + 4*x103 + x104
      - x105 + 6*x106 + 3*x107 + 7*x108 + 4*x109 + 2*x110 + 6*x111 + 3*x112
      + 7*x113 + 4*x114 + 2*x115 + 6*x116 + 3*x117 + 7*x118 + 4*x119 + 2*x120
      =E= 0;

e2..    x61 + x62 + x63 + x64 + x65 + x66 + x67 + x68 + x69 + x70 + x71 + x72
      + x73 + x74 + x75 =L= 600;

e3..    x76 + x77 + x78 + x79 + x80 + x81 + x82 + x83 + x84 + x85 + x86 + x87
      + x88 + x89 + x90 =L= 600;

e4..    x91 + x92 + x93 + x94 + x95 + x96 + x97 + x98 + x99 + x100 + x101
      + x102 + x103 + x104 + x105 =L= 50;

e5..    x106 + x107 + x108 + x109 + x110 + x111 + x112 + x113 + x114 + x115
      + x116 + x117 + x118 + x119 + x120 =L= 600;

e6..    x14 + x15 + x16 + x17 + x18 =L= 600;

e7..    x61 + x62 + x63 + x64 + x65 + x76 + x77 + x78 + x79 + x80 + x91 + x92
      + x93 + x94 + x95 + x106 + x107 + x108 + x109 + x110 =L= 600;

e8..    x66 + x67 + x68 + x69 + x70 + x81 + x82 + x83 + x84 + x85 + x96 + x97
      + x98 + x99 + x100 + x111 + x112 + x113 + x114 + x115 =L= 600;

e9..    x71 + x72 + x73 + x74 + x75 + x86 + x87 + x88 + x89 + x90 + x101 + x102
      + x103 + x104 + x105 + x116 + x117 + x118 + x119 + x120 =L= 600;

e10..    x14 + x61 + x66 + x71 + x76 + x81 + x86 + x91 + x96 + x101 + x106
       + x111 + x116 =L= 100;

e11..    x15 + x62 + x67 + x72 + x77 + x82 + x87 + x92 + x97 + x102 + x107
       + x112 + x117 =L= 200;

e12..    x16 + x63 + x68 + x73 + x78 + x83 + x88 + x93 + x98 + x103 + x108
       + x113 + x118 =L= 100;

e13..    x17 + x64 + x69 + x74 + x79 + x84 + x89 + x94 + x99 + x104 + x109
       + x114 + x119 =L= 100;

e14..    x18 + x65 + x70 + x75 + x80 + x85 + x90 + x95 + x100 + x105 + x110
       + x115 + x120 =L= 100;

e15..  - 0.5*x14 + 0.5*x61 + 0.5*x66 + 0.5*x71 - 1.5*x76 - 1.5*x81 - 1.5*x86
       - 1.5*x91 - 1.5*x96 - 1.5*x101 - x106 - x111 - x116 =L= 0;

e16..    0.5*x14 - x61 - x66 - x71 + x76 + x81 + x86 + 0.5*x91 + 0.5*x96
       + 0.5*x101 + 0.5*x106 + 0.5*x111 + 0.5*x116 =L= 0;

e17..    0.5*x15 + 1.5*x62 + 1.5*x67 + 1.5*x72 - 0.5*x77 - 0.5*x82 - 0.5*x87
       - 0.5*x92 - 0.5*x97 - 0.5*x102 =L= 0;

e18..  - 1.5*x62 - 1.5*x67 - 1.5*x72 + 0.5*x77 + 0.5*x82 + 0.5*x87 =L= 0;

e19..    x63 + x68 + x73 - x78 - x83 - x88 - x93 - x98 - x103 - 0.5*x108
       - 0.5*x113 - 0.5*x118 =L= 0;

e20..  - 0.1*x16 - 1.6*x63 - 1.6*x68 - 1.6*x73 + 0.4*x78 + 0.4*x83 + 0.4*x88
       - 0.1*x93 - 0.1*x98 - 0.1*x103 - 0.1*x108 - 0.1*x113 - 0.1*x118 =L= 0;

e21..    x64 + x69 + x74 - x79 - x84 - x89 - x94 - x99 - x104 - 0.5*x109
       - 0.5*x114 - 0.5*x119 =L= 0;

e22..    0.5*x17 - x64 - x69 - x74 + x79 + x84 + x89 + 0.5*x94 + 0.5*x99
       + 0.5*x104 + 0.5*x109 + 0.5*x114 + 0.5*x119 =L= 0;

e23..    x65 + x70 + x75 - x80 - x85 - x90 - x95 - x100 - x105 - 0.5*x110
       - 0.5*x115 - 0.5*x120 =L= 0;

e24..    0.5*x18 - x65 - x70 - x75 + x80 + x85 + x90 + 0.5*x95 + 0.5*x100
       + 0.5*x105 + 0.5*x110 + 0.5*x115 + 0.5*x120 =L= 0;

e25..    x34 + x37 + x40 + x43 =E= 1;

e26..    x35 + x38 + x41 + x44 =E= 1;

e27..    x36 + x39 + x42 + x45 =E= 1;

e28..    x46 + x47 + x48 + x49 + x50 =E= 1;

e29..    x51 + x52 + x53 + x54 + x55 =E= 1;

e30..    x56 + x57 + x58 + x59 + x60 =E= 1;

e31.. -x34*x19 + x61 =E= 0;

e32.. -x34*x20 + x62 =E= 0;

e33.. -x34*x21 + x63 =E= 0;

e34.. -x34*x22 + x64 =E= 0;

e35.. -x34*x23 + x65 =E= 0;

e36.. -x35*x24 + x66 =E= 0;

e37.. -x35*x25 + x67 =E= 0;

e38.. -x35*x26 + x68 =E= 0;

e39.. -x35*x27 + x69 =E= 0;

e40.. -x35*x28 + x70 =E= 0;

e41.. -x36*x29 + x71 =E= 0;

e42.. -x36*x30 + x72 =E= 0;

e43.. -x36*x31 + x73 =E= 0;

e44.. -x36*x32 + x74 =E= 0;

e45.. -x36*x33 + x75 =E= 0;

e46.. -x37*x19 + x76 =E= 0;

e47.. -x37*x20 + x77 =E= 0;

e48.. -x37*x21 + x78 =E= 0;

e49.. -x37*x22 + x79 =E= 0;

e50.. -x37*x23 + x80 =E= 0;

e51.. -x38*x24 + x81 =E= 0;

e52.. -x38*x25 + x82 =E= 0;

e53.. -x38*x26 + x83 =E= 0;

e54.. -x38*x27 + x84 =E= 0;

e55.. -x38*x28 + x85 =E= 0;

e56.. -x39*x29 + x86 =E= 0;

e57.. -x39*x30 + x87 =E= 0;

e58.. -x39*x31 + x88 =E= 0;

e59.. -x39*x32 + x89 =E= 0;

e60.. -x39*x33 + x90 =E= 0;

e61.. -x40*x19 + x91 =E= 0;

e62.. -x40*x20 + x92 =E= 0;

e63.. -x40*x21 + x93 =E= 0;

e64.. -x40*x22 + x94 =E= 0;

e65.. -x40*x23 + x95 =E= 0;

e66.. -x41*x24 + x96 =E= 0;

e67.. -x41*x25 + x97 =E= 0;

e68.. -x41*x26 + x98 =E= 0;

e69.. -x41*x27 + x99 =E= 0;

e70.. -x41*x28 + x100 =E= 0;

e71.. -x42*x29 + x101 =E= 0;

e72.. -x42*x30 + x102 =E= 0;

e73.. -x42*x31 + x103 =E= 0;

e74.. -x42*x32 + x104 =E= 0;

e75.. -x42*x33 + x105 =E= 0;

e76.. -x43*x19 + x106 =E= 0;

e77.. -x43*x20 + x107 =E= 0;

e78.. -x43*x21 + x108 =E= 0;

e79.. -x43*x22 + x109 =E= 0;

e80.. -x43*x23 + x110 =E= 0;

e81.. -x44*x24 + x111 =E= 0;

e82.. -x44*x25 + x112 =E= 0;

e83.. -x44*x26 + x113 =E= 0;

e84.. -x44*x27 + x114 =E= 0;

e85.. -x44*x28 + x115 =E= 0;

e86.. -x45*x29 + x116 =E= 0;

e87.. -x45*x30 + x117 =E= 0;

e88.. -x45*x31 + x118 =E= 0;

e89.. -x45*x32 + x119 =E= 0;

e90.. -x45*x33 + x120 =E= 0;

e91.. -x46*x2 + x61 =E= 0;

e92.. -x47*x2 + x62 =E= 0;

e93.. -x48*x2 + x63 =E= 0;

e94.. -x49*x2 + x64 =E= 0;

e95.. -x50*x2 + x65 =E= 0;

e96.. -x51*x3 + x66 =E= 0;

e97.. -x52*x3 + x67 =E= 0;

e98.. -x53*x3 + x68 =E= 0;

e99.. -x54*x3 + x69 =E= 0;

e100.. -x55*x3 + x70 =E= 0;

e101.. -x56*x4 + x71 =E= 0;

e102.. -x57*x4 + x72 =E= 0;

e103.. -x58*x4 + x73 =E= 0;

e104.. -x59*x4 + x74 =E= 0;

e105.. -x60*x4 + x75 =E= 0;

e106.. -x46*x5 + x76 =E= 0;

e107.. -x47*x5 + x77 =E= 0;

e108.. -x48*x5 + x78 =E= 0;

e109.. -x49*x5 + x79 =E= 0;

e110.. -x50*x5 + x80 =E= 0;

e111.. -x51*x6 + x81 =E= 0;

e112.. -x52*x6 + x82 =E= 0;

e113.. -x53*x6 + x83 =E= 0;

e114.. -x54*x6 + x84 =E= 0;

e115.. -x55*x6 + x85 =E= 0;

e116.. -x56*x7 + x86 =E= 0;

e117.. -x57*x7 + x87 =E= 0;

e118.. -x58*x7 + x88 =E= 0;

e119.. -x59*x7 + x89 =E= 0;

e120.. -x60*x7 + x90 =E= 0;

e121.. -x46*x8 + x91 =E= 0;

e122.. -x47*x8 + x92 =E= 0;

e123.. -x48*x8 + x93 =E= 0;

e124.. -x49*x8 + x94 =E= 0;

e125.. -x50*x8 + x95 =E= 0;

e126.. -x51*x9 + x96 =E= 0;

e127.. -x52*x9 + x97 =E= 0;

e128.. -x53*x9 + x98 =E= 0;

e129.. -x54*x9 + x99 =E= 0;

e130.. -x55*x9 + x100 =E= 0;

e131.. -x56*x10 + x101 =E= 0;

e132.. -x57*x10 + x102 =E= 0;

e133.. -x58*x10 + x103 =E= 0;

e134.. -x59*x10 + x104 =E= 0;

e135.. -x60*x10 + x105 =E= 0;

e136.. -x46*x11 + x106 =E= 0;

e137.. -x47*x11 + x107 =E= 0;

e138.. -x48*x11 + x108 =E= 0;

e139.. -x49*x11 + x109 =E= 0;

e140.. -x50*x11 + x110 =E= 0;

e141.. -x51*x12 + x111 =E= 0;

e142.. -x52*x12 + x112 =E= 0;

e143.. -x53*x12 + x113 =E= 0;

e144.. -x54*x12 + x114 =E= 0;

e145.. -x55*x12 + x115 =E= 0;

e146.. -x56*x13 + x116 =E= 0;

e147.. -x57*x13 + x117 =E= 0;

e148.. -x58*x13 + x118 =E= 0;

e149.. -x59*x13 + x119 =E= 0;

e150.. -x60*x13 + x120 =E= 0;

* set non-default bounds
x2.up = 600;
x3.up = 600;
x4.up = 600;
x5.up = 600;
x6.up = 600;
x7.up = 600;
x8.up = 50;
x9.up = 50;
x10.up = 50;
x11.up = 600;
x12.up = 600;
x13.up = 600;
x14.up = 100;
x15.up = 200;
x16.up = 100;
x17.up = 100;
x18.up = 100;
x19.up = 100;
x20.up = 200;
x21.up = 100;
x22.up = 100;
x23.up = 100;
x24.up = 100;
x25.up = 200;
x26.up = 100;
x27.up = 100;
x28.up = 100;
x29.up = 100;
x30.up = 200;
x31.up = 100;
x32.up = 100;
x33.up = 100;
x34.up = 1;
x35.up = 1;
x36.up = 1;
x37.up = 1;
x38.up = 1;
x39.up = 1;
x40.up = 1;
x41.up = 1;
x42.up = 1;
x43.up = 1;
x44.up = 1;
x45.up = 1;
x46.up = 1;
x47.up = 1;
x48.up = 1;
x49.up = 1;
x50.up = 1;
x51.up = 1;
x52.up = 1;
x53.up = 1;
x54.up = 1;
x55.up = 1;
x56.up = 1;
x57.up = 1;
x58.up = 1;
x59.up = 1;
x60.up = 1;
x61.up = 100;
x62.up = 200;
x63.up = 100;
x64.up = 100;
x65.up = 100;
x66.up = 100;
x67.up = 200;
x68.up = 100;
x69.up = 100;
x70.up = 100;
x71.up = 100;
x72.up = 200;
x73.up = 100;
x74.up = 100;
x75.up = 100;
x76.up = 100;
x77.up = 200;
x78.up = 100;
x79.up = 100;
x80.up = 100;
x81.up = 100;
x82.up = 200;
x83.up = 100;
x84.up = 100;
x85.up = 100;
x86.up = 100;
x87.up = 200;
x88.up = 100;
x89.up = 100;
x90.up = 100;
x91.up = 50;
x92.up = 50;
x93.up = 50;
x94.up = 50;
x95.up = 50;
x96.up = 50;
x97.up = 50;
x98.up = 50;
x99.up = 50;
x100.up = 50;
x101.up = 50;
x102.up = 50;
x103.up = 50;
x104.up = 50;
x105.up = 50;
x106.up = 100;
x107.up = 200;
x108.up = 100;
x109.up = 100;
x110.up = 100;
x111.up = 100;
x112.up = 200;
x113.up = 100;
x114.up = 100;
x115.up = 100;
x116.up = 100;
x117.up = 200;
x118.up = 100;
x119.up = 100;
x120.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: 2019-07-12 Git hash: 46a7b4f1
Imprint / Privacy Policy