始める無料で始める

コストの最適化

これまでに作成した関数を使って、生産コストの最適化を行います。ここでの目的は平均利益の最大化です。ただし、利益は複数の要因に依存し、私たちが操作できるのはコストだけです。そこで、他の要因の不確実性をシミュレーションし、コストを変化させて利益への影響を確認します。

あなたは小規模なトウモロコシ農場を管理しており、コストを $100 から $5,000 の範囲で選べます。平均利益が最大になるコストを選びたいと考えています。この演習では、各コスト水準ごとに複数の結果をシミュレーションし、その平均を計算します。そして、平均利益が最大となるコストを選びます。完了後は、ビジネス上の意思決定で最適な入力値を選ぶためのフレームワークが手に入ります。

この演習はコースの一部です

Pythonで学ぶ統計シミュレーション

コースを見る

演習の手順

  • 空の辞書 results を初期化します。
  • 各コスト水準について、事前に読み込まれている profits() 関数で利益をシミュレーションし、tmp_profits に追加します。
  • 各コスト水準の tmp_profits の平均を results 辞書に保存します。
  • リスト内包表記で results を処理し、平均利益が最大となるコスト水準 cost_max を見つけます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Initialize results and cost_levels variables
sims, results = 1000, ____
cost_levels = np.arange(100, 5100, 100)

# For each cost level, simulate profits and store mean profit
for cost in cost_levels:
    tmp_profits = []
    for i in range(sims):
        tmp_profits.append(____)
    results[cost] = np.mean(____)
    
# Get the cost that maximizes average profit
cost_max = [x for x in ____.keys() if ____[x] == max(____.values())][0]
print("Average profit is maximized when cost = {}".format(cost_max))
コードを編集して実行