Mantıksal kısıt egzersizi
Müşterin önümüzdeki ay içinde teslim edilmek üzere altı ürün sipariş etti. Tüm ürünleri teslim etmek için birden fazla kamyon seferi yapman gerekecek. Kamyonlarının ağırlık limiti 25.000 lb. Nakit akışı nedenleriyle, kamyonuna sığabilecek en kârlı ürün kombinasyonunu göndermek istiyorsun.
| Product | Weight (lbs) | Profitability ($US) |
|---|---|---|
| A | 12,583 | 102,564 |
| B | 9,204 | 130,043 |
| C | 12,611 | 127,648 |
| D | 12,131 | 155,058 |
| E | 12,889 | 238,846 |
| F | 11,529 | 197,030 |
İki Python sözlüğü weight ve prof ile bir prod listesi, her ürünün ağırlığını, kârlılığını ve adını içerecek şekilde senin için oluşturuldu. Konsolda inceleyebilirsin.
Bu egzersiz, kursun bir parçasıdır
Python ile Tedarik Zinciri Analitiği
Egzersiz talimatları
- Kamyonun toplam ağırlığının 25.000 lb'den küçük veya ona eşit olmasını sağlayacak bir kısıt ekle.
- Modelin D, E ve F ürünleri arasından en fazla yalnızca birini seçmesini sağlayacak bir kısıt ekle.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Initialized model, defined decision variables and objective
model = LpProblem("Loading Truck Problem", LpMaximize)
x = LpVariable.dicts('ship_', prod, cat='Binary')
model += lpSum([prof[i] * x[i] for i in prod])
# Define Constraint
model += lpSum([weight[i] * x[i] for i in prod]) ____ ____
model += ____
model.solve()
for i in prod:
print("{} status {}".format(i, x[i].varValue))