python linprog(线性规划)

生产任务分配问题

五个车间生产零件

                                                        

1600                    

车间 生产能力 单位产品成本 库存原材料总量 单位产品消耗的原材料量
1

1600

0.5 1000 0.76
2 1400 0.6 1200 0.78
3 800 0.7 900 0.80
4 650 0.75 800 0.82
5 1000 0.8 1200 0.85

 现生产零件4500件,怎样安排生产任务使总成本最低?

import numpy as np
from scipy import optimize
f = [0.5, 0.6, 0.7, 0.75, 0.8];
Aeq =[[1, 1, 1, 1, 1]];
beq =  [4500];
bounds = ((0, 1600), (0, 1400), (0, 800), (0, 650), (0, 1000));
A = [[0.76, 0, 0, 0, 0], [0, 0.78, 0, 0, 0], [0, 0, 0.8, 0, 0],
     [0, 0, 0, 0.82, 0], [0, 0, 0, 0, 0.85]];
b = [1000, 1200, 900, 800, 1200];
res = optimize.linprog(f, A_ub=A, b_ub=b, A_eq = Aeq, b_eq = beq,
                       bounds=bounds, options={"disp": True})
print(res)

结果如下:

      fun: 2812.7631578947367
 message: 'Optimization terminated successfully.'
     nit: 5
   slack: array([   0.        ,  108.        ,  260.        ,  267.        ,
        915.92105263,  284.21052632,    0.        ,    0.        ,
          0.        ,  665.78947368])
  status: 0
 success: True
       x: array([ 1315.78947368,  1400.        ,   800.        ,   650.        ,
         334.21052632])

 

你可能感兴趣的:(python)