Метод полного перебора
Вы применили целевую функцию и визуализировали результат, однако определить оптимальное значение можно было только приблизительно — по графику. Более точный способ найти это значение — метод полного перебора.
Вы снова работаете в медиакомпании, которая издаёт и печатает журналы, но на этот раз ваша задача — максимизировать прибыль, а не минимизировать затраты. Напомним, что прибыль и количество выражены в тысячах: значение q, равное 1, соответствует 1000 журналов, а прибыль 5 — 5000 долларов.
Массив quantity из предыдущего упражнения уже доступен вам, а также функция profit(), которую необходимо оптимизировать.
numpy импортирован как np.
Это упражнение является частью курса
Введение в оптимизацию на Python
Инструкции к упражнению
- Вычислите прибыль для каждого значения количества с помощью функции
profit()и сохраните результат в переменнуюprofits. - Найдите максимальную прибыль с помощью подходящего метода массива и сохраните результат в переменную
max_profit. - Найдите оптимальное количество, максимизирующее прибыль: сохраните индекс максимальной прибыли в переменную
max_index, а затем используйте его для обращения к элементу массиваquantity. - Выведите результаты, дополнив f-строку — не забудьте умножить прибыль и количество на
1000.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Calculate the profit for every quantity
profits = ____
# Find the maximum profit
max_profit = ____
# Find the optimal quantity
max_profit_ind = ____
optimal_quantity = ____
# Print the results
print(f"You need to print {____} magazines to make the maximum profit of ${____}.")