HeatEx3 : Optimal Design of Network of Heat Exchangers in Parallel (with Recirculation) with Two Hot Streams and One Cold Stream

Reference

  • Neculai Andrei, Nonlinear Optimization Applications Using the GAMS Technology,Springer Optimization and Its Applications, Model HeatEx3 (7.31) in chapter Applications in Chemical Engineering , 2013

Category : GAMS NOA library


Mainfile : heatex3.gms

$Ontext
Design of a network of heat exchangers in parallel (with recirculation)
with two hot streams and one cold stream.

Floudas, C.A., Pardalos, P.M., et al. "Handbook of Test Problems in
Local and Global Optimization".
Kluwer Academic Publishers, Dordrecht, 1999.
Section 5.4.3. Test Problem 2, pages 52-54.
$Offtext

Scalars   Tcin  inlet temperature of cold stream  /150/
          Tcout outlet temperature of cold stream /310/ ;

Variables dT11 temperature difference at hot end of exchanger H1-C
          dT12 temperature difference at cold end of exchanger H1-C
          dT21 temperature difference at hot end of exchanger H2-C
          dT22 temperature difference at cold end of exchanger H2-C
          f11, f12, f13, f14
          f21, f22, f23, f24
          t1i, t2i, t1o, t2o
          objval  objective function variable ;

Free variables obj;

Equations g1,  g2,  g3,  g4,  g5,  g6,  g7,  g8,  g9,  g10
          g11, g12, g13
          f objective function ;

* Objective function:
f..   objval =e=1300*(1000/((1/30)*(dT11*dT12)+(1/6)*(dT11+dT12)))**0.6+
                1300*( 600/((1/30)*(dT21*dT22)+(1/6)*(dT21+dT22)))**0.6;

* Constraints:
g1..  f11 + f21 =e= 10;
g2..  f11 + f23 - f12 =e= 0;
g3..  f21 + f13 - f22 =e= 0;
g4..  f14 + f13 - f12 =e= 0;
g5..  f24 + f23 - f22 =e= 0;
g6..  Tcin*f11 + t2o*f23 - t1i*f12 =e= 0;
g7..  Tcin*f21 + t1o*f13 - t2i*f22 =e= 0;
g8..  f12*(t1o - t1i) =e= 1000;
g9..  f22*(t2o - t2i) =e= 600;
g10.. dT11 + t1o =e= 500;
g11.. dT12 + t1i =e= 250;
g12.. dT21 + t2o =e= 350;
g13.. dT22 + t2i =e= 200;

* Bounds on variables:
dT11.lo = 10;   dT11.up = 350;
dT12.lo = 10;   dT12.up = 350;
dT21.lo = 10;   dT21.up = 200;
dT22.lo = 10;   dT22.up = 200;
f11.lo = 0;     f11.up = 10;
f12.lo = 0;     f12.up = 10;
f13.lo = 0;     f13.up = 10;
f14.lo = 0;     f14.up = 10;
f21.lo = 0;     f21.up = 10;
f22.lo = 0;     f22.up = 10;
f23.lo = 0;     f23.up = 10;
f24.lo = 0;     f24.up = 10;
t1i.lo = 150;   t1i.up = Tcout;
t1o.lo = 150;   t1o.up = Tcout;
t2i.lo = 150;   t2i.up = Tcout;
t2o.lo = 150;   t2o.up = Tcout;

* Initial point:
dT11.l = 200;   dT12.l = 50;
dT21.l = 150;   dT22.l = 50;
f11.l = 10;     f12.l = 10;      f13.l = 10;     f14.l = 10;
f21.l = 10;     f22.l = 10;      f23.l = 10;     f24.l = 10;
t1i.l = 200;    t1o.l = 100;
t2i.l = 300;    t2o.l = 200;

MODEL HeatEx3 /ALL/;

$iftheni x%mode%==xbook
$onecho >bench.opt
  solvers conopt minos snopt
$offecho
HeatEx3.optfile=1;
option nlp=bench;
$endif

SOLVE HeatEx3 USING NLP MINIMIZING objval;
* End HeatEx3