LINGO程序问题sets:product /1..7/:capcity,value;need /1..14/:dema

LINGO程序问题
sets:
product /1..7/:capcity,value;
need /1..14/:demand;
link(product,need):cost,number;
endsets
min=@sum(link:cost*number)+@sum(product(i):value(i)*@sum(need(j):number(i,j));
@for(link(i,j):@sum(link(i,j):number(i,j)=5171));
@for(product(1):@sum(need(j):number(1,j)>=500));
省略了data;请问两点
(1):我想计算value(i)*数据每行和,这个目标函数写的对吗?
(2)第二条约束条件报错,错误为50
390019283 1年前 已收到1个回答 举报

iak35182 春芽

共回答了14个问题采纳率:92.9% 举报

sets:
product /1..7/:capcity,value;
need /1..14/:demand;
link(product,need):cost,number;
endsets
min=@sum(link:cost*number)+@sum(product(i):value(i)*@sum(need(j):number(i,j)));
@for(link(i,j):@sum(link(i,j):number(i,j))=5171);
@sum(need(j):number(1,j))>=500;

1年前 追问

9

390019283 举报

我想求: 第三至第七列的列和大于200小于300 要怎么写呢,麻烦你了

举报 iak35182

说清楚 对什么求和 你这样我实在不懂 而且你前面的约束也都有问题的 恐怕你说不清楚

390019283 举报

我想求NUBMER里面第三至第七列的列和大于200小于300 ,约束条件是NUMBER中行和大于500,小于800.

举报 iak35182

你的product是列还是need是列

390019283 举报

need是列

举报 iak35182

@for(need(j)|j#ge#3 #and# j#le#7:@sum(product(i):number(i,j))>=200; @sum(product(i):number(i,j))<=300); 行和就是把上面的for的集合sum的集反过来而已 你自己写一下吧

390019283 举报

那"@sum(need(j):number(1,j))>=500;" 这条语句要不要写成"@for(product(1):@sum(need(j):number(1,j))>=500);" 因为这是约束条件在NUMBER中第一行行和大于500.

举报 iak35182

照我改的写好不
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.025 s. - webmaster@yulucn.com