Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Метод пчелиного роя.
Все описанные выше методы обеспечивают поиск локальных экстремумов функции многих переменных. Для поиска глобального экстремума необходимо выполнять многократные расчеты или применять более сложные методы поиска, содержащие элементы вероятностного характера. Для решения задач такого рода был предложен ряд алгоритмов случайного поиска (ненаправленного, направленного, направленного с самообучением), генетические и эволюционные алгоритмы, алгоритмы имитации отжига. Одной из новейших разновидностей генетических алгоритмов поиска является алгоритм пчелиного роя, (в англоязычных статьях так же встречаются названия Particle Swarm Optimization, Artificial Bee Colony Algorithm и Bees Algorithm). Использование метода пчелиного роя базируется на идеях моделирования многоагентных систем, используемых для исследования динамики децентрализованных систем. Агент обладает самостоятельной активностью, имеет автономное поведение в соответствии с набором простых правил, может взаимодействовать с окружающей средой и другими агентами. Каждая пчела в рое рассматривается как частица или агент. Все частицы роя действуют индивидуально в соответствии с одним управляющим принципом: двигаться в направлении наилучшей персональной и наилучшей глобальной позиции, постоянно проверяя значение текущей позиции. Позиция пчелы является координатами в исследуемом N-мерном пространстве. Персональная наилучшая позиция (ПНП) – позиция с наибольшим значением целевой функции, обнаруженная пчелой. Каждая пчела имеет собственную ПНП. В каждой точке вдоль пути движения пчела сравнивает значение целевой функции в текущей позиции со значением ПНП. Если текущая позиция имеет значение пригодности выше, значение ПНП заменяется на значение текущей позиции. Глобальная наилучшая позиция (ГНП) определяется как позиция с наибольшим значением целевой функции, обнаруженная всем роем. Информация о значении ГНП доступна каждой отдельной пчеле. Если в процессе движения одна из пчел обнаружит позицию с более высоким значением целевой функции, ГНП заменяется текущей позицией этой пчелы. Описание алгоритма поиска с использованием метода пчелиного роя. Шаг 1. Определение области поиска оптимальных значений, задание параметров алгоритма поиска, например размер роя. Шаг 2. В области поиска случайным образом располагаем пчёл и задаем начальные скорости их движения. Шаг 3. Для каждой пчелы в рое выполняем перемещение в новое положение в соответствии с ее положением и скоростью. Проверяем выход пчелы за границы исследуемой области и выполняем необходимые ограничивающие действия. Шаг 4. Для каждой пчелы вычисляем значение целевой функции в ее новой позиции. Сравниваем это значение со значением ПНП пчелы, и при необходимости заменяем ПНП текущей позицией. Сравниваем это значение со значением ГНП роя, и при необходимости заменяем ГНП текущей позицией. Шаг 5. Для каждой пчелы вычисляем новую скорость перемещения в соответствии с уравнением (1) где vni – скорость пчелы по измерению n на i -ой итерации; w – инерционный вес, это число (находится в интервале [0, 1]) отражает, в какой мере частица сохраняет свою первоначальную скорость; pn, gn – значение координаты n соответственно для ПНП пчелы и для ГНП всего роя; Ψ 1, Ψ 2 – случайная величина в диапазоне [-1, 1]; с1, с2 – постоянные весовые коэффициенты, определяющие притяжение к собственной ПНП и к ГНП роя соответственно; с1 определяет, какое влияние на частицу оказывает ее память о ПНП, а с2 определяет, какое влияние на частицу оказывают остальные члены роя. Увеличение с1 предполагает исследование пространства решений путем движения каждой частицы в направлении своего ПНП; увеличение с2 предполагает исследование предполагаемого глобального максимума. Эти коэффициенты иногда рассматриваются как познавательный и социальный факторы. Шаг 6. Проверка stop – критерия, если поиск не закончен, перейти к шагу 3.
На рис.13.4 приведен пример траектории одной из пчел в процессе поиска максимума функции Химмельблау z = 500 - (x2+y-11)2+ (x+ y2-7)2. Траектория является сложной ломаной, по виду напоминает траекторию частицы, участвующей в броуновском движении.
|