2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Квазиньютоновские (град) методы с нелинейными ограничениями
Сообщение28.02.2020, 22:55 


11/08/18
363
Добрый день,

вопрос возник после обсуждения topic139067.html

Дана функция $f(x_1,\dots,x_n) \in \R$, для которой можно быстро посчитать градиент в заданной точке (да хотя бы Бауэром-Штрассеном) и хочется найти минимум этой функции.

Но на минимум наложено одно или несколько ограничений, или в виде тихоновских регуляризаторов или в виде лагранжевых множителей, то есть имеется набор $g_i(x_1,\dots,x_n), ~~ i=1, \dots, I$, для которых тоже есть хорошо вычисляемые градиенты, что нам надо найти

$$\min_{x_1, \dots, x_n} f(x_1,\dots,x_n) + \sum_{i=1}^I \alpha_i g_i(x_1,\dots,x_n) \eqno (1)$$

где $\alpha_i$ либо лагранжевы множители, либо тихоновские регуляризаторы.

Одним из таких примеров можно рассмотреть параметры $x_1,\dots,x_n$, которые задают границу какой-либо области (например лопасть лопатки турбины) а функция - суть величина тяги, вычисленная из решения уравнений Навье-Стокса с такой турбиной, или еще чего похожего. В этом случае, набор $g_i$ - это какие-то технологические ограничения, например, на гладкость, какие-то углы, или еще чего.

Если есть свой решатель (того же Навье-Стокса) написать градиент не составляет большого труда (или прикрутить туда Бауера-Штрассена), а число варьируемых параметров $x_1,\dots,x_n$ достаточно высок, чтобы задумываться об использовании симплекс методов.

Если бы $g_i$ не было, то вроде тут гадать нечего, LM-BFGS более-менее самое то. Но вот применить BFGS вместе с ограничениями очень затруднительно.

Понятно можно минимизировать (1), выбирая вначале $\alpha_i$ маленькими, и постепенно их увеличивая. Будем исходить из того, что выразить какие-то переменные через другие, сократив размерность и убирая лагранжевые множители нельзя.

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

Спасибо!

 Профиль  
                  
 
 Re: Квазиньютоновские (град) методы с нелинейными ограничениями
Сообщение02.03.2020, 21:48 


16/04/19
161
Вопрос в том как задать краевые условия в уравнениях Навье-Стокса? Ну пусть есть сопряжённая задача: Навье-Стокса для жидкости и механика для лопатки. Осталось понять, что и как передаётся через эту границу между двумя решателями. В крайнем случае можно просто решать по-очереди механику и Стокса, пока итерации не сойдутся(Из Стокса как-нибудь вычислить давления на лопатку, подставить в механику, откуда получить скорость лопатки, подставить её как краевое в Стокса и т.д.). В простейшем случае турбина задаёт скорости, они в качестве краевых подставляются в Стокса и решается задача, не?
В идеале может получиться ввести дополнительные переменные, которые определяют контактную границу и входят в механику и в Стокса(типа прям совсем двустороннее сопряжение), но из сабжа вообще ничего не понял, плюс это наверно не всегда просто/можно сделать(люди не просто так платят за ансисы), гуглите сопряжённые задачи. Ещё есть некие [квази]вариационные неравенства, о них совсем ничего не знаю.
Ну а по уравнению $(1)$ не понятно, где тут нелинейные ограничения и чем мешают $g_i$, если для них легко вычисляются градиенты.
(сообщение написано просто для поддержания темы)

 Профиль  
                  
 
 Re: Квазиньютоновские (град) методы с нелинейными ограничениями
Сообщение03.03.2020, 02:18 


11/08/18
363
Спасибо большое, за ответ!

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

А дальше - начинается самое интересное. Форма лопатки - неизвестна. Мне нужно ее найти. Я могу от балды взять ее прямолинейной. Я могу ее сделать с какой-то закорючкой, и вообще волнами. Можно поставить несколько лопаток, можно сотню.

И цель всего - именно оптимальная форма лопатки. А моя функция $f$ - это тот самый больцмановский решатель, который взяв в виде параметров форму лопатки и еще кучу каких-то дополнительных параметров может выдать величину тяги моей турбы.

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

Ну и на последок - да, можно описать поверхность этой лопатки мелкой-мелкой сеточкой, на пару миллионов конечных элементов, и иметь функцию $f$ как раз зависимую от пары миллионов параметров этой конечноэлементной дискретизации. А можно взять 5-10 точек и провести очень грубо по ним сетку. В случае с парой миллионов конечных элементов мы зависним на итерациях квазитньютона, который при этом числе неизвестных даже теоретически не сойдется за меньше сотни итераций (мы же еще помним, что каждая итерация - это полное решение Больцманом всей этой задачи). В случае с 5-10 точек скорей всего геометрия этой лопатки будет на столько отвратная, что и сходиться будем плохо, и результат на выброс будет.

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

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

 Профиль  
                  
 
 Re: Квазиньютоновские (град) методы с нелинейными ограничениями
Сообщение03.03.2020, 17:41 
Заслуженный участник


18/01/15
3231
ilghiz в сообщении #1442140 писал(а):
Бауэром-Штрассеном
Правильно Баур, без "э" или "е".

-- 03.03.2020, 17:01 --

ilghiz в сообщении #1442140 писал(а):
как такое называется,

Я бы назвал это "нелинейная оптимизация с ограничениями", "constrained nonlinear optimization". Есть еще такой термин "математическое программирование" (здесь "программирование" должно означать не создание программ для компьютера, а планирование в экономике. Отсюда и термин "линейное программирование", кстати). Насчет литературы счас прикину (сам не специалист, если чо, но кое о чем в курсе).

 Профиль  
                  
 
 Re: Квазиньютоновские (град) методы с нелинейными ограничениями
Сообщение03.03.2020, 20:03 
Заслуженный участник


18/01/15
3231
Про литературу.
Знаете, оптимизация, даже гладкая --- это довольно безбрежная область. В частности, оптимизация безусловная и условная (т.е. с ограничениями) --- довольно различные науки.
Я лично интересуюсь оптимизацией безусловной (и гладкой). В общем, вот список книг, которые
мне лично были полезны.

Сухарев, Тимохов, Федоров, Курс методов оптимизации.
Деннис, Шнабель, Численные методы безусловной оптимизации
и решения нелинейных уравнений.
Поляк, Введение в оптимизацию
Ортега, Рейнболдт, Итерационные методы решения систем уравнений
со многими неизвестными
Нестеров, Введение в выпуклую оптимизацию
Рокафеллар, Выпуклый анализ
Аоки, Введение в методы оптимизации
Васильев, Методы оптимизации
Карманов, Математическое программирование
Conn, Gould, Toint, Trust region methods
Floudas, Pardalos (eds), Encyclopedia of optimization
Nocedal, Wright, Numerical optimization
Солодовников, Системы линейных неравенств


И еще пара книг, которые я не смотрел, но которые могут быть Вам полезны
Фиакко, Маккормик, Методы последовательной безусловной минимизации
Kelley, Iterative methods for optimization


(и еще глава про оптимизацию в Бахвалове).

(в приведенном списке есть книги, касающиеся не только безусловной гладкой оптимизации, но и других тем).

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: VanD


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group