尋找極大值
無拘束最佳化是指在沒有對輸入變數加上任何限制或約束的情況下,尋找函式的極大值或極小值。
假設你要為你那間美味餅乾公司推出新產品,並希望最大化營收。營收可以用以下目標函式建模,其中 R 是在價格 x 時的營收。
R = -(x**2) + 3*x - 5
使用已為你載入的 SciPy 的 minimize_scalar() 來解這個極大化問題。
本練習屬於課程
Python 最佳化入門
練習說明
- 定義一個新的目標函式,為原目標函式的相反數。
- 對這個取相反數後的函式進行極大化。
- 以小數點後兩位列印最佳值。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Define the new objective function
def negated_function(x):
____
# Maximize the negated function
result = ____
# Print the result
print(f"The maximum is {____} in two decimals")