Kapacitní model umístění závodu – případová studie P1

Supply Chain Analytics v Pythonu

Aaren Stubberfield

Supply Chain Analytics Mgr.

Kontext

Více možností pro uspokojení regionální poptávky po produktu

Možnost Výhoda Nevýhoda
Malé výrobní závody v regionu Nízké přepravní náklady, minimální cla a poplatky Síť může mít nadbytečnou kapacitu, nelze využít úspory z rozsahu
Několik velkých závodů s dodávkami do regionů Úspory z rozsahu Vyšší přepravní náklady, vyšší cla a poplatky

Supply Chain Analytics v Pythonu

Kapacitní model umístění závodu

  • Kapacitní model umístění závodu$^{1}$
  • Cílem je optimalizovat globální síť dodavatelského řetězce
    • Uspokojit regionální poptávku při nejnižších nákladech
    • Určit regionální výrobu produktu
1 Chopra, Sunil, and Peter Meindl. _Supply Chain Management: Strategy, Planning, and Operations._ Pearson Prentice-Hall, 2007.
Supply Chain Analytics v Pythonu

Kapacitní model umístění závodu

Modelování

  • Výroba v regionálních závodech
    • Dva typy závodů (nízká / vysoká kapacita)
  • Export výroby do jiných regionů
  • Otevření / uzavření výrobních závodů

obrázek globusu s regionální výrobou

Supply Chain Analytics v Pythonu

Rozhodovací proměnné

Co lze řídit:

  • $x_{ij}$ = množství vyrobené v místě _i_ a přepravené do _j_
  • $y_{is}$ = 1, pokud je závod v místě _i_ s kapacitou _s_ otevřen, 0 pokud uzavřen
    • $s$ = závod s nízkou nebo vysokou kapacitou
Supply Chain Analytics v Pythonu

Účelová funkce

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

  • $c_{ij}$ = náklady na výrobu a dopravu ze závodu _i_ do regionu _j_
  • $f_{is}$ = fixní náklady na provoz závodu _i_ s kapacitou _s_
  • $n$ = počet výrobních závodů
  • $m$ = počet trhů nebo regionálních poptávkových míst
Supply Chain Analytics v Pythonu
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 v Pythonu

Shrnutí

Kapacitní model umístění závodu:

  • Hledá rovnováhu mezi počtem výrobních závodů
  • Rozhodovací proměnné modelu:
    • Množství výroby v regionu a pro export
    • Provoz nebo uzavření závodů s nízkou či vysokou kapacitou
  • Přehled účelové funkce
    • Součet variabilních a fixních výrobních nákladů
  • Přehled příkladu kódu
Supply Chain Analytics v Pythonu

Čas na opakování

Supply Chain Analytics v Pythonu

Preparing Video For Download...