MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance cvxnonsep_normcon40
convex MINLP test problem with non-separable 2-norm constraint see also problem description (PDF).
| Formatsⓘ | ams gms mod nl osil py |
| Primal Bounds (infeas ≤ 1e-08)ⓘ | |
| Other points (infeas > 1e-08)ⓘ | |
| Dual Boundsⓘ | -89.40000000 (ALPHAECP) -32.62967116 (ANTIGONE) -32.62966975 (BARON) -32.62966972 (BONMIN) -32.62984843 (COUENNE) -32.62966972 (LINDO) -32.62967099 (SCIP) -32.63054933 (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ⓘ | 40 |
| #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ⓘ | 1 |
| #Linear Constraintsⓘ | 0 |
| #Quadratic Constraintsⓘ | 0 |
| #Polynomial Constraintsⓘ | 0 |
| #Signomial Constraintsⓘ | 0 |
| #General Nonlinear Constraintsⓘ | 1 |
| Operands in Gen. Nonlin. Functionsⓘ | sqr sqrt |
| Constraints curvatureⓘ | convex |
| #Nonzeros in Jacobianⓘ | 40 |
| #Nonlinear Nonzeros in Jacobianⓘ | 40 |
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 1600 |
| #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ⓘ | 1.0000e-04 |
| Maximal coefficientⓘ | 9.8000e-01 |
| Infeasibility of initial pointⓘ | 0 |
| Sparsity Jacobianⓘ | ![]() |
| Sparsity Hessian of Lagrangianⓘ | ![]() |
$offlisting
*
* Equation counts
* Total E G L N X C B
* 2 1 0 1 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 41 21 0 20 0 0 0 0
* FX 0
*
* Nonzero counts
* Total const NL DLL
* 81 41 40 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;
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;
e1.. sqrt(0.0001 + sqr(i1) + sqr(i2) + sqr(i3) + sqr(i4) + sqr(i5) + sqr(i6) +
sqr(i7) + sqr(i8) + sqr(i9) + sqr(i10) + sqr(i11) + sqr(i12) + sqr(i13) +
sqr(i14) + sqr(i15) + sqr(i16) + sqr(i17) + sqr(i18) + sqr(i19) + sqr(i20)
+ sqr(x21) + sqr(x22) + sqr(x23) + sqr(x24) + sqr(x25) + sqr(x26) + sqr(
x27) + sqr(x28) + sqr(x29) + sqr(x30) + sqr(x31) + sqr(x32) + sqr(x33) +
sqr(x34) + sqr(x35) + sqr(x36) + sqr(x37) + sqr(x38) + sqr(x39) + sqr(x40)
) =L= 10;
e2.. - 0.64*i1 - 0.38*i2 - 0.19*i3 - 0.43*i4 - 0.48*i5 - 0.12*i6 - 0.59*i7
- 0.23*i8 - 0.38*i9 - 0.85*i10 - 0.25*i11 - 0.29*i12 - 0.62*i13
- 0.82*i14 - 0.27*i15 - 0.98*i16 - 0.73*i17 - 0.34*i18 - 0.58*i19
- 0.11*i20 - 0.91*x21 - 0.88*x22 - 0.82*x23 - 0.26*x24 - 0.02*x25
- 0.43*x26 - 0.31*x27 - 0.59*x28 - 0.16*x29 - 0.18*x30 - 0.42*x31
- 0.09*x32 - 0.6*x33 - 0.47*x34 - 0.7*x35 - 0.7*x36 - 0.64*x37 - 0.03*x38
- 0.07*x39 - 0.32*x40 - objvar =E= 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

