Localização de plantas com capacidade - estudo de caso P1

Análise de Cadeia de Suprimentos em Python

Aaren Stubberfield

Supply Chain Analytics Mgr.

Contexto

Várias opções para atender à demanda regional

Opção Prós Contras
Pequenas fábricas dentro da região Baixo custo de transporte, poucas ou nenhuma tarifa/imposto Rede pode ter capacidade excedente, não aproveita economias de escala
Poucas plantas grandes e envio para a região Economias de escala Transporte mais alto, mais tarifas e impostos

Análise de Cadeia de Suprimentos em Python

Modelo de localização com capacidade

  • Modelo de Localização de Plantas com Capacidade$^{1}$
  • Objetivo: otimizar a rede global da cadeia de suprimentos
    • Atender à demanda regional ao menor custo
    • Definir a produção regional de um produto
1 Chopra, Sunil, and Peter Meindl. _Supply Chain Management: Strategy, Planning, and Operations._ Pearson Prentice-Hall, 2007.
Análise de Cadeia de Suprimentos em Python

Modelo de localização com capacidade

Modelagem

  • Produção em instalações regionais
    • Duas capacidades de planta (baixa/alta)
  • Exportar produção para outras regiões
  • Abrir/fechar instalações

imagem de globo com produção regional

Análise de Cadeia de Suprimentos em Python

Variáveis de decisão

O que controlamos:

  • $x_{ij}$ = quantidade produzida no local _i_ e enviada para _j_
  • $y_{is}$ = 1 se a planta no local _i_ com capacidade _s_ está aberta; 0 se fechada
    • $s$ = planta de capacidade baixa ou alta
Análise de Cadeia de Suprimentos em Python

Função objetivo

Minimizar $z = \sum_{i=1}^{n}(f_{is} y_{is}) + \sum_{i=1}^{n} \sum_{i=1}^{m} (c_{ij} x_{ij})$

  • $c_{ij}$ = custo de produzir e enviar da planta _i_ para a região _j_
  • $f_{is}$ = custo fixo de manter aberta a planta _i_ com capacidade _s_
  • $n$ = número de fábricas
  • $m$ = número de mercados ou pontos de demanda regionais
Análise de Cadeia de Suprimentos em Python
from pulp import *

# Initialize Class
model = LpProblem("Capacitated Plant Location Model", LpMinimize)

# Define Decision Variables
loc = ['A', 'B', 'C', 'D', 'E']
size = ['Low_Cap','High_Cap']
x = LpVariable.dicts("production",[(i,j) for i in loc for j in loc], 
                      lowBound=0, upBound=None, cat='Continous')
y = LpVariable.dicts("plant",[(i,s) for s in size for i in loc], cat='Binary')

# Define objective function model += (lpSum([fix_cost.loc[i,s]*y[(i,s)] for s in size for i in loc]) + lpSum([var_cost.loc[i,j]*x[(i,j)] for i in loc for j in loc]))
Análise de Cadeia de Suprimentos em Python

Resumo

Modelo de Localização de Plantas com Capacidade:

  • Equilibra a quantidade de fábricas
  • Variáveis de decisão:
    • Quantidade produzida na região e exportada
    • Plantas de alta ou baixa capacidade abertas ou fechadas
  • Função objetivo revisada
    • Soma custos variáveis e fixos de produção
  • Exemplo de código revisado
Análise de Cadeia de Suprimentos em Python

Hora de revisar

Análise de Cadeia de Suprimentos em Python

Preparing Video For Download...