跪求大神帮忙编个lingo程序,约束条件如图,其中yzt都是只取(0,1)

如题所述

第1个回答  2016-08-11

按照你的约束,求解代码如下:

model:

sets:
set1/1..92/: z;
set2(set1, set1): t, y;
endsets


min = @sum(set1(I): z(I));

@for(set1(I): @for(set1(J): y(I, J) <= t(I, J)));

@for(set1(J): @sum(set1(I): y(I, J)) = 1);

@for(set1(I): @for(set1(J): y(I, J) <= z(I)));

@for(set1(I) | I #le# 20: z(I) = 1);

@for(set1(I): @for(set1(J): @bin(y(I, J))));

@for(set1(I): @bin(z(I)));

end

求解有结果,但是约束是不是太松了。 因为 z_21 到 z_92 的取值都是 0.


报告:

跪求大神帮忙编个lingo程序,约束条件如图,其中yzt都是只取(0,1)
按照你的约束,求解代码如下:model:sets:set1\/1..92\/: z;set2(set1, set1): t, y;endsetsmin = @sum(set1(I): z(I));@for(set1(I): @for(set1(J): y(I, J) <= t(I, J)));@for(set1(J): @sum(set1(I): y(I, J)) = 1);@for(set1(I): @for(set1(...

相似回答