gamsincr.gms : Test GAMS incrementalMode

Description

Call "gams" executable with IncrementalMode=1.

Contributor: Michael Bussieck, January 2024


Small Model of Type : GAMS


Category : GAMS Test library


Main file : gamsincr.gms

$title Test GAMS incrementalMode (GAMSINCR,SEQ=952)

$onText
Call "gams" executable with IncrementalMode=1.

Contributor: Michael Bussieck, January 2024
$offText

$call gamslib -q 1 
$call.checkErrorLevel gams trnsport a=c dumpopt=22 lo=2
$if not exist trnsport.dmp16 $abort expecting trnsport.dmp16
$if     exist trnsport.dmp17 $abort do not expect trnsport.dmp17
$onEcho > trnsport.dmp14
if (licenseLevel = 0 or licenseLevel = 5 or licenseLevel = 7,
   solve transport using lp minimizing z;
else
   execute_load 'ref.gdx', x, z, cost, demand, supply;
);
$offEcho

$if not dExist scratch $call mkdir scratch
* Prepare good parameter file in scratch
$call.checkErrorLevel gams trnsport lo=%gams.lo% procdir=scratch gdx=ref > %system.nullFile%
$call.checkErrorLevel gams trnsport lo=%gams.lo% procdir=scratch > %system.nullFile%

$call cat scratch/gmsprm* > pf.txt
$echo Input=trnsport.dmp >> pf.txt
$echo pf.txt > stdin.txt

$set cnt 1
$label l1
$eval cnt %cnt%+1
$call cat scratch/gmsprm* > pf%cnt%.txt
$echo Input=trnsport.dmp%cnt% >> pf%cnt%.txt
$echo pf%cnt%.txt >> stdin.txt
$if not %cnt%==16 $goto l1
$echo gdx=incr.gdx >> pf%cnt%.txt
$echo stop >> stdin.txt
$call.checkErrorLevel gams nothing incrementalMode=1 < stdin.txt > %system.nullFile%

$onEchoV > checkrc.gms
Scalar rc /
$include %fnrc%
/;
abort$rc 'unexpected return code';
$offecho

$call.checkErrorLevel gams checkrc lo=%gams.lo% --fnrc=pf.txt.rc
$set cnt 1
$label l2
$eval cnt %cnt%+1
$call.checkErrorLevel gams checkrc lo=%gams.lo% --fnrc=pf%cnt%.txt.rc
$if not %cnt%==16 $goto l2
$call.checkErrorLevel gdxdiff ref.gdx incr.gdx > %system.nullFile%