ÎncepețiÎncepe gratuit

Exercițiu cu constrângeri logice 2

Lucrezi la un centru de distribuție pentru camioane și trebuie să decizi care dintre cele 6 locații ale clienților vor primi o livrare. Obiectivul tău este să minimizezi distanța parcursă de camion.

Locație Distanță
A 86
B 95
C 205
D 229
E 101
F 209

Au fost create pentru tine un dicționar dist și o listă cust, care conțin distanța, respectiv numele fiecărei locații client. Aceste date au fost afișate deja în consolă.

Acest exercițiu face parte din cursul

Analitică în lanțul de aprovizionare cu Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Actualizează constrângerile astfel încât modelul să selecteze cel puțin o locație.
  • Adaugă constrângerea conform căreia, dacă locația A este selectată, atunci locația D trebuie selectată și ea.
  • Adaugă constrângerea conform căreia, dacă locația B este selectată, atunci locația E trebuie selectată și ea.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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))
Editează și rulează codul