전수 탐색 방법
목표 함수를 적용하고 결과를 시각화했지만, 그래프만 보고 최적값을 대략적으로만 확인할 수 있었어요. 이 값을 더 정확하게 찾는 방법이 바로 전수(exhaustive) 탐색이에요.
당신은 다시 잡지를 발행·인쇄하는 미디어 회사에서 일하고 있고, 이번에는 비용 최소화가 아니라 이익 극대화를 살펴볼 거예요. 이익과 수량의 단위는 천 단위라는 점을 기억하세요. 따라서 q가 1이면 잡지 1000부이고, 이익이 5이면 $5000이에요.
이전 연습 문제에서 사용한 동일한 quantity 배열과 최적화할 profit() 함수가 제공되어 있어요.
numpy는 np로 임포트되어 있어요.
이 연습은 강의의 일부입니다
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 ${____}.")