Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Современные алгоритмы оптимизации автоматизированных производств. Учебное пособие.pdf
X
- •ВВЕДЕНИЕ
- •1.3. Классификация методов оптимизации проектных решений
- •Вопросы для самопроверки
- •2. ДЕТЕРМИНИРОВАННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ
- •2.1. Линейное математическое программирование
- •2.2. Нелинейное математическое программирование
- •2.2.1. Однопараметрические целевые функции
- •2.2.2. Многопараметрическая оптимизация
- •3. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
- •3.1. Основные положения многокритериальной оптимизации
- •Вопросы для самопроверки
- •Вопросы для самопроверки
- •4. СТОХАСТИЧЕСКИЕ МЕТОДЫ РЕШЕНИЯ ОПТИМИЗАЦИОННЫХ ЗАДАЧ
- •4.1. Метод Монте-Карло
- •4.2. Генетические алгоритмы
- •4.3. Муравьиные алгоритмы
- •4.4. Жадные алгоритмы
- •4.5. Алгоритм роя частиц
- •Вопросы для самопроверки
- •ЗАКЛЮЧЕНИЕ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК

Окончательно
= 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. ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ
В последнее время интенсивно развивается научное направление Natural 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
