目标:热量在500~700大卡的范围内越低越好。
约束:蛋白质1kg体重1g。
20多年前我用excel搞过线性规划,可现在我用的wps不支持。上网一搜,python支持,就仿照该文(https://blog.csdn.net/mydreamy/article/ ... /108492351)写了程序:
代码: 全选
from pulp import *
# 1. 建立问题
prob = LpProblem("Problem", LpMinimize)
# 2. 建立变量
x1 = LpVariable("x1",50,100)
x2 = LpVariable("x2",250)
x3 = LpVariable("x3",20)
# 3. 设置目标函数 z
prob += 16.2*x1 + 3.27*x2
# 4. 施加约束
prob += 0.12*x1+.038*x2+0.8*x3 == 76, "constraint1"
prob += 16.2*x1 + 3.27*x2 >= 2083, "constraint2"
prob += 16.2*x1 + 3.27*x2 <= 2917, "constraint3"
# 5. 求解
prob.solve()
# 6. 打印求解状态
print("Status:", LpStatus[prob.status])
# 8. 打印最优解的目标函数值
print("总热量= ",'%5.1f' % value(prob.objective),"千焦")
protein = 0.12*value(x1)+0.038*value(x2)+0.8*value(x3)
print("蛋白质总量","=",'%4.1f' % protein,"克")
print("燕麦片","=",'%4.1f' % value(x1),"克")
print("牛奶","=",'%5.1f' % value(x2),"毫升")
print("蛋白粉","=",'%4.1f' % value(x3),"克")这就是了,这一碗很扎实,我都担心到时候肥没减了,我还长胖了。