Тестирование методов численной оптимизации: Розенброк против реальных тестовых функций

15

Кажется, есть два основных типа тестовых функций для оптимизаторов без производных:

  • однострочники типа функции Розенброка ff., с начальными точками
  • наборы реальных точек данных с интерполятором

Можно ли сравнить, скажем, 10d Rosenbrock с реальными проблемами 10d?
Можно было сравнивать по-разному: описывать структуру локальных минимумов
или запускать оптимизаторы ABC на Розенброке и некоторых реальных проблемах;
но оба из них кажутся трудными.

(Может быть, теоретики и экспериментаторы - это две совершенно разные культуры, поэтому я прошу химеру?)

Смотрите также:


(Добавлено в сентябре 2014 г.):
На приведенном ниже графике сравниваются 3 алгоритма DFO для 14 тестовых функций в 8d из 10 случайных начальных точек: BOBYQA PRAXIS SBPLX из NLOpt
14 N-мерных тестовых функций, Python под gist.github из этого Matlab от A. Хедар ××
× 10 равномерно-случайных начальных точек в ограничительной рамке каждой функции.

Например, в Экли верхний ряд показывает, что SBPLX лучший, а PRAXIS ужасный; на Schwefel в нижней правой панели показано SBPLX, находящее минимум в 5-й случайной начальной точке.

В целом, BOBYQA лучше всех на 1, PRAXIS на 5 и SBPLX (~ Nelder-Mead с перезапусками) на 7 из 13 тестовых функций, с Powersum - броском. YMMV! В частности, Джонсон говорит: «Я бы посоветовал вам не использовать значение функции (ftol) или допуски параметров (xtol) в глобальной оптимизации».

Вывод: не кладите все свои деньги на одну лошадь или на одну тестовую функцию.

введите описание изображения здесь

Денис
источник

Ответы:

13

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

Недавнее тщательное сравнение методов без дериватов для дорогих функций см. В разделе Оптимизация без производных: обзор алгоритмов и сравнение программных реализаций . Л.М. Риос, Н.В. Сахинидис - дои 10.1007 / s10898-012-9951-й Журнал глобальной оптимизации, 2012. (См. Также прилагаемую веб-страницу: http://archimedes.cheme.cmu.edu/?q=dfocomp )

Арнольд Ноймайер
источник
Профессор Ноймайер, не могли бы вы указать на некоторые реальные проблемы, свидетельство того, что «метод, который не может хорошо решить стандартные проблемы, вряд ли будет хорошо работать на реальных проблемах»? Я понимаю, что это не легко. (Мне были бы интересны ваши комментарии к Hooker.) Кроме того, быстрый просмотр моделей c по вашей ссылке показывает, что princetonlibgloballib требует AMPL, а во всех файлах source_convexmodels * .c отсутствует ";" после fscanf () - тривиально, но
Денис
@Denis: Такие проблемы, как Розенброк, возникли в первые дни автоматизированной оптимизации, когда люди выделяли типичные трудности в простых репрезентативных примерах, которые можно изучать без количественных сложностей реальных задач. Таким образом, они на самом деле не искусственные, а упрощенные модели реальных трудностей. Например, Розенброк иллюстрирует комбинированный эффект сильной нелинейности и легкого недомогания.
Арнольд Ноймайер
Сайт AMPL amp.com предлагает бесплатную студенческую версию для AMPL.
Арнольд Ноймайер,
7

Преимущество синтетических тест-кейсов, таких как функция Розенброка, состоит в том, что существует сравнительная литература, и в сообществе есть смысл, как хорошие методы ведут себя на таких тест-кейсах. Если бы каждый использовал свой собственный тестовый сценарий, было бы гораздо сложнее прийти к общему мнению, какие методы работают, а какие нет.

Вольфганг Бангерт
источник
1

(Я надеюсь, что я не возражаю против того, чтобы я вступил в конец этой дискуссии. Я новичок здесь, поэтому, пожалуйста, дайте мне знать, если я преступил!)

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

http://www.cec2015.org/

Эти тестовые наборы теперь включают функции с несколькими нелинейными взаимодействиями между переменными. Число переменных может достигать 1000, и я думаю, что это может увеличиться в ближайшем будущем.

Еще одно недавнее нововведение - «Конкурс по оптимизации черного ящика». Видеть: http://bbcomp.ini.rub.de/

Алгоритм может запросить значение f (x) для точки x, но он не получает информацию о градиенте и, в частности, он не может делать какие-либо предположения об аналитической форме целевой функции.

В некотором смысле это может быть ближе к тому, что вы назвали «реальной проблемой», но в организованной, объективной обстановке.

Лисистрата
источник
1) «Нет возражений»: наоборот, ваши хорошие ссылки приветствуются! 2) есть ли хорошие участки? Методы и проблемы фрактализуются, и каждому становится все труднее найти проблему, подобную их. В частности, знаете ли вы методы прогнозирования временных рядов ?
Денис
Целевые функции для конкурса CEC 2015 по динамической многоцелевой оптимизации можно увидеть по адресу: sites.google.com/site/cec2015dmoocomp/competition-process/… Для других соревнований перейдите на cec2015.org и нажмите на соревнования, затем нажмите на принятых соревнованиях. У каждого свои функции. Бумаги на некоторых из них имеют прекрасные сюжеты (для 2D-случаев). С конкурсами конференций GECCO можно ознакомиться по адресу: sigevo.org/gecco-2015/competitions.html#bbc Результаты будут доступны после 15 июля.
Lysistrata
0

Вы можете иметь лучшее из обоих миров. У NIST есть ряд проблем для минимизаторов, таких как подгонка этого полинома 10-й степени , с ожидаемыми результатами и неопределенностями. Конечно, доказать, что эти значения являются действительно лучшим решением, или существование и свойства других локальных минимумов сложнее, чем с помощью контролируемого математического выражения.

Davidmh
источник
Ну, проблемы NIST небольшие (2 3 1 1 11 7 6 6 6 6 6 параметров). Существуют ли тестовые наборы, которые являются «реальными» и воспроизводимыми для любого угла «реального»? Ср Запрос оптимизационных задач на основе моделирования
денис