УДК 519.6
ПРИМЕНЕНИЕ НЕПРЕРЫВНОЙ МОДИФИКАЦИИ МЕТОДА МУРАВЬИНЫХ КОЛОНИЙ К ЗАДАЧЕ ПОИСКА ОПТИМАЛЬНОГО УПРАВЛЕНИЯ ДИСКРЕТНЫМИ ДЕТЕРМИНИРОВАННЫМИ СИСТЕМАМИ1
А.В. ПАНТЕЛЕЕВ, Е.А. АЛЁШИНА
Рассмотрен вопрос применения метода муравьиных колоний к задачам оптимизации нелинейных дискретных детерминированных систем. Для решения задач указанного типа разработано алгоритмическое и программное обеспечение, работоспособность и эффективность которого продемонстрирована на тестовых примерах, представляющих собой системы управления сложной структуры.
Ключевые слова: оптимизация нелинейных дискретных детерминированных систем.
Введение
Непрерывная модификация метода муравьиных колоний является развитием концепции метода муравьиных колоний (Ant Colony Optimization, ACO), предложенной M. Dorigo [1]. Метод моделирует действия колонии муравьёв при поиске оптимального маршрута в изменяющейся среде обитания, таким образом он является методом «роевого интеллекта». Использование таких методов становится актуальным для решения прикладных задач оптимального управления, в частности задач проектирования сложных авиационно-космических комплексов.
Авторами статьи разработано программное обеспечение для решения задач оптимизации нелинейных дискретных детерминированных систем с помощью непрерывной модификации метода муравьиных колоний.
1. Постановка задачи
Поведение модели объекта управления описывается разностным уравнением
x(t+1) = f (t, x(t), u(t)), (1)
где t - дискретное время, t e T = [0,1,..., N -1]; x - вектор состояния системы, x e Rn ; u - вектор управления, u e U(t) с Rq; U(t) - множество допустимых значений управления, для каждого значения t представляющее собой прямое произведение отрезков [a¡(t), b¡(t)], i = 1, 2,..., q; число шагов дискретного времени N задано; f(t, x, u) = ( f1(t, x, u),..., fn(t, x, u))T - непрерывная вектор-функция.
Начальное состояние задано
x(0) = x,. (2)
Правый конец траектории x(N ) свободен. Предполагается, что при управлении используется информация только о дискретном времени t, т.е. применяется программное управление. Таким образом, рассматриваемая система управления является разомкнутой по состоянию.
Множество допустимых процессов D(0, x0) - это множество пар d = (x( ), u( )) , включающих траекторию x() = {x,, x(1),..., x( N) } и допустимое управление u() = {u(0), u(1),..., u( N -1)}, где u(t) e U(t), удовлетворяющих уравнению состояния (1) и начальному условию (2).
На множестве допустимых процессов D(0, x0) определен функционал качества управления
1 Работа выполнена при финансовой поддержке РФФИ (проект № 12-08-00892-а)
N-1
CÜ
I(d) = 2 (t, x(i), u(t)) + F(x(N)), (3)
t=0
где f0 (t, x(t), u(t)), F(x) - заданные непрерывные функции. Требуется найти такую пару d* = (x*(•), u *(•)) е D(Ü, xÜ), что
I(d*) = min I(d). (4)
deD (Ü,xÜ) V V
Искомые элементы пары d*: траектория x*(•) = {xÜ,x*(1),...,x*(N)} и управление u *(•) = {u *(0), u *(1),..., u *( N -1)} называются соответственно оптимальной траекторией и оптимальным управлением.
2. Стратегия поиска решения
При использовании метода муравьиных колоний для решения задачи (1)-(4) будем оптимизировать управление u(). Позиция муравья под номером j на k -й итерации будет представлять собой вектор-строку uj,k = (uj,k (0), uj,k (1),..., uj,k ( N -1)). На каждой итерации будет формироваться новая позиция муравья uj,k+1 = (uj,k+1(Ü), ujk+1(1),..., uJ,k+l( N -1)), которую необходимо будет оценить с помощью критерия (3) - целевой функции метода муравьиных колоний. Для получения значения целевой функции потребуется: а) найти вектор x';k+1 =( xÜ, x';k+1(1),..., xi,k+l(N))
последовательных состояний системы, соответствующий управлению uj,k+1, из уравнения со-
стояния (1) с учетом условия (2); б) вычислить значение критерия (3), соответствующее и]'к+1 и х],к+1 по формуле
N-1
I(^'к+1) = 2 ^ (', х-^+ЧО, имк+\0) + ^(х]М\Ы)), (5)
Ь=0
где ё]М1 =( ху'к+1(-), и],к+1(-)) - процесс из множества допустимых процессов 0(0, х0);
х7'к+1(Ь), Ь = О,..., N определяется уравнением состояния (1) и начальным условием (2)
..+, Г /(Ь-1,х)МХ(Ь-1), и}'к+1(Ь-1)), Ь = 1,..., Ы, х1 (Ь) = I I ' V * V ' ' ' (6)
[хо, Ь = 0.
Рассмотрим процесс поиска решений подробнее. На каждой итерации на множестве О поиск решения производят т муравьев. Роль памяти муравьиной колонии играет архив решений - таблица, содержащая г лучших найденных решений. Величина г называется размером архива решений.
На каждой к -й итерации муравей с номером . по данным из архива решений (начальные значения координат генерируются с помощью равномерного распределения) должен получить
новое решение и = (и/,..., иП) . При этом реализуется вероятностный выбор на основе известной плотности вероятности, представляющей собой гауссовское ядро. Для 1-й координаты произвольной точки плотность вероятности имеет вид
( / ,\2 Л
G (щ) = w1g1 (щ) = ]Г w i 1 exp
1=1 1=1 SW 2p
■(u-m! )2
2 (а )2 ,
где а1 < и1 < Ь1, 1 = 1,...,п; , 1 = 1,...,г - весовой коэффициент; д1 (ц) - гауссовская плотность вероятности, определяемая математическим ожиданием и среднеквадратическим отклонением а1. В результате моделирования для каждого муравья получаем новое решение, каждая
(7)
компонента которого порождается соответствующей плотностью С(ц), 1 = 1,...,п, изменяющейся при переходе от одного поколения к другому.
Данные о текущем поколении муравьев заносятся в архив решений, точки в котором затем упорядочиваются по возрастанию соответствующих значений целевой функции. Далее проводится селекция, в результате которой размер архива решений остается неизменным. Решения из архива используются для нахождения векторов ю, т1, &1, которые применяются для формирования плотностей д] (ц), 1 = 1,..., п, определяющих движение муравьев в процессе поиска решения. Обновление данных в архиве соответствует процессам изменения уровня феромонов на путях следования муравьев в дискретном случае [1].
Для выбранной муравьем с номером 1 плотности вероятности д^ (ц) вектор математического ожидания т1 принимается равным координатам точки с номером 1 *
т*=и{, 1=1,..., п, (8)
а среднеквадратическое отклонение вычисляется следующим образом
I 1 1*\ г \и. - и
=х-^, 1=1,..., п, (9)
1=1 г -1
где X > 0 - параметр алгоритма. С ростом X замедляется сходимость [2], так как при этом в процессе поиска новые решения меньше тяготеют к решениям, найденным ранее. Эффект параметра X аналогичен процессу испарения феромонов в дискретном случае [1; 4] и проявляется следующим образом: плохие решения забываются, а поиск перемещается к новым точкам множества О, отличным от хранящихся в архиве.
Каждой плотности вероятности д1( ц), 1 = 1,...,г ставится в соответствие весовой коэффициент
( И 1\2 Л
, (10)
1
гехр
-(1 -1)2
2 Ч2 г2 ,
1 — цг\12 р
причем ю1 > ю2 > ... > юг, т.е. чем меньше номер решения в архиве, тем больше вероятность, что оно будет выбрано.
На практике генерирование новой координаты ц. происходит в два этапа. Сначала с помощью метода рулетки на основе ю1 выбирается плотность вероятности д^ (ц.). На втором этапе генерируется значение % в соответствии с выбранной гауссовской плотностью д * (ц.), определяемой параметрами т1*, . Здесь 1 * - номер плотности вероятности, выбранной муравьем с номером 1.
В результате получается множество решений {и1,...,иг,и1,...,йт} . Среди них выбираются г
наилучших по величине функции, а остальные отбрасываются (объем архива сохраняется). Оставшиеся в архиве решения оказывают дальнейшее влияние на процесс поиска.
3. Алгоритм
Шаг 1. Расчет весов и вероятностей выбора решений.
Шаг 1.1. Задать число муравьев т, размер архива г, максимальное число поколений К,
параметры ц и X, используемые при вычислении скорости частицы. Положить номер поколе-
ния к = 0 (для сокращения записи далее в индексах не указывается).
Шаг 1.2. Сгенерировать г точек {и1,...,иг} на множестве О, используя равномерное рас-
пределение. В каждой точке подсчитать значение целевой функции и упорядочить точки по величине целевой функции. Занести результат в архив решений.
Шаг 2. Расчет весов и вероятностей выбора решений.
Шаг 2.1. Для каждого решения и1, 1 = 1,..., г подсчитать вес ю1 в соответствии с (10). Шаг 2.2. Вычислить вероятность р1 выбора 1 -й гауссовской плотности вероятности
Ю1 7 1
5=1
Шаг 3. Выбор плотности вероятности. Шаг 3.1. Положить * = 1.
Шаг 3.2. Методом рулетки выбрать плотность вероятности д** (ц).
Шаг 4. Генерация вектора V. Шаг 4.1. Положить 1 = 1.
Шаг 4.2. Вычислить математическое ожидание и среднеквадратическое отклонение о{* в соответствии с (8) и (9).
Шаг 4.3. Генерировать случайную величину % на отрезке [а1, Ц] согласно плотности вероятности
( щ exp
ft -\2 Л
-(щ-mj )
(11)
2 (si* )2
Шаг 4.4. Если i = n, сформировать новое решение üj = (ü/,..., üj) и перейти к Шагу 5.
Если i < n, положить i = i +1 и перейти к Шагу 4.2.
Шаг 5. Если j = m, процесс поиска решения поколением муравьев завершить и перейти к Шагу 6. Если j < m, положить j = j+1 и перейти к Шагу 3.2. Шаг 6. Сформировать новое поколение.
Шаг 6.1. Вычислить значения функции для новых точек f ( ö1 ),..., f (üm).
Шаг 6.2. Среди точек u1,..., ü,u\...,um
а) выбрать r наилучших;
б) упорядочить их по величине функции;
в) занести в архив решений.
Шаг 7. Проверка условий окончаний процесса поиска:
- если к < K, положить к = к +1 и перейти к Шагу 2;
- если к = K, процесс закончить. В качестве решения задачи выбрать точку X, которой, исходя из алгоритма, соответствует наименьшее значение целевой функции.
4. Программное обеспечение
На основе разработанного алгоритма сформировано программное обеспечение на языке C# в среде Microsoft Visual Studio 2005, включающее графический пользовательский интерфейс, аналогичный интерфейсу программы для поиска оптимального управления дискретной детерминированной системой, рассмотренной в [6]. С помощью программного обеспечения пользователь может выполнять следующие действия:
- вводить параметры постановки задачи;
- задавать параметры метода;
- просматривать результат решения задачи в виде графиков;
- анализировать полученный результат;
- сохранять результат в памяти компьютера для последующего анализа.
5. Решение тестовых примеров
Пример 1. Рассмотрим задачу оптимального управления, описанную в [5]. Система описывается конечно-разностными уравнениями:
МО
+1) = Л2(г+1) хз(1+1) =
1 + 0,01 и^)(3 + и2(0) ' = Л2(р + ц(рх^ +1). 1 + ц(0(1 + ^(0) '
_ *з(0 .
1 + 0,01 и2(0(1 + и3(0) ' ? = 0,1,..., N -1.
+
Начальные условия х(0) = [2 5 7]Т .
Ограничения на управление 0 < и1(?) < 4 ; 0 < и2 (?) < 4; 0 < и3(?) < 0,5. Критерий оценки качества управления
I = х2^) + ) + ) +
' N \( N
2-1) + -1) + 2и^-1) II 2*?('-1) + 2ц2а-1) + 2и1(1 -1)
ч(=1 У V t=l ,
Необходимо минимизировать критерий. В [5] рассмотрены случаи N = 20, N = 50 и N = 100.
Ниже приведены результаты решения задачи с помощью разработанного программного обеспечения для N = 20 . При решении тестового примера использовались следующие значения параметров алгоритма: К = 100; т = 30; г = 500; Х = 0,85; д = 0,01.
Рис. 1. Оптимальное управление, найденное с использованием метода муравьиных колоний
Рис. 2. Оптимальная траектория, соответствующая найденному управлению
Значение критерия, соответствующее найденному оптимальному управлению, равно 208,974533, оно меньше значения, найденного с помощью метода итеративного динамического программирования, приведенного в [5].
Разработанное программное обеспечение позволяет провести серию опытов и рассчитать статистические характеристики получаемой выборки значений. При проведении опытов запускалась серия из 100 решений (для N = 20 ) или 30 решений (для N = 50 и N = 100) одной и той же задачи с одними и теми же значениями параметров. Для полученной выборки {/, I2,..., I100}
V 5100 ,
1
вычислялись выборочное среднее I =-V I' и среднеквадратическое отклонение &1
100 1=1
1 100 2 я»=9тV (I' -1).
99 . .
При проведении серий опытов использовались следующие значения параметров алгоритма: для N = 20: К = 100, т = 30, г = 50, £ = 0,85, ц = 0,01; для N = 50: К = 100, т = 30, г = 100, Х = 0,5, ц = 0,1; для N = 100: К = 100, т = 30, г = 300, £ = 0,8, ц = 0,01.
В табл. 1 сведены результаты серий опытов при разных значениях времени функционирования системы N, а также для сравнения приведены результаты из [5], полученные с использованием метода итеративного динамического программирования.
Таблица1
N I ^наим SI Значение из [5]
20 208,98633 208.91668 0,06615 209,26937
50 240,43818 240,43382 0,00266 240,917
100 262,36345 261,49076 0,40961 258,33922
Алгоритм муравьиных колоний при N = 20 и N = 50 в среднем находит значения критерия, меньшие, чем приведенные в [5]. При N = 100 полученные результаты хуже, чем результаты, найденные с помощью метода итеративного динамического программирования. Возможно, при более тщательном подборе параметров при N = 100 можно получить лучшие результаты.
Пример 2. Рассмотрим еще одну задачу оптимального управления из [5]. Система описывается конечно-разностными уравнениями:
x(1) = x(0)u(0); x(2) = [1 + u(1)] x(1); x(3) = x(2) + u(2) .
Начальное условие x(0) = 15, ограничение на управление -1 < u(t) < 1, t = 0,1,2.
Критерий оценки качества управления
I =
"х2 (0) + х2 (1) + (2 х2 (2) + х2 (3)) ехр (х2 (1))] [50 + и2 (0) + (и2 (1) + и2 (2)) ехр (и2 (0) )" Необходимо минимизировать критерий.
При решении задачи использовались следующие значения параметров алгоритма: К = 100; т = 30; г = 50 ; X = 0,85; ц = 0,01. В табл. 2 содержатся результаты, полученные с помощью метода итеративного динамического программирования, приведенные в [5], а также результаты, полученные авторами с применением разработанного программного обеспечения. По табл. 2 видим, что по значению критерия оценки качества управления результаты полностью совпадают.
Таблица 2
u(t -1) x(t) I
t = 1 t = 2 t = 3 t = 1 t = 2 t = 3
[5] -0,427163 -0,098968 -0,082382 0,314498 0,283373 0,200991 1596,4796778
Авторы -0,427163 -0,098967 -0,082383 0,314497 0,283373 0,200990 1596,4796778
Заключение
Использование модификации метода муравьиных колоний для непрерывных пространств поиска решений при решении задач оптимального управления дискретными детерминированными системами сложной структуры является эффективным по сравнению с другими методами оптимизации, что позволяет в дальнейшем применять его для решения прикладных задач оптимального управления.
ЛИТЕРАТУРА
1. Dorigo M., Stutzle T. Ant colony optimization. - MIT Press, 2004.
2. Dorigo M., Socha K. Ant colony optimization for continuous domains // European Journal of Operational Research 185 (2008), pp. 1155-1173.
3. Алёшина Е.А. Применение метода муравьиных колоний к задаче поиска условного глобального минимума функции многих переменных // Теоретические вопросы вычислительной техники и программного обеспечения: межвуз. сб. науч. тр. - М.: МИРЭА, 2011. - С. 63-68.
4. Пантелеев А.В., Алёшина Е.А. Разработка алгоритмического и программного обеспечения метода муравьиных колоний // Научный Вестник МГТУ ГА, серия Прикладная математика. Информатика. - 2008. - С. 38-48.
5. Luus R. Iterative Dynamic Programming. - Monographs and Surveys in Pure and Applied Mathematics, London, UK: Chapman & Hall/CRC, 2000.
6. Пантелеев А.В., Алёшина Е.А. Метод частиц в стае в кн.: Метаэвристические алгоритмы поиска глобального экстремума. - М.: Изд-во МАИ-ПРИНТ, 2009. - Гл. 4. - С. 85-106.
ANT COLONY CONTINUOUS OPTIMIZATION APPLIED TO OPTIMAL CONTROL OF DISCRETE DETERMINISTIC SYSTEM
Panteleyev A.V., Alyoshina E.A.
We consider the application of Ant Colony Method to the optimal control of discrete deterministic system. The special software for solving such problems is developed. The efficiency of this software is demonstrated on some test examples of control systems with a sophisticated structure.
Key words: optimization, nonlinear discrete determined systems.
Сведения об авторах
Пантелеев Андрей Владимирович, 1955 г.р., окончил МГТУ им. Н.Э. Баумана (1978), доктор физико-математических наук, профессор, заведующий кафедрой математической кибернетики МАИ (национального исследовательского университета), автор более 160 научных работ, область научных интересов - методы синтеза оптимальных нелинейных систем управления, методы оптимизации.
Алёшина Екатерина Александровна, окончила МАИ (2011), аспирантка МАИ, автор 2 научных работ, область научных интересов - методы оптимизации, численные методы.