SlideShare a Scribd company logo
1 of 10
Download to read offline
Алгоритм искусственной пчелиной колонии (Artificial Bee Colony Algorithm)
     Алгоритм искусственной пчелиной колонии является довольно молодым
алгоритмом для нахождения глобальных экстремумов сложных многомерных
функций. Идея алгоритма (D. Karaboga, 2005) взята, как видно из названия, у
пчѐл, а именно из их поведения при поиске мест, где можно раздобыть как
можно больше нектара.
     Колония пчѐл может преодолевать большие расстояния (более 10 км) в
различных направлениях одновременно в поисках источников питания.
Сначала из улея в случайном направлении вылетает какое-то количество пчѐл-
разведчиков, которые пытаются отыскать участки, где есть нектар. По
возвращению в улей разведчики сообщают остальным пчѐлам где и сколько
они нашли нектара. После этого на найденные участки отправляются другие
пчѐлы, причем, чем больше на данном участке предполагается найти нектара,
тем больше пчѐл летит в этом направлении.
     Представим теперь, что расположение глобального экстремума - это
участок, где больше всего нектара, причем этот участок единственный, то есть
в других местах нектар есть, но меньше. Пчѐлы живут не на плоскости, где для
определения месторасположения участков достаточно знать две координаты, а
в многомерном пространстве, где каждая координата представляет собой один
параметр функции, которую надо оптимизировать. Найденное количество
нектара представляет собой значение целевой функции в этой точке (в случае,
если мы ищем глобальный максимум, если мы ищем глобальный минимум, то
целевую функцию достаточно умножить на -1).
     Простейшая форма алгоритма пчѐл состоит в выполнении следующего
псевдокода:
       1. Инициализировать популяцию случайными решениями.
       2. Посчитать фитнесс популяции.
       3. Запомнить лучшее решение.
       4. Выбрать участки для исследования их окрестностей.
       5. Отправить пчѐл в окрестности выбранных участков (больше пчѐл на
           лучшие участки) и посчитать фитнесс.
       6. Отправить оставшихся пчѐл на случайный поиск и посчитать их
           фитнесс.
       7. Перейти на пункт 3.
     На первом шаге алгоритма в точки, описываемые случайными
координатами, отправляется s пчѐл-разведчиков. В зависимости от значения
целевой функции, которое определяется координатами пчелы, выделяются два
вида перспективных участков на поверхности функции, вблизи которых
возможно располагается глобальный максимум. А именно:
           Выбирается n лучших участков, где значения целевой функции
           больше всех
           Выбирается m так называемых выбранных участков, где значения
           целевой функции меньше, чем на лучших участках, но эти участки
всѐ равно являются неплохими с точки зрения значения целевой
          функции.
     В окрестность n лучших участков посылается N пчѐл, а в окрестность m
выбранных участков посылается M пчѐл, причем на каждый из лучших
участков должно приходиться больше пчѐл, чем на каждый из выбранных
участков. Величины N и M могут быть фиксированными или
пропорциональными целевой функции.
     Важно отметить, что пчѐлы посылаются не в точности на то место, где
пчѐлы-разведчики нашли перспективные и лучшие места, а в их окрестность,
более точно координаты определяются случайным образом. Кроме того,
окрестность, которая определяет область, в которую может быть послана пчела,
можно уменьшать по мере увеличения номера итерации, чтобы постепенно
решение сходилось к самому "кончику" экстремума. С другой стороны, если
область уменьшать слишком быстро, то решение может застрять в локальном
экстремуме.
     После того как пчѐлы были отправлены на лучшие и выбранные участки,
можно отправить тех же пчѐл-разведчиков на другие случайные точки.
     Далее снова находятся n лучших и m выбранных участков, на этот раз
среди всех пчѐл из роя, а не только среди разведчиков. Запоминается самое
лучшее место на функции, значение больше которого пока не было найдено,
это и будет промежуточным решением. Алгоритм повторяется до тех пор, пока
не сработает принятый критерий останова.
     Рассмотрим работу алгоритма на примере поиска глобального максимума
функционала:

    Знак «−» в данном случае стоит, чтобы у функции был глобальный
максимум, а не минимум. Глобальный (и единственный) максимум этой
функции находится в точке (0; 0), причем I(0, 0) = 0.
    Остальные необходимые параметры:
    Количество пчѐл-разведчиков: 10
    Количество пчѐл, отправляемых на лучшие участки: 5
    Количество пчѐл, отправляемых на другие выбранные участки: 2
    Количество лучших участков: 2
    Количество выбранных участков: 3
    Размер области для каждого участка: 10
    Пусть разведчики попали на следующие, участки (список отсортирован по
убыванию целевой функции):
    I(15, 18) = -549
    I(-30, -15) = -1125
    I(22, -31) = -1445
    I(18, 40) = -1924
    I(-25, 47) = -2834
    I(60, 86) = -10996
    I(-91, -99) = -18082
I(17, -136) = -18785
    I(-152, -1) = -22501
    I(-222, 157) = -73933
    Сначала будут выбраны две лучшие точки:
    I(15, 18) = -549
    I(-30, -15) = -1125
    Затем будут выбраны другие три перспективных участка:
    I(22, -31) = -1445
    I(18, 40) = -1924
    I(-25, 47) = -2834
    В окрестности лучших точек будут отправлены по 5 пчѐл:
    Для первой лучшей точки значение координат, которыми ограничивается
участок будет:
    [15 - 10 = 5; 15 + 10 = 25] для первой координаты
    [18 - 10 = 8; 18 + 10 = 28] для второй координаты
    И для второй точки:
    [-30 - 10 = -40; -30 + 10 = -20] для первой координаты
    [-15 - 10 = -25; -15 + 10 = -5] для второй координаты
    Аналогично рассчитываются интервалы для выбранных участков:
    [15; 32] [-41; 21]
    [8; 28] [30; 50]
    [-35; 15] [37; 57]
    Заметьте, что здесь по каждой из координат размер области одинаков и
равен 10, в реальности это не обязательно так.
    В каждый из лучших интервалов отправляем по 5 пчѐл, а на выбранные
участки по 2 пчелы. Причем, мы не будем менять положение пчѐл, нашедших
лучшие и выбранные участки, иначе есть вероятность того, что на следующей
итерации максимальное значение целевой функции будет хуже, чем на
предыдущем шаге.
    Пусть теперь на первом лучшем участке мы имеем следующих пчѐл:
    I(15, 18) = -549
    I(7, 12) = -193
    I(10, 10) = -100
    I(16, 24) = -832
    I(18, 24) = -900
    Как видно, уже среди этих новых точек есть такие, которые лучше, чем
предыдущее решение.
    Так же поступаем и со вторым лучшим участком, а затем аналогично и с
выбранными участками. После чего среди всех новых точек снова отмечаются
лучшие и выбранные, а процесс повторяется заново.
    Для проверки надежности алгоритма была использована шестимерная
обратная функция Швефеля (inverted Schwefel’s function). На Рис. 2.21
представлен двухмерный вид функции, дающий представление о еѐ
многоэкстремальности.
max = (420.9, 420.9, 420.9, 420.9, 420.9, 420.9,)
                                      max) ≈ 2513.9
    Для этого теста были приняты следующие параметры алгоритма: число
пчѐл-разведчиков s=500, количество лучших участков n=5, выбранных участков
m=10, количество пчѐл на лучший участок N=50, пчѐл на выбранный участок
M=30, размер области для каждого участка d=20.




                           Рис. 2.21. 2D функция Швефеля




         Рис. 2.22. Изменение фитнеса (шестимерная функция Швефеля)
Рис. 2.22 показывает, как изменяется значение фитнеса с количеством
исследованных точек. Результат усреднѐн для ста независимых запусков.
Можно видеть, что после приблизительно 3,000,000 рассчитанных точек
алгоритм пчѐл находит решение, близкое к теоретически полученному.
     Алгоритм пчѐл был применѐн для расчета восьми функций эталонного
теста [2] и результаты сравнены с другими алгоритмами оптимизации.
Тестовые функции и их оптимумы представлены в таблице 1. Дополнительные
результаты и более детальный анализ алгоритма пчѐл в [1].
     В таблице 2 приведены результаты, полученные для алгоритма пчѐл и
детерминированного симплекс-метода (SIMPSA) [2], стохастического метода
имитации отжига (NE SIMPSA) [2], генетического алгоритма (GA) [2] и метода
муравьиной колонии (ANTS) [2].
                                                    Таблица 1. Тестовые функции
  Название                                                             Глобальный
№               Интервал          Функция
  Функции                                                              оптимум
                [-2.048,                                               X(1,1)
1   Де Джонг
                2.048]                                                 F=3905.93
    Гольдштей                                                          X(0,-1)
2               [-2, 2]
    н &Прайс                                                           F=3
                                                                       X(-22/7,12.275)
                                                                       X(22/7,2.275)
3   Бранин      [-5, 10]
                                                                       X(66/7,2.475)
                                                                       F=0.3977272
    Мартин &                                                           X(5,5)
4               [0, 10]
    Гэдди                                                              F=0
                (a) [-1.2, 1.2]                                        X(1,1)
5   Розенброк
                (б) [-10, 10]                                          F=0
                                                                       X(1,1,1,1)
6   Розенброк   [-1.2, 1.2]
                                                                       F=0

    Гипер-                                                             X(0,0,0,0,0,0)
7               [-5.12, 5.12]
    сфера                                                              F=0
                                                                       X(0,0,0,0,0,0,
8   Грайвенк    [-512, 512]                                            0,0,0,0)
                                                                       F=10
                                                            Таблица 2. Результаты
         SIMPSA        NE SIMPSA          GA             ANTS        Bee Algorithm
№
    успех ср.колич. успех ср.колич. успех ср.колич. успех ср.колич. успех ср.колич.
ф-и
      %     оценок    %     оценок    %    оценок     %    оценок     %     оценок
 1   ***      ***    ***     ***     100    10160    100    6000     100       868
 2   ***      ***    ***     ***     100     5662    100    5330     100       999
 3   ***      ***    ***     ***     100     7325    100    1936     100      1657
 4   ***      ***    ***     ***     100     2844    100    1688     100       526
5а   100     10780   100     4508    100    10212    100    6842     100       631
5б   100     12500   100     5007    ***      ***    100    7505     100      2306
 6    99     21177    94     3053    ***      ***    100    8471     100     28529
 7   ***      ***    ***     ***     100    15468    100    22050    100      7113
 8   ***      ***    ***     ***     100   200000    100    50000    100      1847
     *** Нет данных
Все результаты усреднены для ста независимых запусков алгоритмов.
Таблица 3 содержит эмпирически полученные параметры алгоритма пчѐл,
использовавшиеся в расчетах для различных функций.

                          Таблица 3. Параметры алгоритма
                        №
                               s n m N M            d
                       ф-и
                         1    10 3 1 2         4 0.1
                         2    20 3 1 1 13 0.1
                         3    30 5 1 2         3 0.5
                         4    20 3 1 1 10 0.5
                        5а    10 3 1 2         4 0.1
                        5б    6 3 1 1          4 0.5
                         6    20 6 1 5         8 0.1
                         7    8 3 1 1          2 0.3
                         8    10 3 2 4         7    5
    Процесс оптимизации останавливался, когда различие между
максимальным значением полученного фитнесса и глобальным оптимумом
составляло меньше, чем 0.1 % оптимального значения или меньше чем 0.001.
    Первой тестовой функцией была функция Де Джонга для которой
алгоритм пчѐл смог найти решение в 7 раз быстрее, чем алгоритм муравьев и
почти в 12 раз быстрее, чем ГА с успехам 100%. Второй функцией была
функция Гольдштейна и Прайса решение которой алгоритмом пчѐл было
найдено почти в 5 раз быстрее, чем алгоритмом муравьев и ГА снова с 100%
успехом. Для функции Бранина улучшение составило 15% по сравнению с
алгоритмом муравьев и 77% в сравнении с ГА также со 100% успехом.
    Функции 5 и 6 – двумерная и четырехмерная, соответственно, функции
Розенброка. В случае двумерной функции алгоритм пчѐл обеспечивает 100%
успех и хорошее улучшение над другими методами (минимум в два раза
меньше расчетов, чем в других методах). Для четырехмерной функции
алгоритму пчѐл необходимо больше вычисление функционала для получения
оптимума со 100% успехом. NE SIMPSA смог найти оптимум, рассчитывая в 10
раз меньше функционалов, но успех был только 94%. Алгоритм муравьев
находит оптимум со 100% успехом и в 3.5 раза быстрее, чем алгоритм пчѐл.
Седьмая тестовая функция – шестимерная модель гиперсферы. Алгоритму пчѐл
понадобилась половина подсчетов функционала в сравнении с ГА и третья
часть от расчетов, требуемых алгоритмом муравьев. Восьмой функцией была
десятимерная функция. Алгоритм пчѐл смог достигнуть оптимума в 10 раз
быстрее ГА и 25 раз быстрее алгоритма муравьев с успехом 100%.
    Приведенные        экспериментальные       результаты    на     основе
многоэкстремальных n-мерных функций показывают, что алгоритм пчѐл имеет
высокую надѐжность, обеспечивая 100% успешных исходов расчетов во всех
случаях. Алгоритм сходится к максимуму или минимуму, не застревая в
локальных оптимумах. Алгоритм в целом превосходит методы, с которыми был
сравнѐн на предмет скорости оптимизации и точности полученных результатов.
Одним из недостатков алгоритма является количество регулируемых
параметров. Однако значение параметров может быть получено через
проведение небольшого количества опытов.
    Сравним работу генетического алгоритма и алгоритма пчѐл на примере
задачи идентификации RLC параметров заземляющих устройств (ЗУ) опор
воздушных линий с тросом импульсным методом [3].
    Суть метода идентификации заключается в том, что вместо "импульсного"
сопротивления Rи=max(u)/max(i) или rи(t)=u(t)/i(t), ЗУ характеризуется реакцией
на скачкообразную функцию (переходное сопротивление). Это позволяет
использовать интеграл Дюамеля для определения напряжения u(t) ЗУ через
переходное сопротивление z(t) при произвольно токе i(t):


      Последнее соотношение, рассматриваемое как интегральное уравнение для
z(t), дает возможность определить по экспериментально полученным u(t) и i(t)
величину z(t) ЗУ. Найденная таким образом величина z(t) инвариантна к форме
и длительности импульса тока молнии, а еѐ реализация методами синтеза
электрических цепей позволяет определить схему замещения                  и
электромагнитные параметры ЗУ.
      Задача подбора параметров схемы замещения ЗУ относится к классу
обратных задач электротехники и сведена к задаче поиска минимума
функционала при линейных ограничениях на параметры минимизации. Пусть
схема замещения имеет вид, приведѐнный на рисунке 1. Источник ЭДС e(t), это
экспериментально полученное напряжение u(t). Задача – так подобрать
параметры схемы, чтобы погрешность между током iа(t) и экспериментально
полученным током iэ(t) была минимальна (рис. 2):
                                              ,            .




                      Рис. 1                          Рис. 2
    Для алгоритма пчѐл были установлены следующие параметры: количество
пчѐл-разведчиков s=50, количество лучших участков n=4, выбранных участков
m=25,количество пчѐл на лучший участок N=20, пчѐл на выбранный участок
M=6. На рисунке 3 представлен типичной интерфейс программы
«ABC Optimization» для расчетов по методу пчѐл. В таблице параметров
электрической схемы можно увидеть заданную область определения еѐ
элементов (столбцы «min» и «max»). Все величины задаются в единицах СИ.
    Основные параметры для генетического алгоритма: размер популяции 400,
размер элиты 40, количество хромосом, получаемых кроссингом 50,
коэффициент мутации 0.85.




             Рис. 3. Интерфейс программы «ABC Optimization»
     На рисунке 4 представлен график изменения фитнесса для обоих
алгоритмов. Результат усреднѐн для 10 независимых запусков. Можно видеть,
что пересчитав 2000 точек (предлагаемых алгоритмом решений) алгоритм пчѐл
добивается значительных улучшений в задаче поиска минимума.
Приблизительно 4000 точек необходимо алгоритму нахождения приемлемого
результата.
     Для генетического алгоритма характерна зона "простоя", когда фитнесс
почти не улучшается, однако значения параметров схемы изменяются. Для
данной задачи, зона "простоя" и зона активного снижения фитнеса почти
одинаковы и на каждую приходится около 2500 точек.
     Несмотря на то, что алгоритм пчѐл резко снижает фитнесс сразу после
начала расчета, "установившийся режим" для обоих методов наступает почти
одновременно (приблизительно 5000 точек). Однако для различных задач
требуются различные точности решений, и пока ГА находится в зоне "простоя",
алгоритм пчѐл может уже найти приемлемое решение. Более того, случайные
методы поиска комбинируются с детерминированными методами, когда после
каждой итерации происходит градиентный спуск. В таких задачах, алгоритм
пчѐл только усиливает эффект от стабильного резкого снижения фитнесса в
начале расчѐта.




           Рис. 4. Сравнение эффективности ГА и алгоритма пчѐл
    Следует отметить, что сравнение различных методов между собой носит
несколько условный характер, т.к. скорость сходимости алгоритма зависит от
принятых для него параметров. Задача подбора этих параметров может в свою
очередь являться задачей оптимизации. Из рисунка 4 также следует, что
перспективным является комбинирование двух методов, когда расчет
начинается методом пчѐл и после достижения некоторого уровня продолжается
генетическим алгоритмом.
    На рисунке 5 показаны значения элементов электрической схемы,
найденные алгоритмом пчѐл, и графики экспериментального и расчетного тока.
Средняя погрешность между токами ave=7%. Для улучшение результата можно
применить градиентный спуск с начальными параметрами, равными
найденным по алгоритму пчѐл.
Рис. 5. Графики токов и схема замещения
     Высокая корреляция между токами iа и iэ позволяет использовать схему на
рис. 5 как схему замещения ЗУ. Такая схема является инвариантной для токов
любой частоты и формы.

                                ЛИТЕРАТУРА
  1. Pham DT, Ghanbarzadeh A, Koc E, Otri S, Rahim S and Zaidi M. The Bees
     Algorithm. Technical Note, Manufacturing Engineering Centre, Cardiff
     University, UK, 2005.
  2. Mathur M, Karale SB, Priye S, Jayaraman VK and Kulkarni BD. Ant Colony
     Approach to Continuous Function Optimization. Ind. Eng. Chem. Res. 39(10)
     (2000) 3814-3822.
  3. Н.В. Коровкин, С.И. Кривошеев, С.Л. Шишигин, К.И. Нетреба и другие.
     “Идентификация RLC параметров заземляющих устройств опор
     воздушных линий с тросом импульсным методом”. Восьмой
     международный симпозиум по электромагнитной совместимости и
     электромагнитной экологии. 16-19 июня 2009, СПбГЭТУ «ЛЭТИ»
     (Санкт-Петербургский государственный электротехнический
     университет), Санкт-Петербург, с. 83-86ru

More Related Content

What's hot

Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование Theoretical mechanics department
 
Основы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторыОсновы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторыTheoretical mechanics department
 
Лекция 4: Стек. Очередь
Лекция 4: Стек. ОчередьЛекция 4: Стек. Очередь
Лекция 4: Стек. ОчередьMikhail Kurnosov
 
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...AIST
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Technosphere1
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Technosphere1
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Technosphere1
 
Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"Technosphere1
 
Векторизация кода (семинар 2)
Векторизация кода (семинар 2)Векторизация кода (семинар 2)
Векторизация кода (семинар 2)Mikhail Kurnosov
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Technosphere1
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовMikhail Kurnosov
 
Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)Mikhail Kurnosov
 
L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблейTechnosphere1
 

What's hot (20)

Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование
 
Основы NumPy
Основы NumPyОсновы NumPy
Основы NumPy
 
Основы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторыОсновы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторы
 
Лекция 4: Стек. Очередь
Лекция 4: Стек. ОчередьЛекция 4: Стек. Очередь
Лекция 4: Стек. Очередь
 
LSU2
LSU2LSU2
LSU2
 
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
 
Основы Python. Функции
Основы Python. ФункцииОсновы Python. Функции
Основы Python. Функции
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"
 
Синтез функциональных программ при помощи метода дедуктивных таблиц
Синтез функциональных программ при помощи метода дедуктивных таблицСинтез функциональных программ при помощи метода дедуктивных таблиц
Синтез функциональных программ при помощи метода дедуктивных таблиц
 
Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"
 
Векторизация кода (семинар 2)
Векторизация кода (семинар 2)Векторизация кода (семинар 2)
Векторизация кода (семинар 2)
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов"
 
Recsys.hse
Recsys.hseRecsys.hse
Recsys.hse
 
Функции
ФункцииФункции
Функции
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмов
 
Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)
 
L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблей
 

Similar to Агоритм пчёл и его сравнение с ГА

Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Dmitry Kornev
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Bitworks Software
 
Подобедов: Абстрактный Детерминизм
Подобедов: Абстрактный ДетерминизмПодобедов: Абстрактный Детерминизм
Подобедов: Абстрактный ДетерминизмAleximos
 
Тренировочный вариант экзамена с решением
Тренировочный вариант экзамена с решениемТренировочный вариант экзамена с решением
Тренировочный вариант экзамена с решениемKurbatskiy Alexey
 
Задачи Пятой олимпиады Эйлера учителей Санкт-Петербурга
Задачи Пятой олимпиады Эйлера учителей Санкт-ПетербургаЗадачи Пятой олимпиады Эйлера учителей Санкт-Петербурга
Задачи Пятой олимпиады Эйлера учителей Санкт-Петербургаeekdiary
 
Gdz 11 algebra_dorofeev_2008
Gdz 11 algebra_dorofeev_2008Gdz 11 algebra_dorofeev_2008
Gdz 11 algebra_dorofeev_2008Lucky Alex
 
80 решение экзам. зад. по математике 11кл. к сб. зад. дорофеев, муравин -288с
80  решение экзам. зад. по математике 11кл. к сб. зад. дорофеев, муравин -288с80  решение экзам. зад. по математике 11кл. к сб. зад. дорофеев, муравин -288с
80 решение экзам. зад. по математике 11кл. к сб. зад. дорофеев, муравин -288сrosgdz
 
алгебра и нач анализа реш экз зад 11кл из сборн заданий для экз дорофеев_решения
алгебра и нач анализа реш экз зад 11кл из сборн заданий для экз дорофеев_решенияалгебра и нач анализа реш экз зад 11кл из сборн заданий для экз дорофеев_решения
алгебра и нач анализа реш экз зад 11кл из сборн заданий для экз дорофеев_решенияYou DZ
 
11кл дорофеев_решения
  11кл  дорофеев_решения  11кл  дорофеев_решения
11кл дорофеев_решенияRazon Ej
 
ОПК № 4 – Представление действительных чисел
ОПК № 4 – Представление действительных чиселОПК № 4 – Представление действительных чисел
ОПК № 4 – Представление действительных чиселVladimir Parfinenko
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовMikhail Kurnosov
 
геометрический смысл производной
геометрический смысл производнойгеометрический смысл производной
геометрический смысл производнойtkachenko_anna
 
задание 8 (b9) vopvet
задание 8 (b9) vopvetзадание 8 (b9) vopvet
задание 8 (b9) vopvetLeva Sever
 
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕ
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕ
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕGarik Yenokyan
 
Primenenie svojstv funkcij_k_resheniyu_uravnenij_i
Primenenie svojstv funkcij_k_resheniyu_uravnenij_iPrimenenie svojstv funkcij_k_resheniyu_uravnenij_i
Primenenie svojstv funkcij_k_resheniyu_uravnenij_iDimon4
 
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравненийTheoretical mechanics department
 

Similar to Агоритм пчёл и его сравнение с ГА (20)

Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
КР 1 с решением
КР 1 с решениемКР 1 с решением
КР 1 с решением
 
555
555555
555
 
Pril2
Pril2Pril2
Pril2
 
Подобедов: Абстрактный Детерминизм
Подобедов: Абстрактный ДетерминизмПодобедов: Абстрактный Детерминизм
Подобедов: Абстрактный Детерминизм
 
Тренировочный вариант экзамена с решением
Тренировочный вариант экзамена с решениемТренировочный вариант экзамена с решением
Тренировочный вариант экзамена с решением
 
Задачи Пятой олимпиады Эйлера учителей Санкт-Петербурга
Задачи Пятой олимпиады Эйлера учителей Санкт-ПетербургаЗадачи Пятой олимпиады Эйлера учителей Санкт-Петербурга
Задачи Пятой олимпиады Эйлера учителей Санкт-Петербурга
 
Gdz 11 algebra_dorofeev_2008
Gdz 11 algebra_dorofeev_2008Gdz 11 algebra_dorofeev_2008
Gdz 11 algebra_dorofeev_2008
 
80 решение экзам. зад. по математике 11кл. к сб. зад. дорофеев, муравин -288с
80  решение экзам. зад. по математике 11кл. к сб. зад. дорофеев, муравин -288с80  решение экзам. зад. по математике 11кл. к сб. зад. дорофеев, муравин -288с
80 решение экзам. зад. по математике 11кл. к сб. зад. дорофеев, муравин -288с
 
алгебра и нач анализа реш экз зад 11кл из сборн заданий для экз дорофеев_решения
алгебра и нач анализа реш экз зад 11кл из сборн заданий для экз дорофеев_решенияалгебра и нач анализа реш экз зад 11кл из сборн заданий для экз дорофеев_решения
алгебра и нач анализа реш экз зад 11кл из сборн заданий для экз дорофеев_решения
 
11кл дорофеев_решения
  11кл  дорофеев_решения  11кл  дорофеев_решения
11кл дорофеев_решения
 
ОПК № 4 – Представление действительных чисел
ОПК № 4 – Представление действительных чиселОПК № 4 – Представление действительных чисел
ОПК № 4 – Представление действительных чисел
 
Soboland Sat
Soboland SatSoboland Sat
Soboland Sat
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмов
 
геометрический смысл производной
геометрический смысл производнойгеометрический смысл производной
геометрический смысл производной
 
задание 8 (b9) vopvet
задание 8 (b9) vopvetзадание 8 (b9) vopvet
задание 8 (b9) vopvet
 
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕ
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕ
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕ
 
Primenenie svojstv funkcij_k_resheniyu_uravnenij_i
Primenenie svojstv funkcij_k_resheniyu_uravnenij_iPrimenenie svojstv funkcij_k_resheniyu_uravnenij_i
Primenenie svojstv funkcij_k_resheniyu_uravnenij_i
 
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравнений
 

Агоритм пчёл и его сравнение с ГА

  • 1. Алгоритм искусственной пчелиной колонии (Artificial Bee Colony Algorithm) Алгоритм искусственной пчелиной колонии является довольно молодым алгоритмом для нахождения глобальных экстремумов сложных многомерных функций. Идея алгоритма (D. Karaboga, 2005) взята, как видно из названия, у пчѐл, а именно из их поведения при поиске мест, где можно раздобыть как можно больше нектара. Колония пчѐл может преодолевать большие расстояния (более 10 км) в различных направлениях одновременно в поисках источников питания. Сначала из улея в случайном направлении вылетает какое-то количество пчѐл- разведчиков, которые пытаются отыскать участки, где есть нектар. По возвращению в улей разведчики сообщают остальным пчѐлам где и сколько они нашли нектара. После этого на найденные участки отправляются другие пчѐлы, причем, чем больше на данном участке предполагается найти нектара, тем больше пчѐл летит в этом направлении. Представим теперь, что расположение глобального экстремума - это участок, где больше всего нектара, причем этот участок единственный, то есть в других местах нектар есть, но меньше. Пчѐлы живут не на плоскости, где для определения месторасположения участков достаточно знать две координаты, а в многомерном пространстве, где каждая координата представляет собой один параметр функции, которую надо оптимизировать. Найденное количество нектара представляет собой значение целевой функции в этой точке (в случае, если мы ищем глобальный максимум, если мы ищем глобальный минимум, то целевую функцию достаточно умножить на -1). Простейшая форма алгоритма пчѐл состоит в выполнении следующего псевдокода: 1. Инициализировать популяцию случайными решениями. 2. Посчитать фитнесс популяции. 3. Запомнить лучшее решение. 4. Выбрать участки для исследования их окрестностей. 5. Отправить пчѐл в окрестности выбранных участков (больше пчѐл на лучшие участки) и посчитать фитнесс. 6. Отправить оставшихся пчѐл на случайный поиск и посчитать их фитнесс. 7. Перейти на пункт 3. На первом шаге алгоритма в точки, описываемые случайными координатами, отправляется s пчѐл-разведчиков. В зависимости от значения целевой функции, которое определяется координатами пчелы, выделяются два вида перспективных участков на поверхности функции, вблизи которых возможно располагается глобальный максимум. А именно: Выбирается n лучших участков, где значения целевой функции больше всех Выбирается m так называемых выбранных участков, где значения целевой функции меньше, чем на лучших участках, но эти участки
  • 2. всѐ равно являются неплохими с точки зрения значения целевой функции. В окрестность n лучших участков посылается N пчѐл, а в окрестность m выбранных участков посылается M пчѐл, причем на каждый из лучших участков должно приходиться больше пчѐл, чем на каждый из выбранных участков. Величины N и M могут быть фиксированными или пропорциональными целевой функции. Важно отметить, что пчѐлы посылаются не в точности на то место, где пчѐлы-разведчики нашли перспективные и лучшие места, а в их окрестность, более точно координаты определяются случайным образом. Кроме того, окрестность, которая определяет область, в которую может быть послана пчела, можно уменьшать по мере увеличения номера итерации, чтобы постепенно решение сходилось к самому "кончику" экстремума. С другой стороны, если область уменьшать слишком быстро, то решение может застрять в локальном экстремуме. После того как пчѐлы были отправлены на лучшие и выбранные участки, можно отправить тех же пчѐл-разведчиков на другие случайные точки. Далее снова находятся n лучших и m выбранных участков, на этот раз среди всех пчѐл из роя, а не только среди разведчиков. Запоминается самое лучшее место на функции, значение больше которого пока не было найдено, это и будет промежуточным решением. Алгоритм повторяется до тех пор, пока не сработает принятый критерий останова. Рассмотрим работу алгоритма на примере поиска глобального максимума функционала: Знак «−» в данном случае стоит, чтобы у функции был глобальный максимум, а не минимум. Глобальный (и единственный) максимум этой функции находится в точке (0; 0), причем I(0, 0) = 0. Остальные необходимые параметры: Количество пчѐл-разведчиков: 10 Количество пчѐл, отправляемых на лучшие участки: 5 Количество пчѐл, отправляемых на другие выбранные участки: 2 Количество лучших участков: 2 Количество выбранных участков: 3 Размер области для каждого участка: 10 Пусть разведчики попали на следующие, участки (список отсортирован по убыванию целевой функции): I(15, 18) = -549 I(-30, -15) = -1125 I(22, -31) = -1445 I(18, 40) = -1924 I(-25, 47) = -2834 I(60, 86) = -10996 I(-91, -99) = -18082
  • 3. I(17, -136) = -18785 I(-152, -1) = -22501 I(-222, 157) = -73933 Сначала будут выбраны две лучшие точки: I(15, 18) = -549 I(-30, -15) = -1125 Затем будут выбраны другие три перспективных участка: I(22, -31) = -1445 I(18, 40) = -1924 I(-25, 47) = -2834 В окрестности лучших точек будут отправлены по 5 пчѐл: Для первой лучшей точки значение координат, которыми ограничивается участок будет: [15 - 10 = 5; 15 + 10 = 25] для первой координаты [18 - 10 = 8; 18 + 10 = 28] для второй координаты И для второй точки: [-30 - 10 = -40; -30 + 10 = -20] для первой координаты [-15 - 10 = -25; -15 + 10 = -5] для второй координаты Аналогично рассчитываются интервалы для выбранных участков: [15; 32] [-41; 21] [8; 28] [30; 50] [-35; 15] [37; 57] Заметьте, что здесь по каждой из координат размер области одинаков и равен 10, в реальности это не обязательно так. В каждый из лучших интервалов отправляем по 5 пчѐл, а на выбранные участки по 2 пчелы. Причем, мы не будем менять положение пчѐл, нашедших лучшие и выбранные участки, иначе есть вероятность того, что на следующей итерации максимальное значение целевой функции будет хуже, чем на предыдущем шаге. Пусть теперь на первом лучшем участке мы имеем следующих пчѐл: I(15, 18) = -549 I(7, 12) = -193 I(10, 10) = -100 I(16, 24) = -832 I(18, 24) = -900 Как видно, уже среди этих новых точек есть такие, которые лучше, чем предыдущее решение. Так же поступаем и со вторым лучшим участком, а затем аналогично и с выбранными участками. После чего среди всех новых точек снова отмечаются лучшие и выбранные, а процесс повторяется заново. Для проверки надежности алгоритма была использована шестимерная обратная функция Швефеля (inverted Schwefel’s function). На Рис. 2.21 представлен двухмерный вид функции, дающий представление о еѐ многоэкстремальности.
  • 4. max = (420.9, 420.9, 420.9, 420.9, 420.9, 420.9,) max) ≈ 2513.9 Для этого теста были приняты следующие параметры алгоритма: число пчѐл-разведчиков s=500, количество лучших участков n=5, выбранных участков m=10, количество пчѐл на лучший участок N=50, пчѐл на выбранный участок M=30, размер области для каждого участка d=20. Рис. 2.21. 2D функция Швефеля Рис. 2.22. Изменение фитнеса (шестимерная функция Швефеля)
  • 5. Рис. 2.22 показывает, как изменяется значение фитнеса с количеством исследованных точек. Результат усреднѐн для ста независимых запусков. Можно видеть, что после приблизительно 3,000,000 рассчитанных точек алгоритм пчѐл находит решение, близкое к теоретически полученному. Алгоритм пчѐл был применѐн для расчета восьми функций эталонного теста [2] и результаты сравнены с другими алгоритмами оптимизации. Тестовые функции и их оптимумы представлены в таблице 1. Дополнительные результаты и более детальный анализ алгоритма пчѐл в [1]. В таблице 2 приведены результаты, полученные для алгоритма пчѐл и детерминированного симплекс-метода (SIMPSA) [2], стохастического метода имитации отжига (NE SIMPSA) [2], генетического алгоритма (GA) [2] и метода муравьиной колонии (ANTS) [2]. Таблица 1. Тестовые функции Название Глобальный № Интервал Функция Функции оптимум [-2.048, X(1,1) 1 Де Джонг 2.048] F=3905.93 Гольдштей X(0,-1) 2 [-2, 2] н &Прайс F=3 X(-22/7,12.275) X(22/7,2.275) 3 Бранин [-5, 10] X(66/7,2.475) F=0.3977272 Мартин & X(5,5) 4 [0, 10] Гэдди F=0 (a) [-1.2, 1.2] X(1,1) 5 Розенброк (б) [-10, 10] F=0 X(1,1,1,1) 6 Розенброк [-1.2, 1.2] F=0 Гипер- X(0,0,0,0,0,0) 7 [-5.12, 5.12] сфера F=0 X(0,0,0,0,0,0, 8 Грайвенк [-512, 512] 0,0,0,0) F=10 Таблица 2. Результаты SIMPSA NE SIMPSA GA ANTS Bee Algorithm № успех ср.колич. успех ср.колич. успех ср.колич. успех ср.колич. успех ср.колич. ф-и % оценок % оценок % оценок % оценок % оценок 1 *** *** *** *** 100 10160 100 6000 100 868 2 *** *** *** *** 100 5662 100 5330 100 999 3 *** *** *** *** 100 7325 100 1936 100 1657 4 *** *** *** *** 100 2844 100 1688 100 526 5а 100 10780 100 4508 100 10212 100 6842 100 631 5б 100 12500 100 5007 *** *** 100 7505 100 2306 6 99 21177 94 3053 *** *** 100 8471 100 28529 7 *** *** *** *** 100 15468 100 22050 100 7113 8 *** *** *** *** 100 200000 100 50000 100 1847 *** Нет данных
  • 6. Все результаты усреднены для ста независимых запусков алгоритмов. Таблица 3 содержит эмпирически полученные параметры алгоритма пчѐл, использовавшиеся в расчетах для различных функций. Таблица 3. Параметры алгоритма № s n m N M d ф-и 1 10 3 1 2 4 0.1 2 20 3 1 1 13 0.1 3 30 5 1 2 3 0.5 4 20 3 1 1 10 0.5 5а 10 3 1 2 4 0.1 5б 6 3 1 1 4 0.5 6 20 6 1 5 8 0.1 7 8 3 1 1 2 0.3 8 10 3 2 4 7 5 Процесс оптимизации останавливался, когда различие между максимальным значением полученного фитнесса и глобальным оптимумом составляло меньше, чем 0.1 % оптимального значения или меньше чем 0.001. Первой тестовой функцией была функция Де Джонга для которой алгоритм пчѐл смог найти решение в 7 раз быстрее, чем алгоритм муравьев и почти в 12 раз быстрее, чем ГА с успехам 100%. Второй функцией была функция Гольдштейна и Прайса решение которой алгоритмом пчѐл было найдено почти в 5 раз быстрее, чем алгоритмом муравьев и ГА снова с 100% успехом. Для функции Бранина улучшение составило 15% по сравнению с алгоритмом муравьев и 77% в сравнении с ГА также со 100% успехом. Функции 5 и 6 – двумерная и четырехмерная, соответственно, функции Розенброка. В случае двумерной функции алгоритм пчѐл обеспечивает 100% успех и хорошее улучшение над другими методами (минимум в два раза меньше расчетов, чем в других методах). Для четырехмерной функции алгоритму пчѐл необходимо больше вычисление функционала для получения оптимума со 100% успехом. NE SIMPSA смог найти оптимум, рассчитывая в 10 раз меньше функционалов, но успех был только 94%. Алгоритм муравьев находит оптимум со 100% успехом и в 3.5 раза быстрее, чем алгоритм пчѐл. Седьмая тестовая функция – шестимерная модель гиперсферы. Алгоритму пчѐл понадобилась половина подсчетов функционала в сравнении с ГА и третья часть от расчетов, требуемых алгоритмом муравьев. Восьмой функцией была десятимерная функция. Алгоритм пчѐл смог достигнуть оптимума в 10 раз быстрее ГА и 25 раз быстрее алгоритма муравьев с успехом 100%. Приведенные экспериментальные результаты на основе многоэкстремальных n-мерных функций показывают, что алгоритм пчѐл имеет высокую надѐжность, обеспечивая 100% успешных исходов расчетов во всех случаях. Алгоритм сходится к максимуму или минимуму, не застревая в
  • 7. локальных оптимумах. Алгоритм в целом превосходит методы, с которыми был сравнѐн на предмет скорости оптимизации и точности полученных результатов. Одним из недостатков алгоритма является количество регулируемых параметров. Однако значение параметров может быть получено через проведение небольшого количества опытов. Сравним работу генетического алгоритма и алгоритма пчѐл на примере задачи идентификации RLC параметров заземляющих устройств (ЗУ) опор воздушных линий с тросом импульсным методом [3]. Суть метода идентификации заключается в том, что вместо "импульсного" сопротивления Rи=max(u)/max(i) или rи(t)=u(t)/i(t), ЗУ характеризуется реакцией на скачкообразную функцию (переходное сопротивление). Это позволяет использовать интеграл Дюамеля для определения напряжения u(t) ЗУ через переходное сопротивление z(t) при произвольно токе i(t): Последнее соотношение, рассматриваемое как интегральное уравнение для z(t), дает возможность определить по экспериментально полученным u(t) и i(t) величину z(t) ЗУ. Найденная таким образом величина z(t) инвариантна к форме и длительности импульса тока молнии, а еѐ реализация методами синтеза электрических цепей позволяет определить схему замещения и электромагнитные параметры ЗУ. Задача подбора параметров схемы замещения ЗУ относится к классу обратных задач электротехники и сведена к задаче поиска минимума функционала при линейных ограничениях на параметры минимизации. Пусть схема замещения имеет вид, приведѐнный на рисунке 1. Источник ЭДС e(t), это экспериментально полученное напряжение u(t). Задача – так подобрать параметры схемы, чтобы погрешность между током iа(t) и экспериментально полученным током iэ(t) была минимальна (рис. 2): , . Рис. 1 Рис. 2 Для алгоритма пчѐл были установлены следующие параметры: количество пчѐл-разведчиков s=50, количество лучших участков n=4, выбранных участков m=25,количество пчѐл на лучший участок N=20, пчѐл на выбранный участок M=6. На рисунке 3 представлен типичной интерфейс программы
  • 8. «ABC Optimization» для расчетов по методу пчѐл. В таблице параметров электрической схемы можно увидеть заданную область определения еѐ элементов (столбцы «min» и «max»). Все величины задаются в единицах СИ. Основные параметры для генетического алгоритма: размер популяции 400, размер элиты 40, количество хромосом, получаемых кроссингом 50, коэффициент мутации 0.85. Рис. 3. Интерфейс программы «ABC Optimization» На рисунке 4 представлен график изменения фитнесса для обоих алгоритмов. Результат усреднѐн для 10 независимых запусков. Можно видеть, что пересчитав 2000 точек (предлагаемых алгоритмом решений) алгоритм пчѐл добивается значительных улучшений в задаче поиска минимума. Приблизительно 4000 точек необходимо алгоритму нахождения приемлемого результата. Для генетического алгоритма характерна зона "простоя", когда фитнесс почти не улучшается, однако значения параметров схемы изменяются. Для данной задачи, зона "простоя" и зона активного снижения фитнеса почти одинаковы и на каждую приходится около 2500 точек. Несмотря на то, что алгоритм пчѐл резко снижает фитнесс сразу после начала расчета, "установившийся режим" для обоих методов наступает почти одновременно (приблизительно 5000 точек). Однако для различных задач
  • 9. требуются различные точности решений, и пока ГА находится в зоне "простоя", алгоритм пчѐл может уже найти приемлемое решение. Более того, случайные методы поиска комбинируются с детерминированными методами, когда после каждой итерации происходит градиентный спуск. В таких задачах, алгоритм пчѐл только усиливает эффект от стабильного резкого снижения фитнесса в начале расчѐта. Рис. 4. Сравнение эффективности ГА и алгоритма пчѐл Следует отметить, что сравнение различных методов между собой носит несколько условный характер, т.к. скорость сходимости алгоритма зависит от принятых для него параметров. Задача подбора этих параметров может в свою очередь являться задачей оптимизации. Из рисунка 4 также следует, что перспективным является комбинирование двух методов, когда расчет начинается методом пчѐл и после достижения некоторого уровня продолжается генетическим алгоритмом. На рисунке 5 показаны значения элементов электрической схемы, найденные алгоритмом пчѐл, и графики экспериментального и расчетного тока. Средняя погрешность между токами ave=7%. Для улучшение результата можно применить градиентный спуск с начальными параметрами, равными найденным по алгоритму пчѐл.
  • 10. Рис. 5. Графики токов и схема замещения Высокая корреляция между токами iа и iэ позволяет использовать схему на рис. 5 как схему замещения ЗУ. Такая схема является инвариантной для токов любой частоты и формы. ЛИТЕРАТУРА 1. Pham DT, Ghanbarzadeh A, Koc E, Otri S, Rahim S and Zaidi M. The Bees Algorithm. Technical Note, Manufacturing Engineering Centre, Cardiff University, UK, 2005. 2. Mathur M, Karale SB, Priye S, Jayaraman VK and Kulkarni BD. Ant Colony Approach to Continuous Function Optimization. Ind. Eng. Chem. Res. 39(10) (2000) 3814-3822. 3. Н.В. Коровкин, С.И. Кривошеев, С.Л. Шишигин, К.И. Нетреба и другие. “Идентификация RLC параметров заземляющих устройств опор воздушных линий с тросом импульсным методом”. Восьмой международный симпозиум по электромагнитной совместимости и электромагнитной экологии. 16-19 июня 2009, СПбГЭТУ «ЛЭТИ» (Санкт-Петербургский государственный электротехнический университет), Санкт-Петербург, с. 83-86ru