求助lingo达人,求不出可行解set:product/1,2,3,4,5,6/:x,y,p,q,m,arfa; endsets data:y=42,32,41,67,25,29; arfa=0.1,0.1,0.2,0.2,0.3,0.3; m= , , , , ,0; p= , , , , ,0; q=0, , , , , ; enddata m(1)=49-y(1)+x(1)+p(1)-q(1); m(2)=m(1)-y(2)+x(2)+p(2)-q(
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/02 15:38:37
![求助lingo达人,求不出可行解set:product/1,2,3,4,5,6/:x,y,p,q,m,arfa; endsets data:y=42,32,41,67,25,29; arfa=0.1,0.1,0.2,0.2,0.3,0.3; m= , , , , ,0; p= , , , , ,0; q=0, , , , , ; enddata m(1)=49-y(1)+x(1)+p(1)-q(1); m(2)=m(1)-y(2)+x(2)+p(2)-q(](/uploads/image/z/10394918-62-8.jpg?t=%E6%B1%82%E5%8A%A9lingo%E8%BE%BE%E4%BA%BA%2C%E6%B1%82%E4%B8%8D%E5%87%BA%E5%8F%AF%E8%A1%8C%E8%A7%A3set%3Aproduct%2F1%2C2%2C3%2C4%2C5%2C6%2F%3Ax%2Cy%2Cp%2Cq%2Cm%2Carfa%3B+endsets+data%3Ay%3D42%2C32%2C41%2C67%2C25%2C29%3B+arfa%3D0.1%2C0.1%2C0.2%2C0.2%2C0.3%2C0.3%3B+m%3D+%2C+%2C+%2C+%2C+%2C0%3B+p%3D+%2C+%2C+%2C+%2C+%2C0%3B+q%3D0%2C+%2C+%2C+%2C+%2C+%3B+enddata+m%281%29%3D49-y%281%29%2Bx%281%29%2Bp%281%29-q%281%29%3B+m%282%29%3Dm%281%29-y%282%29%2Bx%282%29%2Bp%282%29-q%28)
求助lingo达人,求不出可行解set:product/1,2,3,4,5,6/:x,y,p,q,m,arfa; endsets data:y=42,32,41,67,25,29; arfa=0.1,0.1,0.2,0.2,0.3,0.3; m= , , , , ,0; p= , , , , ,0; q=0, , , , , ; enddata m(1)=49-y(1)+x(1)+p(1)-q(1); m(2)=m(1)-y(2)+x(2)+p(2)-q(
求助lingo达人,求不出可行解
set:product/1,2,3,4,5,6/:x,y,p,q,m,arfa; endsets data:y=42,32,41,67,25,29; arfa=0.1,0.1,0.2,0.2,0.3,0.3; m= , , , , ,0; p= , , , , ,0; q=0, , , , , ; enddata m(1)=49-y(1)+x(1)+p(1)-q(1); m(2)=m(1)-y(2)+x(2)+p(2)-q(2); m(3)=m(2)-y(3)+x(3)+p(3)-q(3); m(4)=m(3)-y(4)+x(4)+p(4)-q(4); m(5)=m(4)-y(5)+x(5)+p(5)-q(5); m(6)=m(5)-y(6)+x(6)+p(6)-q(6); min=@sum(product(i):0.5*x(i)^2*(1+arfa(i))+0.1*m(i)); @for(product(i):x(i)>=0;x(i)=0;m(i)>=0;p(i)>=0;q(i)>=0;@gin(x(i));@gin(y(i));@gin(m(i));@gin(p(i));@gin(q(i))); 去掉X
求助lingo达人,求不出可行解set:product/1,2,3,4,5,6/:x,y,p,q,m,arfa; endsets data:y=42,32,41,67,25,29; arfa=0.1,0.1,0.2,0.2,0.3,0.3; m= , , , , ,0; p= , , , , ,0; q=0, , , , , ; enddata m(1)=49-y(1)+x(1)+p(1)-q(1); m(2)=m(1)-y(2)+x(2)+p(2)-q(
结果不正确,那只能说明你的模型有问题了
或者是你那边漏掉约束条件没编出来.
LS的第二段代码中@for(product(i):m(i+1) = m(i) - y(i) + x(i) + p(i) - q(i));会出现属性下标越界的,应该用if来加限制或分开写
没问题啊(帮你把前面几个约束条件整合到一句了,另外lingo默认变量非负,限制非负的可以省略不写)
sets:
product/1,2,3,4,5,6/:x,y,p,q,m,arfa;
endsets
data:
y=42,32,41,67,25,29;
arfa=0.1,0.1,0.2,0.2,0.3,0.3;
m= , , , , ,0;
p= , , , , ,0;
q=0, , , , , ;
enddata
@for(product(i):m(i)=@if(i#eq#1,49,m(i-1))-y(i)+x(i)+p(i)-q(i));
min=@sum(product(i):0.5*x(i)^2*(1+arfa(i))+0.1*m(i));
@for(product(i):x(i)