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


15

Здається, існує два основні види тестової функції для непохідних оптимізаторів:

  • одноводкові накладки Розенброк функціонують далі, із початковими точками
  • набори реальних точок даних, з інтерполятором

Чи можна порівняти скажімо 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

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

Нещодавнє ретельне порівняння методів без похідних для дорогих функцій див. У розділі Оптимізація без похідних: огляд алгоритмів та порівняння програмних реалізацій . LM Rios, NV Sahinidis - doi 10.1007 / s10898-012-9951-y Журнал глобальної оптимізації, 2012. (Див. Також супутню веб-сторінку: http://archimedes.cheme.cmu.edu/?q=dfocomp )


Професоре Ноймайє, чи могли б ви вказати на деякі реальні проблеми, докази, що "метод, який не може добре вирішити стандартні проблеми, навряд чи добре працює над проблемами реального життя"? Я розумію, що це непросто. (Мені будуть цікаві ваші коментарі щодо Хукера.) Крім того, для швидкого перегляду моделей c зі свого посилання показано, що Princetonlibgloballib вимагає AMPL, а у source_convexmodels * .c всі відсутні ";" після fscanf () - тривіальний але
denis

@ Деніс: Такі проблеми, як Розенброк, виникають з перших днів автоматизованої оптимізації, де люди виділяли типові труднощі на простих репрезентативних прикладах, які можна вивчити без чисельних складностей проблем реального життя. Таким чином, вони насправді не штучні, а спрощені моделі реальних труднощів. Наприклад, Розенброк ілюструє комбінований ефект сильної нелінійності та легкого поганого стану.
Арнольд Ноймаєр

Сайт AMPL ampl.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/comcharge-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.