> 其他 >
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
人气:289 ℃ 时间:2020-04-30 10:10:51
解答
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;我想求: 第三至第七列的列和大于200小于300 要怎么写呢,麻烦你了说清楚 对什么求和 你这样我实在不懂 而且你前面的约束也都有问题的 恐怕你说不清楚我想求NUBMER里面第三至第七列的列和大于200小于300 ,约束条件是NUMBER中行和大于500,小于800.你的product是列还是need是列need是列@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的集反过来而已 你自己写一下吧那"@sum(need(j):number(1,j))>=500;" 这条语句要不要写成"@for(product(1):@sum(need(j):number(1,j))>=500);" 因为这是约束条件在NUMBER中第一行行和大于500.照我改的写好不
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版