$Title Test disjunctions involving the objective (EMPDISJ2,SEQ=501) $ontext The following checks have to be performed: 1. If the objective equation is unambiguous it cannot be involved in a disjunction. 2. If there are multiple the reader has to make sure each term of the relevant disjunction has to have a (potential) objective Contributor: Jan-H. Jagla, November 2010 $offtext variable x; equation e1,e2,e3; model m / all /; variable y; equation e1a,e3a ; model m2 / all /; model m3 / e1,e2,e3,e1a /; e1.. x =e= 1; e1a.. y =e= 1; e2.. x =e= 2; e3.. x =e= 3; e3a.. y =e= 3; file fhandle /"%emp.info%"/; *This is ok since every term has an obj putclose fhandle 'disjunction bigm * e1 elseif * e2 else e3'; solve m us emp min x; abort$(m.solvestat <> 1 or m.modelstat <> 1) '1st solve should terminate with (1,1)'; *This is NOT ok since the second term has no obj putclose fhandle 'disjunction bigm * e1 e1a elseif * e2 else e3 e3a'; solve m2 us emp min y; abort$(m2.solvestat <> 12 or m2.modelstat <> 14) '2nd solve should terminate with (12,14)'; *This is ok since obj is not involved a disjunction putclose fhandle 'disjunction bigm * e1 elseif * e2 else e3'; solve m3 us emp min y; abort$(m3.solvestat <> 1 or m3.modelstat <> 1) '3rd solve should terminate with (1,1)'; *This is NOT ok since the objective is unambiguous and involved *in a disjunction hence only one term involves and has an obj putclose fhandle 'disjunction bigm * e1 e1a elseif * e2 else e3'; solve m3 us emp min y; abort$(m3.solvestat <> 12 or m3.modelstat <> 14) '4th solve should terminate with (12,14)';