Hàm từ điển LpVariable

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

Aaren Stubberfield

Supply Chain Analytics Mgr.

Từ đơn giản đến phức tạp

Ví dụ Tiệm bánh phức tạp

# Khai báo biến quyết định
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')
# Xác định hàm mục tiêu
var_dict = {"A":A, "B":B, "C":C, "D":D, "E":E, "F":F}

# Xác định hàm mục tiêu
model += lpSum([profit_by_cake[type] * var_dict[type] for type in cake_types])
Phân tích Chuỗi Cung Ứng với Python

Dùng LpVariable.dicts()

LpVariable(name, indexs, lowBound=None, upBound=None, cat='Continuous')
  • name = Tiền tố tên cho mỗi biến LP được tạo
  • indexs = Danh sách chuỗi làm khóa cho từ điển biến LP
  • lowBound = Cận dưới
  • upBound = Cận trên
  • cat = Kiểu biến
    • Integer
    • Binary
    • Continuous (mặc định)
Phân tích Chuỗi Cung Ứng với Python

LpVariable.dicts() với list comprehension

  • LpVariable.dicts() thường dùng với list comprehension của Python

Tối ưu vận tải

# Khai báo biến quyết định
customers = ['East','South','Midwest','West']
warehouse = ['New York','Atlanta']
transport = LpVariable.dicts("route", [(w,c) for w in warehouse for c in customers],
                              lowBound=0, cat='Integer')

# Xác định mục tiêu model += lpSum([cost[(w,c)]*transport[(w,c)] for w in warehouse for c in customers])
Phân tích Chuỗi Cung Ứng với Python

Tóm tắt

  • Tạo nhiều biến LP cho bài toán phức tạp
  • LpVariable.dicts()
  • Dùng với list comprehension
Phân tích Chuỗi Cung Ứng với Python

Bây giờ bạn hãy thử

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

Preparing Video For Download...