Обсуждение статьи "Алгоритм оптимизации центральной силы — Central Force Optimization (CFO)"

 

Опубликована статья Алгоритм оптимизации центральной силы — Central Force Optimization (CFO):

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

Сила притяжения рассчитывается по правилам, похожим на закон всемирного тяготения Ньютона. Она зависит от разницы в "весе" между пробами (разницы в качестве решений) и расстояния между ними. Проба с высоким значением фитнес-функции сильно притягивает близлежащие пробы с низкими значениями, но слабо влияет на далекие пробы. Под действием этих сил каждая проба получает ускорение и начинает двигаться. Маленькие, "легкие" пробы устремляются в сторону более "тяжелых", как если бы шарики катились по склонам холмов к вершинам. С каждым шагом алгоритма пробы пересчитывают силы притяжения и корректируют свое движение. Если проба пытается выйти за установленные границы области поиска, срабатывает механизм отражения – представьте, что на краю территории стоит стена, от которой проба отскакивает обратно в допустимую область.

Со временем пробы начинают собираться вокруг высоких точек ландшафта. Большинство из них концентрируется вокруг наиболее перспективных областей, и с каждой итерацией они всё точнее определяют положение вершин. В идеале, если дать алгоритму достаточно времени, все пробы должны собраться вокруг глобального максимума  самой высокой точки во всем ландшафте.

Особенность CFO в том, что он в своей основе является детерминированным алгоритмом – если запустить его дважды с одинаковым начальным распределением проб, он даст одинаковый результат. Это отличает его от многих других метаэвристических алгоритмов, которые полагаются на случайность. 

cfo-algorithm

Автор: Andrey Dik