有四个工人,要指派他们分别完成4 项工----数学建模1.5

  • 格式:pdf
  • 大小:196.39 KB
  • 文档页数:2

5.有四个工人,要指派他们分别完成4 项工作,每人做各项工作所消耗的时间如表3。

问指派哪个人去完成哪项工作,可使总的消耗时间为最小?
解:引入变量表示第i(i=1,2,3,4)位工人去完成第j(j=1,2,3,4)项工作所消耗的时间,表示第i(i=1,2,3,4)位工人去完成第j(j=1,2,3,4)项工作.
目标函数,年创总利润最大
Max=
约束条件:
=1,j=1,2,3,4
=1,i=1,2,3,4
=1或0
结果:甲工人去完成B工作,乙工人去完成A工作,丙工人去完成C工作,丁工人去完成D工作,可使消耗总时间最小,最小为70。

代码:
model:
sets:
worker/1..4/;
job/1..4/;
link(worker,job):c,t;
endsets
data:
t= 15 18 21 24
19 23 22 18
26 17 16 19
19 21 23 17;
enddata
min=@sum(link:c*t);
@for(job(j):@sum(worker(i):c(i,j))=1);
@for(worker(i):@sum(job(j):c(i,j))=1);
@for(link:@bin(c));
end。