MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance: heatexch_spec1

Formats ams gms mod nl osil
Primal Bounds
154997.33490000 p1 ( gdx sol )
(infeas: 1e-12)
Dual Bounds
125702.42460000 (ANTIGONE)
154997.32000000 (BARON)
145407.15180000 (COUENNE)
154954.81890000 (LINDO)
154498.65490000 (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_Case1.gms from minlp.org model 93
Application Heat Exchanger Network
Added to library 25 Sep 2013
Problem type MBNLP
#Variables 56
#Binary Variables 12
#Integer Variables 0
#Nonlinear Variables 32
#Nonlinear Binary Variables 0
#Nonlinear Integer Variables 0
Objective Sense min
Objective type nonlinear
Objective curvature indefinite
#Nonzeros in Objective 44
#Nonlinear Nonzeros in Objective 32
#Constraints 64
#Linear Constraints 64
#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 180
#Nonlinear Nonzeros in Jacobian 0
#Nonzeros in (Upper-Left) Hessian of Lagrangian 96
#Nonzeros in Diagonal of Hessian of Lagrangian 32
#Blocks in Hessian of Lagrangian 11
Minimal blocksize in Hessian of Lagrangian 1
Maximal blocksize in Hessian of Lagrangian 5
Average blocksize in Hessian of Lagrangian 2.909091
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
Infeasibility of initial point 9200
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
*         65       21       12       32        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*         57       45       12        0        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        225      193       32        0
*
*  Solve m using MINLP minimizing objvar;


Variables  b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,x13,x14,x15,x16,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,objvar;

Positive Variables  x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38
          ,x39,x40;

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

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;


e1..    10*x13 - 10*x14 - x25 - x28 =E= 0;

e2..    10*x14 - 10*x15 - x26 - x29 =E= 0;

e3..    20*x16 - 20*x17 - x31 - x34 =E= 0;

e4..    20*x17 - 20*x18 - x32 - x35 =E= 0;

e5..    15*x19 - 15*x20 - x25 - x31 =E= 0;

e6..    15*x20 - 15*x21 - x26 - x32 =E= 0;

e7..    13*x22 - 13*x23 - x28 - x34 =E= 0;

e8..    13*x23 - 13*x24 - x29 - x35 =E= 0;

e9..    10*x15 - x37 =E= 3700;

e10..    20*x18 - x38 =E= 7400;

e11..  - x25 - x26 - x28 - x29 - x37 =E= -2800;

e12..  - x31 - x32 - x34 - x35 - x38 =E= -4400;

e13..  - 15*x19 - x39 =E= -9750;

e14..  - 13*x22 - x40 =E= -6500;

e15..  - x25 - x26 - x31 - x32 - x39 =E= -3600;

e16..  - x28 - x29 - x34 - x35 - x40 =E= -1950;

e17..    x13 - x14 =G= 0;

e18..    x14 - x15 =G= 0;

e19..    x16 - x17 =G= 0;

e20..    x17 - x18 =G= 0;

e21..    x19 - x20 =G= 0;

e22..    x20 - x21 =G= 0;

e23..    x22 - x23 =G= 0;

e24..    x23 - x24 =G= 0;

e25..    x15 =G= 370;

e26..    x18 =G= 370;

e27..  - x19 =G= -650;

e28..  - x22 =G= -500;

e29..  - x13 =E= -650;

e30..  - x16 =E= -590;

e31..  - x21 =E= -410;

e32..  - x24 =E= -350;

e33..  - 2800*b1 + x25 =L= 0;

e34..  - 2800*b2 + x26 =L= 0;

e35..  - 1950*b3 + x28 =L= 0;

e36..  - 1950*b4 + x29 =L= 0;

e37..  - 3600*b5 + x31 =L= 0;

e38..  - 3600*b6 + x32 =L= 0;

e39..  - 1950*b7 + x34 =L= 0;

e40..  - 1950*b8 + x35 =L= 0;

e41..  - 3600*b11 + x39 =L= 0;

e42..  - 1950*b12 + x40 =L= 0;

e43..  - 2800*b9 + x37 =L= 0;

e44..  - 4400*b10 + x38 =L= 0;

e45..    280*b1 - x13 + x19 + x41 =L= 280;

e46..    280*b2 - x14 + x20 + x42 =L= 280;

e47..    130*b3 - x13 + x22 + x44 =L= 130;

e48..    130*b4 - x14 + x23 + x45 =L= 130;

e49..    280*b5 - x16 + x19 + x47 =L= 280;

e50..    280*b6 - x17 + x20 + x48 =L= 280;

e51..    130*b7 - x16 + x22 + x50 =L= 130;

e52..    130*b8 - x17 + x23 + x51 =L= 130;

e53..    280*b1 - x14 + x20 + x42 =L= 280;

e54..    280*b2 - x15 + x21 + x43 =L= 280;

e55..    130*b3 - x14 + x23 + x45 =L= 130;

e56..    130*b4 - x15 + x24 + x46 =L= 130;

e57..    280*b5 - x17 + x20 + x48 =L= 280;

e58..    280*b6 - x18 + x21 + x49 =L= 280;

e59..    130*b7 - x17 + x23 + x51 =L= 130;

e60..    130*b8 - x18 + x24 + x52 =L= 130;

e61..  - x15 + x53 =L= -320;

e62..  - x18 + x54 =L= -320;

e63..    x19 + x55 =L= 680;

e64..    x22 + x56 =L= 680;

e65.. -(150*((1e-6 + 2*x25/(1e-6 + (1e-6 + 0.5*x41*x42*(x41 + x42))**0.33333))
      **1 + (1e-6 + 2*x26/(1e-6 + (1e-6 + 0.5*x42*x43*(x42 + x43))**0.33333))**
      1 + (1e-6 + 199.970793713208*x27)**1 + (1e-6 + 2*x28/(1e-6 + (1e-6 + 0.5*
      x44*x45*(x44 + x45))**0.33333))**1 + (1e-6 + 2*x29/(1e-6 + (1e-6 + 0.5*
      x45*x46*(x45 + x46))**0.33333))**1 + (1e-6 + 199.970793713208*x30)**1 + (
      1e-6 + 2*x31/(1e-6 + (1e-6 + 0.5*x47*x48*(x47 + x48))**0.33333))**1 + (
      1e-6 + 2*x32/(1e-6 + (1e-6 + 0.5*x48*x49*(x48 + x49))**0.33333))**1 + (
      1e-6 + 199.970793713208*x33)**1 + (1e-6 + 2*x34/(1e-6 + (1e-6 + 0.5*x50*
      x51*(x50 + x51))**0.33333))**1 + (1e-6 + 2*x35/(1e-6 + (1e-6 + 0.5*x51*
      x52*(x51 + x52))**0.33333))**1 + (1e-6 + 199.970793713208*x36)**1) + 150*
      (2e-6 + 1.2*x39/(1e-6 + 30*x55*(15 + 0.5*x55))**0.33333 + 1.2*x40/(1e-6
       + 180*x56*(90 + 0.5*x56))**0.33333)**1 + 80*x39 + 80*x40 + 150*((1e-6 + 
      2*x37/(1e-6 + 35*x53*(70 + x53))**0.33333)**1 + (1e-6 + 2*x38/(1e-6 + 35*
      x54*(70 + x54))**0.33333)**1) + 15*x37 + 15*x38) - 5500*b1 - 5500*b2
       - 5500*b3 - 5500*b4 - 5500*b5 - 5500*b6 - 5500*b7 - 5500*b8 - 5500*b9
       - 5500*b10 - 5500*b11 - 5500*b12 + objvar =E= 0;

* set non-default bounds
x13.lo = 370; x13.up = 650;
x14.lo = 370; x14.up = 650;
x15.lo = 370; x15.up = 650;
x16.lo = 370; x16.up = 590;
x17.lo = 370; x17.up = 590;
x18.lo = 370; x18.up = 590;
x19.lo = 410; x19.up = 650;
x20.lo = 410; x20.up = 650;
x21.lo = 410; x21.up = 650;
x22.lo = 350; x22.up = 500;
x23.lo = 350; x23.up = 500;
x24.lo = 350; x24.up = 500;
x41.lo = 10;
x42.lo = 10;
x43.lo = 10;
x44.lo = 10;
x45.lo = 10;
x46.lo = 10;
x47.lo = 10;
x48.lo = 10;
x49.lo = 10;
x50.lo = 10;
x51.lo = 10;
x52.lo = 10;
x53.lo = 10;
x54.lo = 10;
x55.lo = 10;
x56.lo = 10;

* set non-default levels
x13.l = 650;
x14.l = 650;
x15.l = 650;
x16.l = 590;
x17.l = 590;
x18.l = 590;
x25.l = 2800;
x26.l = 2800;
x28.l = 1950;
x29.l = 1950;
x31.l = 3600;
x32.l = 3600;
x34.l = 1950;
x35.l = 1950;
x41.l = 240;
x42.l = 240;
x43.l = 240;
x44.l = 300;
x45.l = 300;
x46.l = 300;
x47.l = 180;
x48.l = 180;
x49.l = 180;
x50.l = 240;
x51.l = 240;
x52.l = 240;
x53.l = 330;
x54.l = 270;
x55.l = 270;
x56.l = 330;

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