Kapacitetsbegränsad anläggningsplacering – fallstudie P1

Supply Chain Analytics i Python

Aaren Stubberfield

Supply Chain Analytics Mgr.

Kontext

Flera alternativ för att möta regional produktefterfrågan

Alternativ Fördel Nackdel
Små tillverkningsanläggningar inom regionen Låga transportkostnader, få eller inga tullar Nätverket kan ha överkapacitet, svårt att uppnå stordriftsfördelar
Några stora tillverkningsanläggningar med leverans till regionen Stordriftsfördelar Högre transportkostnader, högre tullar och avgifter

Supply Chain Analytics i Python

Kapacitetsbegränsad anläggningsplaceringsmodell

  • Kapacitetsbegränsad anläggningsplaceringsmodell$^{1}$
  • Målet är att optimera det globala försörjningsnätverket
    • Möta regional efterfrågan till lägsta kostnad
    • Fastställa regional produktion av en produkt
1 Chopra, Sunil, och Peter Meindl. _Supply Chain Management: Strategy, Planning, and Operations._ Pearson Prentice-Hall, 2007.
Supply Chain Analytics i Python

Kapacitetsbegränsad anläggningsplaceringsmodell

Modellering

  • Produktion vid regionala anläggningar
    • Två anläggningsstorlekar (låg / hög)
  • Export av produktion till andra regioner
  • Produktionsanläggningar öppna / stängda

bild av jordglob med regional produktion

Supply Chain Analytics i Python

Beslutsvariablar

Vad vi kan styra:

  • $x_{ij}$ = kvantitet producerad vid plats _i_ och levererad till _j_
  • $y_{is}$ = 1 om anläggningen vid plats _i_ med kapacitet _s_ är öppen, 0 om stängd
    • $s$ = låg eller hög kapacitetsanläggning
Supply Chain Analytics i Python

Målfunktion

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

  • $c_{ij}$ = kostnad för produktion och leverans från anläggning _i_ till region _j_
  • $f_{is}$ = fast kostnad för att hålla anläggning _i_ med kapacitet _s_ öppen
  • $n$ = antal produktionsanläggningar
  • $m$ = antal marknader eller regionala efterfrågepunkter
Supply Chain Analytics i 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 i Python

Sammanfattning

Kapacitetsbegränsad anläggningsplaceringsmodell:

  • Hittar en balans mellan antalet produktionsanläggningar
  • Modellens beslutsvariablar:
    • Produktionskvantitet i en region samt export
    • Anläggningar med hög eller låg kapacitet, öppna eller stängda
  • Målfunktion genomgången
    • Summerar rörliga och fasta produktionskostnader
  • Kodexempel genomgånget
Supply Chain Analytics i Python

Nu kör vi en övning!

Supply Chain Analytics i Python

Preparing Video For Download...