Análise de Cadeia de Suprimentos em Python
Aaren Stubberfield
Supply Chain Analytics Mgr.
PuLP é um framework de modelagem para problemas de Programação Linear (LP) e Inteira (IP) em Python
Mantido pela fundação COIN-OR (Computational Infrastructure for Operations Research)
PuLP se integra a solvers
CPLEXCOINGurobi| Bolo A | Bolo B | |
|---|---|---|
| Forno | 0,5 dia | 1 dia |
| Confeiteiros | 1 dia | 2,5 dias |
| Embaladores | 1 dia | 2 dias |
.
| Bolo A | Bolo B | |
|---|---|---|
| Lucro | US$ 20,00 | US$ 40,00 |
LpProblem(name='NoName', sense=LpMinimize)
name = Nome do problema usado no arquivo .lp de saída, ou seja, "My LP Problem"sense = Maximizar ou minimizar a função objetivoLpMinimize (padrão)LpMaximizefrom pulp import *
# Initialize Class
model = LpProblem("Maximize Bakery Profits", LpMaximize)
LpVariable(name, lowBound=None, upBound=None, cat='Continuous', e=None)
name = Nome da variável usada no arquivo .lp de saídalowBound = Limite inferiorupBound = Limite superiorcat = Tipo da variávele = Usado para modelagem baseada em colunas# 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))
Vimos as 5 etapas da modelagem no PuLP
Concluímos o exemplo de alocação de recursos
Análise de Cadeia de Suprimentos em Python