시작하기무료로 시작하기

식단 문제 다시 보기

돼지 사육 농가의 재무를 검토하면서, 가능하다면 사료 비용을 줄일 수 있도록 식단 구성을 다시 살펴보려 합니다. 현재의 비용 최소화 식단은 수의사의 권장 사항인 단백질 최소 17%, 지방 2%, 총 사료 7lb을 기준으로 합니다.

Food Cost ($/lb) Protein (%) Fat (%)
corn 0.11 10 2.5
soybean 0.28 40 1

여기서 7lb은 반올림된 수치로, 6.6lb까지 줄일 수 있다는 정보를 알고 있어요. 몸무게(총량) 제약과 지방 제약을 각각 한 번에 하나씩 변경했을 때 최소 비용이 어떻게 달라지는지 확인해 달라는 요청을 받았습니다. 원래 문제를 그대로 풀고, 슬랙(slack)과 그림자 가격(shadow price)을 확인해 보세요.

pulp는 이미 임포트되어 있고, model과 옥수수와 대두를 나타내는 변수 C, S도 정의되어 있어요.

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

Python으로 배우는 Optimization 입문

강의 보기

연습 안내

  • Weight 제약의 슬랙을 출력하세요.
  • Weight 제약의 그림자 가격이 0보다 큰지 확인하세요.

실습형 인터랙티브 연습

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

model.constraints['Weight'] = C + S >= 7  

model.solve() 
print(f"Status: {LpStatus[model.status]}\n") 

# Print the slack of the weight constraint
print("The slack of the Weight constraint is {}", 
      ____.constraints['Weight'].____)

# Check if the shadow price is greater than 0
if ____.constraints['Weight'].____ > 0:
	print('Tightening the constraint will increase minimum cost')
코드 편집 및 실행