MODEL:
sets:
q/1/;
points/1..12/;
edges/1..19/;
roads(points,points): X;
flow(points,q): B;
capacity(q,edges): C;
network(points,edges): N; !矩阵的设置,额,不知道为什么有了注释,下面的endsets就要变成绿色。。;
endsets
data:
B =
1
0
0
0
0
0
0
0
0
0
0
-1;
N =
0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0
0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1;
C = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1;
Enddata
min=@sum(roads:C*X);
@for(points(i)| N(i,j)*X(i,j) #eq# B(j,1)
@for(points(i)|X(i,j) #eq# 1 #OR# X(i,j) #eq# 0);
END
求帮忙看看这个lingo程序那里错了。总是要报语法错误,刚刚开始学,所以不太懂。
答案:2 悬赏:10 手机版
解决时间 2021-12-24 03:46
- 提问者网友:眉目添风霜
- 2021-12-23 21:54
最佳答案
- 五星知识达人网友:痴妹与他
- 2022-01-10 04:10
C和X下标不同不知道你怎么求和的
另外你的集循环函数写的不对 集循环函数里面的约束直接写普通的等式或者不等式就行了 限制为0-1变量用@bin 这个应该一开始学首先就知道了 不知道你那种表达是什么意思
另外你的集循环函数写的不对 集循环函数里面的约束直接写普通的等式或者不等式就行了 限制为0-1变量用@bin 这个应该一开始学首先就知道了 不知道你那种表达是什么意思
全部回答
- 1楼网友:舍身薄凉客
- 2022-01-10 04:52
model:
sets:
qiefa/1,2,3/:x;
bujian/1..4/:l,need;
shuliang(qiefa,bujian):n;
endsets
data:
l=4, 5, 6, 8;
need=50, 10, 20, 15;
yuanliaol=19;
enddata !这行写错了,已改;
min=@sum(qiefa:x);
@for(bujian(j):@sum(qiefa(i):n(i,j)*x(i))>need(j));
@for(qiefa(i):@sum(bujian(j):n(i,j)*l(j))16);
@for(shuliang:@gin(n)); @for(qiefa:@gin(x));
end
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯