有容量限制的工厂选址——案例研究 P1

Python 供应链分析

Aaren Stubberfield

Supply Chain Analytics Mgr.

背景

满足各区域产品需求的多种方案

方案 优点 缺点
在区域内建设小型工厂 运输成本低,关税/税费少或无 全网或有过剩产能,难以享受规模经济
建设少量大型工厂并向各区发运 规模经济 运输成本更高,关税和税费更高

Python 供应链分析

有容量限制的工厂选址模型

  • 有容量限制的工厂选址模型$^{1}$
  • 目标:优化全球供应链网络
    • 以最低成本满足各区域需求
    • 确定产品的区域产量
1 Chopra, Sunil, and Peter Meindl. _Supply Chain Management: Strategy, Planning, and Operations._ Pearson Prentice-Hall, 2007.
Python 供应链分析

有容量限制的工厂选址模型

建模

  • 区域工厂的生产
    • 两种工厂规模(低/高)
  • 向其他区域出口产量
  • 工厂启用/关闭

带有区域生产的地球图像

Python 供应链分析

决策变量

可控变量:

  • $x_{ij}$ = 在地点_i_生产并运往_j_的数量
  • $y_{is}$ = 若地点_i_、容量为_s_的工厂开启为1,关闭为0
    • $s$ = _低__高_产能工厂
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...