甲市一家大公司由5个部门(A、B、C、D、E)组成.现要将它的几个部门迁出甲市,迁至乙市或丙市.除去因*鼓励这样做以外,还有用房便宜,招工方便等好处.对这些好处已作出数量估计,其值如下表所示.然而疏散后各部门间的通讯费用增加.部门间每年增

问题描述:

甲市一家大公司由5个部门(A、B、C、D、E)组成.现要将它的几个部门迁出甲市,迁至乙市或丙市.除去因*鼓励这样做以外,还有用房便宜,招工方便等好处.对这些好处已作出数量估计,其值如下表所示.然而疏散后各部门间的通讯费用增加.部门间每年增加的通讯量如表2所示.不同城市间单位通讯量的费用如表3所示.试求各部门应置于何市,使年费用最少?(每个城市最多只能接纳3个部门)
表1 部门搬迁带来的利益 万元/年
迁市 部门A 部门B 部门C 部门D 部门E
乙 10 15 10 20 5
丙 10 20 15 15 15
表2 各部门增加通讯量 次/年
部门 B C D E
A 0 1000 1500 0
B 1400 1200 0
C 0 2000
D 700
表3 城市间单位通讯量的费用 元/次
市 甲 乙 丙
甲 100 130 90
乙 50 140
丙 50

model:
sets:
city/1,2,3/:;
department/1..5/:;
link(city,department):c,x;
link1(department,department)|&2#gt#&1:a;
link2(city,city):b;
endsets
data:
a= 0 1000 1500 0
1400 1200 0
0 2000
700;
b=
100 130 90
130 50 140
90 140 50;
c=
0 0 0 0 0
10 15 10 20 5
10 20 15 15 15 ;
enddata
min=@sum(link1(m,n):a(m,n)*@sum(link2(p,q):b(p,q)*x(p,m)*x(q,n)))/10000-@sum(link:c*x);
@for(department(j):@sum(city(i):x(i,j))=1);
@for(city(i)|i#gt#1:@sum(department(j):x(i,j))