Обсуждение статьи "Алгоритм оптимизации на основе коронавируса — Corona Virus Optimization (CVO)"

 

Опубликована статья Алгоритм оптимизации на основе коронавируса — Corona Virus Optimization (CVO):

Описываем и реализуем CVO: заражение как генерация кандидатов, покоординатное нормальное возмущение, динамическая популяция. Алгоритм интегрирован в C_AO и проверен на стандартном бенчмарке. Разбор выявляет масштабную причину стагнации и даёт прикладное решение — переход к относительному шагу по ширине диапазона; код готов к использованию.

Алгоритмов оптимизации, вдохновлённых природой, с каждым годом всё больше и почти каждая новая работа обещает быстрые и красивые графики сходимости. Трейдеру, который ищет, чем оптимизировать параметры своей торговой системы, всё труднее отделить действительно сильный инструмент от середняка, удачно поданного на лёгких низкоразмерных задачах. Corona Virus Optimization (CVO) построен на модели распространения коронавируса: заражённые особи передают симптомы восприимчивым, популяция инфицированных то разрастается, то обновляется при очередной удаче, а сила инфекции управляет масштабом шага поиска. Идея свежая, авторская статья показывает уверенные результаты — но как алгоритм поведёт себя на честном, едином для всех бенчмарке, без подбора удобных функций?

В этой статье я провожу CVO: от формул оригинала до рабочего кода в стандартном стенде C_AO. Поясняю устройство динамической популяции, смысл R0 и силы инфекции I/N, а также необходимые отступления от текста статьи. Главное из них — покоординатное возмущение, чтобы алгоритм не эксплуатировал диагональную симметрию тестовых функций. Затем — прогон по стандартному набору (Hilly, Forest, Megacity на 10, 50 и 1000 измерениях) и, что важнее результата, разбор: почему буквально точная реализация села на уровень случайного блуждания и что именно её оттуда вытаскивает.

Автор: Andrey Dik