시작하기무료로 시작하기

논리 제약 연습 문제

고객이 다음 한 달 동안 배송할 여섯 가지 제품을 주문했습니다. 모든 제품을 배송하려면 여러 대의 트럭이 필요해요. 트럭에는 25,000 lbs의 중량 제한이 있습니다. 현금 흐름 관점에서 트럭에 실을 수 있는 조합 중 수익성이 가장 높은 제품들을 보내고자 합니다.

Product Weight (lbs) Profitability ($US)
A 12,583 102,564
B 9,204 130,043
C 12,611 127,648
D 12,131 155,058
E 12,889 238,846
F 11,529 197,030

두 개의 Python 딕셔너리 weightprof, 그리고 리스트 prod가 각 제품의 무게, 수익성, 이름을 담고 제공되어 있습니다. 콘솔에서 확인해 보세요.

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

Python으로 배우는 공급망 분석

강의 보기

연습 안내

  • 트럭의 총중량이 25,000 lbs 이하가 되도록 제약을 추가하세요.
  • 모델이 D, E, F 중에서 최대 한 개만 선택하도록 제약을 추가하세요.

실습형 인터랙티브 연습

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

# Initialized model, defined decision variables and objective
model = LpProblem("Loading Truck Problem", LpMaximize)
x = LpVariable.dicts('ship_', prod, cat='Binary')
model += lpSum([prof[i] * x[i] for i in prod])

# Define Constraint
model += lpSum([weight[i] * x[i] for i in prod]) ____ ____
model += ____

model.solve()
for i in prod:
    print("{} status {}".format(i, x[i].varValue))
코드 편집 및 실행