Россия, Таганрог, ИТА ЮФУ |
Методы глобальной оптимизации
Генетические алгоритмы
Генетические алгоритмы имитируют процессы наследования свойств живыми
организмами и генерируют последовательности новых векторов ,
содержащие
оптимизированные переменные:
. При
этом выполняются
операции трех видов: селекция, скрещивание и мутация.
На начальной стадии выполнения генетического алгоритма случайным образом
инициализируется определенная популяция хромосом (векторов ).
Размер
популяции, как правило, пропорционален количеству оптимизируемых
параметров. Слишком малая популяция хромосом приводит к замыканию в
неглубоких локальных минимумах. Слишком большое их количество чрезмерно
удлиняет вычислительную процедуру и также может не привести к точке
глобального минимума.
Селекция хромосом для спаривания (необходимого для создания нового поколения) может основываться на разных принципах. Одним из наиболее распространенных считается принцип элитарности, в соответствии с которым наиболее приспособленные (в смысле целевой функции) хромосомы сохраняются, а наихудшие отбраковываются и заменяются вновь созданным потомством, полученным в результате скрещивания пар родителей.
Существует огромное множество методов скрещивания, начиная с полностью
случайного. При взвешенно-случайном скрещивании учитывается информация о
текущем значении целевой функции. Отбор может происходить по принципу
рулетки; при этом площадь сегмента колеса рулетки, сопоставленного
конкретной хромосоме, пропорциональна величине ее функции
приспособленности , где
- ее целевая функция.
Процесс скрещивания основан на рассечении пары хромосом на две части с последующим обменом этих частей в хромосомах родителей (рис. 1). Место рассечения также выбирается случайным образом. Количество новых потомков равно количеству отбракованных в результате селекции (размер популяции остается неизменным). Признается допустимым перенос в очередное поколение некоторых случайно выбранных хромосом вообще без скрещивания.
Последняя генетическая операция - это мутация. При двоичном кодировании
мутация состоит в инверсии случайно выбранных битов. При кодировании
векторов десятичными числами мутация заключается в замене значения
какого-либо элемента вектора другим случайно выбранным значением. Мутация
обеспечивает защиту как от слишком быстрого завершения алгоритма (в случае
выравнивания значений всех хромосом и целевой функции), так и от
представления в какой-либо конкретной позиции всех хромосом одного и того
же значения. Однако необходимо иметь в виду, что случайные мутации
приводят к повреждению уже частично приспособленных векторов. Обычно
мутации подвергается не более -
бит всей
популяции хромосом. Элемент,
подвергаемый мутации, отбирается случайным образом.
Доказано, что каждое последующее поколение, сформированное селекцией, скрещиванием и мутацией, имеет статистически лучшие средние показатели приспособленности (меньшие значения целевой функции).
В качестве окончательного решения принимается наиболее приспособленная хромосома, имеющая минимальное значение целевой функции. Генетический процесс завершается либо в момент генерации удовлетворяющего нас решения, либо при выполнении максимально допустимого количества итераций. При реализации генетического процесса отслеживается, как правило, не только минимальное значение целевой функции, но и среднее значение по всей популяции хромосом, а также их вариации. Решение об остановке алгоритма может приниматься и в случае отсутствия прогресса минимизации, определяемого по изменениям названных характеристик.