数学建模社区-数学中国

标题: 指派问题 [打印本页]

作者: ljwabc115    时间: 2009-7-21 21:37
标题: 指派问题
有四个工人,要指派他们分别完成4项工作,每人做各项工作所消耗的时间如下表:
       工作
工人

a
b
c
d
15
18
21
24
19
23
22
18
26
17
16
19
19
21
23
17
问指派哪个人去完成哪项工作,可使总的消耗时间为最小?

作者: ljwabc115    时间: 2009-7-21 21:38
设:第i个工人做第j项工作用时 ,标志变量  定义如下:

      
s.t.         每份工作都有一人做
           每人都只做一项工作
model:
   sets:
      work/A B C D/;
      worker/jia yi bing ding/;
      time(worker,work):t,f;
   endsets
   !目标函数可以用[obj]标志出,也可以省略;
   [obj] min=@sum(time(i,j):t(i,j)*f(i,j));
   data:
       !可以直接复制表格,但是在最后要有分号;
      t=
15        18        21        24
19        23        22        18
26        17        16        19
19        21        23        17
; enddata
   !每份工作都有一人做;
   @for(work(j):@sum(time(i,j):f(i,j))=1);
   !每人都只做一项工作;
   @for(worker(i):@sum(time(i,j):f(i,j))=1);
   !让f取0-1值,此条件可以省略;
   !@for(time(i,j):@bin(f(i,j)));
end

为什么bin(f(i,j));可以省略??
作者: 黑星    时间: 2009-8-24 12:25
因为对于该类线性规划理论已经保证了变量的取值只可能是0或1.
作者: gaoguangbao    时间: 2010-8-11 15:19
用0—1规划做这题还是比较好做的啊
作者: Make.believe    时间: 2011-8-19 10:14





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5