Q: I wonder if there is a nice way to count the number of the equation that is is related to a specific constraint. For example, a gams expression that is:
demand(j) .. sum(i, x(i,j)) =g= b(j) ;
How can I count the number of equation generated by that equation? Is there any suffix or index I can refer to?
If you use the limrow = 1 option, then the output of your gams model will include the first instance of every equation you have defined and include a message indicating the number of skipped rows also generated:
---- demand =G= satisfy demand at market j demand(new-york).. x(seattle,new-york) + x(san-diego,new-york) =G= 325 ; (LHS = 0, INFES = 325 ***) REMAINING 2 ENTRIES SKIPPED
Thus the constraint
demand(j) generates three equations.
Another approach is to use the results of the
profile option to get the number of generated equations. Below is an example, which writes the collected information of the trnsport model into a file
$call 'gamslib trnsport' option limrow=1,limcol=0, profile=1; $include trnsport.gms * get number of equations from profile execute 'grep -i secs %system.ofile% |grep "EQUATION" >eq.txt'
The last entry of each line in
eq.txt tells you the number of generated equations:
74 execute 'grep -i secs C:\temp\xxx\t2.lst |grep "EQUATION" >eq.txt' ---- 61 EQUATION cost 0.000 0.000 SECS 4 Mb 1 ---- 63 EQUATION supply 0.000 0.000 SECS 4 Mb 2 ---- 65 EQUATION demand 0.000 0.000 SECS 4 Mb 3