MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance kport20

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)
32.12573721 p1 ( gdx sol )
(infeas: 2e-15)
32.02122096 p2 ( gdx sol )
(infeas: 1e-16)
32.00065557 p3 ( gdx sol )
(infeas: 2e-14)
31.84489291 p4 ( gdx sol )
(infeas: 7e-15)
31.80929820 p5 ( gdx sol )
(infeas: 2e-16)
Other points (infeas > 1e-08)  
Dual Bounds
31.80929785 (ANTIGONE)
31.80929814 (BARON)
29.55441920 (COUENNE)
28.95689468 (LINDO)
31.80929819 (SCIP)
27.92226720 (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 first scenario of GAMS Model Library model kport
Application Product Portfolio Optimization
Added to library 28 Feb 2014
Problem type MINLP
#Variables 101
#Binary Variables 2
#Integer Variables 38
#Nonlinear Variables 78
#Nonlinear Binary Variables 0
#Nonlinear Integer Variables 38
Objective Sense min
Objective type linear
Objective curvature linear
#Nonzeros in Objective 2
#Nonlinear Nonzeros in Objective 0
#Constraints 27
#Linear Constraints 7
#Quadratic Constraints 0
#Polynomial Constraints 19
#Signomial Constraints 1
#General Nonlinear Constraints 0
Operands in Gen. Nonlin. Functions  
Constraints curvature indefinite
#Nonzeros in Jacobian 187
#Nonlinear Nonzeros in Jacobian 116
#Nonzeros in (Upper-Left) Hessian of Lagrangian 230
#Nonzeros in Diagonal of Hessian of Lagrangian 2
#Blocks in Hessian of Lagrangian 2
Minimal blocksize in Hessian of Lagrangian 39
Maximal blocksize in Hessian of Lagrangian 39
Average blocksize in Hessian of Lagrangian 39.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 176.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
*         28       22        2        4        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*        102       62        2       38        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        190       74      116        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,b63,b64,i65,i66,i67,i68,i69
          ,i70,i71,i72,i73,i74,i75,i76,i77,i78,i79,i80,i81,i82,i83,i84,i85,i86
          ,i87,i88,i89,i90,i91,i92,i93,i94,i95,i96,i97,i98,i99,i100,i101,i102;

Positive Variables  x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56,x57
          ,x58,x59,x60,x61,x62;

Binary Variables  b63,b64;

Integer Variables  i65,i66,i67,i68,i69,i70,i71,i72,i73,i74,i75,i76,i77,i78,i79
          ,i80,i81,i82,i83,i84,i85,i86,i87,i88,i89,i90,i91,i92,i93,i94,i95,i96
          ,i97,i98,i99,i100,i101,i102;

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;


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

e2..    x3 - 2.45*b63 - 2.45*b64 =E= 0;

e3.. -(0.98488578017961*x42**0.5 + 0.98488578017961*x43**0.5) + x2 =E= 0;

e4..  - 168*b63 + 6*i65 + 6*i66 + 6*i67 + 6*i68 + 6*i69 + 6*i70 + 6*i71 + 6*i72
      + 6*i73 + 6*i74 + 6*i75 + 6*i76 + 6*i77 + 6*i78 + 6*i79 + 6*i80 + 6*i81
      + 6*i82 + 6*i83 =L= 0;

e5..  - 168*b64 + 6*i84 + 6*i85 + 6*i86 + 6*i87 + 6*i88 + 6*i89 + 6*i90 + 6*i91
      + 6*i92 + 6*i93 + 6*i94 + 6*i95 + 6*i96 + 6*i97 + 6*i98 + 6*i99 + 6*i100
      + 6*i101 + 6*i102 =L= 0;

e6.. -0.000384615384615385*(i65*x4*x42 + i84*x23*x43) + x44 =E= -1;

e7.. -0.000434782608695652*(i66*x5*x42 + i85*x24*x43) + x45 =E= -1;

e8.. -0.000588235294117647*(i67*x6*x42 + i86*x25*x43) + x46 =E= -1;

e9.. -0.00188679245283019*(i68*x7*x42 + i87*x26*x43) + x47 =E= -1;

e10.. -0.00188679245283019*(i69*x8*x42 + i88*x27*x43) + x48 =E= -1;

e11.. -0.00357142857142857*(i70*x9*x42 + i89*x28*x43) + x49 =E= -1;

e12.. -0.004*(i71*x10*x42 + i90*x29*x43) + x50 =E= -1;

e13.. -0.00434782608695652*(i72*x11*x42 + i91*x30*x43) + x51 =E= -1;

e14.. -0.00625*(i73*x12*x42 + i92*x31*x43) + x52 =E= -1;

e15.. -0.0111111111111111*(i74*x13*x42 + i93*x32*x43) + x53 =E= -1;

e16.. -0.0142857142857143*(i75*x14*x42 + i94*x33*x43) + x54 =E= -1;

e17.. -0.00256410256410256*(i76*x15*x42 + i95*x34*x43) + x55 =E= -1;

e18.. -0.004*(i77*x16*x42 + i96*x35*x43) + x56 =E= -1;

e19.. -0.00625*(i78*x17*x42 + i97*x36*x43) + x57 =E= -1;

e20.. -0.01*(i79*x18*x42 + i98*x37*x43) + x58 =E= -1;

e21.. -0.0142857142857143*(i80*x19*x42 + i99*x38*x43) + x59 =E= -1;

e22.. -0.02*(i81*x20*x42 + i100*x39*x43) + x60 =E= -1;

e23.. -0.02*(i82*x21*x42 + i101*x40*x43) + x61 =E= -1;

e24.. -0.02*(i83*x22*x42 + i102*x41*x43) + x62 =E= -1;

e25..    x42 - 102.14*b63 =G= 0;

e26..    x43 - 176.07*b64 =G= 0;

e27..    x42 - 250*b63 =L= 0;

e28..    x43 - 250*b64 =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 = 102.14;
x43.lo = 176.07;
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 = 1;
x62.up = 1;
i65.up = 28;
i66.up = 28;
i67.up = 28;
i68.up = 25;
i69.up = 25;
i70.up = 13;
i71.up = 12;
i72.up = 11;
i73.up = 7;
i74.up = 4;
i75.up = 3;
i76.up = 19;
i77.up = 12;
i78.up = 7;
i79.up = 4;
i80.up = 3;
i81.up = 2;
i82.up = 2;
i83.up = 2;
i84.up = 28;
i85.up = 28;
i86.up = 28;
i87.up = 15;
i88.up = 15;
i89.up = 7;
i90.up = 7;
i91.up = 6;
i92.up = 4;
i93.up = 2;
i94.up = 1;
i95.up = 11;
i96.up = 7;
i97.up = 4;
i98.up = 2;
i99.up = 1;
i100.up = 1;
i101.up = 1;
i102.up = 1;

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