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)ⓘ | |
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 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-12-17 Git hash: 8eaceb91