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

Connected

演習

効用最大化

Bill はピアノを学び始めた学生で、古典音楽を学ぶ時間を $c$、モダン音楽を学ぶ時間を \(m\) として配分します。彼の選好は、先ほどプロットしたのと同じ効用関数で表されます。

$U(c, m)=c^{0.7}m^{0.3}$。

毎日の学習時間は合計で 2 時間($c+m=2$)です。Bill が最適な学習計画を見つけられるよう手伝ってください。

np と minimize は読み込まれています。すでに SymPy から symbols、diff、solve をインポートし、c と m を symbols として定義し、効用関数 U も定義済みです。

指示

100 XP
  • vars をアンパックして効用関数を定義し、負符号を付けて返します。
  • 制約関数を定義します。
  • type と fun を用いて制約を設定します。
  • 最適化を実行し、c と m の結果を取り出します。