作业帮 > 综合 > 作业

lingo 01规划问题 请问谁知道01变量怎么定义啊?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 18:07:41
lingo 01规划问题 请问谁知道01变量怎么定义啊?
min x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14+x15+x16+x17+x18+x19+x20
st
x1+x2>=1
x2+x3+x4+x5+x6+x13+x17+x20>=1
x3+x4+x5+x6+x7+x8+x9+x12+x13+x17>=1
x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x17>=1
x7+x8+x9+x10+x11+x12+x13+x14+x18>=1
x11+x12+x13+x14+x15+x16+x17+x18+x19>=1
x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14+x15+x16+x17+x18+x19+x20>=1
x16+x17+x18+x19+x20>=1
x=0或1
model:
sets:
var/1..20/:x;
endsets
[obj]min=@sum(var:x);
x(1)+x(2)>=1;
x(2)+x(3)+x(4)+x(5)+x(6)+x(13)+x(17)+x(20)>=1;
@sum(var(i)|i#ge#3#and#i#le#13:x(i))+x(17)>=1;
@sum(var(i)|i#ge#4#and#i#le#13:x(i))+x(17)>=1;
@sum(var(i)|i#ge#7#and#i#le#14:x(i))+x(18)>=1;
@sum(var(i)|i#ge#11#and#i#le#19:x(i))>=1;
@sum(var(i):x(i))>=1;
@sum(var(i)|i#ge#16#and#i#le#20:x(i))>=1;
@for(var:@bin(x));
end
简洁些.运算结果:
X( 1) 0.000000 1.000000
X( 2) 1.000000 1.000000
X( 3) 0.000000 1.000000
X( 4) 0.000000 1.000000
X( 5) 0.000000 1.000000
X( 6) 0.000000 1.000000
X( 7) 0.000000 1.000000
X( 8) 1.000000 1.000000
X( 9) 0.000000 1.000000
X( 10) 0.000000 1.000000
X( 11) 0.000000 1.000000
X( 12) 0.000000 1.000000
X( 13) 0.000000 1.000000
X( 14) 0.000000 1.000000
X( 15) 0.000000 1.000000
X( 16) 0.000000 1.000000
X( 17) 1.000000 1.000000
X( 18) 0.000000 1.000000
X( 19) 0.000000 1.000000
X( 20) 0.000000 1.000000