Introduction to Optimization in Python
Jasmin Ludolf
Content Developer
Food | Cost ($/lb) | Protein (%) | Fat (%) |
---|---|---|---|
corn | 0.11 | 10 | 2.5 |
soybean | 0.28 | 40 | 1 |
from pulp import *
model = LpProblem('diet', LpMinimize)
C = LpVariable('C', lowBound=0)
S = LpVariable('S', lowBound=0)
model += 0.11*C + 0.28*S
model += 10*C + 40*S >= 17 * (C+S), 'Protein'
model += 2.5*C + S >= 2 * (C+S), 'Fat'
model += C + S >= 7, 'Weight'
model.solve()
print(f"Status: {LpStatus[model.status]}\n")
for name, c in model.constraints.items():
print(f"{name}: slack = {c.slack:.2f}, shadow price = {c.pi:.2f}")
Status: Optimal
Protein: slack = -0.00, shadow price = 0.01
Fat: slack = -1.05, shadow price = 0.00
Weight: slack = -0.00, shadow price = 0.15
Introduction to Optimization in Python