Jordan Lecture Note-3: 梯度投影法


Jordan Lecture Note-3:梯度投影法

    在這一節,我們介紹如何用梯度投影法來解如下的優化問題:

\begin{align} \mathop{\min}&\quad f(x)\nonumber\\\mathop{s.t.}&\quad \mathbf{A}_1 x\leq b_1\nonumber\\&\quad \mathbf{A}_2x= b_2\label{equ:originalModel}\end{align}

其中$x\in\mathbb{R}^n,\mathbf{A}_1\in\mathbb{R}^{m_1\times n},b_1\in\mathbb{R}^{m_1},\mathbf{A}_2\in\mathbb{R}^{m_2\times n},b_2\in\mathbb{R}^{m_2}$,並且假設$\left[\begin{array}{lcr}\mathbf{A}_1\\\mathbf{A}_2\end{array}\right]$為行滿秩矩陣。

定義:

  1. 矩陣$\mathbf{P}\in\mathbb{R}^{n\times n}$,若$\mathbf{P}^\prime=\mathbf{P},\mathbf{P}^2=\mathbf{P}$,則稱$\mathbf{P}$為投影矩陣。 
  2. 設$\mathbf{A}\in\mathbb{R}^{m\times n}$為行滿秩矩陣,則$\mathbf{A}$的零空間為$L_{\mathbf{A}}=\{x\in\mathbb{R}^n|\mathbf{A}x=0\}$,對應的正交空間為$L_{\mathbf{A}}^{\perp}=\{\mathbf{A}^\prime y|y\in\mathbb{R}^m\}$。

對$\forall x\in\mathbb{R}^n$進行正交分解使$x=x_1+x_2,x_1\in L_{\mathbf{A}},x_2\in L_{\mathbf{A}}^{\perp}$,則$x_1=\mathbf{P_A}x$,其中$\mathbf{P_A}=\mathbf{I}-\mathbf{A}^\prime (\mathbf{A}\mathbf{A}^\prime)^{-1}\mathbf{A}$稱為$\mathbf{A}$的投影矩陣。

證明:$x_1=x-x_2=x-\mathbf{A}^\prime y$ $\Longrightarrow$ $\mathbf{A}x_1=\mathbf{A}x-\mathbf{AA}^\prime y$ $\Longrightarrow$ $y=(\mathbf{AA}^\prime)^{-1}\mathbf{A}(x-x_1)$ $\Longrightarrow$ $x_1=x-\mathbf{A}^\prime[(\mathbf{AA}^\prime)^{-1}\mathbf{A}(x-x_1)]=x-\mathbf{A}^\prime(\mathbf{AA}^\prime)^{-1}\mathbf{A}x+\mathbf{A}^\prime(\mathbf{AA}^\prime)^{-1}\mathbf{A}x_1=\mathbf{P_A}x$.

 設$x^k$為當前迭代點,對$A_1,b_1$進行分塊$A_1=\left[\begin{array}{lcr}\mathbf{A}_{11}\\\mathbf{A}_{12}\end{array}\right]$,$b_1=\left[\begin{array}{lcr}b_{11}\\b_{12}\end{array}\right]$,其中$\mathbf{A}_{11}x^k=b_{11},\mathbf{A}_{12}x^k<b_{12}$。

 定理:$s\neq 0$是$s$在$x^k$處的可行方向當且僅當$s$滿足條件$\mathbf{A}_{11}s\leq 0,\mathbf{A}_2s=0$。(注:可行方向指的是$x^k$沿這個方向移動不會超出約束范圍)

證明:由於$s$為可行方向,故$\mathbf{A}_{11}(x^k+s)\leq b_{11},\mathbf{A}_{12}(x^k+s)\leq b_{12},\mathbf{A}_2(x^k+s)=b_2$ $\Longrightarrow$ $\mathbf{A}_{11}s\leq 0,\mathbf{A}_2s=0$。

 記 $\mathbf{M}=\left[\begin{array}\mathbf{A}_{11}\\ \mathbf{A}_2\end{array}\right]$ ,$\mathbf{L_M}$為$\mathbf{M}$的零空間。當$s\in\mathbf{L_M}\backslash\{0\}$時,$s$是$x^k$處的可行方向。

    對負梯度$-\nabla f(x^k)$,我們殼通過投影矩陣$\mathbf{P_M}=\mathbf{I}-\mathbf{M}^\prime(\mathbf{MM}^\prime)^{-1}\mathbf{M}$將負梯度投影到$\mathbf{L_M}$上,即可得到可行下降方向$s^k=-\mathbf{P_M}\nabla f(x^k)$。

    若$s^k\neq 0$,則$s^k$是$x^k$處的可行方向。

    若$s^k=0$,則$\nabla f(x^k)-\mathbf{M}^\prime(\mathbf{MM}^\prime)^{-1}\mathbf{M}\nabla f(x^k)=0$。記$w=\left[\begin{array}\\ u\\ v\end{array}\right]=-(\mathbf{MM}^\prime)^{-1}\mathbf{M}\nabla f(x^k)$,其中$u$與$\mathbf{A}_{11}$對應,$v$與$\mathbf{A}_2$對應。

$\Longrightarrow$

\begin{align}0&=\nabla f(x^k)+\mathbf{M}^\prime w=\nabla f(x^k)+(\mathbf{A}_{11}^\prime,\mathbf{A}_2^\prime)\left[\begin{array}\\ u\\ v\end{array}\right]\nonumber\\&= \nabla f(x^k)+\mathbf{A}_{11}^\prime u + \mathbf{A}_2^\prime v\label{equ:functionSK}\end{align}

定理:若上述1) $u\geq 0$,則$x^k$是KKT點;2) 若$u$ 中有負分量,設$u_{i0}=\mathop{\min}\{u_i\}<0$,$\bar{ \mathbf{M}}$是從$\mathbf{M}$中去掉$u_{i0}$對應的行后得到的矩陣,則$\bar{s^k}=-\mathbf{P_{\bar{M}}}\nabla f(x^k)$是$x^k$的可行下降方向。

 證明:1)由$\nabla f(x^k)+\mathbf{A}_{11}^\prime u + \mathbf{A}_2^\prime v=0$且$u\geq 0$ $\Longrightarrow$ $x^k$是KKT點。

2)記$\mathbf{M}$中與$u_{i0}$ 對應的行為$\alpha_{i0}^\prime$,故$u=\left[\begin{array} &u_{i0} \\ \bar{u}\end{array}\right]$,$\mathbf{A}_{11}=\left[\begin{array} &\alpha_{i0}^\prime\\ \bar{\mathbf{A}_{11}}\end{array}\right]$,$w=\left[\begin{array} &u_{i0}\\ \bar{w}\end{array}\right]$,則$\bar{\mathbf{M}}=\left[\begin{array}&\bar{\mathbf{A}_{11}}\\ \mathbf{A}_2\end{array}\right]$,$\mathbf{M}=\left[\begin{array} &\alpha_{i0}^\prime\\ \bar{\mathbf{M}}\end{array}\right]$,

令$\beta=-(\bar{\mathbf{M}}\bar{\mathbf{M}}^\prime)^{-1}\bar{\mathbf{M}}\nabla f(x^k)$ 。

先用反證法證$\bar{s^k}\neq 0$。假設$\bar{s^k}=0$,即:

\begin{equation}0=\nabla f(x^k)-\bar{\mathbf{M}}^\prime(\bar{\mathbf{M}}\bar{\mathbf{M}}^\prime)^{-1}\bar{\mathbf{M}}\nabla f(x^k)=\nabla f(x^k)+\bar{\mathbf{M}}^\prime\beta\label{equ:2}\end{equation}

由式子\ref{equ:functionSK}有:

\begin{equation}0=\nabla f(x^k)+\mathbf{M}w=\nabla f(x^k)+u_{i0}\alpha_{i0}+\bar{\mathbf{M}}^\prime\bar{w}\label{equ:3}\end{equation}

由式子\ref{equ:3}$-$\ref{equ:2}得:$u_{i0}\alpha_{i0}+\bar{\mathbf{M}}^\prime(\bar{w}-\beta)=0$。又由於$u_{i0}<0$,故$\mathbf{M}=\left[\begin{array}&\alpha_{i0}^\prime\\\bar{\mathbf{M}}\end{array}\right]$行向量線性相關,與$\mathbf{M}$行滿秩條件矛盾,故$\bar{s^k}\neq 0$。

     由於

$$[\nabla f(x^k)]^\prime\bar{s^k}=-\nabla f(x^k)\mathbf{P_{\bar{M}}}\nabla f(x^k)=-[\nabla f(x^k)]^\prime\mathbf{P_{\bar{M}}}^\prime\mathbf{P_{\bar{M}}}\nabla f(x^k)=-\|\mathbf{P_{\bar{M}}}\nabla f(x^k)\|^2<0$$

即$\bar{s^k}$是$f(x)$在$x^k$處的下降方向。由於$\bar{s^k}=-\mathbf{P_{\bar{M}}}\nabla f(x^k)$且 $\mathbf{\bar{M}}\mathbf{P_{\bar{M}}}=0$,故$\mathbf{\bar{M}}\bar{s^k}=0$,即

\begin{equation}\bar{\mathbf{A}_11}\bar{s^k}=0\quad\mathbf{A}_2\bar{s^k}=0\end{equation}

所以$\mathbf{A}_{11}\bar{s^k}=\left[\begin{array}&\alpha_{i0}^\prime\\\bar{\mathbf{A}_{11}}\end{array}\right]\bar{s^k}=\left[\begin{array}&\alpha_{i0}^\prime\bar{s^k}\\0\end{array}\right]$,故只需證$\alpha_{i0}^\prime\bar{s^k}<0$即可。

    由式子\ref{equ:3}可知:

\begin{align*}\alpha_{i0}^\prime\bar{s^k}&=\frac{-\nabla f(x^k)-\bar{\mathbf{M}}^\prime \bar{w}}{u_{i0}}\bar{s^k}\\&=\frac{-[\nabla f(x^k)]^\prime\bar{s^k}-\bar{w}^\prime\bar{\mathbf{M}}\bar{s^k}}{u_{i0}}\\&=\frac{-[\nabla f(x^k)]^\prime\bar{s^k}}{u_{i0}}<0\end{align*}

即$\mathbf{A}_{11}\bar{s^k}<0,\mathbf{A}_2\bar{s^k}=0$,故$\bar{s^k}$為可行下降方向。

 在得到可行下降方向$s^k$后,需求解一維搜索問題$\mathop{\min}_{0\leq\lambda\leq\lambda_{max}}f(x^k+\lambda s^k)$,其中$\lambda_{max}=\mathop{\min}\{\frac{(b_{12}-\mathbf{A}_{12})_i}{(\mathbf{A}_{12})_i}|\forall i:(\mathbf{A}_{12}s^k)_i>0\}$。

使用zoutendijk可行方向法確定一維搜索步長。設從可行點$x^k$出發,沿可行方向$d_k$處一維搜索,得到迭代點:$x^{k+1}=x^k+\lambda_kd_k$ 。

采用最優一維搜索步長,並保證迭代后的點滿足可行性,即解如下的優化問題:

\begin{align}\mathop{\min}&\quad f(x^k+\lambda_kd_k)\nonumber\\\mathop{s.t.}&\quad \mathbf{A}(x^k+\lambda_kd_k)\geq b\nonumber\\&\quad \mathbf{E}(x^k+\lambda_kd_k)=e\nonumber\\&\quad \lambda_k \geq 0 \label{equ:originalSearch}\end{align}

由於$x^k$為可行點,且$d_k$為可行方向,故有$\mathbf{E}x^k=e,\mathbf{E}d_k=0,\mathbf{A}_1x^k=b_1,\mathbf{A}_1d_k\geq 0$,所以模型\ref{equ:originalSearch}轉化為:

\begin{align}\mathop{\min}&\quad f(x^k+\lambda_kd_k)\nonumber\\\mathop{s.t.}&\quad \mathbf{A}_2x_k+\lambda_k\mathbf{A}_2d_k\geq b_2\nonumber\\&\quad \lambda_k\geq 0\label{equ:search}\end{align}

 現在我們來確定滿足上述模型\ref{equ:search}的約束條件的$\lambda_k$的最大值。由$\mathbf{A}_2x^k+\lambda_k\mathbf{A}_2d_k\geq b_2$可知:當$\mathbf{A}_2d_k\geq 0$時,$\lambda_k\geq 0\geq \frac{b_2-\mathbf{A}_2x^k}{\mathbf{A}_2d_k}$總是成立(注意:$b_2-\mathbf{A}_2d_k<0$),即$\lambda_k$的最大最為無窮大;當$\mathbf{A}_2d_k$不全大於0,即存在分量$(\mathbf{A}_2d_k)_i<0$時,$\lambda_k\leq \frac{(b_2-\mathbf{A}_2x^k)_i}{(\mathbf{A}_2d_k)_i}$,即$lambda_k$的最大值為$\lambda_{max}=\mathop{\min}\{\frac{(b_2-\mathbf{A}_2x^k)_i}{(\mathbf{A}_2d_k)_i}|\forall i:(\mathbf{A}_2d_k)_i<0\}$。綜上所述,最優一維搜索模型為:

\begin{equation}\mathop{\min}_{0\leq\lambda\leq\lambda_{max}}\quad f(x^k+\lambda d_k)\label{equ:optimizationSearch}\end{equation} .

 故梯度投影法的算法為:

step 1: 給出滿足約束條件的初始點$x^0$,令$k=0$。確定精度參數$\epsilon>0$;

step 2: 構造搜索方向。對$\mathbf{A}_1$和$b_1$進行分塊,使$\mathbf{A}_1=\left[\begin{array}\mathbf{A}_{11}\\\mathbf{A}_{12}\end{array}\right]$,$b_1=\left[\begin{array}&b_{11}\\b_{12}\end{array}\right]$,其中$\mathbf{A}_{11}x^k=b_{11},\mathbf{A}_{12}x^k<b_{12}$。令$\mathbf{M}=\left[\begin{array}\mathbf{A}_{11}\\\mathbf{A}_2\end{array}\right]$,若$\mathbf{M}$為空(即$x^k$在可行區域內部),令可行方向$s^k=-\nabla f(x^k)$,否則令$s^k=-\mathbf{P_{M}}\nabla f(x^k)$。

step 3: 終止條件判斷。若$\|s^k\|>\epsilon$,轉step 5;若$\|s^k\|\leq\epsilon$,則當$\mathbf{M}$空時停止(無可下降的方向),當$\mathbf{M}$非空時,求 $\left[\begin{array}&u\\v\end{array}\right]=-(\mathbf{MM}^\prime)^{-1}\mathbf{M}\nabla f(x^k)$,若$u\geq 0$則停止(此時$x^k$為KKT點),否則令$u_{i0}=\mathop{\min}\{u_i\}$,轉step 4.

step 4: 重新構造搜索方向。令$\bar{\mathbf{M}}$為從$\mathbf{M}$中去掉$u_{i0}$對應的行后得到的矩陣,求$s^k=-\mathbf{P_{\bar{M}}}\nabla f(x^k)$。

step 5: 確定步長。令$\lambda_{max}=\mathop{\min}\{\frac{(b_{12}-\mathbf{A}_{12}x^k)_i}{(\mathbf{A}_{12}s^k)_i}|\forall i:(\mathbf{A}_{12}s^k)_i>0\}$,求解$\mathop{\min}_{0\leq\lambda\leq\lambda_{max}}\quad f(x^k+\lambda s^k)$得到最優解$\lambda_k$。

step 6: 確定新的迭代點。令$x^{k+1}=x^k+\lambda_ks^k,k=k+1$,轉step 2.

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM