Нелінійні найменші квадрати з обмеженнями в коробці


10

Які рекомендовані способи виконання нелінійних найменших квадратів, min , з обмеженнями поля ? Мені здається (дурні кидаються), що можна було б обмежити поле квадратичним і мінімізувати \ sum_i err_i (p) ^ 2 + C * \ sum_j tub (p_j, lo_j, hi_j) ^ 2, де tub (x, lo, привіт) "функція діжки" має форму \ _ _ _ /, max (lo - x, 0, x - hi) . Чи працює це в теорії, чи працює на практиці? (Здається, є багато теоретичних праць про NLS +, але мене цікавить практичний характер - реальні чи реалістичні тестові випадки допоможуть мені вибрати серед методів.) l o j < = p j < = h i jerri(p)2loj<=pj<=hijtub(x,lo,hi)

ierri(p)2+Cjtub(pj,loj,hij)2
tub(x,lo,hi)max(lox,0,xhi)


(Експерти, будь ласка, додайте теги: "найменше квадратів"?)


5
Заміна суворих обмежень штрафними функціями є загальною методикою чисельної оптимізації. Здається, те, що ви пропонуєте, є певною формою цієї заміни. Ви можете прочитати все про подібні методики, наприклад, тут: stanford.edu/~boyd/cvxbook
Девід Кетчесон

Ви можете використовувати відповідну параметризацію щоб задовольнити обмеження в коробці (наприклад, . Що стосується розв'язувачів NLS, Левенберг-Маркардт достатньо хороший більшість часу , можливо , в поєднанні з глобальним стохастичного оптимізатора , як моделюється відпалу Деякі комерційні набори інструментів , ймовірно , також методи регіону пропонують цільові на основі адаптивних моделей поверхні відгуку, яка виглядає як розумне узагальнення Левенберга-Марквардт мені ..ppi=min(max(loj,pj),hij)
Thomas Klimpel

Відповіді:


11

Додавання покарань у квадраті для позбавлення від обмежень - це простий підхід, що забезпечує точність порядку 1 / лише коефіцієнт штрафу. Отже, не рекомендується дотримуватися високої точності, якщо ви не відпустите штраф у нескінченність під час обчислення. Але високий штрафний коефіцієнт робить Гессіана дуже поганим умовою, що обмежує загальну точність, яку можна досягти, не враховуючи обмежень прямо.

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

Розв’язувач L-BFGS-B (використовується з приблизно 5-мірною історією) зазвичай вирішує пов'язані задачі дуже надійно і швидко в обох низьких розмірах. Винятком є ​​невідповідність проблем, які можуть стати дуже рівними далеко не рішеннями, де легко зациклюватися методом спуску.

Ми здійснили безліч експериментів над дуже різноманітними функціями в самих різних вимірах, маючи багато різних вирішувачів, тому що нам був потрібний дуже надійний обмежений пристрій для обмеженого зв’язку як частина нашого програмного забезпечення для глобальної оптимізації. L-BFGS-B чітко виділяється як метод загального призначення, хоча, звичайно, при проблемах зі сміхом інші вирішувачі працюють значно краще. Тому я б рекомендував L-BFGS-B як перший вибір, і я б спробував альтернативні методи на випадок, якщо L-BFGS-B погано впорається з вашим конкретним класом проблем.


L-BFGS доступний в IPOPT, я переглянув свою відповідь.
Алі

5

Я б просто застосував вирішувач IPOPT загального призначення NLP . Це найміцніший вирішувач серед тих, кого я спробував.

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

Зміна вимог (наприклад, додавання нелінійних обмежень) може спричинити великий головний біль із вирішенням проблеми. У вас не буде таких проблем, якщо ви будете використовувати IPOPT загального призначення.


ОНОВЛЕННЯ: Ви можете спробувати L-BFGS з IPOPT , див. У Quasi-Newton у документації.

Процедура рішення може стати швидшою за рахунок псування надзвичайної надійності IPOPT. На мою думку , використовуйте точні похідні, якщо вони є в наявності. Я б почав возитися з наближеннями (наприклад, L-BFGS), тільки якби у мене були проблеми з продуктивністю.


Я не знаю, наскільки добре працює IPOPT, але ваша пропозиція нагадує мені про подібні заяви захисників симплексного методу вниз. Оскільки нелінійні найменші квадрати є загальним класом проблем, відверте відхилення використання одного з існуючих вирішувачів NLS здається мені трохи підозрілим.
Томас Клімпель

@ThomasKlimpel Ну, деніс повинен дати нам більше деталей, тоді ми могли б допомогти йому вибрати правильний вирішувач. :) Або він може перевірити це на собі і з’ясувати, хто з них відповідає найкращим потребам. IPOPT, здається, є хорошим рішенням для початку.
Алі

@Ali, чи можете ви вказати на якісь "реальні чи реалістичні тестові випадки"?
denis

@denis я міг, але я не маю наміру цього робити, це відкине тебе з колії. Важливо лише те, як IPOPT вирішує вашу проблему . Якщо у вас немає якихось особливих вимог, це має добре вирішити. IPOPT має інтерфейси для MATLAB, C ++, C, Fortran, R, AMPL, CUTEr. Виберіть один інтерфейс і протестуйте те, що трапиться з вашою проблемою :) Тестування вирішення проблеми, яке було б вирішено, також не було б простішим.
Алі

@Thomas Klimpel, гадаю, мені не було зрозуміло: я не відкидаю, не розпитую про пакунки, а прошу розуміння або тестування: чому цей тривіальний метод не спрацює добре?
denis

1

Пакет CRAN R minpack.lm забезпечує реалізацію Левенберга- Маркарда з обмеженнями в коробці.

Загалом, Левенберг-Марквард набагато краще підходить, ніж L-BFGS-B, для проблем з найменшими квадратами. Це зблизиться (набагато) краще у складних проблемах. Він також буде набагато швидшим, ніж IPOPT загального призначення, оскільки він адаптований до нелінійних задач з найменшими квадратами.

Пакет R вибирає дуже простий проекційний підхід для забезпечення обмежень (див . Вихідний код ). Залежно від реалізації LM, яку ви використовуєте, включити її може бути просто.

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


0

(Через роки) два вирішувачі, які обробляють обмеження коробки:

  • У Scipy найменших квадратів є 3 методи, з великим документом:

    1. 'trf': Довіряючий регіон, що відбиває
    2. 'собачий ящик'
    3. 'lm': застаріла обгортка для MINPACK, без обмежень у коробці.
  • ceres

1
Експерт прямо говорить, що алгоритм Левенберга-Маркарда не може впоратися з обмеженнями.
грудень
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.