请求高手帮我看看这个lingo程序错在哪里? 急急急急!!!

store/1..12/:x,q,m,n;!m为备用容量上限,n为容量上限,因为有的仓储可能没有被选取;sall/1..13/:p;link(sall,store):co... store/1..12/:x,q,m,n;!m为备用容量上限,n为容量上限,因为有的仓储可能没有被选取;
sall/1..13/:p;
link(sall,store):cost,volume;
endsets
data:
q=5600 8000 9500 4000 3500 8500 6500 3500 4000 9500 9000 3800;
n=300 300 200 270 280 350 260 220 280 300 350 230;
p=125 90 80 100 105 100 90 70 30 130 95 125 100;
!用足够大的数10000000来代替无穷大;
cost=0.880000 1.111111 1.062500 0.650000 0.904762 1.050000 1.222222 1.285714 2.000000 0.615385 0.736842 0.680000 0.980000
0.960000 1.311111 1.187500 0.780000 1.000000 1.200000 1.500000 1.785714 2.833333 0.692308 0.947368 0.624000 1.220000
1.080000 1.611111 1.312500 0.980000 1.047619 2.000000 1.111111 1.928571 3.000000 0.730769 1.105263 0.760000 1.080000
1.000000 1.222222 1.125000 1.200000 0.904762 1.800000 1.166667 2.071429 3.333333 10000000 10000000 0.880000 1.200000
0.760000 2.077778 1.250000 10000000 10000000 10000000 1.000000 2.642857 5.166667 10000000 10000000 1.008000 0.950000
0.904000 2.166667 1.600000 10000000 10000000 10000000 0.944444 2.285714 4.333333 0.923077 1.263158 1.040000 1.000000
0.704000 1.166667 1.187500 0.880000 1.047619 0.900000 1.388889 2.928571 5.266667 0.753846 1.400000 0.624000 1.700000
0.944000 1.355556 1.625000 0.990000 1.000000 1.250000 0.977778 1.857143 4.266667 1.046154 1.052632 0.760000 1.350000
1.624000 2.000000 1.750000 1.250000 0.761905 0.900000 1.277778 2.571429 4.400000 1.076923 1.315789 0.864000 1.300000
1.120000 1.777778 1.937500 1.450000 1.238095 0.850000 2.222222 2.500000 6.000000 0.923077 10000000 10000000 1.250000
1.056000 2.000000 1.850000 1.300000 10000000 10000000 10000000 1.971429 5.333333 0.769231 10000000 10000000 1.400000
1.040000 2.055556 2.075000 1.000000 10000000 10000000 10000000 2.000000 5.833333 0.884615 1.473684 1.240000 1.700000 ;
enddata
@for(store:m(j)=@if(x(j)#eq#0,0,n(j)));!让没被选取的仓储的容量为0;
[obj] min=@sum(link:volume*cost)+@sum(store:q(j)*x(j));!目标函数;
!容量限制;
@for(store(j):@sum(sall:volume(i,j))<=m(j));
!需求限制;
@for(sall:@sum(store:volume(i,j))=p(i));
!0-1变量;
@for(store:@bin(x));
展开
 我来答
barcadinho
2010-07-18 · TA获得超过337个赞
知道答主
回答量:94
采纳率:0%
帮助的人:124万
展开全部
经过修改之后,已经没有语法错误了,但是由于我的软件是盗版,所以算不了这么多变量,你自己试试吧。
存在的问题主要有:刚开始的时候要有“set:”,后面的i,j该加的加上就好了,没有啥大问题。如果不加就会出现语法错误。
我做的如下:
sets:
store/1..12/:x,q,m,n;!m为备用容量上限,n为容量上限,因为有的仓储可能没有被选取;
sall/1..13/:p;
link(sall,store):cost,volume;
endsets
data:
q=5600 8000 9500 4000 3500 8500 6500 3500 4000 9500 9000 3800;
n=300 300 200 270 280 350 260 220 280 300 350 230;
p=125 90 80 100 105 100 90 70 30 130 95 125 100;
!用足够大的数10000000来代替无穷大;
cost=0.880000 1.111111 1.062500 0.650000 0.904762 1.050000 1.222222 1.285714 2.000000 0.615385 0.736842 0.680000 0.980000
0.960000 1.311111 1.187500 0.780000 1.000000 1.200000 1.500000 1.785714 2.833333 0.692308 0.947368 0.624000 1.220000
1.080000 1.611111 1.312500 0.980000 1.047619 2.000000 1.111111 1.928571 3.000000 0.730769 1.105263 0.760000 1.080000
1.000000 1.222222 1.125000 1.200000 0.904762 1.800000 1.166667 2.071429 3.333333 10000000 10000000 0.880000 1.200000
0.760000 2.077778 1.250000 10000000 10000000 10000000 1.000000 2.642857 5.166667 10000000 10000000 1.008000 0.950000
0.904000 2.166667 1.600000 10000000 10000000 10000000 0.944444 2.285714 4.333333 0.923077 1.263158 1.040000 1.000000
0.704000 1.166667 1.187500 0.880000 1.047619 0.900000 1.388889 2.928571 5.266667 0.753846 1.400000 0.624000 1.700000
0.944000 1.355556 1.625000 0.990000 1.000000 1.250000 0.977778 1.857143 4.266667 1.046154 1.052632 0.760000 1.350000
1.624000 2.000000 1.750000 1.250000 0.761905 0.900000 1.277778 2.571429 4.400000 1.076923 1.315789 0.864000 1.300000
1.120000 1.777778 1.937500 1.450000 1.238095 0.850000 2.222222 2.500000 6.000000 0.923077 10000000 10000000 1.250000
1.056000 2.000000 1.850000 1.300000 10000000 10000000 10000000 1.971429 5.333333 0.769231 10000000 10000000 1.400000
1.040000 2.055556 2.075000 1.000000 10000000 10000000 10000000 2.000000 5.833333 0.884615 1.473684 1.240000 1.700000 ;
enddata
[obj] min=@sum(link(i,j):volume(i,j)*cost(i,j))+@sum(store(j):q(j)*x(j));!目标函数;
@for(store(j):m(j)=@if(x(j)#eq#0,0,n(j)));!让没被选取的仓储的容量为0;
!容量限制;
@for(store(j):@sum(sall(i):volume(i,j))<=m(j));
!需求限制;
@for(sall(i):@sum(store(j):volume(i,j))=p(i));
!0-1变量;
@for(store(j):@bin(x(j)));
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式