Algorithm GAMS if-else语法

Algorithm GAMS if-else语法,algorithm,gams-math,Algorithm,Gams Math,我对GAMS是新手。我写的代码给出了一个错误代码中的a'是整数变量,z是二进制变量。我怎样才能修好它?或者我如何连接这两个变量?提前感谢。 WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

我对GAMS是新手。我写的代码给出了一个错误代码中的a'是整数变量,z是二进制变量。我怎样才能修好它?或者我如何连接这两个变量?提前感谢。
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW。您可以使用big-M方法并为此类逻辑添加两个约束:

-Mz
if (a(i,j) gt 0,
z(i,j) eq 0;
else
z(i,j) eq 1;
);

equations
kapasite_asker(i)
kapasite_silah(i,k)
talep_asker1(j)
talep_asker2(j)
talep_silah1(j)
talep_silah2(j)
atama_asker(i)
atama_silah(i)
agirlik(i,j)
risk
amac

;

kapasite_asker(i)..   sum(j,a(i,j))=L=y(i)*c(i);
kapasite_silah(i,k).. sum(j,x(i,j,k))=L=m(i,k)*f(i);
talep_asker1(j)..     sum(i,z(i,j))=E=1;
talep_asker2(j)..     sum(i,a(i,j))=E=g(j); 
talep_silah1(j)..     sum(i,e(i,j))=E=1;
talep_silah2(j)..     sum((i,k),x(i,j,k))=E=sum(k,n(j,k));
agirlik(i,j)..        sum(k,x(i,j,k)*v(k))=L=t(i,j);
risk..                sum((i,j),(z(i,j)*r(i,j)+e(i,j)*r(i,j)))=L=25*sum((i,j),z(i,j)+e(i,j));
amac..                sum(i,f(i)+y(i))=E=p;
atama_asker(i)..         sum(j,z(i,j))=L=11*y(i);
atama_silah(i)..         sum(j,e(i,j))=L=11*f(i);

 Error 143 
    A suffix is missing
Error 141 
    Symbol declared but no values have been assigned. Check for missing
       data definition, assignment, data loading or implicit assignment
       via a solve statement.
       A wild shot: You may have spurious commas in the explanatory
       text of a declaration. Check symbol reference list.
Error 149 
    Uncontrolled set entered as constant

Error  10 
    ',' expected
 Error 140
    Unknown symbol
Error  36 
    '=' or '..' or ':=' or '$=' operator expected
    rest of statement ignored

 Error 409 in 
    Unrecognizable item  skip to find a new statement
      looking for a ';' or a key word to get started again