Capacitated plantlocatie - casestudy P1

Supply Chain Analytics in Python

Aaren Stubberfield

Supply Chain Analytics Mgr.

Context

Meerdere opties om regionale vraag te bedienen

Optie Pro Contra
Kleine productiefaciliteiten binnen de regio Lage transportkosten, weinig tot geen invoerrechten Netwerk kan overcapaciteit hebben, geen schaalvoordelen
Een paar grote fabrieken en verzending naar de regio Schaalvoordelen Hogere transportkosten, hogere invoerrechten

Supply Chain Analytics in Python

Capacitated plantlocatiemodel

  • Capacitated Plant Location Model$^{1}$
  • Doel: het wereldwijde supplychain-netwerk optimaliseren
    • Voldoen aan regionale vraag tegen laagste kosten
    • Bepaal regionale productie van een product
1 Chopra, Sunil, and Peter Meindl. _Supply Chain Management: Strategy, Planning, and Operations._ Pearson Prentice-Hall, 2007.
Supply Chain Analytics in Python

Capacitated plantlocatiemodel

Modellering

  • Productie bij regionale faciliteiten
    • Twee plantgroottes (laag / hoog)
  • Export van productie naar andere regio’s
  • Productiefaciliteiten openen / sluiten

afbeelding van wereldbol met regionale productie

Supply Chain Analytics in Python

Beslissingsvariabelen

Wat we kunnen sturen:

  • $x_{ij}$ = hoeveelheid geproduceerd op locatie _i_ en verzonden naar _j_
  • $y_{is}$ = 1 als de plant op locatie _i_ met capaciteit _s_ open is, 0 als gesloten
    • $s$ = plant met lage of hoge capaciteit
Supply Chain Analytics in Python

Doelstellingsfunctie

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

  • $c_{ij}$ = kosten voor productie en verzending van plant _i_ naar regio _j_
  • $f_{is}$ = vaste kosten om plant _i_ met capaciteit _s_ open te houden
  • $n$ = aantal productielocaties
  • $m$ = aantal markten of regionale vraagpunten
Supply Chain Analytics in 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]))
Supply Chain Analytics in Python

Samenvatting

Capacitated Plant Location Model:

  • Zoekt balans in aantal productielocaties
  • Beslissingsvariabelen:
    • Productiehoeveelheid per regio en export
    • Hoge of lage capaciteit: open of dicht
  • Doelstellingsfunctie herzien
    • Som van variabele en vaste productiekosten
  • Codevoorbeeld herzien
Supply Chain Analytics in Python

Tijd voor review

Supply Chain Analytics in Python

Preparing Video For Download...