Analitică în lanțul de aprovizionare cu Python
Aaren Stubberfield
Supply Chain Analytics Mgr.
PuLP este un framework de modelare pentru probleme de Programare Liniară (LP) și în Numere Întregi (IP), scris în Python
Întreținut de Fundația COIN-OR (Computational Infrastructure for Operations Research)
PuLP interfațează cu solvere precum:
CPLEXCOINGurobi| Prăjitura A | Prăjitura B | |
|---|---|---|
| Cuptor | 0,5 zile | 1 zi |
| Brutari | 1 zi | 2,5 zile |
| Ambalatori | 1 zi | 2 zile |
.
| Prăjitura A | Prăjitura B | |
|---|---|---|
| Profit | $20,00 | $40,00 |
LpProblem(name='NoName', sense=LpMinimize)
name = Numele problemei utilizat în fișierul .lp de ieșire, ex. "My LP Problem"sense = Maximizare sau minimizare a funcției obiectivLpMinimize (implicit)LpMaximizefrom pulp import *
# Initialize Class
model = LpProblem("Maximize Bakery Profits", LpMaximize)
LpVariable(name, lowBound=None, upBound=None, cat='Continuous', e=None)
name = Numele variabilei utilizat în fișierul .lp de ieșirelowBound = Limita inferioarăupBound = Limita superioarăcat = Tipul variabileie = Utilizat pentru modelarea pe coloane# Define Decision Variables
A = LpVariable('A', lowBound=0, cat='Integer')
B = LpVariable('B', lowBound=0, cat='Integer')
# Define Objective Function
model += 20 * A + 40 * B
# Define Constraints
model += 0.5 * A + 1 * B <= 30
model += 1 * A + 2.5 * B <= 60
model += 1 * A + 2 * B <= 22
# Solve Model
model.solve()
print("Produce {} Cake A".format(A.varValue))
print("Produce {} Cake B".format(B.varValue))
from pulp import *
# Initialize Class
model = LpProblem("Maximize Bakery Profits",
LpMaximize)
# Define Decision Variables
A = LpVariable('A', lowBound=0,
cat='Integer')
B = LpVariable('B', lowBound=0,
cat='Integer')
# Define Objective Function
model += 20 * A + 40 * B
# Define Constraints
model += 0.5 * A + 1 * B <= 30
model += 1 * A + 2.5 * B <= 60
model += 1 * A + 2 * B <= 22
# Solve Model
model.solve()
print("Produce {} Cake A".format(A.varValue))
print("Produce {} Cake B".format(B.varValue))
Am parcurs 5 pași ai procesului de modelare PuLP
Am finalizat exemplul de planificare a resurselor
Analitică în lanțul de aprovizionare cu Python