Решение задач оптимизации с помощью компьютерных технологий
Оптимизация в широком смысле слова находит применение в науке, технике и в любой другой области человеческой деятельности. Оптимизация - целенаправленная деятельность, заключающаяся в получении наилучших результатов при соответствующих условиях.
При постановке задачи оптимизации необходимо:
1. Наличие объекта оптимизации и цели оптимизации. При этом формулировка каждой задачи оптимизации должна требовать экстремального значения лишь одной величины, то есть одновременно системе не должно приписываться два и более критерия оптимизации, так как практически всегда экстремум одного критерия не соответствует экстремуму другого. Типичный пример неправильной постановки задачи оптимизации: «Получить максимальную производительность при минимальной себестоимости». Ошибка заключается в том. что ставится задача поиска оптимума двух величин, противоречащих друг другу по своей сути. Правильной постановкой задачи может быть: либо получить максимальную производительность при заданной себестоимости, либо получить минимальную себестоимость при заданной производительности. В первом случае критерий оптимизации - производительность, а во втором - себестоимость.
2. Наличие ресурсов оптимизации, под которыми понимают возможность выбора значений некоторых параметров оптимизируемого объекта. Объект должен обладать определенными степенями свободы - управляющиеся воздействиями.
3. Возможность количественной оценки оптимизируемой величины, поскольку- только в этом случае можно сравнивать эффекты от выбора тех или иных управляющих воздействий.
4. Учет ограничений (ограничения в основном определяют о какой оптимизации идет речь: условной или безусловной, ищем глобальный оптимум или локальный).
Обычно оптимизируемая величина связана с экономичностью работы рассматриваемого объекта (технология, участок, цех и др.). Оптимизируемый вариант работы объекта должен оцениваться какой-то количественной мерой — критерием onтимальности. Критерием оптимальности называется количественная оценка оптимизируемого качества объекта.
На основании выбранного критерия оптимальности составляется целевая функция, представляющая собой зависимость критерия оптимальности от параметров, влияющих на ее значение. Вид критерия оптимальности или целевой функции определяется конкретной задачей оптимизации. Таким образом, задача оптимизации сводится к нахождению экстремума целевой функции.
Наиболее общей постановкой оптимальной задачи является выражение критерия оптимальности в виде экономической оценки (производительность, себестоимость продукции и т.п.). Однако в частных задачах иногда не удается или не всегда целесообразно выделять прямой экономический показатель, который бы полностью характеризовал эффективность работы рассматриваемого объекта. В таких случаях критерием оптимальности может служить технологическая характеристика, косвенно оценивающая экономичность работы. Например, устанавливается оптимальная температура в зоне резания при обработке поверхности детали.
Требования, которые должны предъявляться к критерию оптимальности:
1. Критерий оптимальности должен выражаться количественно.
2. Критерий оптимальности должен быть единственным.
3. Критерий оптимальности должен отражать наиболее существенные стороны процесса.
4. Желательно чтобы критерий оптимальности имел ясный физический смысл и легко рассчитывался.
Если случайные возмущения в оптимизируемом процессе достаточно велики и их необходимо учитывать, то следует применять экспериментально-статистические методы, которые позволят получить модель объекта в виде функции, которая справедлива только для изученной локальной области.
В задачах оптимизации различают простые и сложные критерии оптимизации. Критерий оптимальности называется простым, если требуется определить экстремум целевой функции без задания условий на какие-либо другие величины. Такие критерии обычно используются при решении частных задач оптимизации. Критерий оптимальности называется сложным. если необходимо установить экстремум целевой функции при некоторых условиях, которые накладываются на ряд других величин (например, определение максимальной производительности при заданной себестоимости, определение оптимальной температуры при ограничениях по термостойкости катализатора и др.).
Процедура решения задачи оптимизации обязательно включает, помимо выбора управляющих параметров, еще и установление ограничений на эти параметры (пределы подач и чисел оборотов металлорежущего станка, максимально допустимая температура в зоне резания и др.). Ограничения могут накладываться как по технологическим, так и по экономическим соображениям.
Для решения задачи оптимизации необходимо:
1. Составить математическую модель объекта оптимизации.
2. Выбрать критерий оптимальности и составить целевую функцию.
3. Установить возможные ограничения, которые должны накладываться на переменные.
4. Выбрать метод оптимизации, который позволит найти экстремальные значения искомых величин.
Принято различать задачи статической оптимизации для процессов, протекающих в установившихся режимах, и задачи динамической оптимизации. В первом случае решаются вопросы создания и реализации оптимальной модели процесса, во втором - задачи создания и реализации системы оптимального управления процессом при неустановившихся режимах эксплуатации.
Вообще говоря, общая запись задач оптимизации задаёт большое разнообразие их классов. От класса задачи зависит подбор метода (эффективность её решения). Классификацию задач определяют: целевая функция и допустимая область (задаётся системой неравенств и равенств или более сложным алгоритмом). Методы оптимизации классифицируют в соответствии с задачами оптимизации:
- Локальные методы: сходятся к какому-нибудь локальному экстремуму целевой функции. В случае унимодальной целевой функции, этот экстремум единственен, и будет глобальным максимумом/минимумом.
- Глобальные методы: имеют дело с многоэкстремальными целевыми функциями. При глобальном поиске основной задачей является выявление тенденций глобального поведения целевой функции.
Существующие в настоящее время методы поиска можно разбить на три большие группы:
- детерминированные;
- случайные (стохастические);
- комбинированные.
По критерию размерности допустимого множества, методы оптимизации делят на методы одномерной оптимизации и методы многомерной оптимизации.
По виду целевой функции и допустимого множества, задачи оптимизации и методы их решения можно разделить на следующие классы:
- Задачи оптимизации, в которых целевая функция и ограничения являются линейными функциями, разрешаются так называемыми методами линейного программирования.
- В противном случае имеют дело с задачей нелинейного программирования и применяют соответствующие методы.
Помимо того, оптимизационные методы делятся на следующие группы:
- аналитические методы[21];
- численные методы[22];
- графические методы.
Поиски оптимальных решений привели к созданию специальных математических методов и уже в 18 веке были заложены математические основы оптимизации (вариационное исчисление, численные методы и др.). Однако до второй половины 20 века методы оптимизации во многих областях науки и техники применялись очень редко, поскольку практическое использование математических методов оптимизации требовало огромной вычислительной работы, которую без ЭВМ реализовать было крайне трудно, а в ряде случаев - невозможно. Особенно большие трудности возникали при решении задач оптимизации из-за большого числа параметров и их сложной взаимосвязи между собой. При наличии ЭВМ ряд задач оптимизации поддается решению.
Градиентные методы оптимизации относятся к численным методам поискового типа. Они универсальны, хорошо приспособлены для работы с современными цифровыми вычислительными машинами и в большинстве случаев весьма эффективны при поиске экстремального значения нелинейных функций с ограничениями и без них, а также тогда, когда аналитический вид функции вообще неизвестен. Вследствие этого градиентные, или поисковые, методы широко применяются на практике. Сущность указанных методов заключается в определении значений независимых переменных, дающих наибольшие изменения целевой функции. Обычно для этого двигаются вдоль градиента, ортогонального к контурной поверхности в данной точке.
Различные поисковые методы в основном отличаются один от другого способом определения направления движения к оптимуму, размером шага и продолжительностью поиска вдоль найденного направления, критериями окончания поиска, простотой алгоритмизации и применимостью для различных ЭВМ. Техника поиска экстремума основана на расчетах, которые позволяют определить направление наиболее быстрого изменения оптимизируемого критерия.
Наряду с определением направления градиентного вектора основным вопросом, решаемым при использовании градиентных методов, является выбор шага движения по градиенту. Величина шага в направлении gradF в значительной степени зависит от вида поверхности. Если шаг слишком мал, потребуются продолжительные расчеты; если слишком велик, можно проскочить оптимум. Размер шага должен удовлетворять условию, при котором все шаги от базисной точки лежат в том же самом направлении, что и градиент в базисной точке.
Несмотря на существующие различия между градиентными методами, последовательность операций при поиске оптимума в большинстве случаев одинакова и сводится к следующему:
а) выбирается базисная точка;
б) определяется направление движения от базисной точки;
в) находится размер шага;
г) определяется следующая точка поиска;
д) значение целевой функции в данной точке сравнивается с ее значением в предыдущей точке;
е) вновь определяется направление движения и процедура повторяется до достижения оптимального значения.
Метод градиента вместе с его многочисленными модификациями является распространенным и эффективным методом поиска оптимума исследуемых объектов. Рассмотрим одну из модификаций метода градиента – метод крутого восхождения.
Метод крутого восхождения, или иначе метод Бокса-Уилсона, объединяет в себе достоинства трех методов - метода Гаусса-Зейделя, метода градиентов и метода полного (или дробного) факторного экспериментов, как средства получения линейной математической модели. Задача метода крутого восхождения заключается в том, чтобы шаговое движение осуществлять в направлении наискорейшего возрастания (или убывания) выходной переменной, то есть по grad y(X). В отличии от метода градиентов, направление корректируется не после каждого следующего шага, а при достижении в некоторой точке на данном направлении частного экстремума целевой функции, как это делается в методе Гаусса-Зейделя. В точке частного экстремума ставится новый факторный эксперимент, определяется математическая модель и вновь осуществляется крутое восхождение. В процессе движения к оптимуму указанным методом регулярно проводиться статистический анализ промежуточных результатов поиска. Поиск прекращается, когда квадратичные эффекты в уравнении регрессии становятся значимыми. Это означает, что достигнута область оптимума.
Эффективность метода крутого восхождения зависит от выбора масштаба переменных и вида поверхности отклика. Поверхность со сферическими контурами обеспечивает быстрое стягивание к оптимуму.
К недостаткам метода крутого восхождения следует отнести:
1. Ограниченность экстраполяции. Двигаясь вдоль градиента, мы основываемся на экстраполяции частных производных целевой функции по соответствующим переменным. Однако форма поверхности отклика может изменяться и необходимо изменять направление поиска. Другими словами, движение на плоскости не может быть продолжительным.
2. Трудность поиска глобального оптимума. Метод применим для отыскания только локальных оптимумов.
Метод Монте-Карло — общее название группы численных методов, основанных на получении большого числа реализаций стохастического (случайного) процесса, который формируется таким образом, чтобы его вероятностные характеристики совпадали с аналогичными величинами решаемой задачи. Иначе говоря это метод статистических испытаний, численный метод решения математических задач при помощи моделирования случайных процессов и событий.
С помощью средств Mathcad можно решать задачи оптимизации процессов производства, в том числе технологических процессов. На практических занятиях будет рассмотрен пример решения оптимизационной задачи.
Задачи оптимизации решаются и с помощью пакета MATLAB.