MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Removed Instance bchoco05
Formatsⓘ | ams gms mod nl osil py |
Primal Bounds (infeas ≤ 1e-08)ⓘ | |
Other points (infeas > 1e-08)ⓘ | |
Dual Boundsⓘ | 0.96288154 (ANTIGONE) 0.98618300 (BARON) 0.99270487 (LINDO) 0.99823128 (SCIP) 1.00000000 (SHOT) |
Referencesⓘ | Chang, YoungJung and Sahinidis, N V, Stabilizing controller design and the Belgian chocolate problem, 2009. |
Sourceⓘ | bcp5.gms from minlp.org model 57 |
Applicationⓘ | Belgian chocolate problem |
Added to libraryⓘ | 24 Sep 2013 |
Removed from libraryⓘ | 01 Mar 2022 |
Removed becauseⓘ | Numerically difficult formulation (coefficient of order 1E-10 and 1E7) |
Problem typeⓘ | MBNLP |
#Variablesⓘ | 90 |
#Binary Variablesⓘ | 6 |
#Integer Variablesⓘ | 0 |
#Nonlinear Variablesⓘ | 45 |
#Nonlinear Binary Variablesⓘ | 1 |
#Nonlinear Integer Variablesⓘ | 0 |
Objective Senseⓘ | max |
Objective typeⓘ | linear |
Objective curvatureⓘ | linear |
#Nonzeros in Objectiveⓘ | 1 |
#Nonlinear Nonzeros in Objectiveⓘ | 0 |
#Constraintsⓘ | 103 |
#Linear Constraintsⓘ | 73 |
#Quadratic Constraintsⓘ | 7 |
#Polynomial Constraintsⓘ | 2 |
#Signomial Constraintsⓘ | 21 |
#General Nonlinear Constraintsⓘ | 0 |
Operands in Gen. Nonlin. Functionsⓘ | |
Constraints curvatureⓘ | indefinite |
#Nonzeros in Jacobianⓘ | 334 |
#Nonlinear Nonzeros in Jacobianⓘ | 92 |
#Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 164 |
#Nonzeros in Diagonal of Hessian of Lagrangianⓘ | 14 |
#Blocks in Hessian of Lagrangianⓘ | 4 |
Minimal blocksize in Hessian of Lagrangianⓘ | 7 |
Maximal blocksize in Hessian of Lagrangianⓘ | 21 |
Average blocksize in Hessian of Lagrangianⓘ | 11.25 |
#Semicontinuitiesⓘ | 0 |
#Nonlinear Semicontinuitiesⓘ | 0 |
#SOS type 1ⓘ | 0 |
#SOS type 2ⓘ | 0 |
Minimal coefficientⓘ | 1.0000e-10 |
Maximal coefficientⓘ | 1.0000e+07 |
Infeasibility of initial pointⓘ | 1e+04 |
Sparsity Jacobianⓘ | |
Sparsity Hessian of Lagrangianⓘ |
$offlisting * * Equation counts * Total E G L N X C B * 104 72 8 24 0 0 0 0 * * Variable counts * x b i s1s s2s sc si * Total cont binary integer sos1 sos2 scont sint * 91 85 6 0 0 0 0 0 * FX 1 * * Nonzero counts * Total const NL DLL * 336 244 92 0 * * Solve m using MINLP maximizing objvar; Variables x1,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,b85,b86,b87 ,b88,b89,b90,objvar; Positive Variables x8,x9,x10,x11,x12,x13,x28,x29,x30,x31,x32,x33; Binary Variables b85,b86,b87,b88,b89,b90; 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; e1.. - x1 + objvar =E= 0; e2.. - x8 + 0.001*b85 =L= 0; e3.. - x9 + 0.001*b86 =L= 0; e4.. - x10 + 0.001*b87 =L= 0; e5.. - x11 + 0.001*b88 =L= 0; e6.. - x12 + 0.001*b89 =L= 0; e7.. - x13 + 0.001*b90 =L= 0; e8.. x8 - 10*b85 =L= 0; e9.. x9 - 10*b86 =L= 0; e10.. x10 - 10*b87 =L= 0; e11.. x11 - 10*b88 =L= 0; e12.. x12 - 10*b89 =L= 0; e13.. x13 - 10*b90 =L= 0; e14.. - x28 + 0.001*b85 =L= 0; e15.. - x29 + 0.001*b86 =L= 0; e16.. - x30 + 0.001*b87 =L= 0; e17.. - x31 + 0.001*b88 =L= 0; e18.. - x32 + 0.001*b89 =L= 0; e19.. - x33 + 0.001*b90 =L= 0; e20.. x28 - 10*b85 =L= 0; e21.. x29 - 10*b86 =L= 0; e22.. x30 - 10*b87 =L= 0; e23.. x31 - 10*b88 =L= 0; e24.. x32 - 10*b89 =L= 0; e25.. x33 - 10*b90 =L= 0; e26.. b85 - b86 =G= 0; e27.. b86 - b87 =G= 0; e28.. b87 - b88 =G= 0; e29.. b88 - b89 =G= 0; e30.. b89 - b90 =G= 0; e31.. - 10000000*x2 + 10000000*x8 + x14 =E= 0; e32.. 2000000*x1*x2 - 1000000*x3 + 1000000*x9 + x15 =E= 0; e33.. 200000*x1*x3 - 100000*x2 - 100000*x4 - 100000*x8 + 100000*x10 + x16 =E= 0 ; e34.. 20000*x1*x4 - 10000*x3 - 10000*x5 - 10000*x9 + 10000*x11 + x17 =E= 0; e35.. 2000*x1*x5 - 1000*x4 - 1000*x6 - 1000*x10 + 1000*x12 + x18 =E= 0; e36.. 200*x1*x6 - 100*x5 - 100*x7 - 100*x11 + 100*x13 + x19 =E= 0; e37.. 20*x1*x7 - 10*x6 - 10*x12 + x20 =E= 0; e38.. - x7 - x13 + x21 =E= 0; e39.. - x2 + 1E-5*x3 - 1E-10*x4 + x22 =E= 0; e40.. - x3 + 2E-5*x4 - 3E-10*x5 + x23 =E= 0; e41.. - x4 + 3E-5*x5 - 6E-10*x6 + x24 =E= 0; e42.. - x5 + 4E-5*x6 - 1E-9*x7 + x25 =E= 0; e43.. - x6 + 5E-5*x7 + x26 =E= 0; e44.. - x7 + x27 =E= 0; e45.. - x8 + 1E-5*x9 - 1E-10*x10 + x28 =E= 0; e46.. - x9 + 2E-5*x10 - 3E-10*x11 + x29 =E= 0; e47.. - x10 + 3E-5*x11 - 6E-10*x12 + x30 =E= 0; e48.. - x11 + 4E-5*x12 - 1E-9*x13 + x31 =E= 0; e49.. - x12 + 5E-5*x13 + x32 =E= 0; e50.. - x13 + x33 =E= 0; e51.. - x14 + 1E-5*x15 - 1E-10*x16 + x34 =E= 0; e52.. - x15 + 2E-5*x16 - 3E-10*x17 + x35 =E= 0; e53.. - x16 + 3E-5*x17 - 6E-10*x18 + x36 =E= 0; e54.. - x17 + 4E-5*x18 - 1E-9*x19 + x37 =E= 0; e55.. - x18 + 5E-5*x19 - 1.5E-9*x20 + x38 =E= 0; e56.. - x19 + 6E-5*x20 - 2.1E-9*x21 + x39 =E= 0; e57.. - x20 + 7E-5*x21 + x40 =E= 0; e58.. - x21 + x41 =E= 0; e59.. - x27 + x42 =E= 0; e60.. - x25 + x43 =E= 0; e61.. - x23 + x44 =E= 0; e62.. - x26 + x45 =E= 0; e63.. - x24 + x46 =E= 0; e64.. - x22 + x47 =E= 0; e65.. x42/x45*x46 - x43 + x48 =E= 0; e66.. x42/x45*x47 - x44 + x49 =E= 0; e67.. x45/x48*x49 - x46 + x51 =E= 0; e68.. x45/x48*x50 - x47 + x52 =E= 0; e69.. x48/x51*x52 - x49 + x54 =E= 0; e70.. x48/x51*x53 - x50 + x55 =E= 0; e71.. x50 =E= 0; e72.. x53 =E= 0; e73.. x56 =E= 0; e74.. - x41 + x57 =E= 0; e75.. - x39 + x58 =E= 0; e76.. - x37 + x59 =E= 0; e77.. - x35 + x60 =E= 0; e78.. - x40 + x61 =E= 0; e79.. - x38 + x62 =E= 0; e80.. - x36 + x63 =E= 0; e81.. - x34 + x64 =E= 0; e82.. x57/x61*x62 - x58 + x65 =E= 0; e83.. x57/x61*x63 - x59 + x66 =E= 0; e84.. x57/x61*x64 - x60 + x67 =E= 0; e85.. x61/x65*x66 - x62 + x69 =E= 0; e86.. x61/x65*x67 - x63 + x70 =E= 0; e87.. x61/x65*x68 - x64 + x71 =E= 0; e88.. x65/x69*x70 - x66 + x73 =E= 0; e89.. x65/x69*x71 - x67 + x74 =E= 0; e90.. x65/x69*x72 - x68 + x75 =E= 0; e91.. x69/x73*x74 - x70 + x77 =E= 0; e92.. x69/x73*x75 - x71 + x78 =E= 0; e93.. x69/x73*x76 - x72 + x79 =E= 0; e94.. x73/x77*x78 - x74 + x81 =E= 0; e95.. x73/x77*x79 - x75 + x82 =E= 0; e96.. x73/x77*x80 - x76 + x83 =E= 0; e97.. x68 =E= 0; e98.. x72 =E= 0; e99.. x76 =E= 0; e100.. x80 =E= 0; e101.. x84 =E= 0; e102.. x31*x32 - x30*x33 - 1E-5*b90 =G= 0; e103.. x30*x31*x32 - x30*x30*x33 + x28*x32*x33 - x29*x32*x32 - 1E-5*b89 =G= 0; e104.. x29*x30*x31*x32 - x30**2*x29*x33 - x29**2*x32**2 + 2*x28*x29*x32*x33 + x28*x30*x31*x33 - x28**2*x33**2 - x31**2*x28*x32 + (x29*x30 - x28*x31)*( 1 - b89) - 1E-5*b88 =G= 0; * set non-default bounds x1.lo = 0.95; x1.up = 1; x2.lo = 0.001; x2.up = 10; x3.lo = 0.001; x3.up = 10; x4.lo = 0.001; x4.up = 10; x5.lo = 0.001; x5.up = 10; x6.lo = 0.001; x6.up = 10; x7.lo = 0.001; x7.up = 10; x14.lo = 0.001; x14.up = 10; x15.lo = 0.001; x15.up = 10; x16.lo = 0.001; x16.up = 10; x17.lo = 0.001; x17.up = 10; x18.lo = 0.001; x18.up = 10; x19.lo = 0.001; x19.up = 10; x20.lo = 0.001; x20.up = 10; x21.lo = 0.001; x21.up = 10; x22.lo = 0.001; x22.up = 10; x23.lo = 0.001; x23.up = 10; x24.lo = 0.001; x24.up = 10; x25.lo = 0.001; x25.up = 10; x26.lo = 0.001; x26.up = 10; x27.lo = 0.001; x27.up = 10; x34.lo = 0.001; x34.up = 10; x35.lo = 0.001; x35.up = 10; x36.lo = 0.001; x36.up = 10; x37.lo = 0.001; x37.up = 10; x38.lo = 0.001; x38.up = 10; x39.lo = 0.001; x39.up = 10; x40.lo = 0.001; x40.up = 10; x41.lo = 0.001; x41.up = 10; x42.lo = 1E-5; x42.up = 10; x43.lo = 0.001; x43.up = 10; x44.lo = 0.001; x44.up = 10; x45.lo = 1E-5; x45.up = 10; x46.lo = 0.001; x46.up = 10; x47.lo = 0.001; x47.up = 10; x48.lo = 1E-5; x48.up = 10; x49.lo = -10; x49.up = 10; x50.lo = -10; x50.up = 10; x51.lo = 1E-5; x51.up = 10; x52.lo = -10; x52.up = 10; x53.lo = -10; x53.up = 10; x54.lo = 1E-5; x54.up = 10; x55.lo = -10; x55.up = 10; x56.lo = -10; x56.up = 10; x57.lo = 1E-5; x57.up = 10; x58.lo = 0.001; x58.up = 10; x59.lo = 0.001; x59.up = 10; x60.lo = 0.001; x60.up = 10; x61.lo = 1E-5; x61.up = 10; x62.lo = 0.001; x62.up = 10; x63.lo = 0.001; x63.up = 10; x64.lo = 0.001; x64.up = 10; x65.lo = 1E-5; x65.up = 10; x66.lo = -10; x66.up = 10; x67.lo = -10; x67.up = 10; x68.lo = -10; x68.up = 10; x69.lo = 1E-5; x69.up = 10; x70.lo = -10; x70.up = 10; x71.lo = -10; x71.up = 10; x72.lo = -10; x72.up = 10; x73.lo = 1E-5; x73.up = 10; x74.lo = -10; x74.up = 10; x75.lo = -10; x75.up = 10; x76.lo = -10; x76.up = 10; x77.lo = 1E-5; x77.up = 10; x78.lo = -10; x78.up = 10; x79.lo = -10; x79.up = 10; x80.lo = -10; x80.up = 10; x81.lo = 1E-5; x81.up = 10; x82.lo = -10; x82.up = 10; x83.lo = -10; x83.up = 10; x84.lo = -10; x84.up = 10; b85.fx = 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% maximizing objvar;
Last updated: 2024-08-26 Git hash: 6cc1607f