Метод роя частиц реферат

Обновлено: 07.07.2024

Оптимизация роя частиц, алгоритм оптимизации роя частиц, часто используется для нахождения оптимального решения уравнения.

2. Обзор алгоритма:

Каждый поиск основан наСобственный опыт(Лучшее место для поиска собственной истории) иОбмен населения(Лучшее место для поиска истории населения) Настройте поискнаправлениеискорость。

3. Преимущество алгоритма:

  • По сравнению с традиционными алгоритмами скорость вычислений очень высока, а возможности глобального поиска также сильны;
  • PSO не очень чувствителен к численности населения, поэтому начальная популяция установлена ​​на 500-1000, а скорость мало влияет;
  • Оптимизация роя частиц подходит дляНепрерывная функция экстремумаПроблема имеет сильную глобальную возможность поиска нелинейных и мультимодальных задач.

4. Основные принципы работы алгоритма:

А и Б изначально находились по обе стороны реки, и они хотели найти самую глубокую часть реки. Если глубина позиции A в определенное время меньше, чем у B, A пойдет в направлении B, и наоборот. Когда A достигнет глобального минимума, B продолжит движение к A, пока не достигнет оптимального решения.


Алгоритм роя частиц похож на этот механизм поиска

Из приведенного выше примера мы получаем два руководства

Общение: уведомлять друг друга

Обучение: продолжайте учиться, чтобы найти оптимальное решение

Learning the concept of better is the main problem that an optimizer should solve. Then an optimizer learns the concept of better, it is able to solve any kind of optimuzation.Because the solution of optimization problem is to find the best one . So if we know what is the better, we actually can discover the concept of best.

Рой частиц: все частицы-> оптимизация
  • any particle is a candidate solution to the optimization problem we are going to solve it.
  • any particle has a position in the search space of the optimization problem.
  • Пространство синтеза - это множество всевозможных решений задачи оптимизации.
  • We would like to find the best solution among these possible solutions in the searcher space
Каждая частица содержит две основные данные, Position & Velocity, каждая информация является вектором:


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

On every iteration of PSO , position and velocity of every particle updated.


find new position


Уравнение перехода состояния:

Среди них c 1 , c 2 " role="presentation" style="position: relative;"> c 1 , c 2 Является ли обучающий фактор, также известный как константа ускорения;

r 1 , r 2 " role="presentation" style="position: relative;"> r 1 , r 2 , Равномерное случайное число в диапазоне [0,1].

Правая часть формулы (1) состоит из трех частей:

5. Рабочие параметры алгоритма

Одним из самых больших преимуществ алгоритма PSO является то, что ему не нужно настраивать слишком много параметров, но несколько параметров в алгоритме напрямую влияют на производительность и сходимость алгоритма.

Основной алгоритм роения частиц имеет следующие семь рабочих параметров, которые необходимо установить заранее:

  1. r: количество начальных чисел в алгоритме роя частиц .Значение начального числа в алгоритме роя частиц может быть случайно сгенерировано или зафиксировано на начальном значении.
  2. m: размер популяции частиц, то есть количество особей, содержащихся в популяции, обычно принимается за 20-40. Когда есть более двух лет, вы можете взять большее количество 100 или более.
  3. max_d: обычно соответствует максимальному количеству итераций с минимальными требованиями к ошибкам. Максимальное количество итераций алгоритма роя частиц также является числом условий завершения.
  4. r1, r2: два весовых коэффициента ускорения, которые изменяются между [0,1], генерируются случайным образом.
  5. c1, c2: постоянная ускорения, случайным образом принять значение около 2.
  6. w: генерируется инерционным весом.
  7. vk, xk: значения скорости и смещения частицы, использует алгоритм роя частиц для итерации каждой группы значений.

6. Основной поток алгоритма

  1. Инициализируйте рой частиц, включая размер популяции N, положение каждой частицы x i " role="presentation" style="position: relative;"> x i И скорость v i " role="presentation" style="position: relative;"> v i 。
  2. Рассчитать значение пригодности каждой частицы F i t [ i ] " role="presentation" style="position: relative;"> F i t [ i ] 。
  3. Рассчитайте каждую частицу и используйте ее значение пригодности F i t [ i ] " role="presentation" style="position: relative;"> F i t [ i ] И отдельные крайности p b e s t ( i ) " role="presentation" style="position: relative;"> p b e s t ( i ) Сравните, если F i t [ i ] > p b e s t ( i ) " role="presentation" style="position: relative;"> F i t [ i ] > p b e s t ( i ) Тогда используйте F i t [ i ] " role="presentation" style="position: relative;"> F i t [ i ] замещать p b e s t ( i ) " role="presentation" style="position: relative;"> p b e s t ( i ) 。
  4. Рассчитайте каждую частицу и используйте ее значение пригодности F i t [ i ] " role="presentation" style="position: relative;"> F i t [ i ] И глобальный экстремум g b e s t ( i ) " role="presentation" style="position: relative;"> g b e s t ( i ) Сравните, если F i t [ i ] > g b e s t ( i ) " role="presentation" style="position: relative;"> F i t [ i ] > g b e s t ( i ) Тогда используйте F i t [ i ] " role="presentation" style="position: relative;"> F i t [ i ] замещать g b e s t ( i ) " role="presentation" style="position: relative;"> g b e s t ( i ) 。
  5. Обновить положение частиц в соответствии с уравнениями (4-1) и (4-2) x i " role="presentation" style="position: relative;"> x i И скорость v i " role="presentation" style="position: relative;"> v i 。
  6. Выйдите, если выполнено условие завершения (ошибка достаточно хорошая или достигнуто максимальное количество циклов), в противном случае вернитесь к шагу 2.

7. Вручную реализовать PSO

Пример 1: Решите минимум следующих функций:

9. Адаптивное взвешивание

Пример 2: решение функций с адаптивными весами

Среди них число частиц равно 50, факторы обучения равны 2, значение веса инерции равно [0,6,0,8], а число шагов итерации равно 100.

Установите целевую функцию:


10. Линейный метод уменьшения веса

11. Алгоритм на основе гибридизации (генетический алгоритм)

12. На основе естественного отбора

13. На основе имитации отжига

14. MATLAB Particle Swarm Toolbox

Конкретные шаги по добавлению набора инструментов здесь не упомянуты, их много в Интернете.

Пример 3: Рассчитать минимальное значение функции:

Определите код MATLAB для оптимизации:

Вызовите основную функцию алгоритма PSO: pso_Trelea_vectorized

Вы можете получить ответ.

Функция в алгоритме PSO pso_Trelea_vectorized В строке 173 параметры PSO устанавливаются следующим образом:

  • 100: количество интервалов, отображаемых в командном окне MATLAB
  • 2000: максимальное количество итераций
  • 24: число начальных значений инициализации. Чем больше начальных значений, тем больше вероятность того, что оно приблизится к глобальному оптимальному значению, но алгоритм имеет более медленную скорость сходимости.
  • 2: параметры ускорения алгоритма влияют на локальное оптимальное значение и глобальное оптимальное значение соответственно и, как правило, не требуют изменения
  • 0,9 и 0,4 являются взвешенными значениями начального времени и времени сходимости и, как правило, не требуют изменения
  • 1500: когда число итераций превышает это значение, взвешенное значение является наименьшим
  • 1e-25: одно из условий завершения алгоритма. Когда оптимальное значение соответствующей совокупности за две итерации меньше этого порога, алгоритм останавливается
  • 250: Одно из условий завершения алгоритма, когда выбран NaN, оно выражается как задача оптимизации без ограничений (то есть, нет никакого дополнительного уравнения ограничения)
  • 0: укажите, какой тип PSO использовать, 0 означает нормальный алгоритм PSO
  • 1: укажите, нужно ли указывать начальное число, 0 означает случайное создание начального числа, 1 означает, что пользователь сам сгенерирует начальное число

Интеллектуальная рекомендация


Я не пойду домой в этом году, но я хочу сказать вам эти слова

Праздник весны - это смысл и продолжение дома. Репортер новостей Китая Ли Пэйюнь Независимо от того, где на пути вперед семья всегда будет самой сильной поддержкой. China News репортер Чжай Лу фото То.


6,2 млн. Маккоинов вступили в строку 30 раз, посмотрите, как токена макета McDonald's

Эта статья от Wechat Public AccountDappVisionОригинальный запуск, перепечаток, пожалуйста, свяжитесь с авторизацией Вчера монеты McDonald's Maccoin были на линии. Чтобы ознамерить 50-летие рождения ги.


jQuery Great Plugin

HTML: js: Quote JS Class: Рендеринг.

[Регулировка кода диссертации] сверточная нейронная сеть для моделирования предложений

Эта бумага использует динамическое объединение K-MAX и широкий том усиливает точность моделирования предложений, в NLP, когда длина свертки относительно велика, длина входного вектора относительно вел.

Идеальное решение для клавиатуры на стороне iOS блокирует поле ввода, то есть позиция поле ввода увеличивается по мере роста клавиатуры

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

Читайте также: