MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance cvxnonsep_pcon40r
separable reformulation of convex MINLP test problem with non-separable power constraint (cvxnonsep_pcon40) see also problem description (PDF).
| Formatsⓘ | ams gms mod nl osil py | 
| Primal Bounds (infeas ≤ 1e-08)ⓘ | |
| Other points (infeas > 1e-08)ⓘ | |
| Dual Boundsⓘ | -46.59922362 (ALPHAECP) -46.59916907 (ANTIGONE) -46.59916887 (BARON) -46.59916883 (BONMIN) -46.59960401 (COUENNE) -46.59916883 (LINDO) -46.59916906 (SCIP) -46.59917057 (SHOT)  | 
 
| Referencesⓘ | Kronqvist, Jan, Lundell, Andreas, and Westerlund, Tapio, Reformulations for utilizing separability when solving convex MINLP problems, submitted, 2017. | 
 
| Applicationⓘ | Test Problem | 
| Added to libraryⓘ | 11 Sep 2017 | 
| Problem typeⓘ | MINLP | 
| #Variablesⓘ | 79 | 
| #Binary Variablesⓘ | 0 | 
| #Integer Variablesⓘ | 20 | 
| #Nonlinear Variablesⓘ | 40 | 
| #Nonlinear Binary Variablesⓘ | 0 | 
| #Nonlinear Integer Variablesⓘ | 20 | 
| Objective Senseⓘ | min | 
| Objective typeⓘ | linear | 
| Objective curvatureⓘ | linear | 
| #Nonzeros in Objectiveⓘ | 40 | 
| #Nonlinear Nonzeros in Objectiveⓘ | 0 | 
| #Constraintsⓘ | 40 | 
| #Linear Constraintsⓘ | 1 | 
| #Quadratic Constraintsⓘ | 0 | 
| #Polynomial Constraintsⓘ | 0 | 
| #Signomial Constraintsⓘ | 0 | 
| #General Nonlinear Constraintsⓘ | 39 | 
| Operands in Gen. Nonlin. Functionsⓘ | cvpower | 
| Constraints curvatureⓘ | convex | 
| #Nonzeros in Jacobianⓘ | 156 | 
| #Nonlinear Nonzeros in Jacobianⓘ | 78 | 
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 118 | 
| #Nonzeros in Diagonal of Hessian of Lagrangianⓘ | 40 | 
| #Blocks in Hessian of Lagrangianⓘ | 1 | 
| Minimal blocksize in Hessian of Lagrangianⓘ | 40 | 
| Maximal blocksize in Hessian of Lagrangianⓘ | 40 | 
| Average blocksize in Hessian of Lagrangianⓘ | 40.0 | 
| #Semicontinuitiesⓘ | 0 | 
| #Nonlinear Semicontinuitiesⓘ | 0 | 
| #SOS type 1ⓘ | 0 | 
| #SOS type 2ⓘ | 0 | 
| Minimal coefficientⓘ | 9.0000e-02 | 
| Maximal coefficientⓘ | 2.0000e+00 | 
| Infeasibility of initial pointⓘ | 1 | 
| Sparsity Jacobianⓘ | ![]()  | 
 
| Sparsity Hessian of Lagrangianⓘ | ![]()  | 
 
$offlisting
*  
*  Equation counts
*      Total        E        G        L        N        X        C        B
*         41        1        0       40        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*         80       60        0       20        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        197      119       78        0
*
*  Solve m using MINLP minimizing objvar;
Variables  i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15,i16,i17,i18,i19
          ,i20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36
          ,x37,x38,x39,x40,objvar,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;
Positive Variables  x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34
          ,x35,x36,x37,x38,x39,x40;
Integer Variables  i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15,i16,i17
          ,i18,i19,i20;
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;
e1..    0.18*i1 + 0.72*i2 + 0.47*i3 + 0.15*i4 + 0.34*i5 + 0.61*i6 + 0.19*i7
      + 0.74*i8 + 0.24*i9 + 0.92*i10 + 0.27*i11 + 0.77*i12 + 0.19*i13
      + 0.29*i14 + 0.09*i15 + 0.58*i16 + 0.68*i17 + 0.55*i18 + 0.43*i19
      + 0.64*i20 + 0.65*x21 + 0.68*x22 + 0.64*x23 + 0.95*x24 + 0.21*x25
      + 0.71*x26 + 0.24*x27 + 0.12*x28 + 0.61*x29 + 0.45*x30 + 0.46*x31
      + 0.66*x32 + 0.77*x33 + 0.35*x34 + 0.66*x35 + 0.42*x36 + 0.84*x37
      + 0.83*x38 + 0.26*x39 + 0.61*x40 + objvar =E= 0;
e2..    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 =L= 480;
e3.. 2**(i1 + i2) - x42 =L= 0;
e4.. 2**(i2 + i3) - x43 =L= 0;
e5.. 2**(i3 + i4) - x44 =L= 0;
e6.. 2**(i4 + i5) - x45 =L= 0;
e7.. 2**(i5 + i6) - x46 =L= 0;
e8.. 2**(i6 + i7) - x47 =L= 0;
e9.. 2**(i7 + i8) - x48 =L= 0;
e10.. 2**(i8 + i9) - x49 =L= 0;
e11.. 2**(i9 + i10) - x50 =L= 0;
e12.. 2**(i10 + i11) - x51 =L= 0;
e13.. 2**(i11 + i12) - x52 =L= 0;
e14.. 2**(i12 + i13) - x53 =L= 0;
e15.. 2**(i13 + i14) - x54 =L= 0;
e16.. 2**(i14 + i15) - x55 =L= 0;
e17.. 2**(i15 + i16) - x56 =L= 0;
e18.. 2**(i16 + i17) - x57 =L= 0;
e19.. 2**(i17 + i18) - x58 =L= 0;
e20.. 2**(i18 + i19) - x59 =L= 0;
e21.. 2**(i19 + i20) - x60 =L= 0;
e22.. 2**(i20 + x21) - x61 =L= 0;
e23.. 2**(x21 + x22) - x62 =L= 0;
e24.. 2**(x22 + x23) - x63 =L= 0;
e25.. 2**(x23 + x24) - x64 =L= 0;
e26.. 2**(x24 + x25) - x65 =L= 0;
e27.. 2**(x25 + x26) - x66 =L= 0;
e28.. 2**(x26 + x27) - x67 =L= 0;
e29.. 2**(x27 + x28) - x68 =L= 0;
e30.. 2**(x28 + x29) - x69 =L= 0;
e31.. 2**(x29 + x30) - x70 =L= 0;
e32.. 2**(x30 + x31) - x71 =L= 0;
e33.. 2**(x31 + x32) - x72 =L= 0;
e34.. 2**(x32 + x33) - x73 =L= 0;
e35.. 2**(x33 + x34) - x74 =L= 0;
e36.. 2**(x34 + x35) - x75 =L= 0;
e37.. 2**(x35 + x36) - x76 =L= 0;
e38.. 2**(x36 + x37) - x77 =L= 0;
e39.. 2**(x37 + x38) - x78 =L= 0;
e40.. 2**(x38 + x39) - x79 =L= 0;
e41.. 2**(x39 + x40) - x80 =L= 0;
* set non-default bounds
i1.up = 5;
i2.up = 5;
i3.up = 5;
i4.up = 5;
i5.up = 5;
i6.up = 5;
i7.up = 5;
i8.up = 5;
i9.up = 5;
i10.up = 5;
i11.up = 5;
i12.up = 5;
i13.up = 5;
i14.up = 5;
i15.up = 5;
i16.up = 5;
i17.up = 5;
i18.up = 5;
i19.up = 5;
i20.up = 5;
x21.up = 5;
x22.up = 5;
x23.up = 5;
x24.up = 5;
x25.up = 5;
x26.up = 5;
x27.up = 5;
x28.up = 5;
x29.up = 5;
x30.up = 5;
x31.up = 5;
x32.up = 5;
x33.up = 5;
x34.up = 5;
x35.up = 5;
x36.up = 5;
x37.up = 5;
x38.up = 5;
x39.up = 5;
x40.up = 5;
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: 2025-08-07 Git hash: e62cedfc

