某工厂有甲、乙、丙、丁四个车间,生产 A、B、C、D、E、F 六种产品。根据车床性能和以前的生产情况,得知生产单位产品所需车间的工作小时数,每个车间每月工作小时的上限,以及产品的价格如下表所示:

| 车间 | A | B | C | D | E | F | 每月工作小时上限 | |---|---|---|---|---|---|---|---|---| | 甲 | 0.01 | 0.01 | 0.01 | 0.03 | 0.03 | 0.03 | 850 | | 乙 | 0.02 | 0 | 0.05 | 0 | 0 | 0 | 700 | | 丙 | 0 | 0.02 | 0.05 | 0 | 0 | 0 | 100 | | 丁 | 0 | 0 | 0.03 | 0.08 | 0 | 0 | 900 | | 单价 | 0.4 | 0.28 | 0.32 | 0.72 | 0.69 | 0.60 | |

问各种产品每月应该生产多少,才能使这个工厂每月生产总值达到最大?

MATLAB 代码:

A = [0.01 0.01 0.01 0.03 0.03 0.03; 
     0.02 0    0.05 0    0    0   ;
     0    0.02 0.05 0    0    0   ;
     0    0    0.03 0.08 0    0   ];
b = [850; 700; 100; 900];
c = [0.4; 0.28; 0.32; 0.72; 0.69; 0.60];
lb = zeros(6,1);
[x,fval] = linprog(-c,[],[],A,b,lb);
disp(x);  %输出各种产品每月应该生产的数量
disp(-fval); %输出最大生产总值

代码说明:

  • A: 车间工作小时数矩阵
  • b: 每个车间每月工作小时上限向量
  • c: 产品单价向量
  • lb: 生产数量下限向量(这里为 0)
  • linprog: 线性规划函数,求解目标函数最大值的优化问题
  • x: 输出每个产品每月应该生产的数量
  • -fval: 输出最大生产总值

原文地址: https://www.cveoy.top/t/topic/oRr1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录