wzqhnn 发表于 2011-7-12 14:39

lingo大侠历练下

MAX=4*x1+5*x2+6*x3-100*y1-150*y2-200*y3;
       2*x1+4*x2+8*x3<=500;
       2*x1+3*x2+4*x3<=300;
       2*x1+2*x2+3*x3<=100;

        x1-100*y1<=0
        x2-100*y2<=0;
        x3-100*y3<=0;

x1, x2 ,x3>=0;且为整数   y1y2y3为0或者为1
以下是我的解法,但是出错了 ,求解      哪位大侠帮帮忙哦  不僧感激   共同进步{:soso_e100:}


我的解法是:         
model:
sets:
move/1..3/:x,y,a,b,c,d,e,g;
endsets
data:
a=4,5,6;
b=2,2,1;
c=4,3,2;
d=8,4,3;
e=100,100,100;
g=100,150,200;
f=500;k=300;m=100;
enddata
max=@sum(move(i):a(i)*x(i)-g(i)*y(i));
@for(move(i):@sum(b(i)*x(i))<=f);
@for(move(i):@sum(c(i)*x(i))<=k);
@for(move(i):@sum(d(i)*x(i))<=m);
@for(move(i):x(i)<e(i)*y(i));
@for(move(i):@GIN(x(i)));
@for(move(i):@BIN(y(i)));
end

chengmao 发表于 2011-8-4 19:18

理解错啦。@for(move(i):A) 的意思是对集合move中每个元素列出如“A”形式的约束。你算算自己列了多少约束。从头把lingo好好看看,加油吧

shengshengchina 发表于 2011-10-6 11:08

简单问题复杂化

alair005 发表于 2012-2-7 17:12

页: [1]
查看完整版本: lingo大侠历练下