Эксперименты настроены так, чтобы время работы на небольших размерах было сбалансировано. Это означает: усилия для ГА увеличиваются, усилия для АСО уменьшаются. Для средних и больших размеров задач вы видите, что алгоритмы масштабируются плохо: время выполнения увеличивается сверхлинейно по отношению к размеру задачи. Избегайте их для больших задач.
Добавлен стандартный алгоритм непрерывной оптимизации: BiteOpt от Алексея Ванеева — с использованием той же функции приспособленности, что и в GA.py. BiteOpt — единственный алгоритм, который хорошо работает с большими размерами задач. Это, безусловно, самая простая реализация, нужно закодировать только функцию приспособленности, поскольку мы можем применить библиотеку непрерывной оптимизации fcmaes. Выполните команду «pip install fcmaes», чтобы использовать её.
Используется NestablePool для включения многопроцессорности BiteOpt: многие запуски оптимизации BiteOpt выполняются параллельно, и возвращается наилучший результат. Установите workers=1, если хотите протестировать однопоточный BiteOpt.
Все результаты создаются с использованием 16-ядерного процессора AMD 5950x, используются все ядра: 29 параллельных потоков BiteOpt, остальные 3 алгоритма остаются однопоточными.
Добавлен test_bite.py, где можно отслеживать прогресс BiteOpt применительно к задаче.
Добавлен test_mode.py, где можно следить за прогрессом fcmaes-MODE применительно к задаче и сравнивать его с BiteOpt для того же экземпляра. fcmaes-MODE — это многоцелевой оптимизатор, применяемый к многоцелевому варианту задачи. Цели: вознаграждение (максимизируется), максимальное время (минимизируется), энергия (минимизируется). Ограничение максимального времени из случая с одной целью всё ещё действует. Потребление энергии аппроксимируется как сумма (dt * v * v).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )