容量制約付き立地選択 — 事例研究 P1

Pythonで学ぶサプライチェーン分析

Aaren Stubberfield

Supply Chain Analytics Mgr.

背景

地域需要を満たす複数の選択肢

Option Pro Con
地域内の小規模工場 輸送コストが低い。関税・関税障壁が少ない ネットワーク全体で過剰能力になりやすい。規模の経済を活かしにくい
少数の大規模工場から地域へ出荷 規模の経済 輸送コストが高い。関税・関税障壁が高い

Pythonで学ぶサプライチェーン分析

容量制約付き立地選択モデル

  • 容量制約付き立地選択モデル$^{1}$
  • 目的はグローバルなサプライチェーン網の最適化
    • 地域需要を最小コストで満たす
    • 製品の地域生産量を決定
1 Chopra, Sunil, and Peter Meindl. _Supply Chain Management: Strategy, Planning, and Operations._ Pearson Prentice-Hall, 2007.
Pythonで学ぶサプライチェーン分析

容量制約付き立地選択モデル

モデリング

  • 地域拠点での生産
    • 2つの工場規模(低/高)
  • 他地域への輸出
  • 生産拠点の開閉

地域生産を示す地球の画像

Pythonで学ぶサプライチェーン分析

意思決定変数

制御可能な項目:

  • $x_{ij}$ = 立地 _i_ で生産し _j_ に出荷する数量
  • $y_{is}$ = 能力 _s_ の立地 _i_ の工場が稼働なら1、非稼働なら0
    • $s$ = low または high 能力の工場
Pythonで学ぶサプライチェーン分析

目的関数

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

  • $c_{ij}$ = 工場 _i_ から地域 _j_ への生産・出荷コスト
  • $f_{is}$ = 能力 _s_ の工場 _i_ を稼働させる固定費
  • $n$ = 生産拠点数
  • $m$ = 市場(地域需要地点)の数
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]))
Pythonで学ぶサプライチェーン分析

まとめ

容量制約付き立地選択モデル:

  • 生産拠点数のバランスを最適化
  • モデルの意思決定変数:
    • 地域での生産量と輸出量
    • 高/低能力の工場を開閉
  • 目的関数を確認
    • 変動費と固定費の合計を最小化
  • コード例を確認
Pythonで学ぶサプライチェーン分析

復習

Pythonで学ぶサプライチェーン分析

Preparing Video For Download...