Supply Chain Analytics mit Python
Aaren Stubberfield
Supply Chain Analytics Mgr.
PuLP ist ein in Python geschriebenes Modellierungs-Framework für lineare (LP) und ganzzahlige Programmierung (IP)
Wird von der COIN-OR Foundation (Computational Infrastructure for Operations Research) gepflegt
PuLP verbindet sich mit Solvern
CPLEXCOINGurobi| Kuchen A | Kuchen B | |
|---|---|---|
| Ofen | 0,5 Tage | 1 Tag |
| Bäcker | 1 Tag | 2,5 Tage |
| Verpacker | 1 Tag | 2 Tage |
.
| Kuchen A | Kuchen B | |
|---|---|---|
| Gewinn | $20.00 | $40.00 |
LpProblem(name='NoName', sense=LpMinimize)
name = Name des Problems in der ausgegebenen .lp-Datei, z. B. „My LP Problem"sense = Zielfunktion maximieren oder minimierenLpMinimize (Standard)LpMaximizefrom pulp import *
# Initialize Class
model = LpProblem("Maximize Bakery Profits", LpMaximize)
LpVariable(name, lowBound=None, upBound=None, cat='Continuous', e=None)
name = Name der Variable in der ausgegebenen .lp-DateilowBound = Untere SchrankeupBound = Obere Schrankecat = Variablentype = Für spaltenbasierte Modellierung# 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))
Die 5 Schritte des PuLP-Prozesses wiederholt
Ressourcenplanungsbeispiel abgeschlossen
Supply Chain Analytics mit Python