Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Современные алгоритмы оптимизации автоматизированных производств. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Окончательно
= 3.
Найдем точки пересечения этих прямых из системы уравнений
+ = 16;
= 3.
Откуда
2= 19;

=
= 9,5;
= 16 9,5 = 6,5.
Для управления процессом важно знать не столько оптимальные зна-
чения критериев, сколько значения параметров, обеспечивающих эти зна­чения критериев.
Определим значения параметров  и
, обеспечивающих найденные
«идеальные» значения критериев и , из системы уравнений критери-
альных функций, подставив в них найденные оптимальные значения кри­териев:
6,5 = +
9,5 = 
+ 2;
+ 6.
После несложных преобразований получим:
= 4; 
= 0,5.
Необходимо отметить, что эта точка оптимума находится в середине
отрезка DE (рис. 3.2), ограничивающего допустимую область параметров
и
.
61

Вопросы для самопроверки

1. Поясните постановку задачи многокритериальной оптимизации.
2. Какие критерии называются согласными, а какие – противоречи-
выми?
3. Назовите характерные участки на границе допустимой области кри-
териев.
4. Какие участки на границе допустимой области критериев являются
Парето-оптимальными в задачах минимизации целевой функции, а какие – в случае ее максимизации?
5. В чем заключается метод уступок при принятии решения ЛПР на
Парето-оптимальном фронте?
6. В чем состоит метод идеальной точки при принятии компромиссно-
го решения?
62

4. СТОХАСТИЧЕСКИЕ МЕТОДЫ РЕШЕНИЯ ОПТИМИЗАЦИОННЫХ ЗАДАЧ

Алгоритм представляет собой последова-
тельность вычислительных шагов, преобра-
зующих входные величины в выходные
за ограниченный промежуток времени
Томас Кормен, Чарльз Лейзерсон,
Рональд Риверст, Клиффорд Штайн.
Алгоритмы. Построение и анализ, 2013 г.

4.1. МЕТОД МОНТЕ-КАРЛО

Наряду с детерминированными методами поиска минимума суще-
ствуют и несколько методов, основанных на случайном получении точек
испытания
. Методы случайного поиска особенно целесообразно при-
менять для определения глобального минимума мультимодальных целе­вых функций (рис. 4.1).
Рис. 4.1. График гипотетической мультимодальной целевой функции
Часто эти методы используются для нахождения окрестностей глобаль-
ного минимума с последующим уточнением точки расположения минимума каким-либо из методов направленного (детерминированного) поиска.
63
Не претендуя на строго математическое изложение, данный метод можно пояснить следующим образом. На заданном интервале изменения значений свободного параметра с помощью программного генератора случайных чисел (точнее псевдослучайных) генерируется либо одно, либо серия случайных чисел.
В каждой из полученных таким образом точек ляется функция цели () и сравнивается со значением (
поочередно вычис-
), найде-

ным в предыдущем положении.
Сохраняется значение функции ( чений (
). Процесс вычислений прекращается после сравнения зна-
) во всех случайных точках оси абсцисс при однопараметриче-
, соответствующее меньшему значению

ском поиске.
В результате возвращается координата (значение свободного пара­метра синтеза), соответствующая наименьшему из всех рассчитанных зна­чений функции.
Если планируется уточнение расположения точки минимума, то фик­сируется интервал неопределенности в окрестностях полученной точки и производится его деление на более мелкие участки с последующим их перебором, либо используется процедура поиска одним из направленных методов, например градиентным методом.

4.2. ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ

В последнее время интенсивно развивается научное направление Natu­ral Computing – «Природные вычисления», которое объединяет математиче-
ские методы с природными механизмами принятия решений. Данное направление показывает эффективный результат взаимодействия науки и природы.
Идея генетических алгоритмов (ГА) заимствована у живой природы и состоит в организации эволюционного процесса, конечной целью которого является получение оптимального решения в сложной комбинаторной задаче.
64
Поскольку качество решения обычно оценивается некоторой функци­ей, ГА также называют методом оптимизации многоэкстремальных функ­ций. Никакой дополнительной информации о решаемой задаче генетиче­ский алгоритм больше не имеет. В процессе эволюции популяция выраба­тывает качества, необходимые для выживания и приспособления и одно­временно являющиеся оптимальным решением.
На сегодняшний день генетические алгоритмы доказали свою конку­рентоспособность при решении многих NP-трудных задач и особенно в практических приложениях, где математические модели имеют сложную структуру и применение стандартных методов типа ветвей и границ, дина­мического или линейного программирования крайне затруднено. Они поз­воляют решать задачи прогнозирования, классификации, поиска оптималь­ных вариантов и совершенно незаменимы в тех случаях, когда в обычных условиях решение задачи основано на интуиции или опыте, а не на строгом (в математическом смысле) ее описании.
Впервые генетический алгоритм был предложен в 1975 г. Джоном Холландом (John Holland) в Мичиганском университете. Он получил название «репродуктивный план Холланда» и лег в основу практически всех вариантов генетических алгоритмов.
Генетический алгоритм – это метод многомерной оптимизации, т. е. метод поиска минимума многомерной функции. Суть метода заключается в том, что моделируется эволюционный процесс: есть какая-то популяция (набор векторов), которая размножается, на которую воздействуют мута­ции – и производится естественный отбор на основании минимизации це­левой функции. Рассмотрим подробнее эти процессы.
Прежде всего популяция должна размножаться. Основной принцип размножения – потомок похож на своих родителей, т. е. необходимо за­дать какой-то механизм наследования. И лучше, если он будет включать элемент случайности. Но скорость развития таких систем очень низкая – генетическое разнообразие падает, популяция вырождается. Таким обра­зом, значение функции перестает минимизироваться.
65
Для решения этой проблемы был введен механизм мутации, который
Переход
заключается в случайном изменении каких-то особей. Этот механизм поз­воляет привнести что-то новое в генетическое разнообразие.
Следующий важный механизм – селекция. Селекция – отбор особей
(можно из только что родившихся, а можно из тех, которые лучше мини­мизируют функцию). Обычно отбирают столько особей, сколько было до размножения, чтобы из эпохи в эпоху насчитывалось постоянное количе­ство особей в популяции. Также принято отбирать «счастливчиков» – ка­кое-то число особей, которые плохо минимизируют функцию, но зато вносят разнообразие в последующие поколения.
Этих трех механизмов чаще всего недостаточно, чтобы минимизиро-
вать функцию, поэтому популяция вырождается – рано или поздно ло­кальный минимум забивает своим значением всю популяцию. Когда такое происходит, запускают процесс, называемый встряской (в природной ана­логии – глобальные катаклизмы): уничтожается почти вся популяция и добавляются новые (случайные) особи. Рассмотрим подробнее алгоритм работы ГА (рис. 4.3).
к новому
поколению
Рис. 4.3. Схема работы генетического алгоритма
Промежуточная популяция – это набор особей, получивших право
размножаться. Наиболее приспособленные особи могут быть записаны туда несколько раз, наименее приспособленные с большой вероятностью туда вообще не попадут.
66
Отбор. В классическом генетическом алгоритме вероятность каждой особи попасть в промежуточную популяцию пропорциональна ее приспо­собленности, т. е. работает пропорциональный отбор.
Существует несколько способов реализации данного отбора:
− особи располагаются на колесе рулетки так, что размер сектора
каждой особи пропорционален ее приспособленности. N раз запуская ру­летку, выбираем требуемое количество особей для записи в промежуточ­ную популяцию;
− для каждой особи вычисляется отношение ее приспособленности к средней приспособленности популяции. Целая часть этого отношения ука­зывает, сколько раз нужно записать особь в промежуточную популяцию, а дробная – ее вероятность попасть туда еще раз. Реализовать такой способ отбора удобно следующим образом: расположим особи на рулетке так, как было описано. Теперь пусть у рулетки не одна стрелка, а N, причем они от­секают одинаковые сектора. Тогда один запуск рулетки выберет сразу все N особей, которые нужно записать в промежуточную популяцию.
Скрещивание. Особи промежуточной популяции случайным образом
разбиваются на пары, потом с некоторой вероятностью скрещиваются, в результате чего получаются два потомка, которые записываются в новое поколение, или не скрещиваются, тогда в новое поколение записывается сама пара.
В классическом генетическом алгоритме применяется одноточечный оператор кроссовера: для родительских строк случайным образом выбира­ется точка раздела, потомки получаются путем обмена отсеченными ча­стями (рис. 4.4).
Рис. 4.4. Одноточечный оператор кроссовера
67
Мутация. К полученному в результате отбора и скрещивания новому поколению применяется оператор мутации, необходимый для «выбива­ния» популяции из локального экстремума и способствующий защите от преждевременной сходимости.
Каждый бит каждой особи популяции с некоторой вероятностью ин­вертируется. Эта вероятность обычно очень мала, менее 1 %.
1011001100101101 → 1011001101101101.
Можно выбирать некоторое количество точек в хромосоме для инвер­сии, причем их число также может быть случайным. Кроме того, можно инвертировать сразу некоторую группу подряд идущих точек.
Критерии останова. Такой процесс эволюции может продолжаться до бесконечности, пока не будет выполнен критерий остановки алгоритма. Таким критерием может быть:
1) нахождение глобального либо субоптимального решения;
2) исчерпание числа поколений, отпущенных на эволюцию;
3) исчерпание времени, отпущенного на эволюцию.
Генетические алгоритмы служат, главным образом, для поиска реше­ний в очень больших, сложных пространствах поиска. Имеется несколько разновидностей генетического алгоритма. Упомянем две из них.
В первой разновидности используется специфичная стратегия отбора. Вначале, как и полагается, популяция инициализируется, и ее особи оцени­ваются. Затем выбираются случайным образом две особи, скрещиваются, причем получается только один потомок, который оценивается и занимает место наименее приспособленной особи. После этого снова случайным об­разом выбираются две особи, и их потомок занимает место особи с самой низкой приспособленностью. Таким образом, на каждом шаге в популяции обновляется только одна особь.
Во второй разновидности применяется гибридный алгоритм, позво­ляющий объединить преимущества ГА с преимуществами классических методов. Дело в том, что ГА являются робастными алгоритмами, т. е. они позволяют находить хорошее решение, но определение оптимального ре-
68
шения зачастую оказывается намного более трудной задачей в силу стоха­стичности принципов работы алгоритма. Поэтому возникла идея исполь­зовать ГА на начальном этапе для эффективного сужения пространства поиска вокруг глобального экстремума, а затем, взяв лучшую особь, при­менить один из «классических» методов оптимизации.
Применение генетических алгоритмов. В общем случае генетиче-
ские алгоритмы не находят оптимального решения очень трудных задач. С другой стороны, вполне возможно, что генетический алгоритм найдет достаточно хорошее решение. Но есть примеры, когда в очень трудных задачах с помощью генетических алгоритмов были получены очень хоро­шие решения.
В двух случаях генетические алгоритмы очень хороши. Первый слу­чай: когда не известен способ точного решения задачи. Если мы знаем, как оценить приспособленность хромосом, то всегда можем заставить ге­нетический алгоритм решать эту задачу. Второй случай: когда способ для точного решения существует, но он очень сложен в реализации, требует больших затрат времени и денег.
Несмотря на то, что конструирование хромосом и фитнес-функций может потребовать значительных усилий, генетические алгоритмы легко реализуются даже с нуля и способны решать широкий круг задач.
В настоящее время ГА нашли очень широкое практическое применение абсолютно в разных отраслях науки. Генетические алгоритмы сейчас успешно используются при решении следующих проблем: оптимизация функций, разнообразные задачи на графах (задача коммивояжера, раскраска и т. д.), настройка и обучение искусственной нейронной сети, компоновка, составление расписаний, аппроксимация функций, некоторые задачи в обла­сти биоинформатики. Однако не следует использовать генетические алго­ритмы в случае, когда необходимо найти точный глобальный оптимум. ГА не гарантирует обнаружения глобального решения за приемлемое время. Генетические алгоритмы не гарантируют и того, что найденное решение бу-
69
дет оптимальным. Тем не менее, они применимы для поиска «достаточно хорошего» решения задачи за «достаточно короткое время».
Пример нахождения экстремума с помощью генетических алго-
ритмов. Пусть требуется найти глобальный минимум функции
y(x) = 5 − 24x + 17x2 – 11/3x3 + 1/4x4
на отрезке [0; 7] (рис. 4.5). На этом отрезке функция принимает мини­мальное значение в точке x = 1. Очевидно, что в точке x = 6 функция по­падает в локальный минимум. Для простоты предположим, что x прини-
мает лишь целые значения, т. е. x [0, 1, 2, 3, 4, 5, 6, 7].
Рис. 4.5. График целевой функции с выбранными значениями
Выберем случайным образом несколько чисел на отрезке: 2, 3, 5, 4.
Будем рассматривать эти числа в качестве пробных решений задачи.
Запишем пробные решения в двоичной форме: 010, 011, 101, 100. Одно
пробное решение, записанное в двоичной форме, будет называться особью,
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]