Exercício de restrições lógicas 2
Você trabalha em um centro de distribuição de transporte rodoviário e precisa decidir para quais de 6 localizações de clientes você enviará um caminhão. Seu objetivo é minimizar a distância percorrida pelo caminhão.
| Location | Distance |
|---|---|
| A | 86 |
| B | 95 |
| C | 205 |
| D | 229 |
| E | 101 |
| F | 209 |
Um dicionário dist e uma lista cust foram criados para você, contendo a distância e o nome de cada localização de cliente. Essas entradas foram impressas no console para você.
Este exercício faz parte do curso
Análise de Cadeia de Suprimentos em Python
Instruções do exercício
- Atualize as restrições para que o modelo selecione pelo menos uma localização
- Adicione a restrição de que, se a localização A for selecionada, então a localização D também seja selecionada.
- Adicione a restrição de que, se a localização B for selecionada, então a localização E também seja selecionada.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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))