Mantıksal kısıtlar egzersiz 2
Bir kamyon dağıtım merkezinde çalışıyorsun ve 6 müşteri konumundan hangilerine kamyon göndereceğine karar vermen gerekiyor. Amacın, bir kamyonun kat ettiği mesafeyi en aza indirmek.
| Konum | Mesafe |
|---|---|
| A | 86 |
| B | 95 |
| C | 205 |
| D | 229 |
| E | 101 |
| F | 209 |
Her bir müşteri konumunun mesafesini ve adını içeren bir dist sözlüğü ve bir cust listesi senin için oluşturuldu. Bu girdiler konsolda yazdırıldı.
Bu egzersiz, kursun bir parçasıdır
Python ile Tedarik Zinciri Analitiği
Egzersiz talimatları
- Modelin en az bir konum seçmesini sağlayacak şekilde kısıtları güncelle.
- Eğer A konumu seçilirse D konumunun da seçilmesini sağlayan kısıtı ekle.
- Eğer B konumu seçilirse E konumunun da seçilmesini sağlayan kısıtı ekle.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
model = LpProblem("Loading Truck Problem", LpMinimize)
x = LpVariable.dicts('ship_', cust, cat='Binary')
model += lpSum([dist[i]*x[i] for i in cust])
# Define Constraint
model += ____ + ____ + ____ + ____ + ____ + ____ >= ____
model += ____ - ____ <= ___
model += ____ - ____ <= 0
model.solve()
for i in cust:
print("{} status {}".format(i, x[i].varValue))