Capacitated plant location - กรณีศึกษา P1

Supply Chain Analytics ด้วย Python

Aaren Stubberfield

Supply Chain Analytics Mgr.

บริบท

ตัวเลือกในการตอบสนองความต้องการสินค้าในแต่ละภูมิภาค

ตัวเลือก ข้อดี ข้อเสีย
โรงงานผลิตขนาดเล็กภายในภูมิภาค ต้นทุนขนส่งต่ำ ภาษีและอากรน้อยหรือไม่มีเลย เครือข่ายโดยรวมอาจมีกำลังการผลิตเกิน ไม่สามารถใช้ประโยชน์จากการประหยัดต่อขนาดได้
โรงงานผลิตขนาดใหญ่จำนวนน้อยแห่งและจัดส่งสินค้าไปยังภูมิภาค ประหยัดต่อขนาด ต้นทุนขนส่งสูงขึ้น ภาษีและอากรสูงขึ้น

Supply Chain Analytics ด้วย Python

Capacitated plant location model

  • Capacitated Plant Location Model$^{1}$
  • เป้าหมายคือการปรับเครือข่าย Supply Chain ระดับโลกให้เหมาะสมที่สุด
    • ตอบสนองความต้องการในแต่ละภูมิภาคด้วยต้นทุนต่ำสุด
    • กำหนดปริมาณการผลิตสินค้าในแต่ละภูมิภาค
1 Chopra, Sunil, and Peter Meindl. _Supply Chain Management: Strategy, Planning, and Operations._ Pearson Prentice-Hall, 2007.
Supply Chain Analytics ด้วย Python

Capacitated plant location model

การสร้างโมเดล

  • การผลิตที่โรงงานในแต่ละภูมิภาค
    • โรงงาน 2 ขนาด (กำลังต่ำ / กำลังสูง)
  • การส่งออกสินค้าไปยังภูมิภาคอื่น
  • การเปิด / ปิดโรงงานผลิต

ภาพลูกโลกแสดงการผลิตในแต่ละภูมิภาค

Supply Chain Analytics ด้วย Python

ตัวแปรการตัดสินใจ

สิ่งที่ควบคุมได้:

  • $x_{ij}$ = ปริมาณที่ผลิตที่ตำแหน่ง _i_ และจัดส่งไปยัง _j_
  • $y_{is}$ = 1 หากโรงงานที่ตำแหน่ง _i_ ที่มีกำลังการผลิต _s_ เปิดอยู่ และ 0 หากปิด
    • $s$ = โรงงานกำลังการผลิต ต่ำ หรือ สูง
Supply Chain Analytics ด้วย Python

ฟังก์ชันวัตถุประสงค์

Minimize $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}$ = ต้นทุนคงที่ในการเปิดโรงงาน _i_ ที่มีกำลังการผลิต _s_
  • $n$ = จำนวนโรงงานผลิต
  • $m$ = จำนวนตลาดหรือจุดความต้องการในแต่ละภูมิภาค
Supply Chain Analytics ด้วย 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]))
Supply Chain Analytics ด้วย Python

สรุป

Capacitated Plant Location Model:

  • หาสมดุลระหว่างจำนวนโรงงานผลิต
  • ตัวแปรการตัดสินใจในโมเดล:
    • ปริมาณการผลิตในภูมิภาคและการส่งออก
    • โรงงานกำลังสูงหรือกำลังต่ำ เปิดหรือปิด
  • ทบทวนฟังก์ชันวัตถุประสงค์
    • รวมต้นทุนการผลิตแบบแปรผันและคงที่
  • ทบทวนตัวอย่างโค้ด
Supply Chain Analytics ด้วย Python

ทบทวนความรู้

Supply Chain Analytics ด้วย Python

Preparing Video For Download...