$title 'GAMSCHK test suite - use of scale factors' (GAMSCHK2,SEQ=959) $onCheckErrorLevel $onEchoV > solo.gms sets items names of variables /x1*x4/ resources names of constraints /r1*r4/ parameter objcoef(items) objective function coeficients /x1 1, x2 -500, x3 -400, x4 -5000/ rhs(resources) resource availabilities /r3 6000,r4 300/; Table amatrix(resources,items) aij matrix x1 x2 x3 x4 r1 1 -10000 -8000 r2 5 4 -50 r3 1500 2000 r4 50 45 ; variables z; positive variables xvar(items); equations objfun avail(resources); objfun.. z =e= sum(items,objcoef(items)*xvar(items)); avail(resources).. sum(items,amatrix(resources,items)*xvar(items)) =l= rhs(resources); option limrow=4; option limcol=4; model scalemod /all/; option lp=gamschk; $ifthen set SETSCALES display "Setting scales to non-default values"; objfun.scale=10000; z.scale=objfun.scale; avail.scale("r1")=10000; xvar.scale("x1")= avail.scale("r1"); avail.scale("r3")=1000; avail.scale("r4")=50; $else display "All scales left at default values"; $endif scalemod.scaleopt=0; solve scalemod using lp maximizing z; $offEcho $onEchoV > solo.gck displaycr Equation avail* postopt Equation avail* $offEcho * ------------------------------------------------------------------ $call =gams solo.gms lo=0 pw=80 o=gamschk2_noscales.lst $call =gams solo.gms lo=0 pw=80 --SETSCALES=1 o=gamschk2_setscales.lst $call cd . && "%gams.sysdir%GMSPython%system.dirsep%python" ./lstGrabber.py gamschk2_noscales.lst "### Executing DISPLAYCR" 86 noscales.txt > %system.nullFile% $call cd . && "%gams.sysdir%GMSPython%system.dirsep%python" ./lstGrabber.py gamschk2_setscales.lst "### Executing DISPLAYCR" 86 setscales.txt > %system.nullFile% $offCheckErrorLevel $call diff noscales.txt setscales.txt > %system.nullFile% $if errorlevel 1 $abort 'ERROR: unexpected differences found in GAMSCHK output' $log Test %system.fn% completed successfully