Comece agoraComece grátis

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 exercicio faz parte do curso

Análise de Cadeia de Suprimentos em Python

Ver curso

Instruções do exercicio

  • 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.

exercicio interativo prático

Tente este exercicio 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 Código