Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ipm.tex #6

Merged
merged 6 commits into from
Apr 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/pr-comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
prefix: "Status:"
prefix: "Here is the compiled"
format: "name"
addTo: "pull"
2 changes: 1 addition & 1 deletion tex/biblio.bib
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,7 @@ @article{chen-davis-hager-rajamanickam-2008
@techreport{fowkes-lister-montoison-orban-2024,
author = {Fowkes, Jaroslav and Lister, Andrew and Montoison, Alexis and Orban, Dominique},
pages = {1-5},
title = {LibHSL: the ultimate collection for large-scale scientific computation},
title = {{LibHSL: the ultimate collection for large-scale scientific computation}},
year = {2024},
number = {G-2024-06},
type = {{Les Cahiers du GERAD}},
Expand Down
8 changes: 7 additions & 1 deletion tex/main.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,14 @@
\usepackage{booktabs}
\usepackage{array}
\usepackage{tikz}
% \usepackage{cleveref} % cleveref is not working with Springer journal classes
\usepackage{xspace}
\usepackage[hidelinks]{hyperref}
\hypersetup{
colorlinks=false,
urlbordercolor=white,
breaklinks=true
}
% \usepackage{cleveref} % cleveref is not working with Springer journal classes

% \newtheorem{theorem}{Theorem}[section]
% \newtheorem{lemma}[theorem]{Lemma}
Expand Down
37 changes: 18 additions & 19 deletions tex/sections/ipm.tex
Original file line number Diff line number Diff line change
Expand Up @@ -143,12 +143,12 @@ \subsection{Solving the KKT conditions with the interior-point method}
\setlength\arraycolsep{5pt}
\tag{$K_3$}
\begin{bmatrix}
W_k & 0 & G_k^\top & H_k^\top & -I & \phantom{-}0 \\
0 & 0 & 0\phantom{^\top} & I\phantom{^\top} & \phantom{-}0 & -I \\
G_k & 0 & 0\phantom{^\top} & 0\phantom{^\top} & \phantom{-}0 & \phantom{-}0 \\
H_k & I & 0\phantom{^\top} & 0\phantom{^\top} & \phantom{-}0 & \phantom{-}0 \\
U_k & 0 & 0\phantom{^\top} & 0\phantom{^\top} & \phantom{-}X_k & \phantom{-}0 \\
0 & V_k & 0\phantom{^\top} & 0\phantom{^\top} & \phantom{-}0 & \phantom{-}S_k
W_k & 0 & G_k^\top & H_k^\top & -I & \phantom{-}0 \\
0 & 0 & 0\phantom{^\top} & I\phantom{^\top} & \phantom{-}0 & -I \\
G_k & 0 & 0\phantom{^\top} & 0\phantom{^\top} & \phantom{-}0 & \phantom{-}0 \\
H_k & I & 0\phantom{^\top} & 0\phantom{^\top} & \phantom{-}0 & \phantom{-}0 \\
U_k & 0 & 0\phantom{^\top} & 0\phantom{^\top} & \phantom{-}X_k & \phantom{-}0 \\
0 & V_k & 0\phantom{^\top} & 0\phantom{^\top} & \phantom{-}0 & \phantom{-}S_k
\end{bmatrix}
\begin{bmatrix}
d_x \\
Expand Down Expand Up @@ -206,24 +206,23 @@ \subsection{Solving the KKT conditions with the interior-point method}
\end{equation}
with the diagonal matrices $D_x := X^{-1} U$ and $D_s := S^{-1} V$.
The vectors forming the right-hand-sides are given respectively by
$r_1 := \nabla f(x) + \nabla g(x)^\top y + \nabla h(x)^\top z + \mu X^{-1} e$,
$r_2 := z + \mu S^{-1} e$,
$r_1 := \nabla f(x) + \nabla g(x)^\top y + \nabla h(x)^\top z - \mu X^{-1} e$,
$r_2 := z - \mu S^{-1} e$,
$r_3 := g(x)$,
$r_4 := h(x) + s$.
Once \eqref{eq:kkt:augmented} solved, we recover the updates on bound multipliers with
$d_u = - X^{-1}(U d_x + X u - \mu e)$ and
$d_v = - S^{-1}(V d_s + S v - \mu e)$.
$d_u = - X^{-1}(U d_x - \mu e) - u$ and
$d_v = - S^{-1}(V d_s - \mu e) - v$.

Note that we have added additional regularization terms $\delta_w \geq 0 $
and $\delta_c \geq 0$ in \eqref{eq:kkt:augmented}, to ensure the
matrix is invertible.
The augmented matrix \eqref{eq:kkt:augmented} is non-singular
if and only if the Jacobian $J = \begin{bmatrix} G & 0 \\ H & I \end{bmatrix}$
Without the regularization terms in \eqref{eq:kkt:augmented}, the augmented KKT system is non-singular
if and only if the Jacobian $J = \begin{bmatrix} G \; &\; 0 \\ H \;&\; I \end{bmatrix}$
is full row-rank and the matrix $\begin{bmatrix} W + D_x & 0 \\ 0 & D_s \end{bmatrix}$
projected onto the null-space of the Jacobian $J$ is positive-definite~\cite{benzi2005numerical}.
The condition is satisfied if the inertia of the matrix is $(n + m_i, m_i + m_e, 0)$
(here the inertia is defined as the respective numbers of positive, negative and
null eigenvalues).
The condition is satisfied if the inertia of the matrix is $(n + m_i, m_i + m_e, 0)$.
The inertia is defined as the respective numbers of positive, negative and zero eigenvalues.
We use the inertia-controlling method introduced in \cite{wachter2006implementation}
to regularize the augmented matrix by adding multiple of the identity
on the diagonal of \eqref{eq:kkt:augmented} if the inertia is not $(n+m_i, m_e+m_i, 0)$.
Expand All @@ -236,7 +235,7 @@ \subsection{Solving the KKT conditions with the interior-point method}
linear and convex quadratic programming \cite{gondzio-2012} (when paired
with a suitable preconditioner). We also refer to \cite{cao-seth-laird-2016}
for an efficient implementation of a preconditioned conjugate gradient
on GPU, for solving the Newton step arising in an Augmented-Lagrangian Interior-Point
on GPU, for solving the Newton step arising in an augmented Lagrangian interior-point
approach.

\paragraph{Condensed KKT system.}
Expand All @@ -249,8 +248,8 @@ \subsection{Solving the KKT conditions with the interior-point method}
\tag{$K_1$}
\setlength\arraycolsep{3pt}
\begin{bmatrix}
K & G^\top \\
G & -\delta_c I \phantom{^\top}
K & \phantom{-} G^\top \\
G & -\delta_c I
\end{bmatrix}
\begin{bmatrix}
d_x \\ d_y
Expand All @@ -274,7 +273,7 @@ \subsection{Solving the KKT conditions with the interior-point method}
\end{equation}
Using the solution of the system~\eqref{eq:kkt:condensed},
we recover the updates on the slacks and inequality multipliers with
$d_z = -C r_2 + D_H(H d_x + r_4)$ and $d_s = -(D_s + \delta_w I)^{-1}(r_2 - d_z)$.
$d_z = -C r_2 + D_H(H d_x + r_4)$ and $d_s = -(D_s + \delta_w I)^{-1}(r_2 + d_z)$.
Using Sylvester's law of inertia, we can prove that
\begin{equation}
\label{eq:ipm:inertia}
Expand Down
Loading