Zacznij terazZacznij za darmo

Ćwiczenie z ograniczeniami logicznymi

Twój klient zamówił sześć produktów do dostarczenia w ciągu najbliższego miesiąca. Do przewiezienia wszystkich produktów potrzeba kilku kursów ciężarówki. Dopuszczalna ładowność ciężarówki wynosi 25 000 funtów. Ze względu na płynność finansową chcesz wysłać najbardziej opłacalną kombinację produktów, która zmieści się na ciężarówce.

Produkt Waga (funty) Opłacalność (USD)
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

Przygotowano dla ciebie dwa słowniki Pythona: weight i prof, oraz listę prod, zawierające odpowiednio wagę, opłacalność i nazwy każdego produktu. Możesz je przejrzeć w konsoli.

To ćwiczenie jest częścią kursu

Analityka łańcucha dostaw w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj ograniczenie zapewniające, że łączna waga ładunku nie przekroczy 25 000 funtów.
  • Dodaj ograniczenie, które sprawi, że model wybierze co najwyżej tylko jeden spośród produktów D, E i F.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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))
Edytuj i uruchom kod