Рой частиц
Конструктор
ParticleSwarm(; lower = [],
upper = [],
n_particles = 0)
Конструктор принимает три ключевых слова:
-
lower = []
, вектор нижних границ, неограниченный снизу, если он пуст илиInf
-
upper = []
, вектор верхних границ, неограниченный сверху, если он пуст илиInf
-
n_particles = 0
, количество частиц в рое (по умолчанию не менее трех)
Описание
Реализация роя частиц в Optim.jl является так называемым адаптивным алгоритмом роя частиц в [1]. Он пытается улучшить глобальный охват и сходимость, переключаясь между четырьмя эволюционными состояниями: исследование, использование, сходимость и отскакивание. В состоянии отскакивания он намеренно пытается взять лучшую частицу и отодвинуть ее от ее (потенциально и вероятно) локального оптимума, чтобы улучшить возможность поиска глобального оптимума. Конечно, это достигается за счет замедления сходимости, но будем надеяться, что в результате будет получен глобальный оптимум.