Even small tables can contain errors. An example data set in a published paper about scheduling maintenance of power generators looks like:
In GAMS I transcribed this as:
Just to be sure I added some checks:
|set error(i,t) 'check for mismatch between manpower and outage-weeks'; |
error(i,t)$(manpower(i,t)=0 and ord(t)<=data(i,'outage-weeks')) = yes;
error(i,t)$(manpower(i,t)<>0 and ord(t)>data(i,'outage-weeks')) = yes;
abort$card(error) "manpower mismatch",error;
Low and behold, we see:
---- 93 manpower mismatch
---- 93 SET error check for mismatch between manpower and outage-weeks
**** Exec Error at line 93: Execution halted: abort$1 'manpower mismatch'
Indeed we have for this unit a problem in the manpower allocation.