MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance hybriddynamic_var

Variable Finite Elements
Formats ams gms mod nl osil pip py
Primal Bounds (infeas ≤ 1e-08)
1.53641516 p1 ( gdx sol )
(infeas: 4e-16)
Other points (infeas > 1e-08)  
Dual Bounds
1.53641516 (ANTIGONE)
1.53641516 (BARON)
1.53641513 (COUENNE)
1.53641426 (LINDO)
1.53641432 (SCIP)
0.00000000 (SHOT)
References Baumrucker, Brian and Biegler, L T, MINLP & MPCC Strategies for Optimization of a Class of Hybrid Dynamic Systems, 2009.
Source del_asl_minlp.gms from minlp.org model 27
Application Hybrid Dynamic Systems
Added to library 24 Sep 2013
Problem type MBNLP
#Variables 81
#Binary Variables 10
#Integer Variables 0
#Nonlinear Variables 31
#Nonlinear Binary Variables 0
#Nonlinear Integer Variables 0
Objective Sense min
Objective type polynomial
Objective curvature indefinite
#Nonzeros in Objective 21
#Nonlinear Nonzeros in Objective 21
#Constraints 100
#Linear Constraints 80
#Quadratic Constraints 20
#Polynomial Constraints 0
#Signomial Constraints 0
#General Nonlinear Constraints 0
Operands in Gen. Nonlin. Functions  
Constraints curvature indefinite
#Nonzeros in Jacobian 265
#Nonlinear Nonzeros in Jacobian 40
#Nonzeros in (Upper-Left) Hessian of Lagrangian 51
#Nonzeros in Diagonal of Hessian of Lagrangian 11
#Blocks in Hessian of Lagrangian 11
Minimal blocksize in Hessian of Lagrangian 1
Maximal blocksize in Hessian of Lagrangian 3
Average blocksize in Hessian of Lagrangian 2.818182
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
Minimal coefficient 1.0000e+00
Maximal coefficient 2.0000e+00
Infeasibility of initial point 3
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
*        101       61       20       20        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*         82       72       10        0        0        0        0        0
*  FX      2
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        287      226       61        0
*
*  Solve m using MINLP minimizing objvar;


Variables  x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,b11,b12,b13,b14,b15,b16,b17,b18,b19
          ,b20,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,objvar;

Binary Variables  b11,b12,b13,b14,b15,b16,b17,b18,b19,b20;

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;


e1.. -(sqr((-1.66666666666667) + x81) + sqr(x61)*x21 + sqr(x62)*x22 + sqr(x63)*
     x23 + sqr(x64)*x24 + sqr(x65)*x25 + sqr(x66)*x26 + sqr(x67)*x27 + sqr(x68)
     *x28 + sqr(x69)*x29 + sqr(x70)*x30) + objvar =E= 0;

e2..  - x21 - x41 + x51 =E= 0;

e3..  - x22 - x42 + x52 =E= 0;

e4..  - x23 - x43 + x53 =E= 0;

e5..  - x24 - x44 + x54 =E= 0;

e6..  - x25 - x45 + x55 =E= 0;

e7..  - x26 - x46 + x56 =E= 0;

e8..  - x27 - x47 + x57 =E= 0;

e9..  - x28 - x48 + x58 =E= 0;

e10..  - x29 - x49 + x59 =E= 0;

e11..  - x30 - x50 + x60 =E= 0;

e12.. -x21*x71 - x31 + x61 =E= 0;

e13.. -x22*x72 - x32 + x62 =E= 0;

e14.. -x23*x73 - x33 + x63 =E= 0;

e15.. -x24*x74 - x34 + x64 =E= 0;

e16.. -x25*x75 - x35 + x65 =E= 0;

e17.. -x26*x76 - x36 + x66 =E= 0;

e18.. -x27*x77 - x37 + x67 =E= 0;

e19.. -x28*x78 - x38 + x68 =E= 0;

e20.. -x29*x79 - x39 + x69 =E= 0;

e21.. -x30*x80 - x40 + x70 =E= 0;

e22..    x1 - 2*b11 =E= -1;

e23..    x2 - 2*b12 =E= -1;

e24..    x3 - 2*b13 =E= -1;

e25..    x4 - 2*b14 =E= -1;

e26..    x5 - 2*b15 =E= -1;

e27..    x6 - 2*b16 =E= -1;

e28..    x7 - 2*b17 =E= -1;

e29..    x8 - 2*b18 =E= -1;

e30..    x9 - 2*b19 =E= -1;

e31..    x10 - 2*b20 =E= -1;

e32..    2*b11 - x61 =L= 2;

e33..    2*b12 - x62 =L= 2;

e34..    2*b13 - x63 =L= 2;

e35..    2*b14 - x64 =L= 2;

e36..    2*b15 - x65 =L= 2;

e37..    2*b16 - x66 =L= 2;

e38..    2*b17 - x67 =L= 2;

e39..    2*b18 - x68 =L= 2;

e40..    2*b19 - x69 =L= 2;

e41..    2*b20 - x70 =L= 2;

e42..    2*b11 - x61 =G= 0;

e43..    2*b12 - x62 =G= 0;

e44..    2*b13 - x63 =G= 0;

e45..    2*b14 - x64 =G= 0;

e46..    2*b15 - x65 =G= 0;

e47..    2*b16 - x66 =G= 0;

e48..    2*b17 - x67 =G= 0;

e49..    2*b18 - x68 =G= 0;

e50..    2*b19 - x69 =G= 0;

e51..    2*b20 - x70 =G= 0;

e52..    2*b11 =L= 2;

e53..    2*b12 - x61 =L= 2;

e54..    2*b13 - x62 =L= 2;

e55..    2*b14 - x63 =L= 2;

e56..    2*b15 - x64 =L= 2;

e57..    2*b16 - x65 =L= 2;

e58..    2*b17 - x66 =L= 2;

e59..    2*b18 - x67 =L= 2;

e60..    2*b19 - x68 =L= 2;

e61..    2*b20 - x69 =L= 2;

e62..    2*b11 =G= 0;

e63..    2*b12 - x61 =G= 0;

e64..    2*b13 - x62 =G= 0;

e65..    2*b14 - x63 =G= 0;

e66..    2*b15 - x64 =G= 0;

e67..    2*b16 - x65 =G= 0;

e68..    2*b17 - x66 =G= 0;

e69..    2*b18 - x67 =G= 0;

e70..    2*b19 - x68 =G= 0;

e71..    2*b20 - x69 =G= 0;

e72..  - x21 - x41 + x42 =E= 0;

e73..  - x22 - x42 + x43 =E= 0;

e74..  - x23 - x43 + x44 =E= 0;

e75..  - x24 - x44 + x45 =E= 0;

e76..  - x25 - x45 + x46 =E= 0;

e77..  - x26 - x46 + x47 =E= 0;

e78..  - x27 - x47 + x48 =E= 0;

e79..  - x28 - x48 + x49 =E= 0;

e80..  - x29 - x49 + x50 =E= 0;

e81.. -x21*x71 - x31 + x32 =E= 0;

e82.. -x22*x72 - x32 + x33 =E= 0;

e83.. -x23*x73 - x33 + x34 =E= 0;

e84.. -x24*x74 - x34 + x35 =E= 0;

e85.. -x25*x75 - x35 + x36 =E= 0;

e86.. -x26*x76 - x36 + x37 =E= 0;

e87.. -x27*x77 - x37 + x38 =E= 0;

e88.. -x28*x78 - x38 + x39 =E= 0;

e89.. -x29*x79 - x39 + x40 =E= 0;

e90.. -x30*x80 - x40 + x81 =E= 0;

e91..    x1 + x71 =E= 2;

e92..    x2 + x72 =E= 2;

e93..    x3 + x73 =E= 2;

e94..    x4 + x74 =E= 2;

e95..    x5 + x75 =E= 2;

e96..    x6 + x76 =E= 2;

e97..    x7 + x77 =E= 2;

e98..    x8 + x78 =E= 2;

e99..    x9 + x79 =E= 2;

e100..    x10 + x80 =E= 2;

e101..    x21 + x22 + x23 + x24 + x25 + x26 + x27 + x28 + x29 + x30 =E= 2;

* set non-default bounds
x1.lo = -1; x1.up = 1;
x2.lo = -1; x2.up = 1;
x3.lo = -1; x3.up = 1;
x4.lo = -1; x4.up = 1;
x5.lo = -1; x5.up = 1;
x6.lo = -1; x6.up = 1;
x7.lo = -1; x7.up = 1;
x8.lo = -1; x8.up = 1;
x9.lo = -1; x9.up = 1;
x10.lo = -1; x10.up = 1;
x21.lo = 0.16; x21.up = 0.24;
x22.lo = 0.16; x22.up = 0.24;
x23.lo = 0.16; x23.up = 0.24;
x24.lo = 0.16; x24.up = 0.24;
x25.lo = 0.16; x25.up = 0.24;
x26.lo = 0.16; x26.up = 0.24;
x27.lo = 0.16; x27.up = 0.24;
x28.lo = 0.16; x28.up = 0.24;
x29.lo = 0.16; x29.up = 0.24;
x30.lo = 0.16; x30.up = 0.24;
x31.fx = -2;
x41.fx = 0;
x61.lo = -2; x61.up = 2;
x62.lo = -2; x62.up = 2;
x63.lo = -2; x63.up = 2;
x64.lo = -2; x64.up = 2;
x65.lo = -2; x65.up = 2;
x66.lo = -2; x66.up = 2;
x67.lo = -2; x67.up = 2;
x68.lo = -2; x68.up = 2;
x69.lo = -2; x69.up = 2;
x70.lo = -2; x70.up = 2;

* set non-default levels
x1.l = -1;
x2.l = -1;
x3.l = -1;
x4.l = -1;
x5.l = -1;
x6.l = -1;
x7.l = -1;
x8.l = -1;
x9.l = -1;
x10.l = -1;
x21.l = 0.2;
x22.l = 0.2;
x23.l = 0.2;
x24.l = 0.2;
x25.l = 0.2;
x26.l = 0.2;
x27.l = 0.2;
x28.l = 0.2;
x29.l = 0.2;
x30.l = 0.2;
x32.l = -2;
x33.l = -2;
x34.l = -2;
x35.l = -2;
x36.l = -2;
x37.l = -2;
x38.l = -2;
x39.l = -2;
x40.l = -2;
x42.l = 1;
x43.l = 1;
x44.l = 1;
x45.l = 1;
x46.l = 1;
x47.l = 1;
x48.l = 1;
x49.l = 1;
x50.l = 1;
x51.l = 1;
x52.l = 1;
x53.l = 1;
x54.l = 1;
x55.l = 1;
x56.l = 1;
x57.l = 1;
x58.l = 1;
x59.l = 1;
x60.l = 1;
x61.l = -2;
x62.l = -2;
x63.l = -2;
x64.l = -2;
x65.l = -2;
x66.l = -2;
x67.l = -2;
x68.l = -2;
x69.l = -2;
x70.l = -2;
x81.l = 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% minimizing objvar;


Last updated: 2024-03-25 Git hash: 1dae024f
Imprint / Privacy Policy / License: CC-BY 4.0