MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance kport40

This problem computes minimal cost solutions satisfying the demand of pre-given product portfolios. It determines the number and size of reactors and gives a schedule of how may batches of each product run on each reactor.
Formats ams gms mod nl osil py
Primal Bounds (infeas ≤ 1e-08)
39.38929269 p1 ( gdx sol )
(infeas: 3e-16)
39.05605366 p2 ( gdx sol )
(infeas: 4e-16)
38.82376970 p3 ( gdx sol )
(infeas: 2e-16)
37.37717538 p4 ( gdx sol )
(infeas: 1e-14)
37.17581241 p5 ( gdx sol )
(infeas: 2e-10)
Other points (infeas > 1e-08)  
Dual Bounds
34.90713890 (ANTIGONE)
35.70087087 (BARON)
31.83480613 (COUENNE)
31.93889754 (LINDO)
32.66417157 (SCIP)
31.00321211 (SHOT)
References Kallrath, Josef, Exact Computation of Global Minima of a Nonconvex Portfolio Optimization Problem. Chapter 13 in Floudas, C A and Pardalos, Panos M, Eds, Frontiers in Global Optimization, Kluwer Academic Publishers, 2004, 237-254.
Source second scenario of GAMS Model Library model kport
Application Product Portfolio Optimization
Added to library 28 Feb 2014
Problem type MINLP
#Variables 267
#Binary Variables 3
#Integer Variables 111
#Nonlinear Variables 225
#Nonlinear Binary Variables 0
#Nonlinear Integer Variables 111
Objective Sense min
Objective type linear
Objective curvature linear
#Nonzeros in Objective 2
#Nonlinear Nonzeros in Objective 0
#Constraints 48
#Linear Constraints 10
#Quadratic Constraints 0
#Polynomial Constraints 37
#Signomial Constraints 1
#General Nonlinear Constraints 0
Operands in Gen. Nonlin. Functions  
Constraints curvature indefinite
#Nonzeros in Jacobian 504
#Nonlinear Nonzeros in Jacobian 336
#Nonzeros in (Upper-Left) Hessian of Lagrangian 669
#Nonzeros in Diagonal of Hessian of Lagrangian 3
#Blocks in Hessian of Lagrangian 3
Minimal blocksize in Hessian of Lagrangian 75
Maximal blocksize in Hessian of Lagrangian 75
Average blocksize in Hessian of Lagrangian 75.0
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
Minimal coefficient 3.8462e-04
Maximal coefficient 2.5000e+02
Infeasibility of initial point 151.2
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
*         49       40        3        6        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*        268      154        3      111        0        0        0        0
*  FX     23
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        507      171      336        0
*
*  Solve m using MINLP 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,x121,x122,x123,x124,x125,x126,x127,x128
          ,x129,x130,x131,x132,x133,x134,x135,x136,x137,x138,x139,x140,x141
          ,x142,x143,x144,x145,x146,x147,x148,x149,x150,x151,x152,x153,x154
          ,b155,b156,b157,i158,i159,i160,i161,i162,i163,i164,i165,i166,i167
          ,i168,i169,i170,i171,i172,i173,i174,i175,i176,i177,i178,i179,i180
          ,i181,i182,i183,i184,i185,i186,i187,i188,i189,i190,i191,i192,i193
          ,i194,i195,i196,i197,i198,i199,i200,i201,i202,i203,i204,i205,i206
          ,i207,i208,i209,i210,i211,i212,i213,i214,i215,i216,i217,i218,i219
          ,i220,i221,i222,i223,i224,i225,i226,i227,i228,i229,i230,i231,i232
          ,i233,i234,i235,i236,i237,i238,i239,i240,i241,i242,i243,i244,i245
          ,i246,i247,i248,i249,i250,i251,i252,i253,i254,i255,i256,i257,i258
          ,i259,i260,i261,i262,i263,i264,i265,i266,i267,i268;

Positive Variables  x118,x119,x120,x121,x122,x123,x124,x125,x126,x127,x128
          ,x129,x130,x131,x132,x133,x134,x135,x136,x137,x138,x139,x140,x141
          ,x142,x143,x144,x145,x146,x147,x148,x149,x150,x151,x152,x153,x154;

Binary Variables  b155,b156,b157;

Integer Variables  i158,i159,i160,i161,i162,i163,i164,i165,i166,i167,i168,i169
          ,i170,i171,i172,i173,i174,i175,i176,i177,i178,i179,i180,i181,i182
          ,i183,i184,i185,i186,i187,i188,i189,i190,i191,i192,i193,i194,i195
          ,i196,i197,i198,i199,i200,i201,i202,i203,i204,i205,i206,i207,i208
          ,i209,i210,i211,i212,i213,i214,i215,i216,i217,i218,i219,i220,i221
          ,i222,i223,i224,i225,i226,i227,i228,i229,i230,i231,i232,i233,i234
          ,i235,i236,i237,i238,i239,i240,i241,i242,i243,i244,i245,i246,i247
          ,i248,i249,i250,i251,i252,i253,i254,i255,i256,i257,i258,i259,i260
          ,i261,i262,i263,i264,i265,i266,i267,i268;

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;


e1..    objvar - x2 - x3 =E= 0;

e2..    x3 - 2.45*b155 - 2.45*b156 - 2.45*b157 =E= 0;

e3.. -(0.98488578017961*x115**0.5 + 0.98488578017961*x116**0.5 + 
     0.98488578017961*x117**0.5) + x2 =E= 0;

e4..  - 168*b155 + 6*i158 + 6*i159 + 6*i160 + 6*i161 + 6*i162 + 6*i163 + 6*i164
      + 6*i165 + 6*i166 + 6*i167 + 6*i168 + 6*i169 + 6*i170 + 6*i171 + 6*i172
      + 6*i173 + 6*i174 + 6*i175 + 6*i176 + 6*i177 + 6*i178 + 6*i179 + 6*i180
      + 6*i181 + 6*i182 + 6*i183 + 6*i184 + 6*i185 + 6*i186 + 6*i187 + 6*i188
      + 6*i189 + 6*i190 + 6*i191 + 6*i192 + 6*i193 + 6*i194 =L= 0;

e5..  - 168*b156 + 6*i195 + 6*i196 + 6*i197 + 6*i198 + 6*i199 + 6*i200 + 6*i201
      + 6*i202 + 6*i203 + 6*i204 + 6*i205 + 6*i206 + 6*i207 + 6*i208 + 6*i209
      + 6*i210 + 6*i211 + 6*i212 + 6*i213 + 6*i214 + 6*i215 + 6*i216 + 6*i217
      + 6*i218 + 6*i219 + 6*i220 + 6*i221 + 6*i222 + 6*i223 + 6*i224 + 6*i225
      + 6*i226 + 6*i227 + 6*i228 + 6*i229 + 6*i230 + 6*i231 =L= 0;

e6..  - 168*b157 + 6*i232 + 6*i233 + 6*i234 + 6*i235 + 6*i236 + 6*i237 + 6*i238
      + 6*i239 + 6*i240 + 6*i241 + 6*i242 + 6*i243 + 6*i244 + 6*i245 + 6*i246
      + 6*i247 + 6*i248 + 6*i249 + 6*i250 + 6*i251 + 6*i252 + 6*i253 + 6*i254
      + 6*i255 + 6*i256 + 6*i257 + 6*i258 + 6*i259 + 6*i260 + 6*i261 + 6*i262
      + 6*i263 + 6*i264 + 6*i265 + 6*i266 + 6*i267 + 6*i268 =L= 0;

e7.. -0.000384615384615385*(i158*x4*x115 + i195*x41*x116 + i232*x78*x117)
      + x118 =E= -1;

e8.. -0.000434782608695652*(i159*x5*x115 + i196*x42*x116 + i233*x79*x117)
      + x119 =E= -1;

e9.. -0.00222222222222222*(i160*x6*x115 + i197*x43*x116 + i234*x80*x117) + x120
      =E= -1;

e10.. -0.000833333333333333*(i161*x7*x115 + i198*x44*x116 + i235*x81*x117)
       + x121 =E= -1;

e11.. -0.00178571428571429*(i162*x8*x115 + i199*x45*x116 + i236*x82*x117)
       + x122 =E= -1;

e12.. -0.00188679245283019*(i163*x9*x115 + i200*x46*x116 + i237*x83*x117)
       + x123 =E= -1;

e13.. -0.00188679245283019*(i164*x10*x115 + i201*x47*x116 + i238*x84*x117)
       + x124 =E= -1;

e14.. -0.00714285714285714*(i165*x11*x115 + i202*x48*x116 + i239*x85*x117)
       + x125 =E= -1;

e15.. -0.00909090909090909*(i166*x12*x115 + i203*x49*x116 + i240*x86*x117)
       + x126 =E= -1;

e16.. -0.00909090909090909*(i167*x13*x115 + i204*x50*x116 + i241*x87*x117)
       + x127 =E= -1;

e17.. -0.1*(i168*x14*x115 + i205*x51*x116 + i242*x88*x117) + x128 =E= -1;

e18.. -0.00909090909090909*(i169*x15*x115 + i206*x52*x116 + i243*x89*x117)
       + x129 =E= -1;

e19.. -0.0111111111111111*(i170*x16*x115 + i207*x53*x116 + i244*x90*x117)
       + x130 =E= -1;

e20.. -0.0111111111111111*(i171*x17*x115 + i208*x54*x116 + i245*x91*x117)
       + x131 =E= -1;

e21.. -0.0111111111111111*(i172*x18*x115 + i209*x55*x116 + i246*x92*x117)
       + x132 =E= -1;

e22.. -0.0142857142857143*(i173*x19*x115 + i210*x56*x116 + i247*x93*x117)
       + x133 =E= -1;

e23.. -0.02*(i174*x20*x115 + i211*x57*x116 + i248*x94*x117) + x134 =E= -1;

e24.. -0.0333333333333333*(i175*x21*x115 + i212*x58*x116 + i249*x95*x117)
       + x135 =E= -1;

e25.. -0.1*(i176*x22*x115 + i213*x59*x116 + i250*x96*x117) + x136 =E= -1;

e26.. -0.1*(i177*x23*x115 + i214*x60*x116 + i251*x97*x117) + x137 =E= -1;

e27.. -0.1*(i178*x24*x115 + i215*x61*x116 + i252*x98*x117) + x138 =E= -1;

e28.. -0.00526315789473684*(i179*x25*x115 + i216*x62*x116 + i253*x99*x117)
       + x139 =E= -1;

e29.. -0.00555555555555556*(i180*x26*x115 + i217*x63*x116 + i254*x100*x117)
       + x140 =E= -1;

e30.. -0.0142857142857143*(i181*x27*x115 + i218*x64*x116 + i255*x101*x117)
       + x141 =E= -1;

e31.. -0.0142857142857143*(i182*x28*x115 + i219*x65*x116 + i256*x102*x117)
       + x142 =E= -1;

e32.. -0.025*(i183*x29*x115 + i220*x66*x116 + i257*x103*x117) + x143 =E= -1;

e33.. -0.025*(i184*x30*x115 + i221*x67*x116 + i258*x104*x117) + x144 =E= -1;

e34.. -0.025*(i185*x31*x115 + i222*x68*x116 + i259*x105*x117) + x145 =E= -1;

e35.. -0.0333333333333333*(i186*x32*x115 + i223*x69*x116 + i260*x106*x117)
       + x146 =E= -1;

e36.. -0.05*(i187*x33*x115 + i224*x70*x116 + i261*x107*x117) + x147 =E= -1;

e37.. -0.05*(i188*x34*x115 + i225*x71*x116 + i262*x108*x117) + x148 =E= -1;

e38.. -0.05*(i189*x35*x115 + i226*x72*x116 + i263*x109*x117) + x149 =E= -1;

e39.. -0.1*(i190*x36*x115 + i227*x73*x116 + i264*x110*x117) + x150 =E= -1;

e40.. -0.1*(i191*x37*x115 + i228*x74*x116 + i265*x111*x117) + x151 =E= -1;

e41.. -0.1*(i192*x38*x115 + i229*x75*x116 + i266*x112*x117) + x152 =E= -1;

e42.. -0.1*(i193*x39*x115 + i230*x76*x116 + i267*x113*x117) + x153 =E= -1;

e43.. -0.1*(i194*x40*x115 + i231*x77*x116 + i268*x114*x117) + x154 =E= -1;

e44..    x115 - 20*b155 =G= 0;

e45..    x116 - 52.5*b156 =G= 0;

e46..    x117 - 151.25*b157 =G= 0;

e47..    x115 - 50*b155 =L= 0;

e48..    x116 - 250*b156 =L= 0;

e49..    x117 - 250*b157 =L= 0;

* set non-default bounds
x4.lo = 0.4; x4.up = 1;
x5.lo = 0.4; x5.up = 1;
x6.lo = 0.4; x6.up = 1;
x7.lo = 0.4; x7.up = 1;
x8.lo = 0.4; x8.up = 1;
x9.lo = 0.4; x9.up = 1;
x10.lo = 0.4; x10.up = 1;
x11.lo = 0.4; x11.up = 1;
x12.lo = 0.4; x12.up = 1;
x13.lo = 0.4; x13.up = 1;
x14.lo = 0.4; x14.up = 1;
x15.lo = 0.4; x15.up = 1;
x16.lo = 0.4; x16.up = 1;
x17.lo = 0.4; x17.up = 1;
x18.lo = 0.4; x18.up = 1;
x19.lo = 0.4; x19.up = 1;
x20.lo = 0.4; x20.up = 1;
x21.lo = 0.4; x21.up = 1;
x22.lo = 0.4; x22.up = 1;
x23.lo = 0.4; x23.up = 1;
x24.lo = 0.4; x24.up = 1;
x25.lo = 0.4; x25.up = 1;
x26.lo = 0.4; x26.up = 1;
x27.lo = 0.4; x27.up = 1;
x28.lo = 0.4; x28.up = 1;
x29.lo = 0.4; x29.up = 1;
x30.lo = 0.4; x30.up = 1;
x31.lo = 0.4; x31.up = 1;
x32.lo = 0.4; x32.up = 1;
x33.lo = 0.4; x33.up = 1;
x34.lo = 0.4; x34.up = 1;
x35.lo = 0.4; x35.up = 1;
x36.lo = 0.4; x36.up = 1;
x37.lo = 0.4; x37.up = 1;
x38.lo = 0.4; x38.up = 1;
x39.lo = 0.4; x39.up = 1;
x40.lo = 0.4; x40.up = 1;
x41.lo = 0.4; x41.up = 1;
x42.lo = 0.4; x42.up = 1;
x43.lo = 0.4; x43.up = 1;
x44.lo = 0.4; x44.up = 1;
x45.lo = 0.4; x45.up = 1;
x46.lo = 0.4; x46.up = 1;
x47.lo = 0.4; x47.up = 1;
x48.lo = 0.4; x48.up = 1;
x49.lo = 0.4; x49.up = 1;
x50.lo = 0.4; x50.up = 1;
x51.lo = 0.4; x51.up = 1;
x52.lo = 0.4; x52.up = 1;
x53.lo = 0.4; x53.up = 1;
x54.lo = 0.4; x54.up = 1;
x55.lo = 0.4; x55.up = 1;
x56.lo = 0.4; x56.up = 1;
x57.lo = 0.4; x57.up = 1;
x58.lo = 0.4; x58.up = 1;
x59.lo = 0.4; x59.up = 1;
x60.lo = 0.4; x60.up = 1;
x61.lo = 0.4; x61.up = 1;
x62.lo = 0.4; x62.up = 1;
x63.lo = 0.4; x63.up = 1;
x64.lo = 0.4; x64.up = 1;
x65.lo = 0.4; x65.up = 1;
x66.lo = 0.4; x66.up = 1;
x67.lo = 0.4; x67.up = 1;
x68.lo = 0.4; x68.up = 1;
x69.lo = 0.4; x69.up = 1;
x70.lo = 0.4; x70.up = 1;
x71.lo = 0.4; x71.up = 1;
x72.lo = 0.4; x72.up = 1;
x73.lo = 0.4; x73.up = 1;
x74.lo = 0.4; x74.up = 1;
x75.lo = 0.4; x75.up = 1;
x76.lo = 0.4; x76.up = 1;
x77.lo = 0.4; x77.up = 1;
x78.lo = 0.4; x78.up = 1;
x79.lo = 0.4; x79.up = 1;
x80.lo = 0.4; x80.up = 1;
x81.lo = 0.4; x81.up = 1;
x82.lo = 0.4; x82.up = 1;
x83.lo = 0.4; x83.up = 1;
x84.lo = 0.4; x84.up = 1;
x85.lo = 0.4; x85.up = 1;
x86.lo = 0.4; x86.up = 1;
x87.lo = 0.4; x87.up = 1;
x88.lo = 0.4; x88.up = 1;
x89.lo = 0.4; x89.up = 1;
x90.lo = 0.4; x90.up = 1;
x91.lo = 0.4; x91.up = 1;
x92.lo = 0.4; x92.up = 1;
x93.lo = 0.4; x93.up = 1;
x94.lo = 0.4; x94.up = 1;
x95.lo = 0.4; x95.up = 1;
x96.lo = 0.4; x96.up = 1;
x97.lo = 0.4; x97.up = 1;
x98.lo = 0.4; x98.up = 1;
x99.lo = 0.4; x99.up = 1;
x100.lo = 0.4; x100.up = 1;
x101.lo = 0.4; x101.up = 1;
x102.lo = 0.4; x102.up = 1;
x103.lo = 0.4; x103.up = 1;
x104.lo = 0.4; x104.up = 1;
x105.lo = 0.4; x105.up = 1;
x106.lo = 0.4; x106.up = 1;
x107.lo = 0.4; x107.up = 1;
x108.lo = 0.4; x108.up = 1;
x109.lo = 0.4; x109.up = 1;
x110.lo = 0.4; x110.up = 1;
x111.lo = 0.4; x111.up = 1;
x112.lo = 0.4; x112.up = 1;
x113.lo = 0.4; x113.up = 1;
x114.lo = 0.4; x114.up = 1;
x115.lo = 20;
x116.lo = 52.5;
x117.lo = 151.25;
x118.up = 1;
x119.up = 1;
x120.up = 1;
x121.up = 1;
x122.up = 1;
x123.up = 1;
x124.up = 1;
x125.up = 1;
x126.up = 1;
x127.up = 1;
x128.up = 1;
x129.up = 1;
x130.up = 1;
x131.up = 1;
x132.up = 1;
x133.up = 1;
x134.up = 1;
x135.up = 1;
x136.up = 1;
x137.up = 1;
x138.up = 1;
x139.up = 1;
x140.up = 1;
x141.up = 1;
x142.up = 1;
x143.up = 1;
x144.up = 1;
x145.up = 1;
x146.up = 1;
x147.up = 1;
x148.up = 1;
x149.up = 1;
x150.up = 1;
x151.up = 1;
x152.up = 1;
x153.up = 1;
x154.up = 1;
i158.up = 28;
i159.up = 28;
i160.up = 28;
i161.up = 28;
i162.up = 28;
i163.up = 28;
i164.up = 28;
i165.up = 28;
i166.up = 27;
i167.up = 27;
i168.up = 2;
i169.up = 27;
i170.up = 22;
i171.up = 22;
i172.up = 22;
i173.up = 17;
i174.up = 12;
i175.up = 7;
i176.up = 2;
i177.up = 2;
i178.up = 2;
i179.up = 28;
i180.up = 28;
i181.up = 17;
i182.up = 17;
i183.up = 10;
i184.up = 10;
i185.up = 10;
i186.up = 7;
i187.up = 5;
i188.up = 5;
i189.up = 5;
i190.up = 2;
i191.up = 2;
i192.up = 2;
i193.up = 2;
i194.up = 2;
i195.up = 28;
i196.up = 28;
i197.up = 28;
i198.up = 28;
i199.up = 28;
i200.up = 28;
i201.up = 28;
i202.up = 13;
i203.up = 10;
i204.up = 10;
i205.fx = 0;
i206.up = 10;
i207.up = 8;
i208.up = 8;
i209.up = 8;
i210.up = 6;
i211.up = 4;
i212.up = 2;
i213.fx = 0;
i214.fx = 0;
i215.fx = 0;
i216.up = 18;
i217.up = 17;
i218.up = 6;
i219.up = 6;
i220.up = 3;
i221.up = 3;
i222.up = 3;
i223.up = 2;
i224.up = 1;
i225.up = 1;
i226.up = 1;
i227.fx = 0;
i228.fx = 0;
i229.fx = 0;
i230.fx = 0;
i231.fx = 0;
i232.up = 28;
i233.up = 28;
i234.up = 14;
i235.up = 28;
i236.up = 18;
i237.up = 17;
i238.up = 17;
i239.up = 4;
i240.up = 3;
i241.up = 3;
i242.fx = 0;
i243.up = 3;
i244.up = 2;
i245.up = 2;
i246.up = 2;
i247.up = 2;
i248.up = 1;
i249.fx = 0;
i250.fx = 0;
i251.fx = 0;
i252.fx = 0;
i253.up = 6;
i254.up = 5;
i255.up = 2;
i256.up = 2;
i257.up = 1;
i258.up = 1;
i259.up = 1;
i260.fx = 0;
i261.fx = 0;
i262.fx = 0;
i263.fx = 0;
i264.fx = 0;
i265.fx = 0;
i266.fx = 0;
i267.fx = 0;
i268.fx = 0;

* set non-default levels
x115.l = 99;
x116.l = 99;

Model m / all /;

m.limrow=0; m.limcol=0;
m.tolproj=0.0;

$if NOT '%gams.u1%' == '' $include '%gams.u1%'

$if not set MINLP $set MINLP MINLP
Solve m using %MINLP% minimizing objvar;


Last updated: 2024-04-02 Git hash: 1dd5fb9b
Imprint / Privacy Policy / License: CC-BY 4.0