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

Connected

演習

総当たり法(Exhaustive search method)

目的関数を適用して結果を可視化しましたが、プロットを見て最適値を「目測」することしかできませんでした。より正確に求めるには、総当たり法を使います。

今回も、雑誌を発行・印刷するメディア企業で働いている設定です。ただし今回は、コストの最小化ではなく利益の最大化を目指します。利益と数量の単位は千であることを思い出してください。つまり、q が 1 なら 1000 部の雑誌、利益が 5 なら $5000 を意味します。

前の演習と同じ quantity 配列が用意されており、最適化するための profit() 関数も提供されています。

numpy は np としてインポート済みです。

指示

100 XP
  • 提供された profit() 関数を使って、すべての数量に対する利益を計算し、profits に保存します。
  • 適切な配列メソッドで最大利益を求め、max_profit に保存します。
  • 最大利益のインデックスを max_index として取得し、これを使って quantity を部分取得し、利益を最大化する最適な数量を求めます。
  • f-string を完成させて結果を表示します。利益と数量はそれぞれ 1000 を掛けて表示することを忘れないでください。