最大値の探索
無制約最適化とは、入力変数に制約がない関数の最大値または最小値を求めることです。
たとえば、おいしいクッキーの新商品を発売し、売上を最大化したいとします。売上は次の目的関数で表せます。ここで R は価格 x のときの売上です。
R = -(x**2) + 3*x - 5
この最大化問題を、読み込み済みの SciPy の minimize_scalar() を使って解いてください。
この演習はコースの一部です
Pythonで学ぶOptimization入門
演習の手順
- 元の目的関数を反転(符号を反対)させた新しい目的関数を定義します。
- 反転させた関数を最大化します。
- 最適値を小数点以下2桁で表示します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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")