lingo语言问题
model:title 下料问题;
sets:
needs/1..4/:length,num;
cuts/1..4/:x,c,y;
patterns(needs,cuts):r;
endsets
data:
length=290 315 350 455;
num=15 28 21 30;
c=0.1 0.2 0.3 0.4;
enddata
min=@sum(cuts(i):y(i)*x(i)+x(i));
@for(needs(i):@sum(cuts(j):x(j)*r(i,j))>num(i));
@for(cuts(j):@sum(needs(i):length(i)*r(i,j))<capacity);
@for(cuts(j):@sum(needs(i):length(i)*r(i,j))>1750);
@for(cuts(j):@sum(needs(i):r(i,j))<5);
@for(cuts(i)|i#lt#@size(cuts):x(i)>x(i+1));
@for(cuts(j):@gin(x(j)));
@for(patterns(i,j):@gin(r(i,j)));
@for(cuts(i):@bin(y(i)));
@for(cuts(i):@sum(cuts(i):y(i))<4);
end
部分结果:
X( 1) 8.999995 0.000000
X( 2) 6.000000 -0.3333330
X( 3) 3.000002 0.000000
X( 4) 1.000000 -0.3333332
为什么会出现非整数的情况;难道@gin()没用吗? 还有个问题是有哪些原因会导致出现局部最优解?谢谢 我执行了一下你的代码,结果没有出现这样的情况,但有些时候是局部最优。建议你对模型进行优化。以下为执行结果:
还有建议你以后发代码尽量用高级模式里的代码环境,不要直接粘贴上来,因为这会加入许多乱码,我刚才整理你的代码花了至少3分钟的时间。代码环境为【code】 。。。【/code】(注英文状态下的方文括号) 我也不是好清楚呢~刚刚学习LINGO软件~望与楼主共勉 好复杂~~看来要学的还有很多…… lingo有个最小误差限的]问题,他给自动近似了,这张里面的Integrality是条绝对误差和相对误差限的……貌似因为这个吧……
页:
[1]