Lojistik planlama problemi 2
Yine bir fırın üreticisine lojistik planlamasında danışmanlık yapıyorsun. Bu kez önümüzdeki altı ay (Ocak–Haziran) için bir plan hazırlamaya çalışıyorsun. Hâlâ iki depo konumu (New York ve Atlanta) ve dört bölgesel müşteri noktası (Doğu, Güney, Ortabatı, Batı) var. Her depo konumundan bölgesel müşterilere gönderim maliyetleri aşağıdaki tabloda verilmiştir. Amacın, her depodan müşterilere yapılacak sevkiyat sayılarını belirleyerek toplam maliyeti en aza indirmek.
| Customer | New York | Atlanta |
|---|---|---|
| East | $211 | $232 |
| South | $232 | $212 |
| Midwest | $240 | $230 |
| West | $300 | $280 |
Modelin maliyetlerini içeren costs adlı bir Python sözlüğü ve months, warehouse ve customers adlı üç liste senin için oluşturuldu. costs ekrana yazdırıldı; listeleri de konsolda inceleyebilirsin. Ayrıca model de senin için başlatıldı.
Bu egzersiz, kursun bir parçasıdır
Python ile Tedarik Zinciri Analitiği
Egzersiz talimatları
- Karar değişkenlerini tanımlamak için önce liste üreteci kullanarak
months,warehousevecustomerslisteleri üzerinde yinele ve bir anahtar listesi oluştur. Bu anahtar listesiniLpVariable.dicts()ile kullanarak gereken değişkenleri tanımla. - Amaç fonksiyonunu, altı ay boyunca belirli bir depodan belirli bir müşteriye yapılan tüm gönderimlerin maliyetlerini toplayarak tanımla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Define decision variables
key = [(m, w, ____) for m in months for w in warehouse for c in customers]
var_dict = LpVariable.dicts('num_of_shipments',
key,
lowBound=____, cat=____)
# Use the LpVariable dictionary variable to define objective
model += lpSum([costs[(w, c)] * ____[(____, ____, ____)]
for m in months for w in warehouse for c in customers])