2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Упростить минимизацию с несколькими Лагранж коэффициентами
Сообщение07.08.2022, 12:16 


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

где-то когда-то видел, но запамятовал как правильно решать такие задачи, а именно

$$\min_{x,y, ||x||_2=1, ||y||_2=1, x^T y = 0} x^T A x + 2 x^T B y + y^T C y, ~~ A, B, C \in \R^{N \times N}, ~~ A = A^T, ~~ C = C^T, ~~ x,y \in \R^N$$

Особенно интересует решение для $n=3$, хотя как я помню, задача должна сводиться к задаче на собственные значения какой-то расширенной матрицы, но я совсем запамятовал какой именно.

Понятно можно ввести три Лагранжевых множителя и получить какую-то довольно "кривую" линейную задачу с тремя Лагранжевыми множителями.

Для случая $n=3$ оба неизвестных вектора можно выразить через тригонометрические функции, чтобы условия выполнялись автоматически, но тогда сама минимизация будет довольно громоздкой и очень не тривиальной и нет понимания на сколько хорошо оно будет сходиться.

ИМХО, вроде был какой-то метод сведения нескольких Лагранжевых множителей в один с повышением размерности матрицы задачи на собственные значения, но я подзабыл как это делалось. Вдруг кто помнит, пожалуйста, напомните!

Спасибо!

 Профиль  
                  
 
 Re: Упростить минимизацию с несколькими Лагранж коэффициентами
Сообщение07.08.2022, 16:46 
Заслуженный участник
Аватара пользователя


22/01/11
2641
СПб
Функция Лагранжа
$$L(x,y,a,b,c)= x^T A x + 2 x^T B y + y^T C y-2a\left(x^Tx-1\right)-2c\left(y^Ty-1\right)-2bx^Ty.$$
И вперед, решаем систему из пяти уравнений.

 Профиль  
                  
 
 Re: Упростить минимизацию с несколькими Лагранж коэффициентами
Сообщение07.08.2022, 19:34 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
ilghiz в сообщении #1562011 писал(а):
задача должна сводиться к задаче на собственные значения какой-то расширенной матрицы, но я совсем запамятовал какой именно
Чтобы совсем сводилась — у меня не получается, но это примерно так.

Поскольку $x^TBy$ — это просто число, то
$x^TBy=(x^TBy)^T=y^TB^Tx$
Введём вектор $z\in\mathbb R^{2N}$ и матрицу $Q\in\mathbb R^{2N\times 2N}$ по формулам
$z=\begin{bmatrix}x\\y\end{bmatrix}, \quad Q=\begin{bmatrix}A&B\\B^T&C\end{bmatrix}$
Тогда
$$x^T A x + 2 x^T B y + y^T C y=x^TAx+x^TBy+y^TB^Tx+y^TCy = \begin{bmatrix}x^T&y^T\end{bmatrix} \begin{bmatrix}A&B\\B^T&C\end{bmatrix} \begin{bmatrix}x\\y\end{bmatrix} = z^TQz$$Более того,
$z^Tz= \begin{bmatrix}x^T&y^T\end{bmatrix} \begin{bmatrix}x\\y\end{bmatrix}=x^Tx+y^Ty=2$

Получается, надо искать минимум $z^TQz$ при условии $z^Tz=2$. Такая задача действительно сводилась бы к задаче на собственные значения симметричной матрицы $Q$. К сожалению, есть ещё условие $x^Ty=0$, которое портит картину.

-- Вс авг 07, 2022 19:26:32 --

Уточнение: из условия $x^Tx=1 \wedge y^Ty=1$ следует $z^Tz=x^Tx+y^Ty=2$, но не наоборот. Поэтому из условий $x^Tx=1, y^Ty=1, z^Tz=2$ надо взять любые два.

 Профиль  
                  
 
 Re: Упростить минимизацию с несколькими Лагранж коэффициентами
Сообщение07.08.2022, 20:33 


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

Тут просто свести к Лагранжу, ИМХО, очень не правильно, так как сходимость такой минимизации будет совсем не предсказуемой, лагранжевы множители могут быть очень разных порядков, как друг с другом, так и со значением самого решения, и все будет идти юзом и плохо сходиться. Более того, у задачи ИМХО, много локальных минимумов, и имеется вероятность сесть в какой-то локальный минимум и не оценить есть ли другой, более низкий по значению минимум.

Схлопнуть в один вектор $x$ и $y$, как предлагает svv, ИМХО, тоже не факт, что хорошо, так как и условие их ортогональности портит картину, и найденный минимум не факт, что даст равнозначные нормы $x$ и $y$.

Пока была идея разложить $A=Q_A^T D_A Q_A$, $A=Q_C^T D_C Q_C$, так, что $D_A$ и $D_C$ - диагональные (на диагонали соответствующие собственные значения), а $Q_A$ и $Q_C$ - матрицы собственных векторов, тогда исходную задачу можно переписать в виде

$$\min_{\tilde x, \tilde y, ||\tilde x||_2=1, ||\tilde y||_2=1, \tilde x^T \tilde y=0} \tilde x^T D_A \tilde x + \tilde y^T D_C \tilde y + \tilde x^T \tilde B \tilde y,$$

где $\tilde B =  Q_A^T B Q_C,$ но пока это не сильно добавляет оптимизма.

Для задачи $N=2$ исходная задача сводится к задаче на собственные значения для матрицы $2 \times 2$ (я уверен в этом факте, но не уверен в правильности получения матрицы, поэтому ее не привожу здесь).

Для задачи $N=3$ есть подозрение, что будет все так же, только размер матрицы, будет больше трех, но строгого доказательства у меня пока нет.

На данный момент я попробовал пооптимизировать задачу с $N=3$ и гарантированно нахожу три локальных минимума (а сколько реально их там - оценить сложно), и лагранжева минимизация в лоб сходится просто ужасно. Лучше всего сходимость наблюдается, если в качестве варьируемых параметров взять все координаты из $x$ и $y$ и перед вычислением функции на их основе их нормировать и друг к другу ортогонализировать.

Еще для случая $N=3$ видится вариант, когда $x$ фиксируем, и решаем по $y$, в этом случае задача будет одномерной, но как-то формулы получаются многоэтажные, что оценить сколько для фиксированного значения $x$ будет минимумов не получается. Если бы там был бы всегда один минимум и аналитическое решение, то по крайней мере, можно было бы его туда подставить, и попытаться все переформулировать для $x$, с надеждой на то, что получится полиномиальная задача на собственные значения, но, ИМХО, должно быть решение красивей.

 Профиль  
                  
 
 Re: Упростить минимизацию с несколькими Лагранж коэффициентами
Сообщение07.08.2022, 21:33 
Аватара пользователя


22/07/22

897
svv в сообщении #1562049 писал(а):
Уточнение: из условия $x^Tx=1 \wedge y^Ty=1$ следует $z^Tz=x^Tx+y^Ty=2$, но не наоборот. Поэтому из условий $x^Tx=1, y^Ty=1, z^Tz=2$ надо взять любые два.

Полученные при этом минимумы будут минимумы исходной задачи, но не наоборот :-)

 Профиль  
                  
 
 Re: Упростить минимизацию с несколькими Лагранж коэффициентами
Сообщение07.08.2022, 21:38 


11/08/18
363
Doctor Boom в сообщении #1562066 писал(а):
Полученные при этом минимумы будут минимумы исходной задачи, но не наоборот :-)

тут ключевая проблема - не учет ортогональности векторов $x$ и $y$ друг к другу, из-за которой решения не будут, к сожалению, эквивалентны и сравнивать минимумы исходной задачи и такой, к сожалению, нельзя.

 Профиль  
                  
 
 Re: Упростить минимизацию с несколькими Лагранж коэффициентами
Сообщение07.08.2022, 21:43 
Аватара пользователя


22/07/22

897
ilghiz в сообщении #1562069 писал(а):
тут ключевая проблема - не учет ортогональности векторов $x$ и $y$ друг к другу, из-за которой решения не будут, к сожалению, эквивалентны и сравнивать минимумы исходной задачи и такой, к сожалению, нельзя.

И это тоже :-)

-- 07.08.2022, 21:47 --

ilghiz в сообщении #1562059 писал(а):
и найденный минимум не факт, что даст равнозначные нормы $x$ и $y$.

Дык на это
svv в сообщении #1562049 писал(а):
Поэтому из условий $x^Tx=1, y^Ty=1, z^Tz=2$ надо взять любые два.

 Профиль  
                  
 
 Re: Упростить минимизацию с несколькими Лагранж коэффициентами
Сообщение09.08.2022, 17:49 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Просто чтобы было — вдруг какие-то идеи придут.
Функцию Лагранжа предлагается писать в виде
$L = x^T A x + 2 x^T B y + y^T C y - a(x^T x - 1) - 2 b x^T y-c(y^T y - 1)$
(обратите внимание, где множители Лагранжа включают двойки, а где нет)
Тогда получаются уравнения
$\begin{array}{r}Ax+By=ax+by\\B^Tx+Cy=bx+cy\end{array}$
$x^Tx=1$
$x^Ty=0$
$y^Ty=1$

 Профиль  
                  
 
 Re: Упростить минимизацию с несколькими Лагранж коэффициентами
Сообщение09.08.2022, 18:30 
Заслуженный участник
Аватара пользователя


22/01/11
2641
СПб
кажется, каких-то надежд на "решение в общем виде" нет, https://en.wikipedia.org/wiki/Quadratically_constrained_quadratic_program

 Профиль  
                  
 
 Re: Упростить минимизацию с несколькими Лагранж коэффициентами
Сообщение09.08.2022, 19:31 


11/08/18
363
Спасибо большое, svv за переформулировку!

alcoholist в сообщении #1562287 писал(а):
кажется, каких-то надежд на "решение в общем виде" нет, https://en.wikipedia.org/wiki/Quadratically_constrained_quadratic_program

Спасибо большое за комментарий. Не, не согласен с Вами, там все-таки неравенства, и это однозначно задача оптимизации, как там было замечено, с np-полнотой, а в моем случае, для случая $N=2$ - есть решение через задачу на собственные значения с матрицей размера $2 \times 2$, для $N=3$ - похоже можно получить полиномиальую задачу по 3-м неизвестным, повидимому как-то упрощаемую до задачи на собственые значения (но я пока это не осилил), и есть гипотеза, что и в общем виде задача тоже сведется к задаче на собственные значения. Возможно с матрицей размера $N^2 \times N^2$, с последующим отбросом не правильных решений.

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

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



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

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


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

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