Методи, засновані на Ньютоні, в оптимізації порівняно з розв’язуванням систем нелінійних рівнянь


12

Я попросив роз'яснити нещодавнє запитання про minpack , і отримав наступний коментар:

Будь-яка система рівнянь еквівалентна задачі оптимізації, саме тому методи оптимізації, засновані на Ньютоні, дуже схожі на методи, засновані на Ньютоні, для рішення систем нелінійних рівнянь.

Що мене бентежить у цьому коментарі (та пов’язані з цим негативні думки щодо спеціалізованих нелінійних вирішувачів найменших квадратів, таких як minpack), можливо, найкраще пояснити на прикладі методу спряженого градієнта . Цей метод можна застосовувати до систем із симетричною позитивно певної матриці . Він також може бути використаний для вирішення загальної задачі про найменший квадрат для довільної матриці , але робити це не рекомендується. Одне з пояснень, чому ми цього не повинні робити, - це те, що номер умови системи значно збільшиться.Ax=bAminx||Axb||2A

Але якщо перетворення системи рівнянь на задачу оптимізації вважається проблематичним навіть для лінійного випадку, чому це має бути менш проблематичним для загального випадку? Здається, це якимось чином пов'язане з використанням сучасного алгоритму оптимізації мистецтва, замість того, щоб використовувати нерівномірне вирішення нелінійних найменших квадратів злегка постарілих. Але хіба проблеми, пов'язані з викиданням інформації та збільшенням кількості умов системи, відносно не залежать від фактично використовуваного алгоритму оптимізації?

Відповіді:


10

Оскільки в одній з моїх відповідей було цитовано, я спробую пояснити, чому я запропонував використовувати IPOPT замість MINPACK.

Мої заперечення щодо використання MINPACK не мають нічого спільного з алгоритмами, які використовує MINPACK, і всім пов'язаним з їх реалізацією. Моє основне заперечення полягає в тому, що програмне забезпечення датується 1980 роком, а останній раз оновлено у 1999 році. Jorge Moré є пенсіонером; Я сумніваюся, що він чи хтось із інших авторів цього програмного забезпечення більше не підтримує вкладки, і немає жодної команди людей, які активно його підтримують. Єдина документація, яку я можу знайти на це програмне забезпечення, - це оригінал технічного звіту Argonne 1980 р., Написаний Хорхе Море та іншими авторами MINPACK. (Розділи 1-3 можна знайти тут , а Розділ 4 - тут.) Після пошуку вихідного коду MINPACK та аналізу документації (PDF-файли скановані зображення, і їх неможливо шукати), я не бачу жодних варіантів, щоб пристосувати обмеження. Оскільки оригінальний плакат нелінійної задачі найменших квадратів хотів вирішити обмежену нелінійну задачу з найменшими квадратами, MINPACK навіть не вирішив цю проблему.

Якщо ви подивитеся на список розсилки IPOPT, деякі користувачі вказують, що продуктивність пакету щодо нелінійних проблем з найменшими квадратами (NLS) є змішаною щодо алгоритмів Левенберга-Маркварда та більш спеціалізованих алгоритмів NLS (див. Тут , тут і тут ). Продуктивність IPOPT щодо алгоритмів NLS, безумовно, залежить від проблеми. Враховуючи, що відгуки користувачів, IPOPT здається розумною рекомендацією щодо алгоритмів NLS.

Однак ви добре зазначаєте, що алгоритми NLS слід досліджувати. Я згоден. Я просто думаю, що слід використовувати пакет, більш сучасний, ніж MINPACK, тому що я вважаю, що він буде краще працювати, бути більш корисним та матиме підтримку. Церера здається цікавим пакетом кандидатів, але зараз вона не може впоратися із обмеженими проблемами. ТАОбуде працювати над проблемами з мінімальними квадратами, хоча він не реалізує класичний Левенберг-Маркард, а натомість реалізує алгоритм, що не містить похідних. Алгоритм без похідних, ймовірно, добре би працював для масштабних проблем, але я не використовував би його для маломасштабних проблем. Я не міг знайти жодного іншого пакету, який би викликав велику впевненість у їх розробці програмного забезпечення. Наприклад, GALAHAD, схоже, не використовує контроль версій або автоматичне тестування на перший погляд. MINPACK теж не робить цього. Якщо у вас є досвід роботи з MINPACK або рекомендації щодо кращого програмного забезпечення, я все чую.

Зважаючи на це, повертаючись до цитати мого коментаря:

Будь-яка система рівнянь еквівалентна задачі оптимізації, саме тому методи оптимізації, засновані на Ньютоні, дуже схожі на методи, засновані на Ньютоні, для рішення систем нелінійних рівнянь.

Кращий коментар - це, мабуть, щось, що стосується:

Коли ми хочемо розв’язати систему рівнянь з невідомими , ми можемо сформулювати це як найменш задачу оптимізації квадратів. (Парафраза останнього абзацу ст.102 нелінійного програмування , 2-е видання, Дмитро Берцекас.)n g ( x ) = 0nng(x)=0

Це твердження справедливо навіть для розв'язання систем рівнянь з обмеженнями. Я не знаю жодних алгоритмів, які вважаються "рішеннями рівнянь" для випадку, коли є обмеження змінних. Загальний підхід, який я знаю, можливо, пожовклий декількома семестрами курсів з оптимізації та досліджень в лабораторії з оптимізації, полягає у включенні обмежень щодо системи рівнянь у формулу оптимізації. Якби ви намагалися використати обмеження в подібній схемі Ньютона-Рафсона для розв’язання рівнянь, ви, ймовірно, закінчилися проектованим градієнтом або методом прогнозованої області довіри, подібно до методів, що використовуються в обмеженій оптимізації.


У мене є досвід роботи з MINPACK. Це досить добре, як місцевий метод. Мені подобається, що критерії зупинки працюють добре, не змінюючи налаштування. Я знаю, що річ із обмеженнями може дратувати, тим більше, що це не буде серйозною зміною самого алгоритму. Я навіть знаю про реалізацію LM, які пропонують межі змінних та загальних лінійних обмежень, але ці реалізації не набагато молодші від самого MINPACK, і я не намагався їх оцінювати.
Томас Клімпель

1
Пару гнид: Я маю зовсім протилежну точку зору щодо методів, що не мають похідних. Похідні - це єдиний «швидкий» спосіб дослідження просторового дизайнерського простору. Якщо проектний простір невеликий, вигідніше пропускати похідні, але кількість ітерацій обов'язково зростає в міру збільшення розмірності. Також напівгладкий ньютон, активні методи набору та монотонна мультисетка можуть бути застосовані до варіативних нерівностей, включаючи несиметричні VI. Нарешті, якщо ви відкинете і мінімізуєте , у вас більше немає локальної міри, за допомогою якої можна визначити глобальне рішення. g(x)=0g(x)2
Джед Браун

@JedBrown: Я повинен змінити мову навколо. На мою думку, оптимізація без похідних (DFO) є кращою лише тоді, коли оцінка функцій дуже дорога. Чомусь на перший погляд, що приходить до тями, це те, коли мета передбачає вирішення PDE, і саме тому я сказав "широкомасштабний" (звичайно, для мене оптимізація, "масштабний PDE" означає щось інше, ніж для вас, хто регулярно вирішує PDE, паралельно). Коли я думаю про "розв’язування рівнянь з обмеженнями", проблема, яку я маю на увазі, - . (продовження)g(x)=0,xS,SRn,SRn
Джефф Оксберрі

@JedBrown: Стандартний спосіб вирішення цієї проблеми - це вирішити . Можуть бути й інші способи, але я не знаю жодного. Я не припускаю, що одна відмова ; мінімуми з ненульовими значеннями об'єктивної функції явно не вирішують розв'язувану систему рівнянь. У неконвексному випадку для підтвердження існування чи відсутності рішень необхідні методи глобальної оптимізації. Я не маю великого досвіду змінних нерівностей, тому мені не відразу зрозуміло, де візити тут грають, тим більше, що не обов'язково є конусом. minxSg(x)2g(x)=0S
Джефф Оксберрі

1
Таким чином , ви все одно повинні бути в змозі точно визначити , що ви маєте в виду рішення , яке лежить на кордоні . VI, часто написані як доповнювальна формулювання, роблять саме так. У мене протилежна думка щодо деривативів, особливо коли дизайн-простір великий. Якщо мета передбачає дороге вирішення PDE, я розглядаю це як вимогу, що ми маємо суміжний, щоб ми могли використовувати градієнти для дослідження дизайнерського простору. Примикання до PDE коштує лише невелике кратне рішення вперед, незалежно від розмірності простору. Це ставить додаткові вимоги до плавності моделі. S
Джед Браун

14

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

Сюжет оригінальної мети

Очевидно, що це унікальний мінімум, і ми очікуємо, що наш метод оптимізації знайде його незалежно від початкової точки. Але якщо ми подивимось лише на умови оптимальності першого порядку, ми шукаємо рішення of [Wolfram Alpha]xf(x)=0

градієнт

який має унікальне рішення, але багато методів кореневої фіксації можуть зациклюватися на локальному мінімумі.

Якщо переформулює нову задачу оптимізації для мінімізації норми градієнта в квадраті, ми шукаємо глобальний мінімум з [Wolfram Alpha] , який має кілька локальних мінімумів.xf(x)2

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

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

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


Джеде, ці посилання WA не зовсім підходять до того, що ти кажеш, що вони роблять. Круглі дужки ігноруються або неправильно передаються в URL.
Білл Барт

Як не дивно, посилання працюють на мене. Чи може це залежати від веб-браузера? Будь-які пропозиції щодо альтернативного способу представити це?
Джед Браун

Не впевнений. Вирізання та вставлення переформатованого посилання з однієї вкладки на іншу призводить до того, що він закрутить WA, щоб знову його накрутити!
Білл Барт

Хтось ще має проблеми із посиланнями? Я спробував у кількох браузерах, і це працює добре у кожному випадку.
Джед Браун

Це приємна відповідь. Однак я вирішив прийняти відповідь Джеффа Оксберрі, тому що частина того, що я намагався зрозуміти, - це питання "реального світу", пов'язані з цим питанням. Це включає в себе те, що такі люди, як я, використовують і рекомендують MINPACK, незважаючи на знання про його недоліки, а також, що інші люди просять поради щодо вирішення "тривіально малих" нелінійних систем, але не встигають перевірити навіть один вирішувач протягом трьох місяців період часу.
Томас Клімпель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.