按照你的约束,求解代码如下:
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.
报告: