시작하기무료로 시작하기

전수 탐색 방법

목표 함수를 적용하고 결과를 시각화했지만, 그래프만 보고 최적값을 대략적으로만 확인할 수 있었어요. 이 값을 더 정확하게 찾는 방법이 바로 전수(exhaustive) 탐색이에요.

당신은 다시 잡지를 발행·인쇄하는 미디어 회사에서 일하고 있고, 이번에는 비용 최소화가 아니라 이익 극대화를 살펴볼 거예요. 이익과 수량의 단위는 천 단위라는 점을 기억하세요. 따라서 q1이면 잡지 1000부이고, 이익이 5이면 $5000이에요.

이전 연습 문제에서 사용한 동일한 quantity 배열과 최적화할 profit() 함수가 제공되어 있어요.

numpynp로 임포트되어 있어요.

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

Python으로 배우는 Optimization 입문

강의 보기

연습 안내

  • 제공된 profit() 함수를 사용해 모든 수량에 대한 이익을 계산하고 profits에 저장하세요.
  • 적절한 배열 메서드로 최댓값 이익을 찾아 max_profit에 저장하세요.
  • 최댓값 이익의 인덱스를 max_index로 저장한 뒤, 이를 사용해 quantity에서 서브셋팅하여 이익을 최대로 하는 수량을 찾으세요.
  • f-string을 완성해 결과를 출력하세요. 단, 이익과 수량은 각각 1000을 곱해 표시하세요.

실습형 인터랙티브 연습

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

# Calculate the profit for every quantity
profits = ____

# Find the maximum profit
max_profit = ____

# Find the optimal quantity
max_profit_ind = ____
optimal_quantity = ____

# Print the results
print(f"You need to print {____} magazines to make the maximum profit of ${____}.")
코드 편집 및 실행