ComeçarComece de graça

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

Ver curso

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))
Editar e executar o código