logo

5.7.3. Генетические алгоритмы

Генетические алгоритмы являются мощным методом оптимизации, позволяющим найти глобальный оптимум быстрее, чем другие методы случайного поиска. Существенным их достоинством является отсутствие проблем со сходимостью и устойчивостью. Эти методы используются для идентификации моделей объектов управления, для поиска оптимальных параметров регулятора, для поиска оптимальных положений функций принадлежности в фаззи-регуляторах и для обучения нейронных сетей. Чаще всего генетические алгоритмы используются совместно с нейронными сетями и регуляторами с нечеткой логикой.

Недостатком генетических алгоритмов является большое время поиска экстремума, что не позволяет их использовать в быстродействующих системах реального времени.

Генетические алгоритмы основаны на принципах естественного отбора, сформулированных Дарвиным в 1859 году. Идею генетических алгоритмов применительно к решению математических задач сформулировал Дж. Холланд в 1962 г., используя понятия генов, хромосом, скрещивания, мутация, селекции, репродукции. Основной идеей является прямое подобие принципу естественного отбора, когда выживают наиболее приспособленные особи.

Для применения генетических алгоритмов необходимо преобразовать переменные, фигурирующие в условии задачи, в генетические переменные. Такое преобразование задается схемой кодирования. Переменные могут быть представлены в двоичной форме, в форме действительных десятичных чисел или в другой форме, в зависимости от смысла решаемой задачи.

Классический генетический алгоритм состоит из следующих шагов [FlemingРутковская Гладков]:

1. Выбор исходной популяции хромосом размера N.

2. Оценка приспособленности хромосом в популяции.

3. Проверка условия остановки алгоритма.

4. Селекция хромосом.

5. Применение генетических операторов.

6. Формирование новой популяции.

7. Переход к п. 2.

Для работы алгоритма нужно задать нижнюю и верхнюю границы изменения искомых параметров, вероятность скрещивания, вероятность мутации, размер популяции и максимальное количество поколений.

Исходная популяция хромосом генерируется случайным образом. Приспособленность хромосом оценивается с помощью целевой функции в кодированной форме. Далее, хромосомы с лучшей приспособленностью собираются в группу, в пределах которой выполняются генетические операции скрещивания или мутации. Скрещивание позволяет получить от двух родителей перспективного потомка. Оператор мутации вносит изменения в хромосомы. В случае двоичного кодирования мутация состоит в изменении случайного бита в двоичном слове.

Рис. 5.96. Пример кодирования коэффициентов регулятора для использования в генетическом алгоритме

Рис. 5.97. Пример операции скрещивания

Пример кодирования трех коэффициентов ПИД-регулятора для применения в генетических алгоритмах приведен нарис. 5.96 [Li]. Здесь хромосома состоит из трех параметров, общей длиной 48 бит. Операция скрещивания состоит в обмене генетическим материалом между хромосомами (родителями) для того, чтобы получить новую хромосому (потомка). Существует много различных форм операторов скрещивания. Один из них состоит в том, что в двух родительских хромосомах случайным образом выбирается некоторая позиция (рис. 5.97), затем происходит обмен генетической информацией, расположенной справа от выбранной позиции [Fleming].

После выполнения генетического алгоритма производят декодирование двоичного представления в инженерные величины.

Оценка приспособленности хромосом в популяции для оценки коэффициентов ПИД-регулятора может быть выбрана, к примеру, как [Li]

,

где   - текущее значение ошибки регулирования,   - время.

Селекция хромосом осуществляется методом рулетки. На колесе рулетки имеются секторы, причем ширина сектора пропорциональна функции приспособленности. Поэтому чем больше значение этой функции, тем более вероятен отбор соответствующей ей хромосомы.