xerr2.gms : External Equation Errors: Aij wrong

Description

```This model checks if Cmex creates an error as expected when dealing with
external equations. The errors we want to get are:
- Aij in variable has non integer value in =X= equation
- Aij out of range in variable in =X= equation
- Aij not unique in variable in =X= equation
- Aij not the same in variable in =X= equation

Contributor: Lutz Westermann
```

Small Model of Type : GAMS

Category : GAMS Test library

Main file : xerr2.gms

``````\$title External Equation Errors: Aij wrong (xerr1,SEQ=494)
\$onText

This model checks if Cmex creates an error as expected when dealing with
external equations. The errors we want to get are:
- Aij in variable has non integer value in =X= equation
- Aij out of range in variable in =X= equation
- Aij not unique in variable in =X= equation
- Aij not the same in variable in =X= equation

Contributor: Lutz Westermann

\$offText

\$onEcho > err.gms
set i / i1*i4 /
variables x(i), z;
equations zdef;

zdef.. sum(i, (ord(i)+ord(i)/10)*x(i) ) + (card(i)+1)* z =X= 1;
model xerr     'External equations'  / all /;
solve xerr using nlp minimizing z;
\$offEcho

\$call =gams err.gms lo=%GAMS.lo%
\$if not errorlevel 1 \$abort should get error because of Aij not integer

\$onEcho > err.gms
set i / i1*i4 /
variables x(i), z;
equations zdef;

zdef.. sum(i, (ord(i)+1)*x(i) ) + (card(i)+2)* z =X= 1;
model xerr     'External equations'  / all /;
solve xerr using nlp minimizing z;
\$offEcho

\$call =gams err.gms lo=%GAMS.lo%
\$if not errorlevel 1 \$abort should get error because of Aij out of range

\$onEcho > err.gms
set i / i1*i4 /
variables x(i), z;
equations zdef;

zdef.. sum(i, (card(i)+1)*x(i) ) + (card(i)+1)* z =X= 1;
model xerr     'External equations'  / all /;
solve xerr using nlp minimizing z;
\$offEcho

\$call =gams err.gms lo=%GAMS.lo%
\$if not errorlevel 1 \$abort should get error because of Aij not unique

\$onEcho > err.gms
set i / i1*i4 /
variables x(i), z;
equations zdef, zdef2;

zdef..  sum(i,  ord(i)   *x(i) ) + (card(i)+1)* z =X= 1;
zdef2.. sum(i, (ord(i)+1)*x(i) )                  =X= 2;
model xerr     'External equations'  / all /;
solve xerr using nlp minimizing z;
\$offEcho

\$call =gams err.gms lo=%GAMS.lo%
\$if not errorlevel 1 \$abort should get error because of Aij not the same in variable
``````
GAMS Development Corp.
GAMS Software GmbH

General Information and Sales
U.S. (+1) 202 342-0180
Europe: (+49) 221 949-9170
GAMS is a registered trademark of GAMS Software GmbH in the European Union