Reference
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/;
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