Analytique de la chaîne d'approvisionnement avec Python
Aaren Stubberfield
Supply Chain Analytics Mgr.
PuLP est un cadre de modélisation pour les problèmes de programmation linéaire (LP) et en nombres entiers (IP) écrit en Python
Maintenu par la fondation COIN-OR (Computational Infrastructure for Operations Research)
PuLP s'interface avec des solveurs
CPLEXCOINGurobi| Gâteau A | Gâteau B | |
|---|---|---|
| Four | 0,5 jour | 1 jour |
| Pâtissiers | 1 jour | 2,5 jours |
| Emballeurs | 1 jour | 2 jours |
.
| Gâteau A | Gâteau B | |
|---|---|---|
| Profit | 20,00 $ | 40,00 $ |
LpProblem(name='NoName', sense=LpMinimize)
name = Nom du problème utilisé dans le fichier de sortie .lp, p. ex. « My LP Problem »sense = Maximiser ou minimiser la fonction objectifLpMinimize (par défaut)LpMaximizefrom pulp import *
# Initialize Class
model = LpProblem("Maximize Bakery Profits", LpMaximize)
LpVariable(name, lowBound=None, upBound=None, cat='Continuous', e=None)
name = Nom de la variable utilisé dans le fichier de sortie .lplowBound = Borne inférieureupBound = Borne supérieurecat = Type de variablee = Utilisé pour la modélisation par colonnes# 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))
Nous avons revu les 5 étapes de la modélisation avec PuLP
Exemple d'ordonnancement des ressources complété
Analytique de la chaîne d'approvisionnement avec Python