hamihamiha 发表于 2009-7-22 11:31

新手求助:一段LINGO9.0程序,显示错误1107,怎么回事啊?急~

model:
title:assignment lowcost;
sets:
commercial/1..4/:m;!商品种类 已知;
client/1..8/:c;!客户 已知;
supply/1..5/:w;!货栈 已知;
links(supply,client):q,x;!货栈和客户的对应道路最短时间 已知和要求的安排车次 未知;
price(commercial,supply):p;!单价 已知;
demands(commercial,client):d;!需求量 已知;
maxstream(commercial,supply):h;!最大流通量 已知;
num(links,commercial):s;!每一辆卡车里面装某种商品S单位 未知;
endsets
data:
!四种商品在不同货栈的单位成本;
p=1.00,1.05,0.95,1.06,1.08
  0.20,0.19,0.18,0.19,0.19
  0.30,0.29,0.28,0.28,0.27
  0,0,0,0,1.90;
!8个客户对4种商品的需求量;
d=15,10,18,20,28,25,20,20
  39,35,36,38,35,41,33,38
  81,85,84,82,95,99,87,82
  15,10,12,10,22,25,10,10;
!5个货栈对4种商品的最大流通量;
h=50,30,70,30,20
  50,70,90,60,60
  130,140,170,160,120
  0,0,0,0,120;
!从货栈i到客户j的最短时间(单位运输成本,用时间表示单位小时h);
q=3.66,5.66,6.48,1.24,1.65,3.64,3.17,7.15
  4.26,2.34,1.63,3.79,6.67,3.97,7.63,8.95
  4.23,3.74,6.49,5.94,8.73,3.54,9.40,7.92
  6.04,8.04,8.59,3.87,3.46,5.19,1.94,3.89
  9.17,11.16,11.30,8.10,8.07,7.90,6.55,0.72;
enddata
sum(client(j):x(i,j)*(q(i,j)+@sum(commercial(k):p(k,i)*s(i,j,k" target="_blank">min=@smin(@sum(supply(i):@sum(client(j):x(i,j)*(q(i,j)+@sum(commercial(k):p(k,i)*s(i,j,k))))));
@for(client(j):@for(commercial(k):@sum(supply(i):s(i,j,k)*x(i,j))=d(k,j)));!需求约束;
@for(supply(i):@for(commercial(k):@sum(client(j):s(i,j,k)*x(i,j))<=h(k,i)));!最大流通量约束;
@for(supply(i):@for(client(j):(s(i,j,1)+s(i,j,4))*(s(i,j,2)+s(i,j,3))=0));!混装约束;
@for(supply(i):@for(client(j):@sum(commercial(k):s(i,j,k))<=10));!载重约束;
@for (links(i,j): @gin(x(i,j)));
end

gtyoyo 发表于 2009-7-22 14:45

你应该吧表情换了!

hamihamiha 发表于 2009-7-27 22:33

额...
model:
title:assignment lowcost;
sets:
commercial/1..4/:m;!商品种类 已知;
client/1..8/:c;!客户 已知;
supply/1..5/:w;!货栈 已知;
links(supply,client):q,x;!货栈和客户的对应道路最短时间 已知和要求的安排车次 未知;
price(commercial,supply):p;!单价 已知;
demands(commercial,client):d;!需求量 已知;
maxstream(commercial,supply):h;!最大流通量 已知;
num(links,commercial):s;!每一辆卡车里面装某种商品S单位 未知;
endsets
data:
!四种商品在不同货栈的单位成本;
p=1.00,1.05,0.95,1.06,1.08
  0.20,0.19,0.18,0.19,0.19
  0.30,0.29,0.28,0.28,0.27
  0,0,0,0,1.90;
!8个客户对4种商品的需求量;
d=15,10,18,20,28,25,20,20
  39,35,36,38,35,41,33,38
  81,85,84,82,95,99,87,82
  15,10,12,10,22,25,10,10;
!5个货栈对4种商品的最大流通量;
h=50,30,70,30,20
  50,70,90,60,60
  130,140,170,160,120
  0,0,0,0,120;
!从货栈i到客户j的最短时间(单位运输成本,用时间表示单位小时h);
q=3.66,5.66,6.48,1.24,1.65,3.64,3.17,7.15
  4.26,2.34,1.63,3.79,6.67,3.97,7.63,8.95
  4.23,3.74,6.49,5.94,8.73,3.54,9.40,7.92
  6.04,8.04,8.59,3.87,3.46,5.19,1.94,3.89
  9.17,11.16,11.30,8.10,8.07,7.90,6.55,0.72;
enddata
sum(client(j):x(i,j)*(q(i,j)+@sum(commercial(k):p(k,i)*s(i,j,k" target="_blank">min=@smin(@sum(supply(i)sum(client(j):x(i,j)*(q(i,j)+@ sum(commercial(k):p(k,i)*s(i,j,k))))));
@for(client(j) for(commercial(k) sum(supply(i):s(i,j,k)*x(i,j))=d(k,j)));!需求约束;
@for(supply(i) for(commercial(k) sum(client(j):s(i,j,k)*x(i,j))<=h(k,i)));!最大流通量约束;
@for(supply(i) for(client(j) s(i,j,1)+s(i,j,4))*(s(i,j,2)+s(i,j,3))=0));!混装约束;
@for(supply(i) for(client(j) sum(commercial(k):s(i,j,k))<=10));!载重约束;
@for (links(i,j): @gin(x(i,j)));
end

madio 发表于 2009-7-27 22:57

用插入代码的标签发布,要不没法复制代码的

日新 发表于 2009-8-5 10:00

可能是版本的问题!!!!!!!由于用的9.0不是正式版,会报错!!!!
不是程序问题!!!而是版本
换成8.0把
我们就是这样做的

xiaoguo 发表于 2009-9-6 17:37

???????????????????

lwjok2007 发表于 2010-9-7 09:48

我也一样,换成8.0 特别慢,运行半小时 后就出现电脑内存读取错误
页: [1]
查看完整版本: 新手求助:一段LINGO9.0程序,显示错误1107,怎么回事啊?急~