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


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-й степени , с ожидаемыми результатами и неопределенностями. Конечно, доказать, что эти значения являются действительно лучшим решением, или существование и свойства других локальных минимумов сложнее, чем с помощью контролируемого математического выражения.


Ну, проблемы NIST небольшие (2 3 1 1 11 7 6 6 6 6 6 параметров). Существуют ли тестовые наборы, которые являются «реальными» и воспроизводимыми для любого угла «реального»? Ср Запрос оптимизационных задач на основе моделирования
денис
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.