$title Test equList matching in model statement (MCP14, SEQ=967) $onText Test equList matching in model statement. In particular, test on invalid inputs that lead to compilation errors. Contributor: Steven Dirkse, September 2024 $offText $onEcho > m4.gms $ontext ------------------------------------------------------------------------ rows: f1_a_solo, f2_b_solo cols: v_a, v_b result: bad match always: f1/f2 is not conformant with v ------------------------------------------------------------------------ $offtext Scalar c / 0 /; Sets u / a, b, c / i1(u) i2(u) j / uno / ; Variable v(u); Equations f1(u,j) '2d equation' f2(u,j) '2d equation' ; f1(i1(u),j).. v(u-1) + v(u) + c * v(u+1) =E= min(2,ord(u)); f2(i2(u),j).. v(u-1) + v(u) + c * v(u+1) =E= min(2,ord(u)); i1(u) = sameas(u,'a'); i2(u) = sameas(u,'b'); Model m4 / ( f1 | f2 ) : v /; solve m4 using mcp; $offEcho $call gams m4.gms lo=%GAMS.lo% $ife errorlevel=0 $abort Expected error for m4 $onEcho > m5.gms $ontext ------------------------------------------------------------------------ rows: e1_a, f2_b_solo cols: v_a, v_b result: bad match always: e1 not conformant with f2 ------------------------------------------------------------------------ $offtext Scalar c / 0 /; Sets u / a, b, c / i1(u) i2(u) j / uno / ; Variable v(u); Equations e1(u) 'matched equations' f2(u,j) '2d equation' ; e1(i1(u)).. v(u-1) + v(u) + c * v(u+1) =E= min(2,ord(u)); f2(i2(u),j).. v(u-1) + v(u) + c * v(u+1) =E= min(2,ord(u)); i1(u) = sameas(u,'a'); i2(u) = sameas(u,'b'); Model m5 / ( e1 | f2 ) : v /; solve m5 using mcp; $offEcho $call gams m5.gms lo=%GAMS.lo% $ife errorlevel=0 $abort Expected error for m5 $onEcho > m6.gms $ontext ------------------------------------------------------------------------ rows: any cols: any result: bad syntax ("," vs "|") ------------------------------------------------------------------------ $offtext equation e; Variable v,w; e.. v =e= w; model m6 / ( e ) : ( v | w ) /; $offEcho $call gams m6.gms lo=%GAMS.lo% $ife errorlevel<>2 $abort Expected compilation error for m6 $onEcho > m7.gms $ontext ------------------------------------------------------------------------ rows: any cols: any result: bad syntax ("," vs "|") ------------------------------------------------------------------------ $offtext equation e; Variable v,w; e.. v =e= w; model m7 / e : ( v , w ) /; $offEcho $call gams m7.gms lo=%GAMS.lo% $ife errorlevel<>2 $abort Expected compilation error for m7