这是我的模特。
set ch ;
set k ;
param a{i in ch , j in k};
param b{i in ch };
param c{j in k };
var x{i in ch , j in k}>= 0;
minimize cost: sum{i in ch , j in k} x[i,j]* a[i,j];
s.t. D{i in ch }: sum{j in k} x[i,j] >= b[i];
s.t. E{j in k }: sum{i in ch } x[i,j] <= c[j];
data;
set ch := ch1 ch2 ch3;
set k := k1 k2;
param a : ch1 ch2 ch3 :=
k1 100 180 100
k2 50 120 80;
param b := ch1 50
ch2 80
ch3 100;
param c := k1 400
k2 90;
solve;
display x{i in ch , j in k};
end;
解决模型时遇到以下错误:
cau5.mod:25: syntax error in data section
这实在令人困惑,因为有一个模型具有相同的格式但解决得很好。请有人帮忙。
答案 0 :(得分:2)
问题是您在a
的数据表中交换了行键和列键。您可以添加(tr)
,这意味着“转置”以解决此问题:
param a (tr) : ch1 ch2 ch3 :=
k1 100 180 100
k2 50 120 80;