시작하기무료로 시작하기

논리 제약 연습 2

여러분은 트럭 배송 센터에서 근무하며, 6개의 고객 위치 중 어느 곳에 트럭을 보낼지 결정해야 합니다. 목표는 트럭이 이동하는 총 거리를 최소화하는 것입니다.

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

각 고객 위치의 이름과 거리를 담은 사전 dist와 리스트 cust가 준비되어 있습니다. 이 입력 값들은 콘솔에 출력되어 있어요.

이 연습은 강의의 일부입니다

Python으로 배우는 공급망 분석

강의 보기

연습 안내

  • 모델이 적어도 한 곳의 위치를 선택하도록 제약을 수정하세요.
  • 위치 A가 선택되면 위치 D도 반드시 선택되도록 제약을 추가하세요.
  • 위치 B가 선택되면 위치 E도 반드시 선택되도록 제약을 추가하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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))
코드 편집 및 실행