MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance: heatexch_spec2

Formats ams gms mod nl osil
Primal Bounds
634979.04500000 p1 ( gdx sol )
(infeas: 2e-12)
634977.82840000 p2 ( gdx sol )
(infeas: 0)
Dual Bounds
634978.00000000 (BARON)
627798.51140000 (COUENNE)
634445.67020000 (LINDO)
634151.49000000 (SCIP)
References Escobar, Marcelo and Grossmann, I E, Mixed-Integer Nonlinear Programming Models for Optimal Simultaneous Synthesis of Heat Exchangers Network, 2010.
Source Specilized_Model_Case2_NLP_Improvement.gms from minlp.org model 93
Application Heat Exchanger Network
Added to library 25 Sep 2013
Problem type MBNLP
#Variables 76
#Binary Variables 16
#Integer Variables 0
#Nonlinear Variables 42
#Nonlinear Binary Variables 0
#Nonlinear Integer Variables 0
Objective Sense min
Objective type nonlinear
Objective curvature indefinite
#Nonzeros in Objective 58
#Nonlinear Nonzeros in Objective 42
#Constraints 90
#Linear Constraints 90
#Quadratic Constraints 0
#Polynomial Constraints 0
#Signomial Constraints 0
#General Nonlinear Constraints 0
Operands in Gen. Nonlin. Functions mul div vcpower
Constraints curvature linear
#Nonzeros in Jacobian 242
#Nonlinear Nonzeros in Jacobian 0
#Nonzeros in (Upper-Left) Hessian of Lagrangian 114
#Nonzeros in Diagonal of Hessian of Lagrangian 42
#Blocks in Hessian of Lagrangian 16
Minimal blocksize in Hessian of Lagrangian 1
Maximal blocksize in Hessian of Lagrangian 5
Average blocksize in Hessian of Lagrangian 2.625
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
Infeasibility of initial point 6660
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
*         91       31       18       42        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*         77       61       16        0        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        301      259       42        0
*
*  Solve m using MINLP minimizing objvar;


Variables  b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,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,objvar;

Positive Variables  x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48
          ,x49,x50,x51,x52,x53,x54,x55;

Binary Variables  b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16;

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;


e1..    6*x17 - 6*x18 - x35 =E= 0;

e2..    6*x18 - 6*x19 - x36 =E= 0;

e3..    4*x20 - 4*x21 - x38 =E= 0;

e4..    4*x21 - 4*x22 - x39 =E= 0;

e5..    6*x23 - 6*x24 - x41 =E= 0;

e6..    6*x24 - 6*x25 - x42 =E= 0;

e7..    20*x26 - 20*x27 - x44 =E= 0;

e8..    20*x27 - 20*x28 - x45 =E= 0;

e9..    12*x29 - 12*x30 - x47 =E= 0;

e10..    12*x30 - 12*x31 - x48 =E= 0;

e11..    18*x32 - 18*x33 - x35 - x38 - x41 - x44 - x47 =E= 0;

e12..    18*x33 - 18*x34 - x36 - x39 - x42 - x45 - x48 =E= 0;

e13..    6*x19 - x50 =E= 1920;

e14..    4*x22 - x51 =E= 1520;

e15..    6*x25 - x52 =E= 2160;

e16..    20*x28 - x53 =E= 7200;

e17..    12*x31 - x54 =E= 3840;

e18..  - x35 - x36 - x50 =E= -1080;

e19..  - x38 - x39 - x51 =E= -400;

e20..  - x41 - x42 - x52 =E= -600;

e21..  - x44 - x45 - x53 =E= -400;

e22..  - x47 - x48 - x54 =E= -720;

e23..  - 18*x32 - x55 =E= -11880;

e24..  - x35 - x36 - x38 - x39 - x41 - x42 - x44 - x45 - x47 - x48 - x55
       =E= -6660;

e25..    x17 - x18 =G= 0;

e26..    x18 - x19 =G= 0;

e27..    x20 - x21 =G= 0;

e28..    x21 - x22 =G= 0;

e29..    x23 - x24 =G= 0;

e30..    x24 - x25 =G= 0;

e31..    x26 - x27 =G= 0;

e32..    x27 - x28 =G= 0;

e33..    x29 - x30 =G= 0;

e34..    x30 - x31 =G= 0;

e35..    x32 - x33 =G= 0;

e36..    x33 - x34 =G= 0;

e37..    x19 =G= 320;

e38..    x22 =G= 380;

e39..    x25 =G= 360;

e40..    x28 =G= 360;

e41..    x31 =G= 320;

e42..  - x32 =G= -660;

e43..  - x17 =E= -500;

e44..  - x20 =E= -480;

e45..  - x23 =E= -460;

e46..  - x26 =E= -380;

e47..  - x29 =E= -380;

e48..  - x34 =E= -290;

e49..  - 1080*b1 + x35 =L= 0;

e50..  - 1080*b2 + x36 =L= 0;

e51..  - 400*b3 + x38 =L= 0;

e52..  - 400*b4 + x39 =L= 0;

e53..  - 600*b5 + x41 =L= 0;

e54..  - 600*b6 + x42 =L= 0;

e55..  - 400*b7 + x44 =L= 0;

e56..  - 400*b8 + x45 =L= 0;

e57..  - 720*b9 + x47 =L= 0;

e58..  - 720*b10 + x48 =L= 0;

e59..  - 6660*b16 + x55 =L= 0;

e60..  - 1080*b11 + x50 =L= 0;

e61..  - 400*b12 + x51 =L= 0;

e62..  - 600*b13 + x52 =L= 0;

e63..  - 400*b14 + x53 =L= 0;

e64..  - 720*b15 + x54 =L= 0;

e65..    340*b1 - x17 + x32 + x56 =L= 340;

e66..    340*b2 - x18 + x33 + x57 =L= 340;

e67..    280*b3 - x20 + x32 + x59 =L= 280;

e68..    280*b4 - x21 + x33 + x60 =L= 280;

e69..    300*b5 - x23 + x32 + x62 =L= 300;

e70..    300*b6 - x24 + x33 + x63 =L= 300;

e71..    300*b7 - x26 + x32 + x65 =L= 300;

e72..    300*b8 - x27 + x33 + x66 =L= 300;

e73..    340*b9 - x29 + x32 + x68 =L= 340;

e74..    340*b10 - x30 + x33 + x69 =L= 340;

e75..    340*b1 - x18 + x33 + x57 =L= 340;

e76..    340*b2 - x19 + x34 + x58 =L= 340;

e77..    280*b3 - x21 + x33 + x60 =L= 280;

e78..    280*b4 - x22 + x34 + x61 =L= 280;

e79..    300*b5 - x24 + x33 + x63 =L= 300;

e80..    300*b6 - x25 + x34 + x64 =L= 300;

e81..    300*b7 - x27 + x33 + x66 =L= 300;

e82..    300*b8 - x28 + x34 + x67 =L= 300;

e83..    340*b9 - x30 + x33 + x69 =L= 340;

e84..    340*b10 - x31 + x34 + x70 =L= 340;

e85..  - x19 + x71 =L= -320;

e86..  - x22 + x72 =L= -320;

e87..  - x25 + x73 =L= -320;

e88..  - x28 + x74 =L= -320;

e89..  - x31 + x75 =L= -320;

e90..    x32 + x76 =L= 700;

e91.. -(1200*((1e-6 + x35/(1e-6 + (1e-6 + 0.5*x56*x57*(x56 + x57))**0.33333))**
      0.6 + (1e-6 + x36/(1e-6 + (1e-6 + 0.5*x57*x58*(x57 + x58))**0.33333))**
      0.6 + (1e-6 + 99.9853968566039*x37)**0.6 + (1e-6 + x38/(1e-6 + (1e-6 + 
      0.5*x59*x60*(x59 + x60))**0.33333))**0.6 + (1e-6 + x39/(1e-6 + (1e-6 + 
      0.5*x60*x61*(x60 + x61))**0.33333))**0.6 + (1e-6 + 99.9853968566039*x40)
      **0.6 + (1e-6 + x41/(1e-6 + (1e-6 + 0.5*x62*x63*(x62 + x63))**0.33333))**
      0.6 + (1e-6 + x42/(1e-6 + (1e-6 + 0.5*x63*x64*(x63 + x64))**0.33333))**
      0.6 + (1e-6 + 99.9853968566039*x43)**0.6 + (1e-6 + x44/(1e-6 + (1e-6 + 
      0.5*x65*x66*(x65 + x66))**0.33333))**0.6 + (1e-6 + x45/(1e-6 + (1e-6 + 
      0.5*x66*x67*(x66 + x67))**0.33333))**0.6 + (1e-6 + 99.9853968566039*x46)
      **0.6 + (1e-6 + x47/(1e-6 + (1e-6 + 0.5*x68*x69*(x68 + x69))**0.33333))**
      0.6 + (1e-6 + x48/(1e-6 + (1e-6 + 0.5*x69*x70*(x69 + x70))**0.33333))**
      0.6 + (1e-6 + 99.9853968566039*x49)**0.6) + 1200*(1e-6 + x55/(1e-6 + 40*
      x76*(20 + 0.5*x76))**0.33333)**0.6 + 140*x55 + 1200*((1e-6 + x50/(1e-6 + 
      10*x71*(20 + x71))**0.33333)**0.6 + (1e-6 + x51/(1e-6 + 40*x72*(80 + x72)
      )**0.33333)**0.6 + (1e-6 + x52/(1e-6 + 30*x73*(60 + x73))**0.33333)**0.6
       + (1e-6 + x53/(1e-6 + 30*x74*(60 + x74))**0.33333)**0.6 + (1e-6 + x54/(
      1e-6 + 10*x75*(20 + x75))**0.33333)**0.6) + 10*x50 + 10*x51 + 10*x52 + 10
      *x53 + 10*x54) - 5500*b1 - 5500*b2 - 5500*b3 - 5500*b4 - 5500*b5
       - 5500*b6 - 5500*b7 - 5500*b8 - 5500*b9 - 5500*b10 - 5500*b11 - 5500*b12
       - 5500*b13 - 5500*b14 - 5500*b15 - 5500*b16 + objvar =E= 0;

* set non-default bounds
x17.lo = 320; x17.up = 500;
x18.lo = 320; x18.up = 500;
x19.lo = 320; x19.up = 500;
x20.lo = 380; x20.up = 480;
x21.lo = 380; x21.up = 480;
x22.lo = 380; x22.up = 480;
x23.lo = 360; x23.up = 460;
x24.lo = 360; x24.up = 460;
x25.lo = 360; x25.up = 460;
x26.lo = 360; x26.up = 380;
x27.lo = 360; x27.up = 380;
x28.lo = 360; x28.up = 380;
x29.lo = 320; x29.up = 380;
x30.lo = 320; x30.up = 380;
x31.lo = 320; x31.up = 380;
x32.lo = 290; x32.up = 660;
x33.lo = 290; x33.up = 660;
x34.lo = 290; x34.up = 660;
x56.lo = 10;
x57.lo = 10;
x58.lo = 10;
x59.lo = 10;
x60.lo = 10;
x61.lo = 10;
x62.lo = 10;
x63.lo = 10;
x64.lo = 10;
x65.lo = 10;
x66.lo = 10;
x67.lo = 10;
x68.lo = 10;
x69.lo = 10;
x70.lo = 10;
x71.lo = 10;
x72.lo = 10;
x73.lo = 10;
x74.lo = 10;
x75.lo = 10;
x76.lo = 10;

* set non-default levels
x17.l = 500;
x18.l = 500;
x19.l = 500;
x20.l = 480;
x21.l = 480;
x22.l = 480;
x23.l = 460;
x24.l = 460;
x25.l = 460;
x26.l = 380;
x27.l = 380;
x28.l = 380;
x29.l = 380;
x30.l = 380;
x31.l = 380;
x35.l = 1080;
x36.l = 1080;
x38.l = 400;
x39.l = 400;
x41.l = 600;
x42.l = 600;
x44.l = 400;
x45.l = 400;
x47.l = 720;
x48.l = 720;
x56.l = 210;
x57.l = 210;
x58.l = 210;
x59.l = 190;
x60.l = 190;
x61.l = 190;
x62.l = 170;
x63.l = 170;
x64.l = 170;
x65.l = 90;
x66.l = 90;
x67.l = 90;
x68.l = 90;
x69.l = 90;
x70.l = 90;
x71.l = 180;
x72.l = 160;
x73.l = 140;
x74.l = 60;
x75.l = 60;
x76.l = 410;

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