Implantation capacitaire d'usines - étude de cas P1

Analyse de la chaîne d’approvisionnement en Python

Aaren Stubberfield

Supply Chain Analytics Mgr.

Contexte

Plusieurs options pour satisfaire la demande régionale

Option Avantages Inconvénients
Petites unités de production dans la région Faibles coûts de transport, peu ou pas de droits de douane Surcapacité possible du réseau global, pas d'économies d'échelle
Quelques grandes usines et expédition vers la région Économies d'échelle Coûts de transport plus élevés, droits et taxes plus élevés

Analyse de la chaîne d’approvisionnement en Python

Modèle d'implantation capacitaire d'usines

  • Modèle d'implantation capacitaire d'usines$^{1}$
  • Objectif : optimiser le réseau mondial de Supply Chain
    • Satisfaire la demande régionale au coût minimal
    • Déterminer la production régionale d'un produit
1 Chopra, Sunil, et Peter Meindl. _Supply Chain Management : Strategy, Planning, and Operations._ Pearson Prentice-Hall, 2007.
Analyse de la chaîne d’approvisionnement en Python

Modèle d'implantation capacitaire d'usines

Modélisation

  • Production dans les sites régionaux
    • Deux tailles d'usine (faible / élevée)
  • Export de la production vers d'autres régions
  • Ouverture / fermeture des sites

image d'un globe avec production régionale

Analyse de la chaîne d’approvisionnement en Python

Variables de décision

Ce que nous contrôlons :

  • $x_{ij}$ = quantité produite au site _i_ et expédiée vers _j_
  • $y_{is}$ = 1 si l'usine au site _i_ de capacité _s_ est ouverte, 0 si fermée
    • $s$ = capacité faible ou élevée
Analyse de la chaîne d’approvisionnement en Python

Fonction objectif

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

  • $c_{ij}$ = coût de production et d'expédition de l'usine _i_ vers la région _j_
  • $f_{is}$ = coût fixe pour maintenir ouverte l'usine _i_ de capacité _s_
  • $n$ = nombre de sites de production
  • $m$ = nombre de marchés ou points de demande régionale
Analyse de la chaîne d’approvisionnement en 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]))
Analyse de la chaîne d’approvisionnement en Python

Résumé

Modèle d'implantation capacitaire d'usines :

  • Trouve un équilibre du nombre de sites de production
  • Variables de décision du modèle :
    • Quantité produite dans une région et exportée
    • Sites de capacité élevée ou faible ouverts ou fermés
  • Fonction objectif passée en revue
    • Somme des coûts variables et fixes de production
  • Exemple de code passé en revue
Analyse de la chaîne d’approvisionnement en Python

Quiz de révision

Analyse de la chaîne d’approvisionnement en Python

Preparing Video For Download...