"Информатика (в 2-х частях)", Горячев А.В., Герасимова В.Г., Макарина Л.А., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Юдина А.Г., Чернышёва Т.Л.
Автоматическая оптимизация помогает выбрать лучший план действий, когда на результат влияют несколько величин, а ресурсы и другие условия ограничены. Для этого бизнес-задачу переводят в математическую модель: задают изменяемые параметры, показатель успеха и ограничения. Оптимизатор проверяет возможные сочетания значений и ищет вариант, который лучше остальных выполняет цель и остаётся допустимым. Так можно планировать выпуск товаров, распределять бюджет или управлять запасами.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Задача оптимизации — выбор наилучшего варианта действий по заданному критерию при наличии ограничений. Иными словами, нужно сравнить возможные планы и найти тот, который лучше подходит к цели, но не нарушает условия задачи. Такая постановка помогает принимать решения не наугад, а по понятному правилу.
Параметр решения — величина, которую можно изменять, например количество выпускаемых товаров или объём закупки. Параметры обычно обозначают буквами, например x и y. Они нужны, чтобы записать разные варианты плана и поручить программе подобрать подходящие значения.
Целевая функция — зависимость показателя эффективности от параметров решения, которую нужно максимизировать или минимизировать. Например, прибыль может быть записана через количество изготовленных товаров. Эта функция показывает, по какому именно результату сравниваются варианты.
Ограничение — условие, задающее допустимые значения параметров: запас ресурсов, бюджет, производственные мощности или спрос. Его записывают равенством или неравенством, например расход сырья не должен превышать запас. Ограничения нужны, чтобы лучший на бумаге план можно было выполнить в действительности.
Сначала реальную бизнес-ситуацию переводят в математическую модель — упрощённое описание с помощью величин и формул. Выделяют то, чем можно управлять, например объём выпуска, затем решают, какой результат считать успехом, и записывают условия, которые нельзя нарушать. Без такого разделения программа не поймёт, какие значения менять и по какому правилу выбирать план.
Если параметров несколько, недостаточно найти хорошее значение для каждого по отдельности. Увеличение выпуска одного товара может потребовать сырьё, нужное для другого, а значит, выбор одного параметра изменит возможности для остальных. Поэтому ищут подходящее сочетание значений и оценивают его общий результат, а не отдельные числа.
Целевая функция связывает выбранные параметры с итоговым показателем. Например, если x и y — количество двух товаров, а прибыль с единицы равна 40 и 30 рублям, общая прибыль выражается формулой P = 40x + 30y. Меняя x и y, можно увидеть, как меняется P; для задачи о прибыли её обычно требуется максимизировать.
Ограничения превращают условия задачи в проверяемые формулы. Если на изготовление единицы товаров требуется разное количество сырья, общий расход записывают через x и y и задают неравенство: расход не больше запаса. Равенство может описывать, например, точный объём имеющегося ресурса, который требуется использовать полностью. Каждое условие исключает варианты, которые нельзя реализовать.
Автоматический оптимизатор подбирает значения параметров, проверяет, выполняются ли ограничения, и сравнивает допустимые варианты по целевой функции. В зависимости от метода он перебирает варианты или вычисляет направление поиска, чтобы приблизиться к лучшему результату. На выходе получается набор значений и соответствующий показатель эффективности; его нужно сопоставить с исходными условиями, чтобы убедиться, что модель составлена верно.
| Элемент модели | Что задаётся | Пример в бизнес-задаче | Роль при оптимизации |
|---|---|---|---|
| Параметры решения | Изменяемые величины | Количество выпускаемых товаров | Определяют варианты плана |
| Целевая функция | Формула показателя эффективности | Общая прибыль от продаж | Позволяет сравнить варианты |
| Направление оптимизации | Максимум или минимум | Максимизировать прибыль | Указывает, какой результат лучше |
| Ограничения | Условия, которые должны выполняться | Расход сырья не выше запаса | Отсекают невыполнимые планы |
| Допустимые значения параметров | Разрешённые пределы и знаки | Количество товаров неотрицательно | Исключают нереальные значения |
| Результат работы оптимизатора | Найденные значения и итог цели | План выпуска и его прибыль | Показывает лучший найденный вариант |
Таблицу удобно читать сверху вниз: сначала определить, что можно менять, затем записать цель и все условия. После этого проверьте, указаны ли допустимые значения параметров и понятно ли, что именно нужно увеличить или уменьшить. Полученный результат следует оценивать не только по целевой функции, но и по ограничениям.
Предприятие получает 40 рублей прибыли с единицы первого товара и 30 рублей со второго, но запас сырья ограничен. Обозначим через x и y объёмы выпуска. Сколько именно сырья расходуется на единицу каждого товара, в условии не указано, поэтому численное решение посчитать нельзя: сначала нужны эти данные и величина запаса.
Ответ: модель имеет целевую функцию P = 40x + 30y и ограничения по запасам сырья и неотрицательности выпуска. Численные объёмы можно получить только после указания расхода и запаса каждого ресурса; оптимизатор подберёт их автоматически.
Для каждого из трёх товаров известны прибыль, затраты времени и материалов, а также минимальный и максимальный объёмы продаж. Введём параметры x₁, x₂ и x₃ — объёмы выпуска. План должен одновременно приносить наибольшую прибыль, укладываться в ресурсы и соответствовать спросу.
Ответ: оптимальный план — допустимый набор x₁, x₂, x₃, при котором P максимально. Точные числа зависят от исходных прибылей, расходов, запасов и границ спроса, поэтому их нельзя определить без этих данных.
Компания делит бюджет между четырьмя рекламными каналами. Обозначим расходы на них x₁, x₂, x₃ и x₄; для каждого канала известны стоимость размещения и ожидаемое число клиентов. Нужно учесть как общий бюджет, так и минимальные требования к присутствию на отдельных каналах.
Ответ: оптимизатор выдаёт четыре значения расходов, удовлетворяющие требованиям и дающие наибольшее ожидаемое число клиентов. Чтобы получить конкретные суммы, нужны числовые данные о стоимости, отдаче каналов и бюджете; без них можно определить только способ составления модели.
Путать параметр и целевую функцию. Ученик может принять количество товара за то, что требуется максимизировать, хотя это лишь изменяемая величина. Так происходит, когда цель задачи не отделяют от способа её достижения. Проверьте себя: параметр отвечает на вопрос «что меняем?», а целевая функция — «какой итог оцениваем?».
Пропускать ограничения. Если забыть про бюджет, запасы или спрос, оптимизатор может выбрать выгодный, но невыполнимый план. Обычно это случается, когда записывают только самые заметные условия. Перед расчётом перечислите все ресурсы и требования, а после расчёта подставьте результат в каждое ограничение.
Выбирать неверное направление оптимизации. Максимизация затрат вместо прибыли или минимизация дохода приводит к противоположному результату. Ошибку часто допускают, не уточнив, что именно считается успехом. Сформулируйте цель словами и проверьте: хороший план должен увеличивать полезный показатель или уменьшать нежелательный.
Не задавать допустимость параметров. Без условия неотрицательности модель может предложить отрицательное количество товара, хотя выпускать его нельзя. Это происходит, если ограничения воспринимают только как описание ресурсов. Для каждого параметра укажите реальные пределы и проверьте, имеют ли найденные значения смысл в исходной ситуации.
Для составления модели нужны переменные, формулы, неравенства и умение задавать системы ограничений. Электронные таблицы помогают хранить исходные данные, вычислять целевую функцию и запускать оптимизатор. Такая работа связана с математическим моделированием: реальную ситуацию описывают параметрами, целью и условиями.
Приём пригодится при планировании производства, распределении бюджета, организации логистики, управлении запасами и экономических расчётах. Во всех этих случаях нужно выбрать план, который даёт хороший результат и укладывается в имеющиеся ресурсы. Перед автоматическим расчётом важно правильно представить ситуацию в виде модели.
Чем параметр решения отличается от целевой функции?
Параметр решения — это величина, которую можно менять, например количество товара. Целевая функция показывает итоговый показатель, который зависит от параметров и который нужно увеличить или уменьшить, например прибыль.
Почему нельзя искать оптимальное значение каждого параметра отдельно?
Параметры могут влиять на общий результат одновременно и расходовать одни и те же ресурсы. Лучшее значение одного параметра по отдельности может сделать невозможным выгодное сочетание с другими.
Что произойдёт, если не задать одно из ограничений?
Оптимизатор может предложить вариант, который нарушает неучтённое условие: например, превышает бюджет или потребность покупателей. Поэтому результат нужно проверять по всем реальным условиям задачи.
Как понять, нужно целевую функцию максимизировать или минимизировать?
Нужно определить, какой результат считается лучшим в самой задаче. Прибыль и число клиентов обычно максимизируют, а затраты и время выполнения — минимизируют.
Всегда ли автоматический оптимизатор находит единственное решение?
Нет. Несколько разных наборов параметров могут давать одинаковый лучший результат. Иногда решения нет, если ограничения противоречат друг другу, или оно не находится из-за настроек метода и неверно заданной модели.
§ 7. Принятие решения в сложных бизнес-задачах. Автоматическая оптимизация по нескольким параметрам