Python Pulp


1、问题描述

某厂生产甲乙两种饮料,每百箱甲饮料需用原料6千克、工人10名,获利10万元;每百箱乙饮料需用原料5千克、工人20名,获利9万元。
今工厂共有原料60千克、工人150名,又由于其他条件所限甲饮料产量不超过8百箱。
(1)问如何安排生产计划,即两种饮料各生产多少使获利最大?
(2)若投资0.8万元可增加原料1千克,是否应作这项投资?投资多少合理?
(3)若每百箱甲饮料获利可增加1万元,是否应否改变生产计划?
(4)若每百箱甲饮料获利可增加1万元,若投资0.8万元可增加原料1千克,是否应作这项投资?投资多少合理?
(5)若不允许散箱(按整百箱生产),如何安排生产计划,即两种饮料各生产多少使获利最大?

2、用PuLP 库求解线性规划

2.1 问题 

(1)数学建模
设 生产甲 X箱,乙 Y箱
Objective:max 100000*X + 90000*Y
Constraint: 
1) 原料:6*X + 5*Y  60
2) 工人:10*X + 20*Y 150
3) 甲箱数不超过800:X800
4) X,Y  0 
5) X,Y  int
(2)PuLP建模求解
problem1 = LpProblem('Problem1LP',LpMaximize)#定义线性规划问题本身
x = LpVariable('x',lowBound= 0, upBound= 800, cat= 'Continuous')#定义变量X代表制造甲的箱数
y = LpVariable('y',lowBound=0, cat = 'Continuous')
problem1 += (100000*x + 90000*y) #目标函数
problem1 += (6*x + 5*y) <= 60
problem1 += (10*x + 20*y) <= 150
problem1.solve()#response 为1
print(problem1.name) #输出求解状态
print('Status:', LpStatus[problem1.status])#输出求解状态
#Problem1LP
#Status: Optimal

for v in problem1.variables():
        print(v.name, "=", v.varValue)  # 输出每个变量的最优值
print("F1(x)=", pulp.value(problem1.objective))  # 输出最优解的目标函数值
#x = 6.4285714
#y = 4.2857143
#F1(x)= 1028571.427




全部评论

相关推荐

过往烟沉:我说什么来着,java就业面就是广!
点赞 评论 收藏
分享
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务