การใช้ lpSum

Supply Chain Analytics ด้วย Python

Aaren Stubberfield

Supply Chain Analytics Mgr.

จากแบบง่ายสู่แบบซับซ้อน

ตัวอย่างร้านเบเกอรีแบบง่าย

# Define Decision Variables
A = LpVariable('A', lowBound=0, cat='Integer')
B = LpVariable('B', lowBound=0, cat='Integer')

ตัวอย่างร้านเบเกอรีที่ซับซ้อนขึ้น

# Define Decision Variables
A = LpVariable('A', lowBound=0, cat='Integer')
B = LpVariable('B', lowBound=0, cat='Integer')
C = LpVariable('C', lowBound=0, cat='Integer')
D = LpVariable('D', lowBound=0, cat='Integer')
E = LpVariable('E', lowBound=0, cat='Integer')
F = LpVariable('F', lowBound=0, cat='Integer')
Supply Chain Analytics ด้วย Python

จากแบบง่ายสู่แบบซับซ้อน

ฟังก์ชันวัตถุประสงค์ของตัวอย่างร้านเบเกอรีที่ซับซ้อน

# Define Objective Function
model += 20*A + 40*B + 33*C + 14*D + 6*E + 60*F

ต้องการวิธีที่รองรับการขยายสเกล

ภาพฟังก์ชันที่มีตัวแปรจำนวนมาก

Supply Chain Analytics ด้วย Python

การใช้ lpSum()

lpSum(vector)
  • vector = รายการของนิพจน์เชิงเส้น

ดังนั้น ...

# Define Objective Function
model += 20*A + 40*B + 33*C + 14*D + 6*E + 60*F

เทียบเท่ากับ ...

# Define Objective Function
var_list = [20*A, 40*B, 33*C, 14*D, 6*E, 60*F]
model += lpSum(var_list)
Supply Chain Analytics ด้วย Python

lpSum กับ list comprehension

# Define Objective Function
cake_types = ["A", "B", "C", "D", "E", "F"]
profit_by_cake = {"A":20, "B":40, "C":33, "D":14, "E":6, "F":60}
var_dict = {"A":A, "B":B, "C":C, "D":D, "E":E, "F":F}

model += lpSum([profit_by_cake[type] * var_dict[type] 
                for type in cake_types])
Supply Chain Analytics ด้วย Python

สรุป

  • ต้องการวิธีรวมตัวแปรจำนวนมาก
  • lpSum()
  • ใช้ใน list comprehension
Supply Chain Analytics ด้วย Python

มาฝึกกันเถอะ!

Supply Chain Analytics ด้วย Python

Preparing Video For Download...