Разработка гибридного алгоритма решения оптимизационной задачи с нелинейной целевой функцией

Сравнительный анализ алгоритма искусственной пчелиной колонии и гибридного алгоритма искусственной пчелиной колонии с гравитационным алгоритмом. Анализ производительности работы алгоритмов на основе функций Розенброка, Гривонка, Растригина, Швефеля.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 30.04.2018
Размер файла 701,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru//

Размещено на http://www.allbest.ru//

Донской государственный технический университет

Разработка гибридного алгоритма решения оптимизационной задачи с нелинейной целевой функцией

Евич Л.Н.

кандидат физико-математических наук, доцент

Аннотация

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

Ключевые слова: алгоритмы оптимизации, гибридные алгоритмы, алгоритм искусственной пчелиной колонии, гравитационный алгоритм.

функция алгоритм пчелиный колония гибридный

Evich L.N.

PhD in Physics and Mathematics, Associate professor,

Krasnodar Higher Military School named after S.M. Shtemenko, Russia, Krasnodar;

The work was supported by the grant of RFNNNN and FI No. 16-01-00391 “Development of combined algorithms for the solution of distribution and transport problems with the use of the idea of artificial immune systems and bioinspired algorithms”

DEVELOPMENT OF HYBRID ALGORITHM FOR SOLUTION OF OPTIMIZATION PROBLEM WITH NONLINEAR TARGET FUNCTION

Abstract

The paper considers population algorithms of a global optimization problem with a nonlinear objective function. A comparative analysis of the algorithm of an artificial bee colony and the hybrid algorithm of an artificial bee colony with a gravitational algorithm is presented. The authors analyzed the performance of the algorithms based on the spherical function, Rosenbrock, Grivonck, Rastrigin, and Schwefel functions. The efficiency of the considered hybrid algorithm is confirmed in comparison with the algorithm of the artificial bee colony.

Keywords: optimization algorithms, hybrid algorithms, artificial bee colony algorithm, gravitational algorithm.

Введение

Одним из направлений развития решения задач поисковой оптимизации с нелинейной целевой функцией является гибридизация различных поисковых алгоритмов. На сегодняшний день известно большое количество различных гибридных алгоритмов с различными реализациями стратегий гибридизации. В работах Рендерса (J.Renders) предложены гибридные методы с использованием генетических алгоритмов глобальной оптимизации [1], [2]. Свое дальнейшее развитие гибридные алгоритмы получили при изучении сочетания разнообразных моделей с различными методами в работах [3], [4], [5], [6].

Целью гибридизации алгоритмов является использование сильных сторон каждого из участвующих в нем алгоритмов. В настоящей работе рассматривается интегративная стратегия последовательной гибридизации типа процессор/постпроцессор. В качестве препроцессора выступает алгоритм искусственной пчелиной колонии (Artificial bee colony, ABC), обеспечивающий широту (диверсификацию) поиска. Алгоритм гравитационного поиска (Gravitational Search Algorithm, GSA) по сравнению со многими генетическими алгоритмами имеет большую скорость сходимости (интенсификацию поиска). В то же время, при оптимизации мультимодальных функций метод быстро сходится к локальному оптимуму. В связи с этим гибридизация алгоритма пчелиной колонии с гравитационным алгоритмом позволит, с одной стороны за счет широты поиска на первых итерациях определить зоны локальных минимумов, и на втором этапе осуществить быстрый поиск глобального оптимума. Переход от пчелиного к гравитационному алгоритму осуществляется после выполнения t итераций алгоритма роя пчел. Гравитационный алгоритм позволяет оптимизировать локальные экстремумы, найденные в результате выполнения алгоритма роя пчел. На основе анализа проводится сравнительная характеристика ABC алгоритма с гибридным алгоритмом (ABCGSA).Одним из направлений развития решения задач поисковой оптимизации с нелинейной целевой функцией является гибридизация различных поисковых алгоритмов. На сегодняшний день известно большое количество различных гибридных алгоритмов с различными реализациями стратегий гибридизации. В работах Рендерса (J.Renders) предложены гибридные методы с использованием генетических алгоритмов глобальной оптимизации [1], [2]. Свое дальнейшее развитие гибридные алгоритмы получили при изучении сочетания разнообразных моделей с различными методами в работах [3], [4], [5], [6].

Постановка задачи и её решение на основе гибритных алгоритмов

Рассмотрим детерминированную задачу оптимизации

где вектор варьируемых параметров размерности |X|; -- |X|-мерное арифметическое пространство; -- целевая функция; -- искомое оптимальное решение; -- искомое экстремальное значение целевой функции.

Основные понятия пчелиного алгоритма. Самые ранние упоминания о пчелином алгоритме датируются 2005 г. в работах Карабога (D. Karaboga) [7] и Фама (D. Pham) [8]. Позже алгоритм неоднократно модифицировался и применялся для решения различных задач оптимизации и синтеза [9], [10], [11], [12, C. 179], [13]. В основе алгоритма лежат принципы поведении роя пчел в поисках местности с наибольшим количеством источников нектара. Некоторое количество пчел-разведчиков начинают поиск со случайных направлений и с некоторыми случайными векторами скоростей. Каждая пчела-разведчик запоминает места с наибольшей концентрацией источников нектара и по возвращении в улей сообщает о них другим пчелам колонии. На найденные участки отправляются рабочие пчелы. Количество рабочих пчел, вылетающих в каждом направлении, может зависеть от перспективности участка. Пчелы, облетая разные участки, сравнивают новые места с местами найденными ими ранее. При этом скорость полета пчел увеличивается в направлении участков с наибольшим количеством источников нектара. В итоге, весь рой сосредотачивается на участке с наибольшим количеством источников нектара. Отбор перспективных (с максимальным и близкими к ним значениями источников нектара) участков осуществляется на основе фитнесс-функции, которая учитывает свойства каждой пчелы.

Основные понятия гравитационного алгоритма. Гравитационный алгоритм был впервые предложен Рашеди (E.Rashedi) в 2009 г. [14]. На сегодняшний день гравитационный алгоритм исследован в меньшей мере. Как правило, в работах различных авторов используется только его основная концепция [15], [16], [17]. Данный алгоритм базируется на законах гравитации и взаимодействия масс. Закон гравитации используется в некоторой модификации. В частности, полагается, что сила F гравитационного притяжения между двумя частицами массами и прямо пропорциональна произведению их масс и обратно пропорциональна расстоянию R между ними: .

В алгоритме с ростом числа итераций гравитационную постоянную G(t) уменьшают согласно закону: , где -- значение гравитационной постоянной в начальный момент времени, в-- свободный параметр алгоритма (в?(0,1)) , используется для контроля точности.

Ускорение a, приобретаемое частицей, прямо пропорционально силе гравитационного притяжения, и обратно пропорционально массе частицы:

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

Схема алгоритма состоит из следующих шагов:

1.1. Задаем начальные значения свободным параметрам пчелиного алгоритма. Обозначим через N-- количество особей в колонии, m -- количество пчел-разведчиков, s -- количество рабочих пчел (m+s=N).

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

1.3. Вычисляем в этих точках значение фитнес-функции

Сортируем полученные значения по убыванию.

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

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

1.4. В случайные точки каждого из элитных участков и перспективных участков посылаем соответственно по рабочих пчел. При этом . В новые случайные участки отправляем m пчел-разведчиков.

Скорость перемещения каждой пчелы в соответствующем направлении вычисляем согласно уравнению ,

где ; -- текущая координата пчелы, p -- случайное число в диапазоне [-1,1] для управления перехода в соседние решения, расположенные около . Вычисляем в этих точках значения фитнес-функции.

1.4. Если выполнено t1 итераций, переходим к шагу 2, в противном случае, переходим к шагу 1.3.

Задаем начальные параметры гравитационного алгоритма: максимальное количество итераций t2=t1; количество частиц N -- соответствует количеству пчел колонии. Определяем значения коэффициентов, необходимых для вычисления сил гравитационного взаимодействия: .

2.1. Генерируем систему частиц гравитационного алгоритма. В качестве начальной популяции частиц гравитационного алгоритма, выбираем N векторов, соответствующих точкам, отобранным после выполнения t1 итераций алгоритма ABC.

-- позиция частицы.

2.2. Значение гравитационной постоянной уменьшаем с ростом числа итераций по формуле:

где в -- свободный параметр алгоритма, t -- текущая итерация, T -- максимальное число итераций.

Для простоты полагаем, что пассивная , активная и инерциальная массы совпадают: .

2.3. Определяем значения скоростей и ускорений частиц:

где *-- операция покомпонентного умножения векторов, -- случайная величина, равномерно распределенная на промежутке (0, 1).

2.4. Осуществляем пересчет частиц по формуле

2.5. Пересчитываем значения масс: ,

где .

2.6. Повторяем итерации 2.1-2.5, пока не выполнится критерий останова.

Результаты экспериментальных исследований.

Вычислительные эксперименты проводились на основе пяти тестовых функций:

F1. Сферическая функция (Sphere function): .

Функция имеет один глобальный минимум, равный 0, при . Границы поиска (-100;100) D.

F2. Функция Розенброка (Rosenbrock function):

.

Функция имеет глобальный минимум, равный 0, при . Границы поиска (-100;100)D.

F3. Функция Растригина (Rastrigin function):

.

Функция имеет глобальный минимум, равный 0, при . Границы поиска (-5,12;5,12) D.

F4. Функция Гривонка (Griewank function):

.

Функция имеет глобальный минимум, равный 0, при . Границы поиска (-600;600) D.

F5. Функция Швефеля (Schwefel function):

.

Функция имеет глобальный минимум, равный 0, при . Границы поиска (-500;500) D.

Эффективность гибридного алгоритма ABCGSA рассматривалась на основе сравнения с алгоритмом ABC. При тестировании алгоритмов использовались одни и те же параметры. Для ABC: количество особей в колонии N =100, пчел-разведчиков m = N/2, limit =100. Максимальное количество циклов для ABC алгоритма t=2000. Для GSA: значение гравитационной постоянной G(0) =100, в=20. Максимальное количество циклов для ABCGSA алгоритма t=2000. Переход от АВС к GSA осуществлялся после t/2 итераций. Тестирование проводилось для размерностей D =50, 100.

В каждом случае значения усреднялись по результатам 30 прогонов. В таблице 1 представлены результаты работы алгоритмов для пяти тестовых функций. Здесь «SrMin» -- среднее минимальное значение функции, «StdDev» -- стандартное отклонение функции.

Таблица 1 - Результаты вычислительных экспериментов для тестовых функций

Функция

Алгоритм

Размерность, D

50

100

SrMin

StdDev

SrMin

StdDev

F1

ABC

3,065E-14

8.513E-13

1,065E-10

1.533E-08

ABCGSA

8,244E-16

4,336E-17

3,514E-13

1,732E-12

F2

ABC

4,372E+01

2.653E+01

4,384E+01

3.212E+01

ABCGSA

8,163E-01

6,125E-01

1,018E+00

1,704E+00

F3

ABC

1,603E-04

2.643E-05

5,986E-00

9.261E+00

ABCGSA

0,0E+00

0,0E+00

2,557E-10

6,710E-08

F4

ABC

3,408E-11

5.584E-06

1,509E-07

4.326E-04

ABCGSA

7,216E-16

5,344E-16

2,114E-14

1,562E-14

F5

ABC

7,269E-01

5.573E-01

1,734E+02

1.943E+02

ABCGSA

4,364E-08

5,374E-05

2,784E-02

8,322E-01

Выводы

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

Список литературы

Renders J. M. Hybridizing genetic algorithms with hill-climbing methods for global optimization: two possible ways / Renders J. M., Bersini H. // Evolutionary Computation, 1994. IEEE World Congress on Computational Intelligence, Proceedings of the First IEEE Conference on. 1, -1994. - P. 312-317.

Renders J. M. Hybrid methods using genetic algorithms for global optimization / Renders J. M., Flasse S. P. // IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics). - 1996. - V. 26. - №. 2. - P. 243-258.

Chiou J. P. Hybrid method of evolutionary algorithms for static and dynamic optimization problems with application to a fed-batch fermentation process / Chiou J. P., Wang F. S. //Computers & Chemical Engineering. - 1999. - V. 23. - №. 9. - P. 1277-1291.

Juang C. F. A hybrid of genetic algorithm and particle swarm optimization for recurrent network design / Juang C. F. // IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics). - 2004. - V. 34. - №. 2. - P. 997-1006.

Xia W. An effective hybrid optimization approach for multi-objective flexible job-shop scheduling problems / Xia W., Wu Z. //Computers & Industrial Engineering. - 2005. - V. 48. - №. 2. - P. 409-425.

Argбez M. A Hybrid Algorithm for Global Optimization Problems / Argбez M., Velбzque L., Quinte C. //Reliable Computing. - 2011. - V. 15. - №. 3. - P. 230-241.

Karaboga D. An idea based on honey bee swarm for numerical optimization / Karaboga D. // Technical Report-TR06, Erciyes University, engineering faculty, computer engineering department. - 2005. - V. 200. - P. 1-10.

Pham D. T. The bees algorithm. Technical note / Pham D. T., Ghanbarzadeh A., Koc E. et al // Manufacturing Engineering Centre, Cardiff University, UK. - 2005. - P. 1-57.

Pham D. T. The bees algorithm: modelling foraging behaviour to solve continuous optimization problems / Pham D. T., Castellani M. // Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science. - 2009. - V. 223. - №. 12. - P. 2919-2938.

Pham D. T. et al. Application of the bees algorithm to the training of radial basis function networks for control chart pattern recognition / Pham D. T., Ghanbarzadeh A., Koc E. et al // Proceedings of 5th CIRP international seminar on intelligent computation in manufacturing engineering (CIRP ICME'06), Ischia, Italy. - 2006. - P. 711-716.

Курейчик В. М. Использование роевого интеллекта в решении NP-трудных задач / Курейчик В. М., Кажаров А. А. // Известия Южного федерального университета. Технические науки. - 2011. - Т. 120. - №. 7. - C. 30-36.

Гладков Л. А. Биоинспирированные методы в оптимизации / Гладков Л.А., Курейчик В. В., Курейчик В. М. и др. // М.: Физмалит. - 2009. - 384 с.

Davidoviж T. Bee colony optimization Part I: The algorithm overview / Davidoviж T. // Yugoslav Journal of Operations Research. - 2016. - Т. 25. - №. 1. - P. 33-56.

Rashedi E. GSA: a gravitational search algorithm / Rashedi E., Nezamabadi-Pour H., Saryazdi S. // Information sciences. - 2009. - V. 179. - №. 13. - P. 2232-2248.

Карпенко А. П. Популяционные алгоритмы глобальной поисковой оптимизации. Обзор новых и малоизвестных алгоритмов / Карпенко А. П. // Информационные технологии. - 2012. - №. - P. 1-32.

Mirjalili S. A. Training feedforward neural networks using hybrid particle swarm optimization and gravitational search algorithm / Mirjalili S. A., Hashim S. Z. M., Sardroudi H. M. // Applied Mathematics and Computation. - 2012. - V. 218. - №. 22. - P. 11125-11137.

Смирнова О. С. Описание роевых алгоритмов, инспирированных неживой природой и бактериями, для использования в онтологической модели / Смирнова О. С., Богорадникова А. В., Блинов М. Ю. // International Journal of Open Information Technologies. - 2015. - Т. 3. - №. - C. 28-35.

Размещено на Allbest.ru

...

Подобные документы

  • Описание формальной модели алгоритма на основе рекурсивных функций. Разработка аналитической и программной модели алгоритма для распознающей машины Тьюринга. Разработка аналитической модели алгоритма с использованием нормальных алгоритмов Маркова.

    курсовая работа [1,5 M], добавлен 07.07.2013

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

    дипломная работа [4,5 M], добавлен 02.06.2011

  • Разработка алгоритма и программы для распознавания пола по фотографии с использованием искусственной нейронной сети. Создание алгоритмов: математического, работы с приложением, установки весов, реализации функции активации и обучения нейронной сети.

    курсовая работа [1,0 M], добавлен 05.01.2013

  • Описание принципа работы генетического алгоритма, проверка его работы на функции согласно варианту на основе готовой программы. Основные параметры генетического алгоритма, его структура и содержание. Способы реализации алгоритма и его компонентов.

    лабораторная работа [20,2 K], добавлен 03.12.2014

  • Анализ заданной сложной функции и разработка структурной схемы алгоритма по её вычислению. Программирование отдельных блоков и структур алгоритма решаемой задачи на языке Паскаль. Полная программа в соответствии с алгоритмом. Результаты расчётов на ПК.

    курсовая работа [59,2 K], добавлен 09.04.2012

  • Оптимизация решения задачи с помощью алгоритма отжига. Анализ теории оптимизации как целевой функции. Метод градиентного спуска. Переменные и описание алгоритма отжига. Представление задачи коммивояжера через граф. Сведение задачи к переменным и решение.

    курсовая работа [784,0 K], добавлен 21.05.2015

  • Анализ алгоритмов, оценка параметров алгоритма (эффективности, сложности, правильности). Комплексный анализ эффективности алгоритма на основе комплексной оценки ресурсов формальной системы. Верификация при коллективной разработке программных систем.

    презентация [234,9 K], добавлен 22.10.2013

  • Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.

    курсовая работа [314,2 K], добавлен 27.01.2015

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

    курсовая работа [241,8 K], добавлен 30.01.2016

  • Проблема улучшения качества отпечатков пальца с целью повышения эффективности работы алгоритмов биометрической аутентификации. Обзор алгоритмов обработки изображений отпечатков пальцев. Анализ алгоритма, основанного на использовании преобразования Габора.

    дипломная работа [4,5 M], добавлен 16.07.2014

  • Особенности метода неопределенных множителей Лагранжа, градиентного метода и метода перебора и динамического программирования. Конструирование алгоритма решения задачи. Структурная схема алгоритма сценария диалога и описание его программной реализации.

    курсовая работа [1010,4 K], добавлен 10.08.2014

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

    курсовая работа [2,0 M], добавлен 12.02.2013

  • Основные принципы разработки программ. Разработка алгоритма решения задачи о пересечении двухвыпуклым многоугольником. Реализация разработанного алгоритма на языке программирования. Тесты для проверки работы программы. Графическая иллюстрация решения.

    курсовая работа [53,3 K], добавлен 20.11.2015

  • Транспортная задача как одна из самых распространенных специальных задач линейного программирования: понятие, основное назначение. Формальное описание метода минимального элемента. Характеристика этапов разработки алгоритма решения поставленной задачи.

    курсовая работа [713,3 K], добавлен 19.10.2012

  • Виды алгоритмов как логико-математических средств, характеристика свойств. Корректный вывод алгоритма при решении вычислительной задачи. Механизм реализации алгоритма, его описание. Решение задачи Майхилла при помощи автоматной модели поведения стрелка.

    курсовая работа [53,6 K], добавлен 17.07.2014

  • Примеры построения тестов и технологии исследования алгоритмов на их основе. Построение тестов на основе метода покрытия решений и проведение исследования соответствующего исходного алгоритма и алгоритма с ошибками в операторах проверки условий.

    контрольная работа [224,8 K], добавлен 24.05.2016

  • Изучение особенностей создания алгоритмов вычислительных задач. Визуальное программирование стандартных компонентов среды программирования Delphi. Технология создания компонента Delphi для решения производственной задачи. Выполнение блок-схемы алгоритма.

    курсовая работа [638,0 K], добавлен 30.01.2015

  • Разработка алгоритма как конструктивный компонент программирования, не зависящий от особенностей синтаксиса языков программирования и специфики функционирования конкретных ЭВМ. Алгоритм - операциональный подход к программированию. Экономичность алгоритма.

    учебное пособие [346,8 K], добавлен 09.02.2009

  • Состав и принцип работы аппаратуры. Выбор параметров корреляционного анализа и Фурье-анализа. Разработка и применение алгоритма корреляционного анализа. Реализация алгоритма Фурье-анализа на языке С++ и алгоритма корреляционного анализа на языке С#.

    дипломная работа [4,6 M], добавлен 30.11.2016

  • Блок-схема алгоритма Флойда. Разработка его псевдокода в программе Microsoft Visual Studio. Программа реализации алгоритмов Беллмана-Форда. Анализ трудоемкости роста функции. Протокол тестирования правильности работы программы по алгоритму Флойда.

    курсовая работа [653,5 K], добавлен 18.02.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.