Bài toán định vị nhà máy có ràng buộc công suất - nghiên cứu tình huống P1

Phân tích Chuỗi Cung Ứng với Python

Aaren Stubberfield

Supply Chain Analytics Mgr.

Bối cảnh

Nhiều phương án đáp ứng nhu cầu sản phẩm theo khu vực

Phương án Ưu Nhược
Nhà máy nhỏ trong khu vực Chi phí vận chuyển thấp, ít hoặc không có thuế quan/thuế nhập Mạng lưới có thể dư công suất, khó tận dụng kinh tế theo quy mô
Vài nhà máy lớn và vận chuyển đến khu vực Kinh tế theo quy mô Chi phí vận chuyển, thuế quan và thuế nhập cao hơn

Phân tích Chuỗi Cung Ứng với Python

Mô hình định vị nhà máy có ràng buộc công suất

  • Mô hình định vị nhà máy có ràng buộc công suất$^{1}$
  • Mục tiêu: tối ưu hóa mạng lưới Chuỗi cung ứng toàn cầu
    • Đáp ứng nhu cầu khu vực với chi phí thấp nhất
    • Xác định sản lượng theo khu vực cho một sản phẩm
1 Chopra, Sunil, and Peter Meindl. _Supply Chain Management: Strategy, Planning, and Operations._ Pearson Prentice-Hall, 2007.
Phân tích Chuỗi Cung Ứng với Python

Mô hình định vị nhà máy có ràng buộc công suất

Mô hình hóa

  • Sản xuất tại các cơ sở khu vực
    • Hai cỡ nhà máy (thấp / cao)
  • Xuất sản lượng sang khu vực khác
  • Mở / đóng cơ sở sản xuất

hình quả địa cầu với sản xuất theo khu vực

Phân tích Chuỗi Cung Ứng với Python

Biến quyết định

Những gì có thể kiểm soát:

  • $x_{ij}$ = lượng sản xuất tại địa điểm _i_ và vận chuyển đến _j_
  • $y_{is}$ = 1 nếu nhà máy tại _i_ công suất _s_ mở, 0 nếu đóng
    • $s$ = nhà máy công suất thấp hoặc cao
Phân tích Chuỗi Cung Ứng với Python

Hàm mục tiêu

Tối thiểu hóa $z = \sum_{i=1}^{n}(f_{is} y_{is}) + \sum_{i=1}^{n} \sum_{i=1}^{m} (c_{ij} x_{ij})$

  • $c_{ij}$ = chi phí sản xuất và vận chuyển từ nhà máy _i_ đến khu vực _j_
  • $f_{is}$ = chi phí cố định để duy trì nhà máy _i_ công suất _s_ hoạt động
  • $n$ = số cơ sở sản xuất
  • $m$ = số thị trường hoặc điểm nhu cầu khu vực
Phân tích Chuỗi Cung Ứng vớ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]))
Phân tích Chuỗi Cung Ứng với Python

Tóm tắt

Mô hình định vị nhà máy có ràng buộc công suất:

  • Cân bằng số lượng cơ sở sản xuất
  • Biến quyết định:
    • Sản lượng tại khu vực và xuất đi
    • Mở/đóng nhà máy công suất cao hoặc thấp
  • Ôn hàm mục tiêu
    • Tổng chi phí biến đổi và cố định
  • Ôn ví dụ mã
Phân tích Chuỗi Cung Ứng với Python

Ôn tập

Phân tích Chuỗi Cung Ứng với Python

Preparing Video For Download...