LpVariable sözlük fonksiyonu

Python ile Tedarik Zinciri Analitiği

Aaren Stubberfield

Supply Chain Analytics Mgr.

Basitten karmaşığa geçiş

Karmaşık Fırın Örneği

# Karar değişkenlerini tanımla
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')
# Amaç fonksiyonunu tanımla
var_dict = {"A":A, "B":B, "C":C, "D":D, "E":E, "F":F}

# Amaç fonksiyonunu tanımla
model += lpSum([profit_by_cake[type] * var_dict[type] for type in cake_types])
Python ile Tedarik Zinciri Analitiği

LpVariable.dicts() kullanımı

LpVariable(name, indexs, lowBound=None, upBound=None, cat='Continuous')
  • name = Oluşturulan her LP değişkeninin ad öneki
  • indexs = LP değişkenlerinden oluşan sözlüğün anahtarlarının string listesi
  • lowBound = Alt sınır
  • upBound = Üst sınır
  • cat = Değişken türü
    • Integer
    • Binary
    • Continuous (varsayılan)
Python ile Tedarik Zinciri Analitiği

List comprehension ile LpVariable.dicts()

  • LpVariable.dicts() genelde Python list anlama (list comprehension) ile kullanılır

Taşıma Optimizasyonu

# Karar değişkenlerini tanımla
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')

# Amaç fonksiyonunu tanımla model += lpSum([cost[(w,c)]*transport[(w,c)] for w in warehouse for c in customers])
Python ile Tedarik Zinciri Analitiği

Özet

  • Karmaşık problemler için çok sayıda LP değişkeni oluşturma
  • LpVariable.dicts()
  • List comprehension ile kullanım
Python ile Tedarik Zinciri Analitiği

Şimdi sıra sende

Python ile Tedarik Zinciri Analitiği

Preparing Video For Download...