这个Lingo程序如何写为什么我算了之后没有可行解 数据没有错

这个Lingo程序如何写为什么我算了之后没有可行解 数据没有错,第1张

你写的应该有点问题 按你给的数据来看 好像题目说每行求和<=z(i)才对

model:

sets:

set/15/:z;

ss(set,set):a1,a2,b,k,s,d;

endsets

data:

a1=350 50 48 15 320

4500 600 600 100 3500

1800 180 300 300 1200

90 6 9 10 64

14 35 35 15 96;

a2=500 100 80 30 400

5000 1000 1000 2000 5000

2000 300 500 500 2000

100 10 15 20 80

14 7 7 3 12;

z=4000 10000 4000 250 40;

s=04746 04036 02765 04146 04886

01403 01681 00999 01624 00643

01475 01905 01564 01832 00685

00626 00311 00619 00316 00453

01750 02067 04053 02082 03333;

enddata

max=@sum(ss:sk);

@for(ss:

d=a1/a2;

k=b/a2;

d<=k;

k<=1);

@for(set(i):@sum(set(j):b(i,j))<=z(i));

end

用集 具体的最好看教程 给个例子

sets:

set1/120/:;

set2/130/:;

ss(set1,set2):x,y;

endsets

你说的那个求和就是 @sum(ss(i,j):x(i,j)y(i,j))

以上回答你满意么?

@sum( setname [ ( set_index_list) [ | cond_qualifier]]: expression) ;

例如y=x2+x3+x4+x5可表示如下:

sets:

r/15/:x;

endsets

y=@sum(r(i)|i#ge#2:x(i));

先要定义集 然后才能求和 比如这样写 最好能直接来找我

sets:

row/17/:;

col/16/:;

link(row,col):x,y;

endsets

a=@sum(link(i,j):x(i,j)+y(i,j));

sets:

r/15/:;!行;

c/16/:;!列;

link(r,c):B;!定义二维集合,声明B;

endsets

y=@sum(link(i,j)|i#ge#2#and#i#le#4#and#j#ge#3#and#j#le#5:B(i,j)); !求B的第2-第4行中第3列-第5列各元素的和;

有疑问联系我。。。

以上就是关于这个Lingo程序如何写为什么我算了之后没有可行解 数据没有错全部的内容,包括:这个Lingo程序如何写为什么我算了之后没有可行解 数据没有错、lingo 求和、lingo 的带求和符号的程序 可以有个例子吗 谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9823523.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存