УДК 517.97
ПРИБЛИЖЕННЫЙ СИНТЕЗ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ ДИСКРЕТНЫМИ СИСТЕМАМИ С ПОМОЩЬЮ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ C ВЕЩЕСТВЕННЫМ КОДИРОВАНИЕМ
А.В. ПАНТЕЛЕЕВ, Д.В. МЕТЛИЦКАЯ
Предложено решение задачи оптимального управления дискретными детерминированными системами с помощью генетических алгоритмов поиска условного глобального экстремума с вещественным кодированием. Сформирован алгоритм решения поставленной задачи, на основе которого создано программное обеспечение. Приведены примеры, иллюстрирующие эффективность сформированного алгоритма.
Ключевые слова: генетический алгоритм, вещественное кодирование, оптимальное управление.
Введение
В данной работе рассмотрено применение генетических алгоритмов (Г еА) поиска условного глобального экстремума с вещественным кодированием [1-5] к задаче нахождения оптимального программного управления дискретными детерминированными системами [6]. Предложен алгоритм решения поставленной задачи. На его основе сформирован комплекс программных средств, предназначенный для различных моделей систем управления и различных функционалов качества. Комплекс имеет удобный интерфейс, с помощью которого можно легко менять параметры задачи и алгоритма, а также анализировать эффективность работы алгоритма. Решено несколько тестовых примеров, на которых продемонстрировано, что предложенный алгоритм позволяет подобрать параметры так, чтобы полученное приближенное решение с достаточно высокой точностью совпадало с оптимальным.
1. Постановка задачи
Поведение модели объекта управления описывается разностным уравнением x(t +1) = f (t, x(t),u(t)), t = 0,1,..., N —1, где x - вектор состояния системы, x e Rn; u - вектор управления, u eU(t) с Rq, U(t) - некоторое замкнутое выпуклое множество допустимых значений управления; t - дискретное время, t e T = [0,1,...,N — 1], число шагов N задано; f (t,x,u) - непрерывная вектор-функция, f (t,x,u) = (fx(t,x,u),..., fn(t,x,u))T .
Начальное состояние системы задано x(0) = x0 . Правый конец траектории свободен. При
управлении используется информация только о дискретном времени t , т. е. применяется так называемое программное управление.
Множество допустимых процессов D(0, x0) - это множество пар d = (x( ), u( )) , включающих траекторию x() = {x0, x(1),..., x(N)} и управление u () = {u(0), u(1),..., u(N — 1)}, u(t)e U(t), удовлетворяющих уравнению состояния и начальному условию.
На множестве допустимых процессов D(0, x0) определен функционал качества управления
N—1
I (d)
= 2 f° (t, x(t), u (t)) + F (x(N)), где f0 (t, x, u), F (x) - заданные непрерывные функции.
t=0
Требуется найти такую пару d* = (x*(),u*())e D(0,x0), что I(d*) = min I(d).
^ ' deD (0,^0)
2. Стратегия поиска решения
Основная идея Г еА состоит в том, что они имитируют в своей работе природные способы оптимизации: генетическое наследование и естественный отбор. Суть механизма естественного отбора заключается в том, что в процессе эволюции выживают и размножаются наиболее приспособленные особи. Благодаря механизму генетического наследования их потомки сохраняют основные качества родителей и, подвергаясь случайным мутациям, приобретают ряд новых свойств. Если новые свойства полезны, то они сохраняются и наследуются.
ГеА рассматривают целевую функцию f (x) = f (х1, х2,..., xn), определенную на множестве
допустимых решений D с Rn и находят ее условный глобальный максимум на заданном множестве, т.е. такую точку x*е D , что f (x*) = max f (x). Задача поиска минимума функции f (x)
xeD
сводится к задаче поиска максимума путем замены знака перед функцией на противоположный: f (x*) = min f (x) = - max[- f (x)].
xeD xeD
Рассматриваемая целевая функция f (x) эквивалентна понятию приспособленности живого организма. Будем называть ее функцией приспособленности. Вектор параметров x = (x1,x2,...,xn)T целевой функции называется хромосомой, а отдельные его параметры xi -генами, i = 1,2,...,n .
При решении задачи используются наборы Y = {xk = (xf, x2,,..., xkn)T , k = 1,2,...,m} с D воз-
^ k i
можных решений, называемые популяциями, где x - хромосома с номером k • m - размер популяции; xk - ген с номером i. Применение Г еА сводится к исследованию множества D. Чем
больше значение f (xk ), тем более подходит хромосома xk в качестве решения.
ГеА имитирует эволюцию начальной популяции как циклический итерационный процесс, во время которого к популяции применяются основные биологические операторы: селекция, скрещивание, мутация. В результате происходит ее смена на новую популяцию, к которой, если решение не найдено, опять применяются биологические операторы, и так далее до выполнения условия окончания. Если хотя бы одно из условий окончания выполнено, то в качестве приближенного решения задачи f ( x*) = max f (x) из последней популяции выбирается особь с
xeD
наибольшим значением функции приспособленности.
При использовании ГеА для решения поставленной задачи будем оптимизировать управление u(). Так как необходимо найти пару d* = (x*, u*), соответствующую минимальному значению функционала, то будет решаться задача I(d*) = min I(d) = - max [-I(d)]. Функцией
deD(0,x0) deD(0,x0)
приспособленности будет являться функционал -1(d) =-I(x( ), u( )) . Хромосома k -й особи в популяции будет представлять собой вектор-строку uk = (uk (0),uk (1),...,uk (N -1)) . Для того чтобы найти значение функционала -1(dk ), соответствующее паре dk = (xk, uk ), необходимо вычислить траекторию системы xk = (x0,xk(1),...,xk(N)) , соответствующую управлению uk, из уравнения состояния с учетом начального условия.
3. Алгоритм решения задачи
Шаг 1. Создание начальной популяции.
1. Задается номер популяции p = 0, максимальное количество популяций pmax , номер итерации j = 1, число шагов N, размер популяции m .
2. Случайным образом, используя равномерное распределение на множестве допустимых
значений управления, формируется начальная популяция У0. В результате получаем т началь-
к і к к к к к к \ { к к к \ лт
ных вектор-строк и = \и11,..., Щч, и21,..., и2,..., ыМ1,...иМд) = \и1 , и2,..., ип), где п = N • q,
к = 1,2,...,т (заметим, что здесь ик}. = ик (і —1) ).
3. Вычисляется траектория хк, а затем значение функции приспособленности їк = —I(хк,ик), для каждой особи ик є У0, к = 1,2,...,т . Вычисляется приспособленность по-
пуляции У0 в целом I = ^ 1к .
к к=1
Шаг 2. Селекция - отбор особей (хромосом) ик в соответствии со значениями функции приспособленности -к для последующего их скрещивания. Вероятность участия в скрещивании
обычно пропорциональна относительной приспособленности особи ик. В ГеА с вещественным кодированием используются следующие операторы селекции: 1) «панмиксия» - случайный равновероятностный отбор, вероятность участия особи в селекции рк = —; 2) рулетка -
т
отбирает особей с помощью двух «запусков» рулетки, вероятность участия особи в селекции
пропорциональна относительной приспособленности особи рк = —^; 3) турнирный отбор -
реализует два турнира, в каждом из которых случайным образом выбираются два элемента из популяции, затем выбирается лучшая особь среди них.
Результатом шага 2 являются две родительские особи и1 и и2.
В ГеА может применяться стратегия элитизма. Ее суть в том, что небольшое количество особей ик переходит в следующее поколение без изменений, не участвуя в селекции и последующем скрещивании.
Шаг 3. Скрещивание - операция, при которой из двух хромосом (особей), называемых родителями, порождается одна или несколько новых, называемых потомками, путем обмена частями родительских хромосом. Применяются следующие операторы скрещивания: 1) плоский кроссовер - создается один потомок и4 = и,...,ичп)Т, где и^,г = 1,...,п - случайное число из промежутка [и,1,иг2 ], иг2 > и) или из [и2,и1 ], и2 < и); 2) простейший кроссовер - из множества {1,2,...,п -1} выбирается случайное число р и генерируются два потомка:
ид1 = (и1,...,и1р,и2р+1...,и2п)Т и и42 = (и2,...,ир,иР+1...,и1п)Т ; 3) арифметический кроссовер - создаются два потомка ич1 = (и^1,..., и^1)Т , ич2 = (и1<г2,..., и^2)Т , где и/1 = )и\ + (1 -)) и2, и*2 = ) и] + (1 -)) и1, , = 1,2,...,п, где ) е (0;1); 4) дискретный кроссовер - создается один потомок и4 = и,...,ичп )Т , где и выбирается из двух значений и1, и2 случайно с вероятностью 0,5 для всех / = 1,..., п; 5) линейный кроссовер - создаются три потомка ид1, и42, ид3, где
= «■+ , и,2 =3 и,1- , ,,,3 = -",‘ +3 и, , = 1.п.
г 2 г 2 г 2
Результатом шага 3 являются потомки исЫ,, = 1,2,3.
Шаг 4. Мутация - преобразование хромосомы, случайно изменяющее обычно один (реже несколько) из ее генов. Оператор мутации предназначен для того, чтобы поддерживать разнообразие особей в популяции. В Г еА с вещественным кодированием применяется случайная мутация. Поочередно рассматривается каждый потомок, полученный в результате скрещивания.
Среди генов u1v..,un случайно (с вероятностью — ) выбирается один с номером
n
pе {1,...,n}, подлежащий замене. Его новое значение uM случайным образом выбирается из промежутка [ap (t), bp (t)] изменения выбранной координаты up при заданном времени t.
Результатом шага 4 являются потомки - мутанты uM, i = 1,2,3.
Шаг 5. Формирование новой популяции. С равной вероятностью выбирается один из по-томков-мутантов, сформированных на предыдущем шаге. Пусть это будет uM 1. Выбранный потомок добавляется в популяцию вместо хромосомы, которой соответствует наименьшее среди элементов популяции значение функции приспособленности, вычисляется траектория xM 1, значение функции приспособленности добавленного потомка IM1 = —I(xM 1, uM 1 ) и приспособлен__________________________________ m
ность новой популяции в целом I = I Ik .
k=1
Проверяются условия: а) если j < m, то положить j = j +1 и перейти к шагу 2; б) если j = m, то положить p = p +1 и перейти к шагу 6.
Шаг 6. Проверка условия окончания работы ГеА (сформировано заданное число популяций Р = Ртах): а) если условие не выполнено, то полагаем j = 1 и переходим к шагу 2; б) если условие окончания работы выполнено, то в качестве решения (приближенного) задачи выбирается особь u * с наибольшим значением функции приспособленности из текущей популяции. Минимальное значение функционала при этом будет равно min I = I(d*) = I(x*, u*).
Более подробное описание типов операторов селекции, скрещивания и мутации в ГеА с вещественным кодированием приведено в [3].
4. Программное обеспечение
На основе изложенного алгоритма сформирована программа поиска оптимального управления дискретной детерминированной системой при помощи генетических алгоритмов с вещественным кодированием. Среда разработки Microsoft Visual Studio 2005, язык программирования C# . Программа работает в режиме диалога с пользователем. Пользовательский интерфейс включает основное окно с формами для ввода данных, а также позволяет увидеть графическое изображение получаемых результатов и сохранять их в памяти компьютера. Работа программы начинается с ввода начальных данных: параметров оптимизируемой системы, начального состояния, диапазонов изменения переменных, а также задания параметров алгоритма: характеристик популяции (размера, максимального количества особей), типа операторов селекции, скрещивания, мутации, количества элитных особей. Для удобства реализации на компьютере в постановке задачи были сделаны следующие упрощения.
Уравнение состояния полагалось линейным: x(t +1) = Ax(t) + Bu(t), t = 0,1,...,N — 1, где A -матрица размером n x n ; B - матрица размером n x q. Функционал качества управления считался квадратичным или линейно-квадратичным (для случая n = 1)
N—1
I, (d ) = 2 ( xT (t )S (t ) x(t ) + uT (t )Q(t )u(t ) ) + Lx( N ), (n = 1);
t=0 N—1
h(d ) = I ( xT (t )S (t ) x(t ) + uT (t )Q(t )u (t ) ) + xT ( N ) Lx( N ),
t=0
где S (t ) - неотрицательно определенная матрица размером n x n ; Q(t ) - положительно определенная матрица размером q x q ; L - неотрицательно определенная матрица размером n x n ( L - число при n = 1 ).
Множество допустимых значений управления U(t) полагалось равным прямому произведению отрезков \jat t, bti ], i = 1, q.
Требуется найти минимальное значение функционала и оптимальный процесс (x*(-), u*(-)), на котором достигается это значение.
5. Примеры
Пример 1
Заданы модель объекта управления x(t +1) = x(t) + u(t), где xе R, |и| < 30, t = 0,1,...,N -1,
N-1
N = 4; начальное состояние x(0) = 3 и функционал I = ^ -¿Ги 2 (t) + 2 x(N).
t=0
Требуется найти минимальное значение функционала и оптимальный процесс (x*(-), м*()),
на котором это значение достигается.
Параметры постановки задачи: n = 1, q = 1, A = 1, B = 1, S(t) = 0, Q(t) = ^, L = 2 .
Будем использовать следующие параметры алгоритма: максимальное количество популяций pmax = 500; количество особей в популяции m = 20; количество элитных особей - 1; оператор селекции - рулетка; оператор скрещивания - арифметический кроссовер; оператор мута-
ции - случайная мутация.
Результаты работы алгоритма представлены в табл. 1 и на рис. 1.
Точное решение задачи имеет вид u*(t) = -t-1, x*(t) = x0 --Tt(t +1),
min I = 2x0 - 2 N(N +1) .
Для N = 4 и x0 = 3 решение будет выглядеть
так: u*(0) = -1, и*(1) = -2, и* (2) = -3,
u*(3) = -4, x*(0) = x0 = 3, x*(1) = 2 ,
x* (2) = 0, x* (3) = -3, x* (4) = -7 , min / = -4.
Рис. 1. Графическое изображение результатов
Таблица 1
Сравнивая результаты, полученные при помощи ГеА с бинарным кодированием, с точным решением, можно оценить эффективность алгоритма.
t 0 1 2 3 4
u*(t) -0,99 -2,0003 -3,0465 -4,0196
x*(t) 3 2,01 0,0097 -3,0368 -7,0564
min I = -3,999
Пример 2
Даны модель объекта управления х1 (V +1) = х2(V) , х2(1 +1) = х1 (V)-), где хе Е2, | и |< 1. I = 0,1; х1(0) = 2, х2 (0) = -3 и функционал I = х12 (2) + х2 (2) .
Требуется найти минимальное значение функционала и оптимальный процесс (х*(), и*()).
( 0 1 ^ 10
на котором это значение достигается. Параметры системы: N = 2 , n = 2 , q = 1 , A =
B =
S =
v0 0J
Q = 0, L =
v0 1J
Пусть параметры алгоритма следующие: количество популяций ртах = 50; количество особей в популяции т = 20; количество элитных особей - 1; оператор селекции - рулетка; оператор скрещивания - арифметический кроссовер; оператор мутации - случайная мутация. Результаты работы алгоритма представлены в табл. 2 и на рис. 2.
Таблица 2
t 0 1 2
u*(t) 0,989 -0,985 -
X1*(0 2 -3 1,011
X2*(t) -3 1,011 -2,015
min I = 5,081
Рис. 2. Результаты работы алгоритма в примере 2 Точное решение задачи для N = 2, х1(0) = 2, х2(0) =-3 будет выглядеть так: и *(0) = 1.
и *(1) = -1,
X,
(0) = 2, х2 * (0) = -3, Xi*(1) = -3, х2*(1)
: 1, Xj *
(2)
1, х2 * (2) = -2, min I = 5 .
Сравнивая полученные результаты с точным решением, можно сделать вывод, что Г еА с вещественным кодированием дает результат, близкий к точному. При этом, изменяя параметры алгоритма, можно добиться более высокой точности.
Пример 3
Воспользуемся примером 1, но пусть теперь N = 20. Параметры алгоритма прежние. В результате работы получено значение критерия min I = -203,846 . Точное минимальное значение критерия для N = 20 и X0 = 3 равно -204. Сравнивая полученные результаты с точным решением, можно сделать вывод, что эффективность работы Г еА с вещественным кодированием падает с увеличением времени функционирования системы. Изменим параметры алгоритма, увеличив количество популяций. Результаты работы алгоритма при pmax = 3000 (min I = -203,996 ) представлены в табл. 3 и на рис. 3. Как видно из примера, при изменении параметров алгоритма точность найденного решения можно увеличить.
Таблица 3
t 0 1 2 3 4 5 6
u*(t) -1,0107 -1,9992 -3,0664 -3,9599 -5,0355 -5,9829 -6,9736
X*(t) 3,0000 1,9893 -0,0098 -3,0762 -7,0362 -12,0717 -18,0546
t 7 8 9 10 11 12 13
u*(t) -8,0820 -9,0732 -10,0065 -10,9995 -12,0226 -13,0346 -13,9602
X*(t) -25,0282 -33,1102 -42,1835 -52,1900 -63,1895 -75,2122 -88,2467
t 14 15 16 17 18 19 20
u*(t) -15,0263 -16,0349 -16,9868 -18,0639 -19,0285 -20,0086 --
X*(t) -102,2069 -117,2332 -133,2681 -150,2549 -168,3188 -187,3473 -207,3559
min I = -203,995521426833
Г рафики т
u1 (# і 1 21 '14 N- координаты, і і N- координаты-і ;
Ь 1 ” * - • * < ■ ■ . ■ • - о а
xlttf \ 1 207
S,
5 І г J * • “ • . „ '
-138 * (
Рис. 3. Результаты работы алгоритма в примере 3
Заключение
Предложен алгоритм решения задачи нахождения оптимального программного управления дискретными детерминированными нелинейными системами с помощью генетических алгоритмов поиска глобального экстремума с вещественным кодированием, на основе которых было разработано соответствующее программное обеспечение. Эффективность алгоритмов продемонстрирована на конкретных примерах. Было выявлено, что точность решения с увеличением времени функционирования системы ухудшается. Однако широкие возможности выбора параметров алгоритма позволяют обеспечить желаемую точность.
ЛИТЕРАТУРА
1. Herrera F., Lozano M., Verdegay J.L. Tackling real-coded genetic algorithms: operators and tools for the behavior analysis // Artificial Intelligence Review, V. 12, 1998. - № 4.
2. W right A. Genetic algorithms for real parameter optimization // F oundations of Genetic Algorithms, V. 1, 1991.
3. Пантелеев А.В. Метаэвристические алгоритмы поиска глобального экстремума. - М.: МАИ-ПРИНТ, 2009.
4. Пантелеев А.В., Метлицкая Д.В. Применение генетических алгоритмов с бинарным и вещественным кодированием к задаче поиска условного экстремума функций // Теоретические вопросы вычислительной техники и программного обеспечения: межвуз. сб. науч. тр., МИРЭА, 2010.
5. Пантелеев А.В., Метлицкая Д.В. Комплекс программных средств «Генетические алгоритмы условной оптимизации с бинарным и вещественным кодированием» // Электронный журнал «Труды МАИ». - 2010. - № 37. http://www.mai.ru/science/trudy/published.php?ID=13421.
6. Пантелеев А.В., Бортаковский А.С. Теория управления в примерах и задачах. - М.: Высшая школа, 2003.
THE GENETIC ALGORITHM WITH REAL CODING IN THE OPTIMUM CONTROL PROBLEMS FOR DISCRETE SYSTEMS
Panteleyev A.V., Metlitckaya D.V.
This paper presents the decision of an optimum control problem for the discrete deterministic systems by means of genetic algorithm of a conditional global extremum search with real coding. Was generated the algorithm of the decision of a task in view on which basis the software is created. The examples illustrating efficiency of generated algorithm are submitted.
Key words: genetic algorithm, real coding, optimal control.
Сведения об авторах
Пантелеев Андрей Владимирович, 1955 г.р., окончил МГТУ им. Н.Э. Баумана (1978), доктор физико-математических наук, профессор, заведующий кафедрой математической кибернетики МАИ, автор более 130 научных работ, область научных интересов - методы синтеза оптимальных нелинейных систем управления, методы оптимизации.
Метлицкая Дарья Вадимовна, студентка МАИ, автор 3 научных работ, область научных интересов - методы оптимизации, численные методы, математическая статистика.