시작하기무료로 시작하기

비선형 제약이 있는 비스킷 문제

방금 훌륭하게 빵을 구우셨어요!

이제 NonlinearConstraint를 사용해서 같은 문제를 다시 풀어 볼까요?

제약 조건을 다시 떠올려 보면, 제과점은 최소 140개의 선주문을 충족해야 하고 각 공장은 하루에 비스킷 100개를 생산할 수 있어요.

minimize, Bounds, NonlinearConstraint와 함께 수익 함수 R, 비용 함수 C, 이익 함수 profit이 이미 로드되어 있어요.

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

Python으로 배우는 Optimization 입문

강의 보기

연습 안내

  • lambda 함수 q를 사용해 제약을 정의하고, 하한과 상한을 설정하세요.
  • 최적화 함수, 경계, 제약을 miminize()에 추가하여 최적화를 수행하세요.

실습형 인터랙티브 연습

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

# Redefine the problem with NonlinearConstraint
constraints = NonlinearConstraint(lambda q: ____, ____, ___)

# Perform optimization
result = minimize(lambda q: ____, 
                  [50, 50], 
                  bounds=____,
                  constraints=____)

print(result.message)
print(f'The optimal number of biscuits to bake in bakery A is: {result.x[0]:.2f}')
print(f'The optimal number of biscuits to bake in bakery B is: {result.x[1]:.2f}')
print(f'The bakery company made: ${-result.fun:.2f}')
코드 편집 및 실행