Научная статья на тему 'Применение метода искусственных иммунных систем в задачах поиска условного экстремума функций'

Применение метода искусственных иммунных систем в задачах поиска условного экстремума функций Текст научной статьи по специальности «Математика»

CC BY
367
129
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОД ИСКУССТВЕННЫХ ИММУННЫХ СИСТЕМ / УСЛОВНЫЙ ЭКСТРЕМУМ / АЛГОРИТМ

Аннотация научной статьи по математике, автор научной работы — Пантелеев Андрей Владимирович, Метлицкая Дарья Вадимовна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Пантелеев Андрей Владимирович, Метлицкая Дарья Вадимовна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Applying of the method of the synthetic immune systems in a problems of searching comditional extremum of the function

The problem of searching conditional local extremum of the function o many variables by using the method of the synthetic immune systems is considered. The algorithm to solve this problem is formed, the software based on this algorithm is developed. The examples to show the efficiency of the formed algorithm are given.

Текст научной работы на тему «Применение метода искусственных иммунных систем в задачах поиска условного экстремума функций»

УДК 519.6

ПРИМЕНЕНИЕ МЕТОДА ИСКУССТВЕННЫХ ИММУННЫХ СИСТЕМ В ЗАДАЧАХ ПОИСКА УСЛОВНОГО ЭКСТРЕМУМА ФУНКЦИЙ

А.В. ПАНТЕЛЕЕВ, Д.В. МЕТЛИЦКАЯ

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

Ключевые слова: метод искусственных иммунных систем, условный экстремум, алгоритм.

Введение

Метод искусственных иммунных систем (ИИС) относится к метаэвристическим методам поиска и является представителем эволюционных методов. Основные принципы работы метода искусственных иммунных систем изложены в [1-4]. Одной из наиболее популярных областей приложения ИИС является оптимизация многопараметрических функций [5]. Подобно другим методам эволюционных вычислений [6], ИИС не гарантируют обнаружения глобального решения, но успешно работают, когда требуется найти достаточно «хорошее» решение за приемлемое время. В отличие от классических методов оптимизации метод ИИС может применяться в ситуациях, когда практически полностью отсутствует информация о характере и свойствах исследуемой функции.

Метод ИИС использует идеи, заимствованные из иммунологии, имитируя работу иммунной системы живого организма. Суть иммунитета живого организма заключается в том, что он борется с чужеродными телами, попавшими в организм, и совершенствуется, накапливая опыт борьбы с чужеродными телами.

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

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

Метод ИИС применяется к широкому кругу прикладных задач проектирования сложных авиационно-космических систем, в том числе к задачам поиска оптимальных траекторий летательных аппаратов различных типов [7].

1. Постановка задачи

Дана целевая функция f(х) = f(х1,х2,...,xn), определенная на множестве допустимых решений D с Rn.

Требуется найти глобальный условный минимум функции f (х) на множестве D, то есть такую точку х* е D , что

f (х*) = min f (х), (1)

xeD

где х = (х1,х2,...,хп)Т , В = {х | х1 е [ц, Ь], I = 1,2,...,п} .

Функция / (х) может быть многоэкстремальной, поэтому искомое решение в общем случае неединственное. Задача поиска максимума функции сводится к задаче поиска точки х* е В , такой что / (х*) = - шт / (-х) .

хеВ

2. Стратегия поиска решения

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

В методе искусственных иммунных систем рассматриваемая целевая функция / (х) эквивалентна природному понятию приспособленности иммунной клетки к борьбе с антигенами, т.е. способности клетки вырабатывать антитела. Поэтому будем называть целевую функцию /(х) функцией приспособленности. Вектор параметров х = (х1,х2,...,хп)Т целевой функции в ИИС называется иммунной клеткой, которая вырабатывает антитела. Каждый вектор х = (х1,х2,...,хп)Т е В является возможным решением поставленной оптимизационной задачи.

При решении задачи (1) используются конечные наборы I = {х1 = (х/,х2,...,х]п)Т,] = 1,2,к,Ыр} с В возможных решений, называемые популяциями, где

х1 - иммунная клетка с номером 1; Ыр - переменный размер популяции. Применение метода искусственных иммунных систем сводится к исследованию множества В при помощи перехода от одной популяции к другой. Чем больше значение целевой функции / (х1), тем более иммунная клетка х 1 приспособлена, т. е. способна вырабатывать необходимые антитела, и подходит в качестве решения.

Метод ИИС имитирует эволюцию начальной популяции

10 = {х1,1 = 1,2,., 1р | х1 = (х/,х2;,к,хп)Т е В}, где 1р - начальный размер популяции представляет собой итерационный процесс. Во время работы метода на каждой итерации к популяции применяются биологические операторы: клонирование, мутация и селекция, после чего происходит замена клеток с низким уровнем приспособленности новыми. Таким образом, формируется новая популяция. Метод заканчивает работу после того, как сформируется заданное количество популяций, в качестве приближенного решения задачи из последней популяции выбираются иммунные клетки, которым соответствует наибольшее значение функции приспособленности.

Общая схема работы метода ИИС представлена на рис. 1.

Рис. 1. Общая схема работы метода ИИС

3. Алгоритм

Шаг 1. Создание начальной популяции.

1.1 Задать количество иммунных клеток в популяции Ы , число родительских клеток, выбираемых из популяции в ходе селекции ^, число клеток в популяции с наихудшим значением функции приспособленности ё, максимальное количество итераций К, параметр операции клонирования / или Ыс, параметр мутации г .

1.2. Сгенерировать N клеток начальной популяции на множестве В, используя равномерный закон распределения. Положить к = 0 (счетчик итераций).

1.3. Для всех клеток в популяции найти значение их функции приспособленности /(х1),

- 1 Ы ■

1 = 1,...,N и среднюю приспособленность популяции /к = — ^/(х1) .

N

1=1

Результатом шага 1 является сформированная начальная популяция

I = {х1 = (х/, х2;,к, х]п )Т , 1 = 1,2,., N} с В .

Шаг 2. Клонирование.

2.1. Упорядочить клетки в популяции по возрастанию соответствующего им значения функции приспособленности: /(х(1)),...,/(х(Ы)), где /(х(1)) = /шт , /(х(Ы)) = /шах. Выбрать из

упорядоченной популяции ^ родительских клеток с наилучшим соответствующим им значением функции приспособленности ( 5 первых клеток).

2.2. Для каждой родительской клетки используют два варианта клонирования:

1) «пропорциональное» - для каждой клетки с номером 1 в упорядоченной популяции ге-

нерируется N¡■ клонов, где N¡■

, 1 = 1,..., Ыр, / - параметр операции клонирования;

2) «равномерное» - для каждой клетки генерируются Nу клонов, где Nу = Nс, ^ - параметр операции клонирования.

Результатом шага 2 является популяция, состоящая из N первоначальных клеток и клонов

5 родительских клеток, т.е. всего N + £ N1 клеток.

1=1

Шаг 3. Мутация.

Для каждой родительской клетки с номером 1 выполнить процедуру мутации для всех ее N1 клонов. Для этого каждую координату х^1 клона х^1 заменить на уС1:

1) используя равномерный закон распределения на отрезке [0; 1], сгенерировать число и ;

2) если и > 0.5 , то положить уС1 = хС1 + и (0; Ь - х/ ) • г, если и < 0.5, то уС1 = хС1 -и (0; х/ - а ) • г, где 1 = 1,..., N, С = 1,..., Nj, I = 1,..., п, и (а; Ь)- случайная величина, равномерно распределенная на отрезке [а; Ь], г - параметр мутации;

3) если уС1 £ [аг.; Ьi ], то процедуру повторить.

Результатом шага 3 является популяция, состоящая из N первоначальных клеток и клонов-

5

мутантов 5 родительских клеток, т.е. всего N + £ N1 клеток.

1=1

Шаг 4. Селекция, формирование новой популяции.

4.1. Вычислить значение функции приспособленности для каждого клона-мутанта / (у ^1), с = 1,..., N1, 1 = 1,..., ^ .

4.2. Для каждой родительской клетки х1, 1 = 1,..., 5, среди ее клонов-мутантов найти клетку с наименьшим значением функции приспособленности /ш1п(у1). Если /ш1п(у1) < /(х1), то заменить в новой популяции родительскую клетку клоном-мутантом у1, а иначе - оставить родительскую клетку х 1 .

4.3. Положить к = к +1.

Результатом шага 4 является новая популяция из N клеток.

Шаг 5. Сокращение популяции.

Удалить из популяции ё клеток с наихудшим значением функции приспособленности. Результатом шага 5 является сокращенная популяция, состоящая из N - й клеток.

Шаг 6. Проверка условий окончания поиска.

Если к = К , то поиск завершить, перейти к шагу 8.

Если к < К , то поиск продолжить, перейти к шагу 7.

Шаг 7. Добавление новых клеток в популяцию.

7.1. Сгенерировать й клеток начальной популяции на множестве В, используя равномерный закон распределения.

7.2. Вычислить значение функции приспособленности новых клеток и среднюю приспособ-

- 1 N ■ ленность популяции /к = — £ / (х).

N 1=1

7.3. Перейти к шагу 2.

Результатом шага 7 является дополненная популяция, состоящая из N клеток.

Шаг 8. Выбор решения из последней популяции.

Закончить работу алгоритма. В качестве решения (приближенного) задачи f ( x) = min f ( x)

xeD

выбрать клетку с наименьшим значением функции приспособленности из текущей популяции x* @ X* = arg min f (xj )

j=1,..., N

4. Программное обеспечение

На основе изложенного алгоритма сформирован комплекс программных средств. Среда разработки Microsoft Visual Studio 2010, язык программирования C#.

Комплекс позволяет:

1) выбирать тип оптимизируемой функции из заданного списка и область ее определения;

2) задавать параметры метода;

3) получать результаты работы метода сразу или выполнять работу по шагам;

4) получать графические результаты после окончания работы метода или при работе по шагам, после выполнения очередного шага;

5) получать график изменения средней и наилучшей приспособленности популяции при переходе от одной популяции к другой;

6) сравнивать результаты работы метода с точным решением;

7) настраивать параметры изображения результатов;

8) генерировать и сохранять отчет работы.

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

5. Примеры работы алгоритма

Пример 1. Рассмотрим функцию Швефеля f (x, y) = x sin(^/|Tj ) + y sin(yjïÿ\ ) (рис. 2а). Функция имеет глобальный экстремум f ( x*; y) = 837,9658 в точке

(x*;y*) = (421,9687;421,9687). Зададим область определения (x,y)î [-500;500]. Выберем следующие параметры алгоритма: размер популяции Ip = 100; максимальное количество популяций K = 100 ; тип клонирования - «равномерное»; количество клонируемых клеток s = 100 ; параметр клонирования Ь = 10 ; параметр мутации r = 0,01; количество удаляемых клеток с наихудшей приспособленностью d = 0 .

а б

Рис. 2. Изображение: а - функции Швефеля; б - функции Аклея

На рис. 3 представлена начальная (к = 0), промежуточные (к = 40,к = 50) и конечная (к = 100) популяции клеток.

Результаты работы метода ИИС: клетка с наилучшей приспособленностью

(х*;У) = (421,0005;421,0105); наилучшая приспособленность /(х*;У) = 837,9654; отклонение от точного решения А = 0,0003 .

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

к = 50 к = 100

Рис. 3. Начальная, промежуточные и конечная популяции в примере 1 (5 = 100, ё = 0)

Изменим параметры алгоритма. Пусть теперь количество удаляемых клеток с наихудшей приспособленностью ё = 50 и количество клонируемых клеток ^ = 50 . На рис. 4 представлена начальная (к = 0), промежуточные (к = 10, к = 60) и конечная (к = 100) популяции клеток. Результаты работы метода ИИС: клетка с наилучшей приспособленностью

(х*;У) = (420,9497;420,9956); наилучшая приспособленность /(х*;У) = 837,9656; отклонение от точного решения А = 0, 0002 .

к = 60

к = 100

Рис. 4. Начальная, промежуточные и конечная популяции в примере 1 (5 = 50, ё = 50)

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

Пример 2. Рассмотрим функцию Аклея, имеющую более острый пик в глобальном экстре-

муме (рис. 2б): / (х, у) = -20 - е + 20е

и

^( х2+ у2)

+ е

1■(cos(2^x)+cos(2^y))

. Функция имеет глобальный экс-

тремум /(х*;у*) = 0 в точке (х*;у*) = (0;0). Зададим область определения (х,у)е[-10;10]. Выберем следующие параметры алгоритма: размер популяции 1р = 50; максимальное количество популяций К = 500; тип клонирования - «равномерное»; количество клонируемых клеток в первом случае 51 = 50, а во втором s2 = 30; параметр клонирования ¡ = 10; параметр мутации г = 0,01; количество удаляемых клеток с наихудшей приспособленностью в первом случае = 0, а во втором ё2 = 20.

Результаты работы метода ИИС в первом случае представлены на рис. 5. Отклонение от точного решения А = 5,382 . Результаты работы метода ИИС во втором случае представлены на рис. 6. Отклонение от точного решения А = 0,0005 .

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

Рис. 5. Конечная популяция в примере 2 ( 51 = 50, й1 = 0 )

Рис. 6. Конечная популяция в примере 2 ( s2 = 30, ё2 = 20)

Заключение

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

ЛИТЕРАТУРА

1. Ishida Y., Hirayama H., Fujita H., Ishiguro A., Mori K., Immunity-Based Systems-Intelligent Systems by Artificial Immune Systems, Corona Pub., Co. Japan, 1998.

2. Дасгупт Д. Искусственные иммунные системы и их применение. - М.: ФИЗМАТЛИТ, 2006.

3. de Castro L. N., Von Zuben F. J., Learning and Optimization Using the Clonal Selection Principle, IEEE Transactions on Evolutionary Computation, Special Issue on Artificial Immune Systems, vol. 6, n. 3, pp. 239-251, 2002.

4. de Castro L., Timmis J., An Artificial Immune Network for Multimodal Function Optimization, Proceedings of IEEE Congress on Evolutionary Computation, vol. 1, pp. 669-674, 2002.

5. Пантелеев А. В., Летова Т.А. Методы оптимизации в примерах и задачах. - М.: Высшая школа, 2008.

6. Пантелеев А.В. Метаэвристические алгоритмы поиска глобального экстремума. - М.: Изд-во МАИ-ПРИНТ,

2009.

7. Остославский И.В., Стражева И.В. Динамика полета. Траектории летательных аппаратов. - М: Машиностроение, 1969.

APPLYING OF THE METHOD OF THE SYNTHETIC IMMUNE SYSTEMS IN A PROBLEMS OF SEARCHING COMDITIONAL EXTREMUM OF THE FUNCTION

Panteleev A.V., Metlitskaya D.V.

The problem of searching conditional local extremum of the function o many variables by using the method of the synthetic immune systems is considered. The algorithm to solve this problem is formed, the software based on this algorithm is developed. The examples to show the efficiency of the formed algorithm are given.

Key words: a method of the synthetic immune systems, condition local extremum of the function, algorithm.

Сведения об авторах

Пантелеев Андрей Владимирович, 1955 г.р., окончил МВТУ им. Н.Э. Баумана (1978), доктор физико-математических наук, профессор, заведующий кафедрой математической кибернетики МАИ, автор более 150 научных работ, область научных интересов - методы синтеза оптимальных нелинейных систем управления, методы оптимизации.

Метлицкая Дарья Вадимовна, окончила МАИ (2011), аспирантка МАИ, автор 11 научных работ, область научных интересов - методы оптимизации, численные методы, математическая статистика.

i Надоели баннеры? Вы всегда можете отключить рекламу.