我有一个变量u [i,j,p],其中i和j是有序集。具体来说,我已经定义了变量和像
这样的集合 set I;
set J;
set P;
set LINKS within {I,J};
param u{LINKS,P}
<。>在.mod文件中。在我的.dat中我写过:
set I := 1 2 3 4;
set J := Factory1 Factory2 Factory3 Factory4
set LINKS := (1,Factory1) (2,Factory1) (3,Factory2) (4,Factory2);
set P:= prod1 prod2 prod3;
param u default 0:=
[1,Factory1,*] prod1 0.5251 prod2 0.3738
[2,Factory1,*] prod1 0.5052 prod2 0.3311
[3,Factory2,*] prod1 0.5555 prod3 0.6666
[4,Factory2,*] prod3 0.6156 prod4 0.3353;
但是这给了我关于你如何申报的错误。当我试图按照我试图做的AMPL文档时
param LINKS: u:=
[1,Factory1,*] prod1 0.5251 prod2 0.3738
[2,Factory1,*] prod1 0.5052 prod2 0.3311
[3,Factory2,*] prod1 0.5555 prod3 0.6666
[4,Factory2,*] prod3 0.6156 prod4 0.3353;
但它也给出了错误。
答案 0 :(得分:1)
您的代码中存在两个问题:
中缺少分号
param u{LINKS,P}
和
set J := Factory1 Factory2 Factory3 Factory4
使用不属于prod4
成员的P
。
否则看起来是正确的。