MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance: cvxnonsep_psig40r

separable reformulation of convex MINLP test problem with non-separable signomial objective function (cvxnonsep_psig40)
see also problem description (PDF).
Formats ams gms mod nl osil
Primal Bounds
86.54510470 p1 ( gdx sol )
(infeas: 0)
Dual Bounds
86.54040436 (ALPHAECP)
77.78113099 (ANTIGONE)
86.53645105 (BARON)
0.00000000 (BONMIN)
86.54202844 (COUENNE)
86.54510470 (LINDO)
86.54240213 (SCIP)
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 82
#Binary Variables 0
#Integer Variables 20
#Nonlinear Variables 41
#Nonlinear Binary Variables 0
#Nonlinear Integer Variables 20
Objective Sense min
Objective type linear
Objective curvature linear
#Nonzeros in Objective 41
#Nonlinear Nonzeros in Objective 0
#Constraints 42
#Linear Constraints 1
#Quadratic Constraints 0
#Polynomial Constraints 0
#Signomial Constraints 0
#General Nonlinear Constraints 41
Operands in Gen. Nonlin. Functions log
Constraints curvature convex
#Nonzeros in Jacobian 123
#Nonlinear Nonzeros in Jacobian 41
#Nonzeros in (Upper-Left) Hessian of Lagrangian 41
#Nonzeros in Diagonal of Hessian of Lagrangian 41
#Blocks in Hessian of Lagrangian 41
Minimal blocksize in Hessian of Lagrangian 1
Maximal blocksize in Hessian of Lagrangian 1
Average blocksize in Hessian of Lagrangian 1.0
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
Infeasibility of initial point 20.72
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
*         43        1        0       42        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*         83       63        0       20        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        165      124       41        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,x81,x82,x83;

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,e42,e43;


e1..    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 + 40000*x83 =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 + x81 + x82 =L= 0;

e3.. -0.015*log(i1) - x42 =L= 0;

e4.. -0.37*log(i2) - x43 =L= 0;

e5.. -0.25*log(i3) - x44 =L= 0;

e6.. -0.24*log(i4) - x45 =L= 0;

e7.. -0.45*log(i5) - x46 =L= 0;

e8.. -0.305*log(i6) - x47 =L= 0;

e9.. -0.31*log(i7) - x48 =L= 0;

e10.. -0.43*log(i8) - x49 =L= 0;

e11.. -0.405*log(i9) - x50 =L= 0;

e12.. -0.29*log(i10) - x51 =L= 0;

e13.. -0.09*log(i11) - x52 =L= 0;

e14.. -0.12*log(i12) - x53 =L= 0;

e15.. -0.445*log(i13) - x54 =L= 0;

e16.. -0.015*log(i14) - x55 =L= 0;

e17.. -0.245*log(i15) - x56 =L= 0;

e18.. -0.085*log(i16) - x57 =L= 0;

e19.. -0.49*log(i17) - x58 =L= 0;

e20.. -0.355*log(i18) - x59 =L= 0;

e21.. -0.25*log(i19) - x60 =L= 0;

e22.. -0.235*log(i20) - x61 =L= 0;

e23.. -0.03*log(x21) - x62 =L= 0;

e24.. -0.34*log(x22) - x63 =L= 0;

e25.. -0.02*log(x23) - x64 =L= 0;

e26.. -0.035*log(x24) - x65 =L= 0;

e27.. -0.26*log(x25) - x66 =L= 0;

e28.. -0.05*log(x26) - x67 =L= 0;

e29.. -0.41*log(x27) - x68 =L= 0;

e30.. -0.41*log(x28) - x69 =L= 0;

e31.. -0.36*log(x29) - x70 =L= 0;

e32.. -0.075*log(x30) - x71 =L= 0;

e33.. -0.36*log(x31) - x72 =L= 0;

e34.. -0.33*log(x32) - x73 =L= 0;

e35.. -0.26*log(x33) - x74 =L= 0;

e36.. -0.485*log(x34) - x75 =L= 0;

e37.. -0.4*log(x35) - x76 =L= 0;

e38.. -0.225*log(x36) - x77 =L= 0;

e39.. -0.215*log(x37) - x78 =L= 0;

e40.. -0.415*log(x38) - x79 =L= 0;

e41.. -0.04*log(x39) - x80 =L= 0;

e42.. -0.065*log(x40) - x81 =L= 0;

e43.. -log(x83) - x82 =L= 0;

* set non-default bounds
i1.lo = 1; i1.up = 10;
i2.lo = 1; i2.up = 10;
i3.lo = 1; i3.up = 10;
i4.lo = 1; i4.up = 10;
i5.lo = 1; i5.up = 10;
i6.lo = 1; i6.up = 10;
i7.lo = 1; i7.up = 10;
i8.lo = 1; i8.up = 10;
i9.lo = 1; i9.up = 10;
i10.lo = 1; i10.up = 10;
i11.lo = 1; i11.up = 10;
i12.lo = 1; i12.up = 10;
i13.lo = 1; i13.up = 10;
i14.lo = 1; i14.up = 10;
i15.lo = 1; i15.up = 10;
i16.lo = 1; i16.up = 10;
i17.lo = 1; i17.up = 10;
i18.lo = 1; i18.up = 10;
i19.lo = 1; i19.up = 10;
i20.lo = 1; i20.up = 10;
x21.lo = 1; x21.up = 10;
x22.lo = 1; x22.up = 10;
x23.lo = 1; x23.up = 10;
x24.lo = 1; x24.up = 10;
x25.lo = 1; x25.up = 10;
x26.lo = 1; x26.up = 10;
x27.lo = 1; x27.up = 10;
x28.lo = 1; x28.up = 10;
x29.lo = 1; x29.up = 10;
x30.lo = 1; x30.up = 10;
x31.lo = 1; x31.up = 10;
x32.lo = 1; x32.up = 10;
x33.lo = 1; x33.up = 10;
x34.lo = 1; x34.up = 10;
x35.lo = 1; x35.up = 10;
x36.lo = 1; x36.up = 10;
x37.lo = 1; x37.up = 10;
x38.lo = 1; x38.up = 10;
x39.lo = 1; x39.up = 10;
x40.lo = 1; x40.up = 10;
x83.lo = 1E-9;

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: 2018-09-14 Git hash: ac5a5314
Imprint / Privacy Policy