Оптимизация затрат
Теперь воспользуемся написанными функциями, чтобы оптимизировать производственные затраты. Наша цель — максимизировать среднюю прибыль. При этом прибыль зависит от множества факторов, тогда как мы управляем только затратами. Поэтому мы будем моделировать неопределённость остальных факторов и варьировать затраты, чтобы оценить их влияние на прибыль.
Как управляющий небольшой кукурузной фермой, вы можете самостоятельно выбирать уровень затрат — от 100 до 5 000 долларов. Ваша задача — найти такие затраты, при которых средняя прибыль окажется максимальной. В этом упражнении мы смоделируем несколько сценариев для каждого уровня затрат и вычислим среднее значение. Затем выберем уровень затрат с наибольшей средней прибылью. По завершении у вас будет готовый подход для выбора оптимальных входных параметров при принятии бизнес-решений.
Это упражнение является частью курса
Статистическое моделирование на Python
Инструкции к упражнению
- Инициализируйте пустой словарь
results. - Для каждого уровня затрат смоделируйте прибыль с помощью заранее загруженной функции
profits()и добавляйте результаты вtmp_profits. - Сохраните среднее значение
tmp_profitsдля каждого уровня затрат в словареresults. - Найдите уровень затрат
cost_max, соответствующий максимальной средней прибыли, применив кresultsгенераторное выражение из шаблона.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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))