MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance: heatexch_gen2

Formats ams gms mod nl osil
Primal Bounds
635838.84640000 p2 ( gdx sol )
(infeas: 2e-09)
Dual Bounds
579611.43810000 (ANTIGONE)
585255.58350000 (BARON)
579990.01250000 (COUENNE)
579993.77330000 (LINDO)
583986.90980000 (SCIP)
References Escobar, Marcelo and Grossmann, I E, Mixed-Integer Nonlinear Programming Models for Optimal Simultaneous Synthesis of Heat Exchangers Network, 2010.
Source General_Model_Case2.gms from minlp.org model 93
Application Heat Exchanger Network
Added to library 25 Sep 2013
Problem type MBNLP
#Variables 148
#Binary Variables 16
#Integer Variables 0
#Nonlinear Variables 126
#Nonlinear Binary Variables 0
#Nonlinear Integer Variables 0
Objective Sense min
Objective type nonlinear
Objective curvature concave
#Nonzeros in Objective 43
#Nonlinear Nonzeros in Objective 21
#Constraints 166
#Linear Constraints 102
#Quadratic Constraints 32
#Polynomial Constraints 0
#Signomial Constraints 0
#General Nonlinear Constraints 32
Operands in Gen. Nonlin. Functions div vcpower log
Constraints curvature indefinite
#Nonzeros in Jacobian 484
#Nonlinear Nonzeros in Jacobian 158
#Nonzeros in (Upper-Left) Hessian of Lagrangian 190
#Nonzeros in Diagonal of Hessian of Lagrangian 58
#Blocks in Hessian of Lagrangian 60
Minimal blocksize in Hessian of Lagrangian 1
Maximal blocksize in Hessian of Lagrangian 11
Average blocksize in Hessian of Lagrangian 2.1
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
Infeasibility of initial point 1.08e+05
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
*        167      107       18       42        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*        149      133       16        0        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        528      349      179        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,x77,x78,x79,x80,x81,x82,x83,x84,x85,x86,x87
          ,x88,x89,x90,x91,x92,x93,x94,x95,x96,x97,x98,x99,x100,x101,x102,x103
          ,x104,x105,x106,x107,x108,x109,x110,x111,x112,x113,x114,x115,x116
          ,x117,x118,x119,x120,x121,x122,x123,x124,x125,x126,x127,x128,x129
          ,x130,x131,x132,x133,x134,x135,x136,x137,x138,x139,x140,x141,x142
          ,x143,x144,x145,x146,x147,x148,objvar;

Positive Variables  x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48
          ,x49,x50,x72,x73,x74,x75,x76,x77,x78,x79,x80,x81,x82,x83,x84,x85,x86
          ,x87,x88,x89,x90,x91,x112,x113,x114,x115,x116,x117,x118,x119,x120
          ,x121,x122,x123,x124,x125,x126,x127,x128,x129,x130,x131,x132,x133
          ,x134,x135,x136,x137,x138,x139,x140,x141,x142,x143,x144,x145,x146
          ,x147,x148;

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,e92,e93,e94,e95,e96,e97,e98,e99,e100,e101,e102,e103
          ,e104,e105,e106,e107,e108,e109,e110,e111,e112,e113,e114,e115,e116
          ,e117,e118,e119,e120,e121,e122,e123,e124,e125,e126,e127,e128,e129
          ,e130,e131,e132,e133,e134,e135,e136,e137,e138,e139,e140,e141,e142
          ,e143,e144,e145,e146,e147,e148,e149,e150,e151,e152,e153,e154,e155
          ,e156,e157,e158,e159,e160,e161,e162,e163,e164,e165,e166,e167;


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

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

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

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

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

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

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

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

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

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

e11..    18*x32 - 18*x33 - x35 - x37 - x39 - x41 - x43 =E= 0;

e12..    18*x33 - 18*x34 - x36 - x38 - x40 - x42 - x44 =E= 0;

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

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

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

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

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

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

e19..  - x37 - x38 - x46 =E= -400;

e20..  - x39 - x40 - x47 =E= -600;

e21..  - x41 - x42 - x48 =E= -400;

e22..  - x43 - x44 - x49 =E= -720;

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

e24..  - x35 - x36 - x37 - x38 - x39 - x40 - x41 - x42 - x43 - x44 - x50
       =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..  - x72 =E= -6;

e50..  - x73 =E= -6;

e51..  - x74 =E= -4;

e52..  - x75 =E= -4;

e53..  - x76 =E= -6;

e54..  - x77 =E= -6;

e55..  - x78 =E= -20;

e56..  - x79 =E= -20;

e57..  - x80 =E= -12;

e58..  - x81 =E= -12;

e59..  - x82 - x84 - x86 - x88 - x90 =E= -18;

e60..  - x83 - x85 - x87 - x89 - x91 =E= -18;

e61.. -x72*(x17 - x92) + x35 =E= 0;

e62.. -x73*(x18 - x93) + x36 =E= 0;

e63.. -x74*(x20 - x94) + x37 =E= 0;

e64.. -x75*(x21 - x95) + x38 =E= 0;

e65.. -x76*(x23 - x96) + x39 =E= 0;

e66.. -x77*(x24 - x97) + x40 =E= 0;

e67.. -x78*(x26 - x98) + x41 =E= 0;

e68.. -x79*(x27 - x99) + x42 =E= 0;

e69.. -x80*(x29 - x100) + x43 =E= 0;

e70.. -x81*(x30 - x101) + x44 =E= 0;

e71.. -x82*(x102 - x33) + x35 =E= 0;

e72.. -x83*(x103 - x34) + x36 =E= 0;

e73.. -x84*(x104 - x33) + x37 =E= 0;

e74.. -x85*(x105 - x34) + x38 =E= 0;

e75.. -x86*(x106 - x33) + x39 =E= 0;

e76.. -x87*(x107 - x34) + x40 =E= 0;

e77.. -x88*(x108 - x33) + x41 =E= 0;

e78.. -x89*(x109 - x34) + x42 =E= 0;

e79.. -x90*(x110 - x33) + x43 =E= 0;

e80.. -x91*(x111 - x34) + x44 =E= 0;

e81.. -x72*x92 + 6*x18 =E= 0;

e82.. -x73*x93 + 6*x19 =E= 0;

e83.. -x74*x94 + 4*x21 =E= 0;

e84.. -x75*x95 + 4*x22 =E= 0;

e85.. -x76*x96 + 6*x24 =E= 0;

e86.. -x77*x97 + 6*x25 =E= 0;

e87.. -x78*x98 + 20*x27 =E= 0;

e88.. -x79*x99 + 20*x28 =E= 0;

e89.. -x80*x100 + 12*x30 =E= 0;

e90.. -x81*x101 + 12*x31 =E= 0;

e91.. -(x82*x102 + x84*x104 + x86*x106 + x88*x108 + x90*x110) + 18*x32 =E= 0;

e92.. -(x83*x103 + x85*x105 + x87*x107 + x89*x109 + x91*x111) + 18*x33 =E= 0;

e93.. -(x51 - x52)/log(x51/(1e-6 + x52)) + x112 =E= 0;

e94.. -(x52 - x53)/log(x52/(1e-6 + x53)) + x113 =E= 0;

e95.. -(x54 - x55)/log(x54/(1e-6 + x55)) + x114 =E= 0;

e96.. -(x55 - x56)/log(x55/(1e-6 + x56)) + x115 =E= 0;

e97.. -(x57 - x58)/log(x57/(1e-6 + x58)) + x116 =E= 0;

e98.. -(x58 - x59)/log(x58/(1e-6 + x59)) + x117 =E= 0;

e99.. -(x60 - x61)/log(x60/(1e-6 + x61)) + x118 =E= 0;

e100.. -(x61 - x62)/log(x61/(1e-6 + x62)) + x119 =E= 0;

e101.. -(x63 - x64)/log(x63/(1e-6 + x64)) + x120 =E= 0;

e102.. -(x64 - x65)/log(x64/(1e-6 + x65)) + x121 =E= 0;

e103.. -x35/(0.01 + x112) + x128 =E= 0;

e104.. -x36/(0.01 + x113) + x129 =E= 0;

e105.. -x37/(0.01 + x114) + x131 =E= 0;

e106.. -x38/(0.01 + x115) + x132 =E= 0;

e107.. -x39/(0.01 + x116) + x134 =E= 0;

e108.. -x40/(0.01 + x117) + x135 =E= 0;

e109.. -x41/(0.01 + x118) + x137 =E= 0;

e110.. -x42/(0.01 + x119) + x138 =E= 0;

e111.. -x43/(0.01 + x120) + x140 =E= 0;

e112.. -x44/(0.01 + x121) + x141 =E= 0;

e113.. -(-20 + x66)/log(0.0499999975000001*x66) + x122 =E= 0;

e114.. -(-80 + x67)/log(0.01249999984375*x67) + x123 =E= 0;

e115.. -(-60 + x68)/log(0.0166666663888889*x68) + x124 =E= 0;

e116.. -(-60 + x69)/log(0.0166666663888889*x69) + x125 =E= 0;

e117.. -(-20 + x70)/log(0.0499999975000001*x70) + x126 =E= 0;

e118.. -(-40 + x71)/log(0.024999999375*x71) + x127 =E= 0;

e119.. -x45/(0.01 + x122) + x143 =E= 0;

e120.. -x46/(0.01 + x123) + x144 =E= 0;

e121.. -x47/(0.01 + x124) + x145 =E= 0;

e122.. -x48/(0.01 + x125) + x146 =E= 0;

e123.. -x49/(0.01 + x126) + x147 =E= 0;

e124.. -x50/(0.01 + x127) + x148 =E= 0;

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

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

e127..  - 400*b3 + x37 =L= 0;

e128..  - 400*b4 + x38 =L= 0;

e129..  - 600*b5 + x39 =L= 0;

e130..  - 600*b6 + x40 =L= 0;

e131..  - 400*b7 + x41 =L= 0;

e132..  - 400*b8 + x42 =L= 0;

e133..  - 720*b9 + x43 =L= 0;

e134..  - 720*b10 + x44 =L= 0;

e135..  - 6660*b16 + x50 =L= 0;

e136..  - 1080*b11 + x45 =L= 0;

e137..  - 400*b12 + x46 =L= 0;

e138..  - 600*b13 + x47 =L= 0;

e139..  - 400*b14 + x48 =L= 0;

e140..  - 720*b15 + x49 =L= 0;

e141..    340*b1 - x17 + x32 + x51 =L= 340;

e142..    340*b2 - x18 + x33 + x52 =L= 340;

e143..    280*b3 - x20 + x32 + x54 =L= 280;

e144..    280*b4 - x21 + x33 + x55 =L= 280;

e145..    300*b5 - x23 + x32 + x57 =L= 300;

e146..    300*b6 - x24 + x33 + x58 =L= 300;

e147..    300*b7 - x26 + x32 + x60 =L= 300;

e148..    300*b8 - x27 + x33 + x61 =L= 300;

e149..    340*b9 - x29 + x32 + x63 =L= 340;

e150..    340*b10 - x30 + x33 + x64 =L= 340;

e151..    340*b1 - x18 + x33 + x52 =L= 340;

e152..    340*b2 - x19 + x34 + x53 =L= 340;

e153..    280*b3 - x21 + x33 + x55 =L= 280;

e154..    280*b4 - x22 + x34 + x56 =L= 280;

e155..    300*b5 - x24 + x33 + x58 =L= 300;

e156..    300*b6 - x25 + x34 + x59 =L= 300;

e157..    300*b7 - x27 + x33 + x61 =L= 300;

e158..    300*b8 - x28 + x34 + x62 =L= 300;

e159..    340*b9 - x30 + x33 + x64 =L= 340;

e160..    340*b10 - x31 + x34 + x65 =L= 340;

e161..  - x19 + x66 =L= -320;

e162..  - x22 + x67 =L= -320;

e163..  - x25 + x68 =L= -320;

e164..  - x28 + x69 =L= -320;

e165..  - x31 + x70 =L= -320;

e166..    x32 + x71 =L= 700;

e167.. -(1200*(0.01 + x128)**0.6 + 1200*(0.01 + x129)**0.6 + 1200*(0.01 + x130)
       **0.6 + 1200*(0.01 + x131)**0.6 + 1200*(0.01 + x132)**0.6 + 1200*(0.01
        + x133)**0.6 + 1200*(0.01 + x134)**0.6 + 1200*(0.01 + x135)**0.6 + 1200
       *(0.01 + x136)**0.6 + 1200*(0.01 + x137)**0.6 + 1200*(0.01 + x138)**0.6
        + 1200*(0.01 + x139)**0.6 + 1200*(0.01 + x140)**0.6 + 1200*(0.01 + x141
       )**0.6 + 1200*(0.01 + x142)**0.6 + 1200*(0.01 + x143)**0.6 + 1200*(0.01
        + x144)**0.6 + 1200*(0.01 + x145)**0.6 + 1200*(0.01 + x146)**0.6 + 1200
       *(0.01 + x147)**0.6 + 1200*(0.01 + x148)**0.6) - 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 - 10*x45 - 10*x46 - 10*x47 - 10*x48 - 10*x49 - 140*x50
        + 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;
x51.lo = 10;
x52.lo = 10;
x53.lo = 10;
x54.lo = 10;
x55.lo = 10;
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.up = 6;
x73.up = 6;
x74.up = 4;
x75.up = 4;
x76.up = 6;
x77.up = 6;
x78.up = 20;
x79.up = 20;
x80.up = 12;
x81.up = 12;
x82.up = 18;
x83.up = 18;
x84.up = 18;
x85.up = 18;
x86.up = 18;
x87.up = 18;
x88.up = 18;
x89.up = 18;
x90.up = 18;
x91.up = 18;
x92.lo = 320; x92.up = 500;
x93.lo = 320; x93.up = 500;
x94.lo = 380; x94.up = 480;
x95.lo = 380; x95.up = 480;
x96.lo = 360; x96.up = 460;
x97.lo = 360; x97.up = 460;
x98.lo = 360; x98.up = 380;
x99.lo = 360; x99.up = 380;
x100.lo = 320; x100.up = 380;
x101.lo = 320; x101.up = 380;
x102.lo = 290; x102.up = 660;
x103.lo = 290; x103.up = 660;
x104.lo = 290; x104.up = 660;
x105.lo = 290; x105.up = 660;
x106.lo = 290; x106.up = 660;
x107.lo = 290; x107.up = 660;
x108.lo = 290; x108.up = 660;
x109.lo = 290; x109.up = 660;
x110.lo = 290; x110.up = 660;
x111.lo = 290; x111.up = 660;

* 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;
x37.l = 400;
x38.l = 400;
x39.l = 600;
x40.l = 600;
x41.l = 400;
x42.l = 400;
x43.l = 720;
x44.l = 720;
x51.l = 210;
x52.l = 210;
x53.l = 210;
x54.l = 190;
x55.l = 190;
x56.l = 190;
x57.l = 170;
x58.l = 170;
x59.l = 170;
x60.l = 90;
x61.l = 90;
x62.l = 90;
x63.l = 90;
x64.l = 90;
x65.l = 90;
x66.l = 180;
x67.l = 160;
x68.l = 140;
x69.l = 60;
x70.l = 60;
x71.l = 410;
x72.l = 6;
x73.l = 6;
x74.l = 4;
x75.l = 4;
x76.l = 6;
x77.l = 6;
x78.l = 20;
x79.l = 20;
x80.l = 12;
x81.l = 12;
x82.l = 18;
x83.l = 18;
x84.l = 18;
x85.l = 18;
x86.l = 18;
x87.l = 18;
x88.l = 18;
x89.l = 18;
x90.l = 18;
x91.l = 18;
x92.l = 500;
x93.l = 500;
x94.l = 480;
x95.l = 480;
x96.l = 460;
x97.l = 460;
x98.l = 380;
x99.l = 380;
x100.l = 380;
x101.l = 380;

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