Refrigeration : Optimal Design of Industrial Refrigeration System

Reference

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

Category : GAMS NOA library


Mainfile : refrigeration.gms

$Ontext
Optimal design of industrial refrigeration system.

Paul H and Tay, Optimal design of an industrial refrigeration system.
Proc. of Int. Conf. on Optimization Techniques and Applications, 1987,
pp.427-435.

Pant, M., Thangaraj, R., Singh, V.P., (2009) Optimization of mechanical
design problems using improved differential evolution algorithm.
International Journal of Recent Trends in Engineering, vol.1, No.5,
May 2009, pp.21-25.
$Offtext

Variables x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12,
          x13,x14, obj;
Equations e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12,
          e13,e14,e15, eobj;

* Objective function to be minimized:
eobj.. obj =e=
       63098.88*x2*x4*x12 + 5441.5*x12*x2**2 +
       115055.5*x6*(x2**1.664) + 6172.27*x6*x2**2 +
       63098.88*x1*x3*x11 + 5441.5*x11*x1**2 +
       115055.5*x5*(x1**1.664) + 6172.27*x5*x1**2 +
       140.53*x1*x11 + 281.29*x3*x11 + 70.26*x1**2 +
       281.29*x1*x3 + 281.29*x3**2 +
       14437*(x8**1.8812)*(x12**0.3424)*x7*x10*(x1**2)/(x9*x14) +
       20470.2*(x7**2.893)*(x11*0.316)*(x1*82);

* Constaints:

e1.. 1.524/x7 =l= 1;
e2.. 1.524/x8 =l= 1;
e3.. 0.07789*x1-2*x9/x7 =l= 1;
e4.. 7.05305*(x1**2)*x10/(x2*x8*x9*x14) =l= 1;
e5.. 0.0833*x14/x13 =l= 1;
e6.. 47.136*x12*(x2**0.333)/x10 - 1.333*x8*(x13**2.1195) +
                   62.08*(x13**2.1195)*(x8**0.2)/(x10*x12) =l= 1;
e7.. 0.04771*x10*(x8**1.8812)*(x12**0.3424) =l= 1;
e8.. 0.0488*x9*(x7**1.893)*(x11**0.316) =l= 1;
e9.. 0.0099*x1/x3 =l= 1;
e10.. 0.0193*x2/x4 =l= 1;
e11.. 0.0298*x1/x5 =l= 1;
e12.. 0.056*x2/x6 =l= 1;
e13.. 2/x9 =l= 1;
e14.. 2/x10 =l= 1;
e15.. x12/x11 =l= 1;

* Bounds on variables:
x1.lo  = 0.001;    x1.up = 5;
x2.lo  = 0.001;    x2.up = 5;
x3.lo  = 0.001;    x3.up = 5;
x4.lo  = 0.001;    x4.up = 5;
x5.lo  = 0.001;    x5.up = 5;
x6.lo  = 0.001;    x6.up = 5;
x7.lo  = 0.001;    x7.up = 5;
x8.lo  = 0.001;    x8.up = 5;
x9.lo  = 0.001;    x9.up = 5;
x10.lo  = 0.001;   x10.up = 5;
x11.lo  = 0.001;   x11.up = 5;
x12.lo  = 0.001;   x12.up = 5;
x13.lo  = 0.001;   x13.up = 5;
x14.lo  = 0.001;   x14.up = 5;

Model refrigeration /all/;

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

Solve refrigeration minimizing obj using nlp;

$iftheni x%mode%==xbook
file out /ref.dat/
put out;
put x1.l:15:7,  x2.l:15:7,  x3.l:15:7,  x4.l:15:7, x5.l:15:7,
    x6.l:15:7,  x7.l:15:7,  x8.l:15:7,  x9.l:15:7, x10.l:15:7,
    x11.l:15:7, x12.l:15:7, x13.l:15:7, x14.l:15:7 /;
put obj.l:15:7 /;
$endif
* End refrigeration