hydrothermal.gms
* NLP written by GAMS Convert at 11/29/04 16:21:11
*
* Equation counts
* Total E G L N X C
* 42 34 8 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 53 53 0 0 0 0 0 0
* FX 5 5 0 0 0 0 0 0
*
* Nonzero counts
* Total const NL DLL
* 127 99 28 0
*
* Solve m using NLP minimizing objvar;
Variables x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,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,objvar,x49,x50,x51,x52
,x53;
Positive Variables x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x18
,x19,x20,x23,x24,x25,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38
,x39,x40,x41,x42,x43,x44,x45,x46,x47;
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;
e1.. x17 - x18 - x35 =E= -1.296;
e2.. x18 - x19 - x36 =E= -1.296;
e3.. x19 - x20 - x37 =E= -1.296;
e4.. x20 - x21 - x38 =E= -1.296;
e5.. x22 - x23 + x35 - x39 =E= -0.0864;
e6.. x23 - x24 + x36 - x40 =E= -0.0864;
e7.. x24 - x25 + x37 - x41 =E= -0.0864;
e8.. x25 - x26 + x38 - x42 =E= -0.0864;
e9.. - (7.7167 + 0.2*(0.0957033*x17 - 0.000143410266666667*sqr(x18 - x17) +
0.0957033*x18 - 0.0004302308*x17*x18 + 1.212651e-7*(sqr(x17) + sqr(x18))*(
x17 + x18)))*x35 + x27 =E= 0;
e10.. - (7.7167 + 0.2*(0.0957033*x18 - 0.000143410266666667*sqr(x19 - x18) +
0.0957033*x19 - 0.0004302308*x18*x19 + 1.212651e-7*(sqr(x18) + sqr(x19))*
(x18 + x19)))*x36 + x28 =E= 0;
e11.. - (7.7167 + 0.2*(0.0957033*x19 - 0.000143410266666667*sqr(x20 - x19) +
0.0957033*x20 - 0.0004302308*x19*x20 + 1.212651e-7*(sqr(x19) + sqr(x20))*
(x19 + x20)))*x37 + x29 =E= 0;
e12.. - (7.7167 + 0.2*(0.0957033*x20 - 0.000143410266666667*sqr(x21 - x20) +
0.0957033*x21 - 0.0004302308*x20*x21 + 1.212651e-7*(sqr(x20) + sqr(x21))*
(x20 + x21)))*x38 + x30 =E= 0;
e13.. - (2.28 + 0.2*(0.0584999*x22 - 6.46057666666667e-5*sqr(x23 - x22) +
0.0584999*x23 - 0.0001938173*x22*x23 + 7.739465e-8*(sqr(x22) + sqr(x23))*
(x22 + x23)))*x39 + x31 =E= 0;
e14.. - (2.28 + 0.2*(0.0584999*x23 - 6.46057666666667e-5*sqr(x24 - x23) +
0.0584999*x24 - 0.0001938173*x23*x24 + 7.739465e-8*(sqr(x23) + sqr(x24))*
(x23 + x24)))*x40 + x32 =E= 0;
e15.. - (2.28 + 0.2*(0.0584999*x24 - 6.46057666666667e-5*sqr(x25 - x24) +
0.0584999*x25 - 0.0001938173*x24*x25 + 7.739465e-8*(sqr(x24) + sqr(x25))*
(x24 + x25)))*x41 + x33 =E= 0;
e16.. - (2.28 + 0.2*(0.0584999*x25 - 6.46057666666667e-5*sqr(x26 - x25) +
0.0584999*x26 - 0.0001938173*x25*x26 + 7.739465e-8*(sqr(x25) + sqr(x26))*
(x25 + x26)))*x42 + x34 =E= 0;
e17.. - x27 - x31 + x44 =E= 0;
e18.. - x28 - x32 + x45 =E= 0;
e19.. - x29 - x33 + x46 =E= 0;
e20.. - x30 - x34 + x47 =E= 0;
e21.. x43 + x49 =E= 0;
e22.. x44 + x50 =E= 280;
e23.. x45 + x51 =E= 250;
e24.. x46 + x52 =E= 275;
e25.. x47 + x53 =E= 250;
e26.. - x1 - x9 - x50 =E= -250;
e27.. - x2 - x10 - x51 =E= -250;
e28.. - x3 - x11 - x52 =E= -250;
e29.. - x4 - x12 - x53 =E= -250;
e30.. - x5 - x13 + x50 =E= 100;
e31.. - x6 - x14 + x51 =E= 100;
e32.. - x7 - x15 + x52 =E= 100;
e33.. - x8 - x16 + x53 =E= 100;
e34.. x1 - x44 =G= -45;
e35.. x2 - x45 =G= -45;
e36.. x3 - x46 =G= -45;
e37.. x4 - x47 =G= -45;
e38.. x5 + x44 =G= 35;
e39.. x6 + x45 =G= 35;
e40.. x7 + x46 =G= 35;
e41.. x8 + x47 =G= 35;
e42.. - (sqr(x50) + 10*x50 + sqr(x51) + 10*x51 + sqr(x52) + 10*x52 + sqr(x53)
+ 10*x53) + objvar =E= -44000;
* set non default bounds
x1.up = 45;
x2.up = 45;
x3.up = 45;
x4.up = 45;
x5.up = 65;
x6.up = 65;
x7.up = 65;
x8.up = 65;
x9.up = 105;
x10.up = 105;
x11.up = 105;
x12.up = 105;
x13.up = 85;
x14.up = 85;
x15.up = 85;
x16.up = 85;
x17.fx = 350;
x18.up = 354;
x19.up = 354;
x20.up = 354;
x21.fx = 350;
x22.fx = 158;
x23.up = 160;
x24.up = 160;
x25.up = 160;
x26.fx = 158;
x35.up = 5.184;
x36.up = 5.184;
x37.up = 5.184;
x38.up = 5.184;
x39.up = 3.456;
x40.up = 3.456;
x41.up = 3.456;
x42.up = 3.456;
x43.fx = 0;
x44.up = 75;
x45.up = 75;
x46.up = 75;
x47.up = 75;
x50.lo = 100; x50.up = 250;
x51.lo = 100; x51.up = 250;
x52.lo = 100; x52.up = 250;
x53.lo = 100; x53.up = 250;
* set non default levels
* set non default marginals
Model m / all /;
m.limrow=0; m.limcol=0;
$if NOT '%gams.u1%' == '' $include '%gams.u1%'
Solve m using NLP minimizing objvar;