指派问题的计算求解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaohen123456/article/details/78937285

某公司新购置设备6台,想分配给下属4个企业,已知各企业获得的利润如下,合理的分配这些设备,使得总年利润最大。


引入变量 Cij示第i(i=1,2,3,4,5,6)种设备被送到第j(j=1,2,3,4)个企业的年创利润,Xij示第i=1,2,3,4,5,6)种设备被F分配到第j(j=1,2,3,4)个企业.目标函数,年创总利润最大。

结果: 甲公司分配到第2台设备, 乙公司分配到第5,6台设备, 丙公司分配到第3,4台设备,丁公司分配到第1台设备,使年创总利润最大,最大为44千万元。

Global optimal solution found.

  Objective value:                              44.00000

  Objective bound:                              44.00000

  Infeasibilities:                              0.000000

  Extended solver steps:                               0

  Total solver iterations:                             0

 

 

                       Variable           Value        Reduced Cost

                       C( 1, 1)        4.000000            0.000000

                       C( 1, 2)        2.000000            0.000000

                       C( 1, 3)        3.000000            0.000000

                       C( 1, 4)        4.000000            0.000000

                       C( 2, 1)        6.000000            0.000000

                       C( 2, 2)        4.000000            0.000000

                       C( 2, 3)        5.000000            0.000000

                       C( 2, 4)        5.000000            0.000000

                       C( 3, 1)        7.000000            0.000000

                       C( 3, 2)        6.000000            0.000000

                       C( 3, 3)        7.000000            0.000000

                       C( 3, 4)        6.000000            0.000000

                       C( 4, 1)        7.000000            0.000000

                       C( 4, 2)        8.000000            0.000000

                       C( 4, 3)        8.000000            0.000000

                       C( 4, 4)        6.000000            0.000000

                       C( 5, 1)        7.000000            0.000000

                       C( 5, 2)        9.000000            0.000000

                       C( 5, 3)        8.000000            0.000000

                       C( 5, 4)        6.000000            0.000000

                       C( 6, 1)        7.000000            0.000000

                       C( 6, 2)        10.00000            0.000000

                       C( 6, 3)        8.000000            0.000000

                       C( 6, 4)        6.000000            0.000000

                       X( 1, 1)        0.000000           -4.000000

                       X( 1, 2)        0.000000           -2.000000

                       X( 1, 3)        0.000000           -3.000000

                       X( 1, 4)        1.000000           -4.000000

                       X( 2, 1)        1.000000           -6.000000

                       X( 2, 2)        0.000000           -4.000000

                       X( 2, 3)        0.000000           -5.000000

                       X( 2, 4)        0.000000           -5.000000

                       X( 3, 1)        0.000000           -7.000000

                       X( 3, 2)        0.000000           -6.000000

                       X( 3, 3)        1.000000           -7.000000

                       X( 3, 4)        0.000000           -6.000000

                       X( 4, 1)        0.000000           -7.000000

                       X( 4, 2)        0.000000           -8.000000

                       X( 4, 3)        1.000000           -8.000000

                       X( 4, 4)        0.000000           -6.000000

                       X( 5, 1)        0.000000           -7.000000

                       X( 5, 2)        1.000000           -9.000000

                       X( 5, 3)        0.000000           -8.000000

                       X( 5, 4)        0.000000           -6.000000

                       X( 6, 1)        0.000000           -7.000000

                       X( 6, 2)        1.000000           -10.00000

                       X( 6, 3)        0.000000           -8.000000

                       X( 6, 4)        0.000000           -6.000000

 

                            Row    Slack or Surplus      Dual Price

                              1        44.00000            1.000000

                              2        0.000000            0.000000

                              3        0.000000            0.000000

                              4        0.000000            0.000000

                              5        0.000000            0.000000

                              6        0.000000            0.000000

                              7        0.000000            0.000000

                              8        1.000000            0.000000

                              9        0.000000            0.000000

                             10        0.000000            0.000000

                             11        1.000000            0.000000

源代码:

model:

sets:

goods/1..6/;

company/1..4/;

link(goods,company):c,x;

endsets

 data:

c= 4 2 3 4

   6 4 5 5

   7 6 7 6

   7 8 8 6

   7 9 8 6

   7 10 8 6;

enddata

Max=@sum(link:c*x);

@for(goods(i):@sum(company(j):x(i,j))=1);

@for(company(j):@sum(goods(i):x(i,j))<2);

@for(link:@bin(x));

end

猜你喜欢

转载自blog.csdn.net/xiaohen123456/article/details/78937285