MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Removed Instance bchoco07
| Formatsⓘ | ams gms mod nl osil py |
| Primal Bounds (infeas ≤ 1e-08)ⓘ | |
| Other points (infeas > 1e-08)ⓘ | |
| Dual Boundsⓘ | 0.98170728 (ANTIGONE) 0.99775911 (BARON) 0.98078389 (COUENNE) 0.96299244 (LINDO) 0.99996781 (SCIP) 1.00000000 (SHOT) |
| Referencesⓘ | Chang, YoungJung and Sahinidis, N V, Stabilizing controller design and the Belgian chocolate problem, 2009. |
| Sourceⓘ | bcp7.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 1E9) |
| Problem typeⓘ | MBNLP |
| #Variablesⓘ | 134 |
| #Binary Variablesⓘ | 8 |
| #Integer Variablesⓘ | 0 |
| #Nonlinear Variablesⓘ | 76 |
| #Nonlinear Binary Variablesⓘ | 2 |
| #Nonlinear Integer Variablesⓘ | 0 |
| Objective Senseⓘ | max |
| Objective typeⓘ | linear |
| Objective curvatureⓘ | linear |
| #Nonzeros in Objectiveⓘ | 1 |
| #Nonlinear Nonzeros in Objectiveⓘ | 0 |
| #Constraintsⓘ | 153 |
| #Linear Constraintsⓘ | 97 |
| #Quadratic Constraintsⓘ | 9 |
| #Polynomial Constraintsⓘ | 4 |
| #Signomial Constraintsⓘ | 43 |
| #General Nonlinear Constraintsⓘ | 0 |
| Operands in Gen. Nonlin. Functionsⓘ | |
| Constraints curvatureⓘ | indefinite |
| #Nonzeros in Jacobianⓘ | 537 |
| #Nonlinear Nonzeros in Jacobianⓘ | 183 |
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 308 |
| #Nonzeros in Diagonal of Hessian of Lagrangianⓘ | 20 |
| #Blocks in Hessian of Lagrangianⓘ | 4 |
| Minimal blocksize in Hessian of Lagrangianⓘ | 9 |
| Maximal blocksize in Hessian of Lagrangianⓘ | 36 |
| Average blocksize in Hessian of Lagrangianⓘ | 19.0 |
| #Semicontinuitiesⓘ | 0 |
| #Nonlinear Semicontinuitiesⓘ | 0 |
| #SOS type 1ⓘ | 0 |
| #SOS type 2ⓘ | 0 |
| Minimal coefficientⓘ | 1.0000e-10 |
| Maximal coefficientⓘ | 1.0000e+09 |
| Infeasibility of initial pointⓘ | 1e+06 |
| Sparsity Jacobianⓘ | ![]() |
| Sparsity Hessian of Lagrangianⓘ | ![]() |
$offlisting
*
* Equation counts
* Total E G L N X C B
* 154 110 12 32 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 135 127 8 0 0 0 0 0
* FX 1
*
* Nonzero counts
* Total const NL DLL
* 539 356 183 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,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,b127,b128,b129
,b130,b131,b132,b133,b134,objvar;
Positive Variables x10,x11,x12,x13,x14,x15,x16,x17,x36,x37,x38,x39,x40,x41
,x42,x43;
Binary Variables b127,b128,b129,b130,b131,b132,b133,b134;
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,e151,e152,e153,e154;
e1.. - x1 + objvar =E= 0;
e2.. - x10 + 0.001*b127 =L= 0;
e3.. - x11 + 0.001*b128 =L= 0;
e4.. - x12 + 0.001*b129 =L= 0;
e5.. - x13 + 0.001*b130 =L= 0;
e6.. - x14 + 0.001*b131 =L= 0;
e7.. - x15 + 0.001*b132 =L= 0;
e8.. - x16 + 0.001*b133 =L= 0;
e9.. - x17 + 0.001*b134 =L= 0;
e10.. x10 - 10*b127 =L= 0;
e11.. x11 - 10*b128 =L= 0;
e12.. x12 - 10*b129 =L= 0;
e13.. x13 - 10*b130 =L= 0;
e14.. x14 - 10*b131 =L= 0;
e15.. x15 - 10*b132 =L= 0;
e16.. x16 - 10*b133 =L= 0;
e17.. x17 - 10*b134 =L= 0;
e18.. - x36 + 0.001*b127 =L= 0;
e19.. - x37 + 0.001*b128 =L= 0;
e20.. - x38 + 0.001*b129 =L= 0;
e21.. - x39 + 0.001*b130 =L= 0;
e22.. - x40 + 0.001*b131 =L= 0;
e23.. - x41 + 0.001*b132 =L= 0;
e24.. - x42 + 0.001*b133 =L= 0;
e25.. - x43 + 0.001*b134 =L= 0;
e26.. x36 - 10*b127 =L= 0;
e27.. x37 - 10*b128 =L= 0;
e28.. x38 - 10*b129 =L= 0;
e29.. x39 - 10*b130 =L= 0;
e30.. x40 - 10*b131 =L= 0;
e31.. x41 - 10*b132 =L= 0;
e32.. x42 - 10*b133 =L= 0;
e33.. x43 - 10*b134 =L= 0;
e34.. b127 - b128 =G= 0;
e35.. b128 - b129 =G= 0;
e36.. b129 - b130 =G= 0;
e37.. b130 - b131 =G= 0;
e38.. b131 - b132 =G= 0;
e39.. b132 - b133 =G= 0;
e40.. b133 - b134 =G= 0;
e41.. - 1000000000*x2 + 1000000000*x10 + x18 =E= 0;
e42.. 200000000*x1*x2 - 100000000*x3 + 100000000*x11 + x19 =E= 0;
e43.. 20000000*x1*x3 - 10000000*x2 - 10000000*x4 - 10000000*x10 + 10000000*x12
+ x20 =E= 0;
e44.. 2000000*x1*x4 - 1000000*x3 - 1000000*x5 - 1000000*x11 + 1000000*x13 + x21
=E= 0;
e45.. 200000*x1*x5 - 100000*x4 - 100000*x6 - 100000*x12 + 100000*x14 + x22
=E= 0;
e46.. 20000*x1*x6 - 10000*x5 - 10000*x7 - 10000*x13 + 10000*x15 + x23 =E= 0;
e47.. 2000*x1*x7 - 1000*x6 - 1000*x8 - 1000*x14 + 1000*x16 + x24 =E= 0;
e48.. 200*x1*x8 - 100*x7 - 100*x9 - 100*x15 + 100*x17 + x25 =E= 0;
e49.. 20*x1*x9 - 10*x8 - 10*x16 + x26 =E= 0;
e50.. - x9 - x17 + x27 =E= 0;
e51.. - x2 + 1E-5*x3 - 1E-10*x4 + x28 =E= 0;
e52.. - x3 + 2E-5*x4 - 3E-10*x5 + x29 =E= 0;
e53.. - x4 + 3E-5*x5 - 6E-10*x6 + x30 =E= 0;
e54.. - x5 + 4E-5*x6 - 1E-9*x7 + x31 =E= 0;
e55.. - x6 + 5E-5*x7 - 1.5E-9*x8 + x32 =E= 0;
e56.. - x7 + 6E-5*x8 - 2.1E-9*x9 + x33 =E= 0;
e57.. - x8 + 7E-5*x9 + x34 =E= 0;
e58.. - x9 + x35 =E= 0;
e59.. - x10 + 1E-5*x11 - 1E-10*x12 + x36 =E= 0;
e60.. - x11 + 2E-5*x12 - 3E-10*x13 + x37 =E= 0;
e61.. - x12 + 3E-5*x13 - 6E-10*x14 + x38 =E= 0;
e62.. - x13 + 4E-5*x14 - 1E-9*x15 + x39 =E= 0;
e63.. - x14 + 5E-5*x15 - 1.5E-9*x16 + x40 =E= 0;
e64.. - x15 + 6E-5*x16 - 2.1E-9*x17 + x41 =E= 0;
e65.. - x16 + 7E-5*x17 + x42 =E= 0;
e66.. - x17 + x43 =E= 0;
e67.. - x18 + 1E-5*x19 - 1E-10*x20 + x44 =E= 0;
e68.. - x19 + 2E-5*x20 - 3E-10*x21 + x45 =E= 0;
e69.. - x20 + 3E-5*x21 - 6E-10*x22 + x46 =E= 0;
e70.. - x21 + 4E-5*x22 - 1E-9*x23 + x47 =E= 0;
e71.. - x22 + 5E-5*x23 - 1.5E-9*x24 + x48 =E= 0;
e72.. - x23 + 6E-5*x24 - 2.1E-9*x25 + x49 =E= 0;
e73.. - x24 + 7E-5*x25 - 2.8E-9*x26 + x50 =E= 0;
e74.. - x25 + 8E-5*x26 - 3.6E-9*x27 + x51 =E= 0;
e75.. - x26 + 9E-5*x27 + x52 =E= 0;
e76.. - x27 + x53 =E= 0;
e77.. - x35 + x54 =E= 0;
e78.. - x33 + x55 =E= 0;
e79.. - x31 + x56 =E= 0;
e80.. - x29 + x57 =E= 0;
e81.. - x34 + x58 =E= 0;
e82.. - x32 + x59 =E= 0;
e83.. - x30 + x60 =E= 0;
e84.. - x28 + x61 =E= 0;
e85.. x54*x59/x58 - x55 + x62 =E= 0;
e86.. x54*x60/x58 - x56 + x63 =E= 0;
e87.. x54*x61/x58 - x57 + x64 =E= 0;
e88.. x58*x63/x62 - x59 + x66 =E= 0;
e89.. x58*x64/x62 - x60 + x67 =E= 0;
e90.. x58*x65/x62 - x61 + x68 =E= 0;
e91.. x62*x67/x66 - x63 + x70 =E= 0;
e92.. x62*x68/x66 - x64 + x71 =E= 0;
e93.. x62*x69/x66 - x65 + x72 =E= 0;
e94.. x66*x71/x70 - x67 + x74 =E= 0;
e95.. x66*x72/x70 - x68 + x75 =E= 0;
e96.. x66*x73/x70 - x69 + x76 =E= 0;
e97.. x70*x75/x74 - x71 + x78 =E= 0;
e98.. x70*x76/x74 - x72 + x79 =E= 0;
e99.. x70*x77/x74 - x73 + x80 =E= 0;
e100.. x65 =E= 0;
e101.. x69 =E= 0;
e102.. x73 =E= 0;
e103.. x77 =E= 0;
e104.. x81 =E= 0;
e105.. - x53 + x82 =E= 0;
e106.. - x51 + x83 =E= 0;
e107.. - x49 + x84 =E= 0;
e108.. - x47 + x85 =E= 0;
e109.. - x45 + x86 =E= 0;
e110.. - x52 + x87 =E= 0;
e111.. - x50 + x88 =E= 0;
e112.. - x48 + x89 =E= 0;
e113.. - x46 + x90 =E= 0;
e114.. - x44 + x91 =E= 0;
e115.. x82*x88/x87 - x83 + x92 =E= 0;
e116.. x82*x89/x87 - x84 + x93 =E= 0;
e117.. x82*x90/x87 - x85 + x94 =E= 0;
e118.. x82*x91/x87 - x86 + x95 =E= 0;
e119.. x87*x93/x92 - x88 + x97 =E= 0;
e120.. x87*x94/x92 - x89 + x98 =E= 0;
e121.. x87*x95/x92 - x90 + x99 =E= 0;
e122.. x87*x96/x92 - x91 + x100 =E= 0;
e123.. x92*x98/x97 - x93 + x102 =E= 0;
e124.. x92*x99/x97 - x94 + x103 =E= 0;
e125.. x92*x100/x97 - x95 + x104 =E= 0;
e126.. x92*x101/x97 - x96 + x105 =E= 0;
e127.. x97*x103/x102 - x98 + x107 =E= 0;
e128.. x97*x104/x102 - x99 + x108 =E= 0;
e129.. x97*x105/x102 - x100 + x109 =E= 0;
e130.. x97*x106/x102 - x101 + x110 =E= 0;
e131.. x102*x108/x107 - x103 + x112 =E= 0;
e132.. x102*x109/x107 - x104 + x113 =E= 0;
e133.. x102*x110/x107 - x105 + x114 =E= 0;
e134.. x102*x111/x107 - x106 + x115 =E= 0;
e135.. x107*x113/x112 - x108 + x117 =E= 0;
e136.. x107*x114/x112 - x109 + x118 =E= 0;
e137.. x107*x115/x112 - x110 + x119 =E= 0;
e138.. x107*x116/x112 - x111 + x120 =E= 0;
e139.. x112*x118/x117 - x113 + x122 =E= 0;
e140.. x112*x119/x117 - x114 + x123 =E= 0;
e141.. x112*x120/x117 - x115 + x124 =E= 0;
e142.. x112*x121/x117 - x116 + x125 =E= 0;
e143.. x96 =E= 0;
e144.. x101 =E= 0;
e145.. x106 =E= 0;
e146.. x111 =E= 0;
e147.. x116 =E= 0;
e148.. x121 =E= 0;
e149.. x126 =E= 0;
e150.. x41*x42 - x40*x43 - 1E-5*b134 =G= 0;
e151.. x40*x41*x42 - x40*x40*x43 + x38*x42*x43 - x39*x42*x42 - 1E-5*b133 =G= 0;
e152.. x39*x40*x41*x42 - x40**2*x39*x43 - x39**2*x42**2 + 2*x38*x39*x42*x43 -
x38**2*x43**2 + x38*x40*x41*x43 - x41**2*x38*x42 + x37*x41*x42**2 - x37*
x40*x42*x43 - x36*x41*x42*x43 + x36*x40*x43**2 + (x39*x40 - x38*x41)*(1
- b133) - 1E-5*b132 =G= 0;
e153.. x38*x39*x40*x41*x42 - x38*x39*x40**2*x43 + 2*x38**2*x39*x42*x43 - x39**2
*x38*x42**2 - x38**3*x43**2 + x38**2*x40*x41*x43 - x38**2*x41**2*x42 - 3
*x37*x38*x40*x42*x43 + x40**3*x37*x43 - x40**2*x37*x41*x42 + x37*x39*x40
*x42**2 + 2*x37*x38*x41*x42**2 - x37**2*x42**3 - x36**2*x42*x43**2 - x36
*x39*x41*x42**2 - x36*x38*x41*x42*x43 - x40**2*x36*x41*x43 + 2*x36*x37*
x42**2*x43 + 2*x36*x38*x40*x43**2 + x36*x40*x41**2*x42 + (x38*x39*x40 -
x38**2*x41 - x40**2*x37 + x36*x40*x41)*(1 - b133) - 1E-5*b131 =G= 0;
e154.. x36**3*x43**3 - x36**2*x41**3*x42 + x36**2*x40*x41**2*x43 - 2*x36**2*x39
*x40*x43**2 - x36**2*x38*x41*x43**2 + 3*x36**2*x39*x41*x42*x43 - 3*x36**
2*x37*x42*x43**2 + x36*x38*x39*x41**2*x42 + x39**3*x36*x42**2 + x36*x37*
x39*x40*x42*x43 - x39**2*x36*x40*x41*x42 - x36*x38*x39*x40*x41*x43 - 2*
x36*x37*x40**2*x41*x43 + x38**2*x36*x39*x43**2 - x36*x37*x38*x41*x42*x43
- 2*x36*x38*x39**2*x42*x43 - 3*x36*x37*x39*x41*x42**2 + 3*x36*x37*x38*
x40*x43**2 + 2*x36*x37*x40*x41**2*x42 + 3*x37**2*x36*x42**2*x43 + x39**2
*x36*x40**2*x43 + x38**2*x37*x40*x41*x43 + 2*x37**2*x38*x41*x42**2 + 2*
x38**2*x37*x39*x42*x43 + x37**2*x40**3*x43 - x37*x38*x39**2*x42**2 - x37
**3*x42**3 - x37**2*x40**2*x41*x42 - x38**3*x37*x43**2 - x38**2*x37*x41
**2*x42 - x37*x38*x39*x40**2*x43 + x37*x38*x39*x40*x41*x42 + x37**2*x39*
x40*x42**2 - 3*x37**2*x38*x40*x42*x43 + (x37*x38*x39*x40 - x38**2*x37*
x41 - x37**2*x40**2 + 2*x36*x37*x40*x41 + x36*x38*x39*x41 - x36**2*x41**
2 - x39**2*x36*x40)*(1 - b133) + (x37*x38 - x36*x39)*(1 - b131)
- 1E-5*b130 =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;
x8.lo = 0.001; x8.up = 10;
x9.lo = 0.001; x9.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;
x28.lo = 0.001; x28.up = 10;
x29.lo = 0.001; x29.up = 10;
x30.lo = 0.001; x30.up = 10;
x31.lo = 0.001; x31.up = 10;
x32.lo = 0.001; x32.up = 10;
x33.lo = 0.001; x33.up = 10;
x34.lo = 0.001; x34.up = 10;
x35.lo = 0.001; x35.up = 10;
x44.lo = 0.001; x44.up = 10;
x45.lo = 0.001; x45.up = 10;
x46.lo = 0.001; x46.up = 10;
x47.lo = 0.001; x47.up = 10;
x48.lo = 0.001; x48.up = 10;
x49.lo = 0.001; x49.up = 10;
x50.lo = 0.001; x50.up = 10;
x51.lo = 0.001; x51.up = 10;
x52.lo = 0.001; x52.up = 10;
x53.lo = 0.001; x53.up = 10;
x54.lo = 0.001; x54.up = 10;
x55.lo = 0.001; x55.up = 10;
x56.lo = 0.001; x56.up = 10;
x57.lo = 0.001; 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 = 0.001; x61.up = 10;
x62.lo = 1E-5; x62.up = 10;
x63.lo = -10; x63.up = 10;
x64.lo = -10; x64.up = 10;
x65.lo = -10; x65.up = 10;
x66.lo = 1E-5; x66.up = 10;
x67.lo = -10; x67.up = 10;
x68.lo = -10; x68.up = 10;
x69.lo = -10; x69.up = 10;
x70.lo = 1E-5; x70.up = 10;
x71.lo = -10; x71.up = 10;
x72.lo = -10; x72.up = 10;
x73.lo = -10; x73.up = 10;
x74.lo = 1E-5; x74.up = 10;
x75.lo = -10; x75.up = 10;
x76.lo = -10; x76.up = 10;
x77.lo = -10; x77.up = 10;
x78.lo = 1E-5; x78.up = 10;
x79.lo = -10; x79.up = 10;
x80.lo = -10; x80.up = 10;
x81.lo = -10; x81.up = 10;
x82.lo = 0.001; x82.up = 10;
x83.lo = 0.001; x83.up = 10;
x84.lo = 0.001; x84.up = 10;
x85.lo = 0.001; x85.up = 10;
x86.lo = 0.001; x86.up = 10;
x87.lo = 0.001; x87.up = 10;
x88.lo = 0.001; x88.up = 10;
x89.lo = 0.001; x89.up = 10;
x90.lo = 0.001; x90.up = 10;
x91.lo = 0.001; x91.up = 10;
x92.lo = 1E-5; x92.up = 10;
x93.lo = -10; x93.up = 10;
x94.lo = -10; x94.up = 10;
x95.lo = -10; x95.up = 10;
x96.lo = -10; x96.up = 10;
x97.lo = 1E-5; x97.up = 10;
x98.lo = -10; x98.up = 10;
x99.lo = -10; x99.up = 10;
x100.lo = -10; x100.up = 10;
x101.lo = -10; x101.up = 10;
x102.lo = 1E-5; x102.up = 10;
x103.lo = -10; x103.up = 10;
x104.lo = -10; x104.up = 10;
x105.lo = -10; x105.up = 10;
x106.lo = -10; x106.up = 10;
x107.lo = 1E-5; x107.up = 10;
x108.lo = -10; x108.up = 10;
x109.lo = -10; x109.up = 10;
x110.lo = -10; x110.up = 10;
x111.lo = -10; x111.up = 10;
x112.lo = 1E-5; x112.up = 10;
x113.lo = -10; x113.up = 10;
x114.lo = -10; x114.up = 10;
x115.lo = -10; x115.up = 10;
x116.lo = -10; x116.up = 10;
x117.lo = 1E-5; x117.up = 10;
x118.lo = -10; x118.up = 10;
x119.lo = -10; x119.up = 10;
x120.lo = -10; x120.up = 10;
x121.lo = -10; x121.up = 10;
x122.lo = 1E-5; x122.up = 10;
x123.lo = -10; x123.up = 10;
x124.lo = -10; x124.up = 10;
x125.lo = -10; x125.up = 10;
x126.lo = -10; x126.up = 10;
b127.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: 2025-08-07 Git hash: e62cedfc

