1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶOptimization入門

Connected

演習

大域最適解を見つける

次の利潤最大化問題について、大域最大値を求めてください。

\(\Pi= -\frac{1}{4}q^4 + 11q^3 - 160q^2 + 900q\)

数量の下限は自然に \(0\) で、\(q=30\) では利潤が負であることが分かっているため、\(30\) を上限の候補とします。

この問題の大域最適解を見つけましょう。

basinhopping はインポート済みです。

指示

100 XP
  • 境界を \(0\) と \(30\) にして、キーワード引数の辞書 kwargs を定義します。
  • 目的関数として profit の負値を用い、初期値 x0 を与えて minimizer に kwargs を渡しながら basinhopping を実行します。