某公司准备将8个职员安排到4个办公室,每室两人。根据以往观察,已知有些职员在一起时合作好,有些则不然。表中列出了两两之间的相容程度,数字越小代表相容越好,问如何组合可以使总相容成度最好?
model:
sets:
REN/1..8/;
Links(REN,REN)|&2#gt#&1:c,x;
endsets
data:
c=9 3 4 2 1 5 6
1 7 3 5 2 1
4 4 2 9 2
1 5 5 2
8 7 6
2 3
4;
enddata
min=@sum(Links:x*c);
@for(REN(K):@sum(Links(I,J)|K#EQ#I#OR#K#EQ#J:x(I,J))=1);
@for(Links:@bin(x));
end
最短路
最短路0-1规划:
model:
sets:
cities/a b c d e f g/;!定义7个城市;
!没有到a(起点)的路,没有从g(终点)出发的路,其他路可认为双向;
roads(cities,cities)/a,b a,c b,d d,b b,e e,b b,f f