selkie09.gms : SELKIE test suite

Description

Test grouping feature of SELKIE.

Contributor: Youngdae Kim (06.27.2017)


Small Model of Type : GAMS


Category : GAMS Test library


Main file : selkie09.gms

$title 'SELKIE test suite'  (SELKIE09,SEQ=765)

$ontext

Test grouping feature of SELKIE.

Contributor: Youngdae Kim (06.27.2017)

$offtext

$if not set TESTTOL $set TESTTOL 1e-4
scalar tol / %TESTTOL% /;
file opt   / 'selkie.opt' /;
file info  / '%emp.info%' /;

set t / 1*24 /;
set d scenarios / r, s /;

scalar
  morndrate / 1 /,
  aftdrate / 1 /,
  basedem / 1 /,
  eff pumping efficiency / 0.6 /,
  hydenergy / 0.01 /,
  cost / 0.4 /,
  rampup / 1 /,
  rampdown / 1 /,
  pumpcap / 2 /;

parameter dem(t) demand;
dem(t)$(t.val le 24) = basedem + (morndrate + aftdrate)*(24-t.val)/3;
dem(t)$(t.val le 18) = basedem + 2*morndrate + aftdrate*(t.val-16);
dem(t)$(t.val le 16) = basedem + 2*morndrate;
dem(t)$(t.val le 8) = basedem + morndrate*(t.val-6);
dem(t)$(t.val le 6) = basedem;

* scenario dependent data

parameter
  mornsrate(d) / s 1, r 0.05  /,
  dayinc(d) / s 0.1, r 0 /,
  prob(d) / s 0.5, r 0.5 /;

parameter sol(d,t) solar generation;
sol(d,t)$(t.val gt 6 and t.val le 8) = mornsrate(d)*(t.val-6);
sol(d,t)$(t.val gt 8 and t.val le 16) = mornsrate(d)*2 + dayinc(d)*(t.val-8);
sol(d,t)$(t.val gt 16 and t.val le 18) = (mornsrate(d) + dayinc(d))*(18-t.val);

parameter rain(d,t) rainfall in period;
rain(d,t) = 1$sameas(d,'r');

variables
  fprof,
  hprof;

positive variable
  amt(d,t) amount of fossil generation,
  release(d,t) amount of hydro release,
  pump(d,t) amount of water pumped up,
  price(d,t) price of energy;

equations
  deffprof thermal profit,
  ru(d,t) ramp up,
  rd(d,t) ramp down,
  defhprof hydro profit,
  conswater hydro operates at constant water height,
  balance(d,t) supply equals demand;

deffprof..
  fprof =e= sum(d, prob(d)*sum(t, price(d,t)*amt(d,t) - cost*amt(d,t)));

ru(d,t)..
  amt(d,t++1) - amt(d,t) =l= rampup;

rd(d,t)..
  amt(d,t) - amt(d,t++1) =l= rampdown;

defhprof..
  hprof =e= sum(d, prob(d)*sum(t, price(d,t)*hydenergy*(release(d,t) - (1/eff)*pump(d,t))));

conswater..
  sum(d, prob(d) * sum(t, release(d,t) - pump(d,t) - rain(d,t))) =e= 0;

* hyden*pump(t)   -  eff*hyden*pump(t)   = 1-eff energy used

balance(d,t)..
  sol(d,t) + amt(d,t) + hydenergy*(release(d,t) - (1/eff)*pump(d,t)) =g= dem(t);

model solar /all/;

pump.up(d,t) = pumpcap;

put info 'equilibrium';
put 'max fprof amt deffprof ru rd' /;
put 'max hprof release pump defhprof conswater' /;
put 'vi balance price' /;
putclose info;

putclose opt 'agent_group   {{1,2,3}}';

option emp = selkie;
solar.optfile = 1;

solve solar using emp;
abort$[ smax{t$(t.val le 6), abs(amt.l('r',t) - 1.0333)} > tol ]
     'bad amt.l("r","1-6")', amt.l;
abort$[ abs(amt.l('r','7') - 1.9833) > tol ] 'bad amt.l("r","7")', amt.l;
abort$[ smax{t$(t.val ge 8 and t.val le 15), abs(amt.l('r',t) - 2.9333)} > tol ]
     'bad amt.l("r","8-15")', amt.l;
abort$[ abs(amt.l('r','16') - 2.9833) > tol ] 'bad amt.l("r","16")', amt.l;
abort$[ abs(amt.l('r','17') - 3.9833) > tol ] 'bad amt.l("r","17")', amt.l;
abort$[ abs(amt.l('r','18') - 4.9833) > tol ] 'bad amt.l("r","18")', amt.l;
abort$[ abs(amt.l('r','19') - 4.3667) > tol ] 'bad amt.l("r","19")', amt.l;
abort$[ abs(amt.l('r','20') - 3.7000) > tol ] 'bad amt.l("r","20")', amt.l;
abort$[ abs(amt.l('r','21') - 3.0333) > tol ] 'bad amt.l("r","21")', amt.l;
abort$[ abs(amt.l('r','22') - 2.3667) > tol ] 'bad amt.l("r","22")', amt.l;
abort$[ abs(amt.l('r','23') - 1.7000) > tol ] 'bad amt.l("r","23")', amt.l;
abort$[ abs(amt.l('r','24') - 1.0333) > tol ] 'bad amt.l("r","24")', amt.l;
abort$[ smax{t$(t.val le 8), abs(amt.l('s',t) - 1.0333)} > tol ]
     'bad amt.l("r","1-8")', amt.l;
abort$[ abs(amt.l('s','9')  - 0.9333) > tol ] 'bad amt.l("s","9")', amt.l;
abort$[ abs(amt.l('s','10') - 0.8333) > tol ] 'bad amt.l("s","10")', amt.l;
abort$[ abs(amt.l('s','11') - 0.7333) > tol ] 'bad amt.l("s","11")', amt.l;
abort$[ abs(amt.l('s','12') - 0.6333) > tol ] 'bad amt.l("s","12")', amt.l;
abort$[ abs(amt.l('s','13') - 0.5333) > tol ] 'bad amt.l("s","13")', amt.l;
abort$[ abs(amt.l('s','14') - 0.4333) > tol ] 'bad amt.l("s","14")', amt.l;
abort$[ abs(amt.l('s','15') - 0.8883) > tol ] 'bad amt.l("s","15")', amt.l;
abort$[ abs(amt.l('s','16') - 1.8883) > tol ] 'bad amt.l("s","16")', amt.l;
abort$[ abs(amt.l('s','17') - 2.8883) > tol ] 'bad amt.l("s","17")', amt.l;
abort$[ abs(amt.l('s','18') - 3.8883) > tol ] 'bad amt.l("s","18")', amt.l;
abort$[ abs(amt.l('s','19') - 4.3667) > tol ] 'bad amt.l("s","19")', amt.l;
abort$[ abs(amt.l('s','20') - 3.7000) > tol ] 'bad amt.l("s","20")', amt.l;
abort$[ abs(amt.l('s','21') - 3.0333) > tol ] 'bad amt.l("s","21")', amt.l;
abort$[ abs(amt.l('s','22') - 2.3667) > tol ] 'bad amt.l("s","22")', amt.l;
abort$[ abs(amt.l('s','23') - 1.7000) > tol ] 'bad amt.l("s","23")', amt.l;
abort$[ abs(amt.l('s','24') - 1.0333) > tol ] 'bad amt.l("s","24")', amt.l;
abort$[ smax{t$(t.val le 17), abs(release.l('r',t))} > tol ]
     'bad release.l("r","1-17")', release.l;
abort$[ abs(release.l('r','18') - 1.6667) > tol ]
     'bad release.l("r","18")', release.l;
abort$[ smax{t$(t.val ge 19 and t.val le 24), abs(release.l('r',t))} > tol ]
     'bad release.l("r","19-24")', release.l;
abort$[ smax{t$(t.val le 16), abs(release.l('s',t))} > tol ]
     'bad release.l("s","1-16")', release.l;
abort$[ abs(release.l('s','17') - 1.1667) > tol ]
     'bad release.l("s","17")', release.l;
abort$[ abs(release.l('s','18') - 111.1667) > tol ]
     'bad release.l("s","18")', release.l;
abort$[ smax{t$(t.val ge 19 and t.val le 24), abs(release.l('s',t))} > tol ]
     'bad release.l("s","19-24")', release.l;
abort$[ smax{t$(t.val le 17), abs(pump.l('r',t) - 2.000)} > tol ]
     'bad pump.l("r","1-17")', pump.l;
abort$[ abs(pump.l('r','18')) > tol ] 'bad pump.l("r","18")', pump.l;
abort$[ smax{t$(t.val ge 19 and t.val le 24), abs(pump.l('r',t) - 2)} > tol ]
     'bad pump.l("r","19-24")', pump.l;
abort$[ smax{t$(t.val le 16), abs(pump.l('s',t) - 2)} > tol ]
     'bad pump.l("s","1-16")', pump.l;
abort$[ smax{t$(t.val ge 17 and t.val le 18), abs(pump.l('s',t))} > tol ]
     'bad pump.l("s","17-18")', pump.l;
abort$[ smax{t$(t.val ge 19 and t.val le 24), abs(pump.l('s',t) - 2)} > tol ]
     'bad pump.l("s","19-24")', pump.l;
abort$[ smax{t$(t.val le 15), abs(price.l('r',t) - 0.4000)} > tol ]
     'bad price.l("r","1-15")', price.l;
abort$[ abs(price.l('r','16')) > tol ]       'bad price.l("r","16")', price.l;
abort$[ abs(price.l('r','17') - 0.4) > tol ] 'bad price.l("r","17")', price.l;
abort$[ abs(price.l('r','18') - 0.8) > tol ] 'bad price.l("r","18")', price.l;
abort$[ smax{t$(t.val ge 19 and t.val le 24), abs(price.l('s',t) - 0.4)} > tol ]
     'bad price.l("s","19-24")', price.l;
abort$[ smax{t$(t.val le 14), abs(price.l('s',t) - 0.4)} > tol ]
     'bad price.l("s","1-14")', price.l;
abort$[ smax{t$(t.val ge 15 and t.val le 16), abs(price.l('s',t))} > tol ]
     'bad price.l("s","15-16")', price.l;
abort$[ smax{t$(t.val ge 17 and t.val le 18), abs(price.l('s',t) - 0.8)} > tol ]
     'bad price.l("s","17-18")', price.l;
abort$[ smax{t$(t.val ge 19 and t.val le 24), abs(price.l('s',t) - 0.4)} > tol ]
     'bad price.l("s","19-24")', price.l;

$onecho > agent4_gms

Variables  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,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,x149,x150,x151,x152,x153,x154,x155
          ,x156,x157,x158,x159,x160,x161,x162,x163,x164,x165,x166,x167,x168
          ,x169,x170,x171,x172,x173,x174,x175,x176,x177,x178,x179,x180,x181
          ,x182,x183,x184,x185,x186,x187,x188,x189,x190,x191,x192,x193,x194,u2
          ,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15,u16,u17,u18,u19,u20
          ,u21,u22,u23,u24,u25,u26,u27,u28,u29,u30,u31,u32,u33,u34,u35,u36,u37
          ,u38,u39,u40,u41,u42,u43,u44,u45,u46,u47,u48,u49,u50,u51,u52,u53,u54
          ,u55,u56,u57,u58,u59,u60,u61,u62,u63,u64,u65,u66,u67,u68,u69,u70,u71
          ,u72,u73,u74,u75,u76,u77,u78,u79,u80,u81,u82,u83,u84,u85,u86,u87,u88
          ,u89,u90,u91,u92,u93,u94,u95,u96,u97,u99;

Positive Variables  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,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,x149,x150,x151,x152,x153,x154
          ,x155,x156,x157,x158,x159,x160,x161,x162,x163,x164,x165,x166,x167
          ,x168,x169,x170,x171,x172,x173,x174,x175,x176,x177,x178,x179,x180
          ,x181,x182,x183,x184,x185,x186,x187,x188,x189,x190,x191,x192,x193
          ,x194,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15,u16,u17,u18
          ,u19,u20,u21,u22,u23,u24,u25,u26,u27,u28,u29,u30,u31,u32,u33,u34,u35
          ,u36,u37,u38,u39,u40,u41,u42,u43,u44,u45,u46,u47,u48,u49,u50,u51,u52
          ,u53,u54,u55,u56,u57,u58,u59,u60,u61,u62,u63,u64,u65,u66,u67,u68,u69
          ,u70,u71,u72,u73,u74,u75,u76,u77,u78,u79,u80,u81,u82,u83,u84,u85,u86
          ,u87,u88,u89,u90,u91,u92,u93,u94,u95,u96,u97;

Equations  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,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,dL_dx3,dL_dx4,dL_dx5,dL_dx6,dL_dx7,dL_dx8
          ,dL_dx9,dL_dx10,dL_dx11,dL_dx12,dL_dx13,dL_dx14,dL_dx15,dL_dx16
          ,dL_dx17,dL_dx18,dL_dx19,dL_dx20,dL_dx21,dL_dx22,dL_dx23,dL_dx24
          ,dL_dx25,dL_dx26,dL_dx27,dL_dx28,dL_dx29,dL_dx30,dL_dx31,dL_dx32
          ,dL_dx33,dL_dx34,dL_dx35,dL_dx36,dL_dx37,dL_dx38,dL_dx39,dL_dx40
          ,dL_dx41,dL_dx42,dL_dx43,dL_dx44,dL_dx45,dL_dx46,dL_dx47,dL_dx48
          ,dL_dx49,dL_dx50,dL_dx51,dL_dx52,dL_dx53,dL_dx54,dL_dx55,dL_dx56
          ,dL_dx57,dL_dx58,dL_dx59,dL_dx60,dL_dx61,dL_dx62,dL_dx63,dL_dx64
          ,dL_dx65,dL_dx66,dL_dx67,dL_dx68,dL_dx69,dL_dx70,dL_dx71,dL_dx72
          ,dL_dx73,dL_dx74,dL_dx75,dL_dx76,dL_dx77,dL_dx78,dL_dx79,dL_dx80
          ,dL_dx81,dL_dx82,dL_dx83,dL_dx84,dL_dx85,dL_dx86,dL_dx87,dL_dx88
          ,dL_dx89,dL_dx90,dL_dx91,dL_dx92,dL_dx93,dL_dx94,dL_dx95,dL_dx96
          ,dL_dx97,dL_dx98,dL_dx99,dL_dx100,dL_dx101,dL_dx102,dL_dx103
          ,dL_dx104,dL_dx105,dL_dx106,dL_dx107,dL_dx108,dL_dx109,dL_dx110
          ,dL_dx111,dL_dx112,dL_dx113,dL_dx114,dL_dx115,dL_dx116,dL_dx117
          ,dL_dx118,dL_dx119,dL_dx120,dL_dx121,dL_dx122,dL_dx123,dL_dx124
          ,dL_dx125,dL_dx126,dL_dx127,dL_dx128,dL_dx129,dL_dx130,dL_dx131
          ,dL_dx132,dL_dx133,dL_dx134,dL_dx135,dL_dx136,dL_dx137,dL_dx138
          ,dL_dx139,dL_dx140,dL_dx141,dL_dx142,dL_dx143,dL_dx144,dL_dx145
          ,dL_dx146;

e2.. 1 =G=  - x3 + x4;

e3.. 1 =G=  - x4 + x5;

e4.. 1 =G=  - x5 + x6;

e5.. 1 =G=  - x6 + x7;

e6.. 1 =G=  - x7 + x8;

e7.. 1 =G=  - x8 + x9;

e8.. 1 =G=  - x9 + x10;

e9.. 1 =G=  - x10 + x11;

e10.. 1 =G=  - x11 + x12;

e11.. 1 =G=  - x12 + x13;

e12.. 1 =G=  - x13 + x14;

e13.. 1 =G=  - x14 + x15;

e14.. 1 =G=  - x15 + x16;

e15.. 1 =G=  - x16 + x17;

e16.. 1 =G=  - x17 + x18;

e17.. 1 =G=  - x18 + x19;

e18.. 1 =G=  - x19 + x20;

e19.. 1 =G=  - x20 + x21;

e20.. 1 =G=  - x21 + x22;

e21.. 1 =G=  - x22 + x23;

e22.. 1 =G=  - x23 + x24;

e23.. 1 =G=  - x24 + x25;

e24.. 1 =G=  - x25 + x26;

e25.. 1 =G=    x3 - x26;

e26.. 1 =G=  - x27 + x28;

e27.. 1 =G=  - x28 + x29;

e28.. 1 =G=  - x29 + x30;

e29.. 1 =G=  - x30 + x31;

e30.. 1 =G=  - x31 + x32;

e31.. 1 =G=  - x32 + x33;

e32.. 1 =G=  - x33 + x34;

e33.. 1 =G=  - x34 + x35;

e34.. 1 =G=  - x35 + x36;

e35.. 1 =G=  - x36 + x37;

e36.. 1 =G=  - x37 + x38;

e37.. 1 =G=  - x38 + x39;

e38.. 1 =G=  - x39 + x40;

e39.. 1 =G=  - x40 + x41;

e40.. 1 =G=  - x41 + x42;

e41.. 1 =G=  - x42 + x43;

e42.. 1 =G=  - x43 + x44;

e43.. 1 =G=  - x44 + x45;

e44.. 1 =G=  - x45 + x46;

e45.. 1 =G=  - x46 + x47;

e46.. 1 =G=  - x47 + x48;

e47.. 1 =G=  - x48 + x49;

e48.. 1 =G=  - x49 + x50;

e49.. 1 =G=    x27 - x50;

e50.. 1 =G=    x3 - x4;

e51.. 1 =G=    x4 - x5;

e52.. 1 =G=    x5 - x6;

e53.. 1 =G=    x6 - x7;

e54.. 1 =G=    x7 - x8;

e55.. 1 =G=    x8 - x9;

e56.. 1 =G=    x9 - x10;

e57.. 1 =G=    x10 - x11;

e58.. 1 =G=    x11 - x12;

e59.. 1 =G=    x12 - x13;

e60.. 1 =G=    x13 - x14;

e61.. 1 =G=    x14 - x15;

e62.. 1 =G=    x15 - x16;

e63.. 1 =G=    x16 - x17;

e64.. 1 =G=    x17 - x18;

e65.. 1 =G=    x18 - x19;

e66.. 1 =G=    x19 - x20;

e67.. 1 =G=    x20 - x21;

e68.. 1 =G=    x21 - x22;

e69.. 1 =G=    x22 - x23;

e70.. 1 =G=    x23 - x24;

e71.. 1 =G=    x24 - x25;

e72.. 1 =G=    x25 - x26;

e73.. 1 =G=  - x3 + x26;

e74.. 1 =G=    x27 - x28;

e75.. 1 =G=    x28 - x29;

e76.. 1 =G=    x29 - x30;

e77.. 1 =G=    x30 - x31;

e78.. 1 =G=    x31 - x32;

e79.. 1 =G=    x32 - x33;

e80.. 1 =G=    x33 - x34;

e81.. 1 =G=    x34 - x35;

e82.. 1 =G=    x35 - x36;

e83.. 1 =G=    x36 - x37;

e84.. 1 =G=    x37 - x38;

e85.. 1 =G=    x38 - x39;

e86.. 1 =G=    x39 - x40;

e87.. 1 =G=    x40 - x41;

e88.. 1 =G=    x41 - x42;

e89.. 1 =G=    x42 - x43;

e90.. 1 =G=    x43 - x44;

e91.. 1 =G=    x44 - x45;

e92.. 1 =G=    x45 - x46;

e93.. 1 =G=    x46 - x47;

e94.. 1 =G=    x47 - x48;

e95.. 1 =G=    x48 - x49;

e96.. 1 =G=    x49 - x50;

e97.. 1 =G=  - x27 + x50;

e99.. 12 =E=    0.5*x51 + 0.5*x52 + 0.5*x53 + 0.5*x54 + 0.5*x55 + 0.5*x56
       + 0.5*x57 + 0.5*x58 + 0.5*x59 + 0.5*x60 + 0.5*x61 + 0.5*x62 + 0.5*x63
       + 0.5*x64 + 0.5*x65 + 0.5*x66 + 0.5*x67 + 0.5*x68 + 0.5*x69 + 0.5*x70
       + 0.5*x71 + 0.5*x72 + 0.5*x73 + 0.5*x74 + 0.5*x75 + 0.5*x76 + 0.5*x77
       + 0.5*x78 + 0.5*x79 + 0.5*x80 + 0.5*x81 + 0.5*x82 + 0.5*x83 + 0.5*x84
       + 0.5*x85 + 0.5*x86 + 0.5*x87 + 0.5*x88 + 0.5*x89 + 0.5*x90 + 0.5*x91
       + 0.5*x92 + 0.5*x93 + 0.5*x94 + 0.5*x95 + 0.5*x96 + 0.5*x97 + 0.5*x98
       - 0.5*x99 - 0.5*x100 - 0.5*x101 - 0.5*x102 - 0.5*x103 - 0.5*x104
       - 0.5*x105 - 0.5*x106 - 0.5*x107 - 0.5*x108 - 0.5*x109 - 0.5*x110
       - 0.5*x111 - 0.5*x112 - 0.5*x113 - 0.5*x114 - 0.5*x115 - 0.5*x116
       - 0.5*x117 - 0.5*x118 - 0.5*x119 - 0.5*x120 - 0.5*x121 - 0.5*x122
       - 0.5*x123 - 0.5*x124 - 0.5*x125 - 0.5*x126 - 0.5*x127 - 0.5*x128
       - 0.5*x129 - 0.5*x130 - 0.5*x131 - 0.5*x132 - 0.5*x133 - 0.5*x134
       - 0.5*x135 - 0.5*x136 - 0.5*x137 - 0.5*x138 - 0.5*x139 - 0.5*x140
       - 0.5*x141 - 0.5*x142 - 0.5*x143 - 0.5*x144 - 0.5*x145 - 0.5*x146;

e100..    x3 + 0.01*x51 - 0.0166666666666667*x99 + eps*x147 =G= 1;

e101..    x4 + 0.01*x52 - 0.0166666666666667*x100 + eps*x148 =G= 1;

e102..    x5 + 0.01*x53 - 0.0166666666666667*x101 + eps*x149 =G= 1;

e103..    x6 + 0.01*x54 - 0.0166666666666667*x102 + eps*x150 =G= 1;

e104..    x7 + 0.01*x55 - 0.0166666666666667*x103 + eps*x151 =G= 1;

e105..    x8 + 0.01*x56 - 0.0166666666666667*x104 + eps*x152 =G= 1;

e106..    x9 + 0.01*x57 - 0.0166666666666667*x105 + eps*x153 =G= 1.95;

e107..    x10 + 0.01*x58 - 0.0166666666666667*x106 + eps*x154 =G= 2.9;

e108..    x11 + 0.01*x59 - 0.0166666666666667*x107 + eps*x155 =G= 2.9;

e109..    x12 + 0.01*x60 - 0.0166666666666667*x108 + eps*x156 =G= 2.9;

e110..    x13 + 0.01*x61 - 0.0166666666666667*x109 + eps*x157 =G= 2.9;

e111..    x14 + 0.01*x62 - 0.0166666666666667*x110 + eps*x158 =G= 2.9;

e112..    x15 + 0.01*x63 - 0.0166666666666667*x111 + eps*x159 =G= 2.9;

e113..    x16 + 0.01*x64 - 0.0166666666666667*x112 + eps*x160 =G= 2.9;

e114..    x17 + 0.01*x65 - 0.0166666666666667*x113 + eps*x161 =G= 2.9;

e115..    x18 + 0.01*x66 - 0.0166666666666667*x114 + eps*x162 =G= 2.9;

e116..    x19 + 0.01*x67 - 0.0166666666666667*x115 + eps*x163 =G= 3.95;

e117..    x20 + 0.01*x68 - 0.0166666666666667*x116 + eps*x164 =G= 5;

e118..    x21 + 0.01*x69 - 0.0166666666666667*x117 + eps*x165
        =G= 4.33333333333333;

e119..    x22 + 0.01*x70 - 0.0166666666666667*x118 + eps*x166
        =G= 3.66666666666667;

e120..    x23 + 0.01*x71 - 0.0166666666666667*x119 + eps*x167 =G= 3;

e121..    x24 + 0.01*x72 - 0.0166666666666667*x120 + eps*x168
        =G= 2.33333333333333;

e122..    x25 + 0.01*x73 - 0.0166666666666667*x121 + eps*x169
        =G= 1.66666666666667;

e123..    x26 + 0.01*x74 - 0.0166666666666667*x122 + eps*x170 =G= 1;

e124..    x27 + 0.01*x75 - 0.0166666666666667*x123 + eps*x171 =G= 1;

e125..    x28 + 0.01*x76 - 0.0166666666666667*x124 + eps*x172 =G= 1;

e126..    x29 + 0.01*x77 - 0.0166666666666667*x125 + eps*x173 =G= 1;

e127..    x30 + 0.01*x78 - 0.0166666666666667*x126 + eps*x174 =G= 1;

e128..    x31 + 0.01*x79 - 0.0166666666666667*x127 + eps*x175 =G= 1;

e129..    x32 + 0.01*x80 - 0.0166666666666667*x128 + eps*x176 =G= 1;

e130..    x33 + 0.01*x81 - 0.0166666666666667*x129 + eps*x177 =G= 1;

e131..    x34 + 0.01*x82 - 0.0166666666666667*x130 + eps*x178 =G= 1;

e132..    x35 + 0.01*x83 - 0.0166666666666667*x131 + eps*x179 =G= 0.9;

e133..    x36 + 0.01*x84 - 0.0166666666666667*x132 + eps*x180 =G= 0.8;

e134..    x37 + 0.01*x85 - 0.0166666666666667*x133 + eps*x181 =G= 0.7;

e135..    x38 + 0.01*x86 - 0.0166666666666667*x134 + eps*x182 =G= 0.6;

e136..    x39 + 0.01*x87 - 0.0166666666666667*x135 + eps*x183 =G= 0.5;

e137..    x40 + 0.01*x88 - 0.0166666666666667*x136 + eps*x184 =G= 0.4;

e138..    x41 + 0.01*x89 - 0.0166666666666667*x137 + eps*x185 =G= 0.3;

e139..    x42 + 0.01*x90 - 0.0166666666666667*x138 + eps*x186 =G= 0.2;

e140..    x43 + 0.01*x91 - 0.0166666666666667*x139 + eps*x187 =G= 2.9;

e141..    x44 + 0.01*x92 - 0.0166666666666667*x140 + eps*x188 =G= 5;

e142..    x45 + 0.01*x93 - 0.0166666666666667*x141 + eps*x189
        =G= 4.33333333333333;

e143..    x46 + 0.01*x94 - 0.0166666666666667*x142 + eps*x190
        =G= 3.66666666666667;

e144..    x47 + 0.01*x95 - 0.0166666666666667*x143 + eps*x191 =G= 3;

e145..    x48 + 0.01*x96 - 0.0166666666666667*x144 + eps*x192
        =G= 2.33333333333333;

e146..    x49 + 0.01*x97 - 0.0166666666666667*x145 + eps*x193
        =G= 1.66666666666667;

e147..    x50 + 0.01*x98 - 0.0166666666666667*x146 + eps*x194 =G= 1;

dL_dx3.. (-0.5*(-0.4 + x147))/(1) - u2 + u25 + u50 - u73 + eps*x3 =G= 0;

dL_dx4.. (-0.5*(-0.4 + x148))/(1) + u2 - u3 - u50 + u51 + eps*x4 =G= 0;

dL_dx5.. (-0.5*(-0.4 + x149))/(1) + u3 - u4 - u51 + u52 + eps*x5 =G= 0;

dL_dx6.. (-0.5*(-0.4 + x150))/(1) + u4 - u5 - u52 + u53 + eps*x6 =G= 0;

dL_dx7.. (-0.5*(-0.4 + x151))/(1) + u5 - u6 - u53 + u54 + eps*x7 =G= 0;

dL_dx8.. (-0.5*(-0.4 + x152))/(1) + u6 - u7 - u54 + u55 + eps*x8 =G= 0;

dL_dx9.. (-0.5*(-0.4 + x153))/(1) + u7 - u8 - u55 + u56 + eps*x9 =G= 0;

dL_dx10.. (-0.5*(-0.4 + x154))/(1) + u8 - u9 - u56 + u57 + eps*x10 =G= 0;

dL_dx11.. (-0.5*(-0.4 + x155))/(1) + u9 - u10 - u57 + u58 + eps*x11 =G= 0;

dL_dx12.. (-0.5*(-0.4 + x156))/(1) + u10 - u11 - u58 + u59 + eps*x12 =G= 0;

dL_dx13.. (-0.5*(-0.4 + x157))/(1) + u11 - u12 - u59 + u60 + eps*x13 =G= 0;

dL_dx14.. (-0.5*(-0.4 + x158))/(1) + u12 - u13 - u60 + u61 + eps*x14 =G= 0;

dL_dx15.. (-0.5*(-0.4 + x159))/(1) + u13 - u14 - u61 + u62 + eps*x15 =G= 0;

dL_dx16.. (-0.5*(-0.4 + x160))/(1) + u14 - u15 - u62 + u63 + eps*x16 =G= 0;

dL_dx17.. (-0.5*(-0.4 + x161))/(1) + u15 - u16 - u63 + u64 + eps*x17 =G= 0;

dL_dx18.. (-0.5*(-0.4 + x162))/(1) + u16 - u17 - u64 + u65 + eps*x18 =G= 0;

dL_dx19.. (-0.5*(-0.4 + x163))/(1) + u17 - u18 - u65 + u66 + eps*x19 =G= 0;

dL_dx20.. (-0.5*(-0.4 + x164))/(1) + u18 - u19 - u66 + u67 + eps*x20 =G= 0;

dL_dx21.. (-0.5*(-0.4 + x165))/(1) + u19 - u20 - u67 + u68 + eps*x21 =G= 0;

dL_dx22.. (-0.5*(-0.4 + x166))/(1) + u20 - u21 - u68 + u69 + eps*x22 =G= 0;

dL_dx23.. (-0.5*(-0.4 + x167))/(1) + u21 - u22 - u69 + u70 + eps*x23 =G= 0;

dL_dx24.. (-0.5*(-0.4 + x168))/(1) + u22 - u23 - u70 + u71 + eps*x24 =G= 0;

dL_dx25.. (-0.5*(-0.4 + x169))/(1) + u23 - u24 - u71 + u72 + eps*x25 =G= 0;

dL_dx26.. (-0.5*(-0.4 + x170))/(1) + u24 - u25 - u72 + u73 + eps*x26 =G= 0;

dL_dx27.. (-0.5*(-0.4 + x171))/(1) - u26 + u49 + u74 - u97 + eps*x27 =G= 0;

dL_dx28.. (-0.5*(-0.4 + x172))/(1) + u26 - u27 - u74 + u75 + eps*x28 =G= 0;

dL_dx29.. (-0.5*(-0.4 + x173))/(1) + u27 - u28 - u75 + u76 + eps*x29 =G= 0;

dL_dx30.. (-0.5*(-0.4 + x174))/(1) + u28 - u29 - u76 + u77 + eps*x30 =G= 0;

dL_dx31.. (-0.5*(-0.4 + x175))/(1) + u29 - u30 - u77 + u78 + eps*x31 =G= 0;

dL_dx32.. (-0.5*(-0.4 + x176))/(1) + u30 - u31 - u78 + u79 + eps*x32 =G= 0;

dL_dx33.. (-0.5*(-0.4 + x177))/(1) + u31 - u32 - u79 + u80 + eps*x33 =G= 0;

dL_dx34.. (-0.5*(-0.4 + x178))/(1) + u32 - u33 - u80 + u81 + eps*x34 =G= 0;

dL_dx35.. (-0.5*(-0.4 + x179))/(1) + u33 - u34 - u81 + u82 + eps*x35 =G= 0;

dL_dx36.. (-0.5*(-0.4 + x180))/(1) + u34 - u35 - u82 + u83 + eps*x36 =G= 0;

dL_dx37.. (-0.5*(-0.4 + x181))/(1) + u35 - u36 - u83 + u84 + eps*x37 =G= 0;

dL_dx38.. (-0.5*(-0.4 + x182))/(1) + u36 - u37 - u84 + u85 + eps*x38 =G= 0;

dL_dx39.. (-0.5*(-0.4 + x183))/(1) + u37 - u38 - u85 + u86 + eps*x39 =G= 0;

dL_dx40.. (-0.5*(-0.4 + x184))/(1) + u38 - u39 - u86 + u87 + eps*x40 =G= 0;

dL_dx41.. (-0.5*(-0.4 + x185))/(1) + u39 - u40 - u87 + u88 + eps*x41 =G= 0;

dL_dx42.. (-0.5*(-0.4 + x186))/(1) + u40 - u41 - u88 + u89 + eps*x42 =G= 0;

dL_dx43.. (-0.5*(-0.4 + x187))/(1) + u41 - u42 - u89 + u90 + eps*x43 =G= 0;

dL_dx44.. (-0.5*(-0.4 + x188))/(1) + u42 - u43 - u90 + u91 + eps*x44 =G= 0;

dL_dx45.. (-0.5*(-0.4 + x189))/(1) + u43 - u44 - u91 + u92 + eps*x45 =G= 0;

dL_dx46.. (-0.5*(-0.4 + x190))/(1) + u44 - u45 - u92 + u93 + eps*x46 =G= 0;

dL_dx47.. (-0.5*(-0.4 + x191))/(1) + u45 - u46 - u93 + u94 + eps*x47 =G= 0;

dL_dx48.. (-0.5*(-0.4 + x192))/(1) + u46 - u47 - u94 + u95 + eps*x48 =G= 0;

dL_dx49.. (-0.5*(-0.4 + x193))/(1) + u47 - u48 - u95 + u96 + eps*x49 =G= 0;

dL_dx50.. (-0.5*(-0.4 + x194))/(1) + u48 - u49 - u96 + u97 + eps*x50 =G= 0;

dL_dx51.. (-0.005*x147)/(1) + 0.5*u99 + eps*x51 =G= 0;

dL_dx52.. (-0.005*x148)/(1) + 0.5*u99 + eps*x52 =G= 0;

dL_dx53.. (-0.005*x149)/(1) + 0.5*u99 + eps*x53 =G= 0;

dL_dx54.. (-0.005*x150)/(1) + 0.5*u99 + eps*x54 =G= 0;

dL_dx55.. (-0.005*x151)/(1) + 0.5*u99 + eps*x55 =G= 0;

dL_dx56.. (-0.005*x152)/(1) + 0.5*u99 + eps*x56 =G= 0;

dL_dx57.. (-0.005*x153)/(1) + 0.5*u99 + eps*x57 =G= 0;

dL_dx58.. (-0.005*x154)/(1) + 0.5*u99 + eps*x58 =G= 0;

dL_dx59.. (-0.005*x155)/(1) + 0.5*u99 + eps*x59 =G= 0;

dL_dx60.. (-0.005*x156)/(1) + 0.5*u99 + eps*x60 =G= 0;

dL_dx61.. (-0.005*x157)/(1) + 0.5*u99 + eps*x61 =G= 0;

dL_dx62.. (-0.005*x158)/(1) + 0.5*u99 + eps*x62 =G= 0;

dL_dx63.. (-0.005*x159)/(1) + 0.5*u99 + eps*x63 =G= 0;

dL_dx64.. (-0.005*x160)/(1) + 0.5*u99 + eps*x64 =G= 0;

dL_dx65.. (-0.005*x161)/(1) + 0.5*u99 + eps*x65 =G= 0;

dL_dx66.. (-0.005*x162)/(1) + 0.5*u99 + eps*x66 =G= 0;

dL_dx67.. (-0.005*x163)/(1) + 0.5*u99 + eps*x67 =G= 0;

dL_dx68.. (-0.005*x164)/(1) + 0.5*u99 + eps*x68 =G= 0;

dL_dx69.. (-0.005*x165)/(1) + 0.5*u99 + eps*x69 =G= 0;

dL_dx70.. (-0.005*x166)/(1) + 0.5*u99 + eps*x70 =G= 0;

dL_dx71.. (-0.005*x167)/(1) + 0.5*u99 + eps*x71 =G= 0;

dL_dx72.. (-0.005*x168)/(1) + 0.5*u99 + eps*x72 =G= 0;

dL_dx73.. (-0.005*x169)/(1) + 0.5*u99 + eps*x73 =G= 0;

dL_dx74.. (-0.005*x170)/(1) + 0.5*u99 + eps*x74 =G= 0;

dL_dx75.. (-0.005*x171)/(1) + 0.5*u99 + eps*x75 =G= 0;

dL_dx76.. (-0.005*x172)/(1) + 0.5*u99 + eps*x76 =G= 0;

dL_dx77.. (-0.005*x173)/(1) + 0.5*u99 + eps*x77 =G= 0;

dL_dx78.. (-0.005*x174)/(1) + 0.5*u99 + eps*x78 =G= 0;

dL_dx79.. (-0.005*x175)/(1) + 0.5*u99 + eps*x79 =G= 0;

dL_dx80.. (-0.005*x176)/(1) + 0.5*u99 + eps*x80 =G= 0;

dL_dx81.. (-0.005*x177)/(1) + 0.5*u99 + eps*x81 =G= 0;

dL_dx82.. (-0.005*x178)/(1) + 0.5*u99 + eps*x82 =G= 0;

dL_dx83.. (-0.005*x179)/(1) + 0.5*u99 + eps*x83 =G= 0;

dL_dx84.. (-0.005*x180)/(1) + 0.5*u99 + eps*x84 =G= 0;

dL_dx85.. (-0.005*x181)/(1) + 0.5*u99 + eps*x85 =G= 0;

dL_dx86.. (-0.005*x182)/(1) + 0.5*u99 + eps*x86 =G= 0;

dL_dx87.. (-0.005*x183)/(1) + 0.5*u99 + eps*x87 =G= 0;

dL_dx88.. (-0.005*x184)/(1) + 0.5*u99 + eps*x88 =G= 0;

dL_dx89.. (-0.005*x185)/(1) + 0.5*u99 + eps*x89 =G= 0;

dL_dx90.. (-0.005*x186)/(1) + 0.5*u99 + eps*x90 =G= 0;

dL_dx91.. (-0.005*x187)/(1) + 0.5*u99 + eps*x91 =G= 0;

dL_dx92.. (-0.005*x188)/(1) + 0.5*u99 + eps*x92 =G= 0;

dL_dx93.. (-0.005*x189)/(1) + 0.5*u99 + eps*x93 =G= 0;

dL_dx94.. (-0.005*x190)/(1) + 0.5*u99 + eps*x94 =G= 0;

dL_dx95.. (-0.005*x191)/(1) + 0.5*u99 + eps*x95 =G= 0;

dL_dx96.. (-0.005*x192)/(1) + 0.5*u99 + eps*x96 =G= 0;

dL_dx97.. (-0.005*x193)/(1) + 0.5*u99 + eps*x97 =G= 0;

dL_dx98.. (-0.005*x194)/(1) + 0.5*u99 + eps*x98 =G= 0;

dL_dx99.. (0.00833333333333333*x147)/(1) - 0.5*u99 + eps*x99 =G= 0;

dL_dx100.. (0.00833333333333333*x148)/(1) - 0.5*u99 + eps*x100 =G= 0;

dL_dx101.. (0.00833333333333333*x149)/(1) - 0.5*u99 + eps*x101 =G= 0;

dL_dx102.. (0.00833333333333333*x150)/(1) - 0.5*u99 + eps*x102 =G= 0;

dL_dx103.. (0.00833333333333333*x151)/(1) - 0.5*u99 + eps*x103 =G= 0;

dL_dx104.. (0.00833333333333333*x152)/(1) - 0.5*u99 + eps*x104 =G= 0;

dL_dx105.. (0.00833333333333333*x153)/(1) - 0.5*u99 + eps*x105 =G= 0;

dL_dx106.. (0.00833333333333333*x154)/(1) - 0.5*u99 + eps*x106 =G= 0;

dL_dx107.. (0.00833333333333333*x155)/(1) - 0.5*u99 + eps*x107 =G= 0;

dL_dx108.. (0.00833333333333333*x156)/(1) - 0.5*u99 + eps*x108 =G= 0;

dL_dx109.. (0.00833333333333333*x157)/(1) - 0.5*u99 + eps*x109 =G= 0;

dL_dx110.. (0.00833333333333333*x158)/(1) - 0.5*u99 + eps*x110 =G= 0;

dL_dx111.. (0.00833333333333333*x159)/(1) - 0.5*u99 + eps*x111 =G= 0;

dL_dx112.. (0.00833333333333333*x160)/(1) - 0.5*u99 + eps*x112 =G= 0;

dL_dx113.. (0.00833333333333333*x161)/(1) - 0.5*u99 + eps*x113 =G= 0;

dL_dx114.. (0.00833333333333333*x162)/(1) - 0.5*u99 + eps*x114 =G= 0;

dL_dx115.. (0.00833333333333333*x163)/(1) - 0.5*u99 + eps*x115 =G= 0;

dL_dx116.. (0.00833333333333333*x164)/(1) - 0.5*u99 + eps*x116 =G= 0;

dL_dx117.. (0.00833333333333333*x165)/(1) - 0.5*u99 + eps*x117 =G= 0;

dL_dx118.. (0.00833333333333333*x166)/(1) - 0.5*u99 + eps*x118 =G= 0;

dL_dx119.. (0.00833333333333333*x167)/(1) - 0.5*u99 + eps*x119 =G= 0;

dL_dx120.. (0.00833333333333333*x168)/(1) - 0.5*u99 + eps*x120 =G= 0;

dL_dx121.. (0.00833333333333333*x169)/(1) - 0.5*u99 + eps*x121 =G= 0;

dL_dx122.. (0.00833333333333333*x170)/(1) - 0.5*u99 + eps*x122 =G= 0;

dL_dx123.. (0.00833333333333333*x171)/(1) - 0.5*u99 + eps*x123 =G= 0;

dL_dx124.. (0.00833333333333333*x172)/(1) - 0.5*u99 + eps*x124 =G= 0;

dL_dx125.. (0.00833333333333333*x173)/(1) - 0.5*u99 + eps*x125 =G= 0;

dL_dx126.. (0.00833333333333333*x174)/(1) - 0.5*u99 + eps*x126 =G= 0;

dL_dx127.. (0.00833333333333333*x175)/(1) - 0.5*u99 + eps*x127 =G= 0;

dL_dx128.. (0.00833333333333333*x176)/(1) - 0.5*u99 + eps*x128 =G= 0;

dL_dx129.. (0.00833333333333333*x177)/(1) - 0.5*u99 + eps*x129 =G= 0;

dL_dx130.. (0.00833333333333333*x178)/(1) - 0.5*u99 + eps*x130 =G= 0;

dL_dx131.. (0.00833333333333333*x179)/(1) - 0.5*u99 + eps*x131 =G= 0;

dL_dx132.. (0.00833333333333333*x180)/(1) - 0.5*u99 + eps*x132 =G= 0;

dL_dx133.. (0.00833333333333333*x181)/(1) - 0.5*u99 + eps*x133 =G= 0;

dL_dx134.. (0.00833333333333333*x182)/(1) - 0.5*u99 + eps*x134 =G= 0;

dL_dx135.. (0.00833333333333333*x183)/(1) - 0.5*u99 + eps*x135 =G= 0;

dL_dx136.. (0.00833333333333333*x184)/(1) - 0.5*u99 + eps*x136 =G= 0;

dL_dx137.. (0.00833333333333333*x185)/(1) - 0.5*u99 + eps*x137 =G= 0;

dL_dx138.. (0.00833333333333333*x186)/(1) - 0.5*u99 + eps*x138 =G= 0;

dL_dx139.. (0.00833333333333333*x187)/(1) - 0.5*u99 + eps*x139 =G= 0;

dL_dx140.. (0.00833333333333333*x188)/(1) - 0.5*u99 + eps*x140 =G= 0;

dL_dx141.. (0.00833333333333333*x189)/(1) - 0.5*u99 + eps*x141 =G= 0;

dL_dx142.. (0.00833333333333333*x190)/(1) - 0.5*u99 + eps*x142 =G= 0;

dL_dx143.. (0.00833333333333333*x191)/(1) - 0.5*u99 + eps*x143 =G= 0;

dL_dx144.. (0.00833333333333333*x192)/(1) - 0.5*u99 + eps*x144 =G= 0;

dL_dx145.. (0.00833333333333333*x193)/(1) - 0.5*u99 + eps*x145 =G= 0;

dL_dx146.. (0.00833333333333333*x194)/(1) - 0.5*u99 + eps*x146 =G= 0;

* set non-default bounds
x99.up = 2;
x100.up = 2;
x101.up = 2;
x102.up = 2;
x103.up = 2;
x104.up = 2;
x105.up = 2;
x106.up = 2;
x107.up = 2;
x108.up = 2;
x109.up = 2;
x110.up = 2;
x111.up = 2;
x112.up = 2;
x113.up = 2;
x114.up = 2;
x115.up = 2;
x116.up = 2;
x117.up = 2;
x118.up = 2;
x119.up = 2;
x120.up = 2;
x121.up = 2;
x122.up = 2;
x123.up = 2;
x124.up = 2;
x125.up = 2;
x126.up = 2;
x127.up = 2;
x128.up = 2;
x129.up = 2;
x130.up = 2;
x131.up = 2;
x132.up = 2;
x133.up = 2;
x134.up = 2;
x135.up = 2;
x136.up = 2;
x137.up = 2;
x138.up = 2;
x139.up = 2;
x140.up = 2;
x141.up = 2;
x142.up = 2;
x143.up = 2;
x144.up = 2;
x145.up = 2;
x146.up = 2;


Model m / e2.u2,e3.u3,e4.u4,e5.u5,e6.u6,e7.u7,e8.u8,e9.u9,e10.u10,e11.u11
         ,e12.u12,e13.u13,e14.u14,e15.u15,e16.u16,e17.u17,e18.u18,e19.u19
         ,e20.u20,e21.u21,e22.u22,e23.u23,e24.u24,e25.u25,e26.u26,e27.u27
         ,e28.u28,e29.u29,e30.u30,e31.u31,e32.u32,e33.u33,e34.u34,e35.u35
         ,e36.u36,e37.u37,e38.u38,e39.u39,e40.u40,e41.u41,e42.u42,e43.u43
         ,e44.u44,e45.u45,e46.u46,e47.u47,e48.u48,e49.u49,e50.u50,e51.u51
         ,e52.u52,e53.u53,e54.u54,e55.u55,e56.u56,e57.u57,e58.u58,e59.u59
         ,e60.u60,e61.u61,e62.u62,e63.u63,e64.u64,e65.u65,e66.u66,e67.u67
         ,e68.u68,e69.u69,e70.u70,e71.u71,e72.u72,e73.u73,e74.u74,e75.u75
         ,e76.u76,e77.u77,e78.u78,e79.u79,e80.u80,e81.u81,e82.u82,e83.u83
         ,e84.u84,e85.u85,e86.u86,e87.u87,e88.u88,e89.u89,e90.u90,e91.u91
         ,e92.u92,e93.u93,e94.u94,e95.u95,e96.u96,e97.u97,e99.u99,e100.x147
         ,e101.x148,e102.x149,e103.x150,e104.x151,e105.x152,e106.x153
         ,e107.x154,e108.x155,e109.x156,e110.x157,e111.x158,e112.x159
         ,e113.x160,e114.x161,e115.x162,e116.x163,e117.x164,e118.x165
         ,e119.x166,e120.x167,e121.x168,e122.x169,e123.x170,e124.x171
         ,e125.x172,e126.x173,e127.x174,e128.x175,e129.x176,e130.x177
         ,e131.x178,e132.x179,e133.x180,e134.x181,e135.x182,e136.x183
         ,e137.x184,e138.x185,e139.x186,e140.x187,e141.x188,e142.x189
         ,e143.x190,e144.x191,e145.x192,e146.x193,e147.x194,dL_dx3.x3
         ,dL_dx4.x4,dL_dx5.x5,dL_dx6.x6,dL_dx7.x7,dL_dx8.x8,dL_dx9.x9
         ,dL_dx10.x10,dL_dx11.x11,dL_dx12.x12,dL_dx13.x13,dL_dx14.x14
         ,dL_dx15.x15,dL_dx16.x16,dL_dx17.x17,dL_dx18.x18,dL_dx19.x19
         ,dL_dx20.x20,dL_dx21.x21,dL_dx22.x22,dL_dx23.x23,dL_dx24.x24
         ,dL_dx25.x25,dL_dx26.x26,dL_dx27.x27,dL_dx28.x28,dL_dx29.x29
         ,dL_dx30.x30,dL_dx31.x31,dL_dx32.x32,dL_dx33.x33,dL_dx34.x34
         ,dL_dx35.x35,dL_dx36.x36,dL_dx37.x37,dL_dx38.x38,dL_dx39.x39
         ,dL_dx40.x40,dL_dx41.x41,dL_dx42.x42,dL_dx43.x43,dL_dx44.x44
         ,dL_dx45.x45,dL_dx46.x46,dL_dx47.x47,dL_dx48.x48,dL_dx49.x49
         ,dL_dx50.x50,dL_dx51.x51,dL_dx52.x52,dL_dx53.x53,dL_dx54.x54
         ,dL_dx55.x55,dL_dx56.x56,dL_dx57.x57,dL_dx58.x58,dL_dx59.x59
         ,dL_dx60.x60,dL_dx61.x61,dL_dx62.x62,dL_dx63.x63,dL_dx64.x64
         ,dL_dx65.x65,dL_dx66.x66,dL_dx67.x67,dL_dx68.x68,dL_dx69.x69
         ,dL_dx70.x70,dL_dx71.x71,dL_dx72.x72,dL_dx73.x73,dL_dx74.x74
         ,dL_dx75.x75,dL_dx76.x76,dL_dx77.x77,dL_dx78.x78,dL_dx79.x79
         ,dL_dx80.x80,dL_dx81.x81,dL_dx82.x82,dL_dx83.x83,dL_dx84.x84
         ,dL_dx85.x85,dL_dx86.x86,dL_dx87.x87,dL_dx88.x88,dL_dx89.x89
         ,dL_dx90.x90,dL_dx91.x91,dL_dx92.x92,dL_dx93.x93,dL_dx94.x94
         ,dL_dx95.x95,dL_dx96.x96,dL_dx97.x97,dL_dx98.x98,dL_dx99.x99
         ,dL_dx100.x100,dL_dx101.x101,dL_dx102.x102,dL_dx103.x103
         ,dL_dx104.x104,dL_dx105.x105,dL_dx106.x106,dL_dx107.x107
         ,dL_dx108.x108,dL_dx109.x109,dL_dx110.x110,dL_dx111.x111
         ,dL_dx112.x112,dL_dx113.x113,dL_dx114.x114,dL_dx115.x115
         ,dL_dx116.x116,dL_dx117.x117,dL_dx118.x118,dL_dx119.x119
         ,dL_dx120.x120,dL_dx121.x121,dL_dx122.x122,dL_dx123.x123
         ,dL_dx124.x124,dL_dx125.x125,dL_dx126.x126,dL_dx127.x127
         ,dL_dx128.x128,dL_dx129.x129,dL_dx130.x130,dL_dx131.x131
         ,dL_dx132.x132,dL_dx133.x133,dL_dx134.x134,dL_dx135.x135
         ,dL_dx136.x136,dL_dx137.x137,dL_dx138.x138,dL_dx139.x139
         ,dL_dx140.x140,dL_dx141.x141,dL_dx142.x142,dL_dx143.x143
         ,dL_dx144.x144,dL_dx145.x145,dL_dx146.x146 /;

Solve m using mcp;

$offecho

execute 'cat agent4_gms > agent4.gms.want';
execute 'cat "%gams.scrdir%agent4.gms" > agent4.gms.got';
execute '=diff -bw agent4.gms.want agent4.gms.got';
abort$errorlevel 'Files agent4.gms.want and agent4.gms.got differ';