二宝葩葩 发表于 2014-4-6 15:31

运输问题lingo程序有一处错误…………

file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\631202694\QQ\WinTemp\RichOle\`3I%GCX8277file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\631202694\QQ\WinTemp\RichOle\`3I%GCX8277!运输问题,4个产地,8个销地,每个产地生产成本已知,销地利润已知,运费已知,求最大利润的问题;
MODEL:
sets:
warehouse/1..4/:a,p;                 !供应商,a1,a2,a3,a4,成本p;
customer/1..8/:b,s;                  !销售商,b1,b2,b3,b4,b5,b6,b7,b8,利润s;
routes(warehouse,customer):c,x;      !运输路线;
endsets
data:
a=12 16 16 20;
b=6 5 8 10 6 5 8 6;
c=2 11 3 4 12 16 22 26
  10 3 5 9 15 18 24 35
  7 8 1 2 8 13 33 48
  12 9 16 7 16 21 42 56;
p=92 88 90 86;
s=105 110 108 105 110 112 126 132;
enddata
max = @sum((customer(j):s(j))*@sum(warehouse(i):x(i,j)))
            -@sum(warehouse(i):p(i))*@sum(customer(j):x(i,j))
            -@sum(routes:c*x);
@for(warehouse(i):
     @sum(customer(j):x(i,j))<=a(i));
@for(customer(j):
     @sum(warehouse(i):x(i,j))= b(j));
END

就是红色的那一行有错误


madio 发表于 2014-4-6 17:44

max = @sum(customer(j):s(j)*@sum(warehouse(i):x(i,j)))
            -@sum(warehouse(i):p(i)*@sum(customer(j):x(i,j)))
            -@sum(routes:c*x);
改成这样的就没有问题了,主要是后面的x(i,j)它的两个指标i,j的范围不确定,你具体说说是怎样的一个目标函数,我估计改的应该是符合你的要求的。
页: [1]
查看完整版本: 运输问题lingo程序有一处错误…………