Get startedGet started for free

Logical constraints exercise 2

You work at a trucking distribution center and you need to decide which of 6 customer locations you will send a truck to. Your goal is to minimize the distance a truck travels.

Location Distance
A 86
B 95
C 205
D 229
E 101
F 209

A dictionary dist, and a list cust have been created for you containing the distance, and name of each customer location. These inputs have been printed in console for you.

This exercise is part of the course

Supply Chain Analytics in Python

View Course

Exercise instructions

  • Update the constraints so that the model selects at least one location
  • Add the constraint so that if location A is selected then location D is also selected.
  • Add the constraint so that if location B is selected then location E is also selected.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

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))
Edit and Run Code