From b73b4df547e21c8a4cd080dcc5a9cc54f3eb0951 Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Mon, 22 Apr 2024 08:31:28 -0400 Subject: [PATCH 1/6] Update pr-comment.yml --- .github/workflows/pr-comment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml index d483ff3..a0e6c5d 100644 --- a/.github/workflows/pr-comment.yml +++ b/.github/workflows/pr-comment.yml @@ -14,6 +14,6 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - prefix: "Status:" + prefix: "Here is the compiled" format: "name" addTo: "pull" From b73aa5f1de7c06ed40703f169e29c0ffce6a681a Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Sat, 20 Apr 2024 00:36:14 -0400 Subject: [PATCH 2/6] Update ipm.tex --- tex/sections/ipm.tex | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tex/sections/ipm.tex b/tex/sections/ipm.tex index 60c5d65..2007e39 100644 --- a/tex/sections/ipm.tex +++ b/tex/sections/ipm.tex @@ -217,13 +217,12 @@ \subsection{Solving the KKT conditions with the interior-point method} 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)$. From 19f443c208eca31d6c74c44359f84a28587d0502 Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Sat, 20 Apr 2024 01:14:46 -0400 Subject: [PATCH 3/6] Fix some equations --- tex/sections/ipm.tex | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tex/sections/ipm.tex b/tex/sections/ipm.tex index 2007e39..db425bb 100644 --- a/tex/sections/ipm.tex +++ b/tex/sections/ipm.tex @@ -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 \\ @@ -206,13 +206,13 @@ \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 From afd51ac348e2a3594c058294488e01221df861c8 Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Sat, 20 Apr 2024 01:22:19 -0400 Subject: [PATCH 4/6] Update ipm.tex --- tex/sections/ipm.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tex/sections/ipm.tex b/tex/sections/ipm.tex index db425bb..07b5c1d 100644 --- a/tex/sections/ipm.tex +++ b/tex/sections/ipm.tex @@ -235,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.} From 35249520d970e4ffba8d669118af54d899e589c2 Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Sat, 20 Apr 2024 03:14:00 -0400 Subject: [PATCH 5/6] Fix another equation in ipm.tex --- tex/sections/ipm.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tex/sections/ipm.tex b/tex/sections/ipm.tex index 07b5c1d..dc6478e 100644 --- a/tex/sections/ipm.tex +++ b/tex/sections/ipm.tex @@ -248,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 @@ -273,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} From cdc4596c7f86cca29a49c10f46700c3f20181cdc Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Sat, 27 Apr 2024 19:24:58 -0400 Subject: [PATCH 6/6] Use hyperref --- tex/biblio.bib | 2 +- tex/main.tex | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tex/biblio.bib b/tex/biblio.bib index 13f5c3f..0c9587b 100644 --- a/tex/biblio.bib +++ b/tex/biblio.bib @@ -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}}, diff --git a/tex/main.tex b/tex/main.tex index 981cc0c..42759db 100644 --- a/tex/main.tex +++ b/tex/main.tex @@ -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}