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