§5 约束极值
C1 最优性条件
1)非起作用约束
:当前可行解不在约束边界的约束
如g(X0)>tg(X_0)\gt tg(X0)>t满足g(X0)≥tg(X_0)\ge tg(X0)≥t但不在边界上
2)可行方向
:∃λ:X0+λD∈R ⟺ \exist\lambda:X_0+\lambda D\in R\iff∃λ:X0+λD∈R⟺对于所有起作用约束∇g(X0)TD≥0\nabla g(X_0)^TD\ge 0∇g(X0)TD≥0
3)下降方向
:若∃δ∀λ∈[0,δ]f(X0+λD)<f(X0) ⟺ ∇f(X0)TD<0\exist \delta \forall \lambda\in[0,\delta]f(X_0+\lambda D)\lt f(X_0)\iff \nabla f(X_0)^TD\lt0∃δ∀λ∈[0,δ]f(X0+λD)<f(X0)⟺∇f(X0)TD<0
4)可行方向法:解minη{∇f(Xk)TD<η∇gi(Xk)TD>η−1⪯D⪯1\min \eta\begin{cases}\nabla f(X_k)^TD\lt \eta\\\nabla g_i(X_k)^TD\gt \eta\\ -1\preceq D\preceq 1\end{cases}minη⎩⎪⎨⎪⎧∇f(Xk)TD<η∇gi(Xk)TD>η−1⪯D⪯1
- 若η<0\eta\lt 0η<0,则对应最优可行下降方向
- 若∣η∣<ϵ|\eta|\lt \epsilon∣η∣<ϵ,可停止计算
5)K-T条件:约束极值点满足{∇f(X∗)−∑i=1mγi∇gi(X∗)=0γigi(X∗)=0γi∗≥0\begin{cases}\nabla f(X^*)-\sum\limits_{i=1}^m\gamma_i\nabla g_i(X^*)=0\\\gamma_i g_i(X^*)=0\\\gamma_i^*\ge0\end{cases}⎩⎪⎪⎨⎪⎪⎧∇f(X∗)−i=1∑mγi∇gi(X∗)=0γigi(X∗)=0γi∗≥0
- 对于凸规划,是充要条件;对于线性规划,是必要条件
- γi\gamma_iγi称为
广义拉格朗日乘子
C2 二次规划
1)二次规划
:目标函数为二次形式,且约束条件线性
minf(X)=∑j=1ncjxj+12∑j=1n∑k=1ncjkxjxk,cjk=ckj{∑j=1naijxj+bi≥0xj≥0
\min f(X) =\sum\limits_{j=1}^n c_jx_j + \frac{1}{2}\sum\limits_{j=1}^n\sum\limits_{k=1}^n c_{jk}x_jx_k,c_{jk} = c_{kj}\\
\begin{cases}
\sum\limits_{j=1}^n a_{ij} x_j +b_i\ge 0\\
x_j\ge 0
\end{cases}
minf(X)=j=1∑ncjxj+21j=1∑nk=1∑ncjkxjxk,cjk=ckj⎩⎨⎧j=1∑naijxj+bi≥0xj≥0
2)K-T解法:问题等价于线性规划问题
minϕ(Z)=∑j=1nzj{∑i=1maijγn+i+γi−∑k=1ncjkxk+sgn(cj)zj=cj∑j=1naijxj−xn+i+bi=0xj≥0,yj≥0,zj≥0
\min \phi(Z) = \sum\limits_{j=1}^n z_j\\
\begin{cases}
\sum\limits_{i=1}^m a_{ij} \gamma_{n+i} +\gamma_i -\sum\limits_{k=1}^n c_{jk}x_k+sgn(c_j)z_j=c_j\\
\sum\limits_{j=1}^n a_{ij}x_j - x_{n+i}+b_i=0\\
x_j\ge 0, y_j \ge 0,z_j \ge 0
\end{cases}
minϕ(Z)=j=1∑nzj⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧i=1∑maijγn+i+γi−k=1∑ncjkxk+sgn(cj)zj=cjj=1∑naijxj−xn+i+bi=0xj≥0,yj≥0,zj≥0
- 初始可行解
{zj=sgn(cj)cjxn+i=bixj=yj=0 \begin{cases} z_j = sgn(c_j)c_j\\ x_{n+i}=b_i\\ x_j=y_j=0 \end{cases} ⎩⎪⎨⎪⎧zj=sgn(cj)cjxn+i=bixj=yj=0
C3 制约函数法
1)外点法:
- 令ϕ(gi(X))={0,t≥0t2,t<0\phi(g_i(X))=\begin{cases} 0,t\ge 0\\t^2,t\lt 0\end{cases}ϕ(gi(X))={0,t≥0t2,t<0为
惩罚函数
。P(X,M)=f(X)+M∑i=1lϕ(gi(x))P(X,M)=f(X)+M\sum\limits_{i=1}^l \phi(g_i(x))P(X,M)=f(X)+Mi=1∑lϕ(gi(x)) - 求解无约束极值问题minP(X,Mk)\min P(X,M_k)minP(X,Mk),
- 若某个gi(X)<−ϵg_i(X)\lt -\epsilongi(X)<−ϵ,则增大M,求解minP(X,Mk+1)\min P(X,M_{k+1})minP(X,Mk+1)。多次迭代直至得到可行解
2)内点法:
-
令g(X,r)=rk∑j=1l1gj(X)g(X,r)=r_k\sum\limits_{j=1}^l\frac{1}{g_j(X)}g(X,r)=rkj=1∑lgj(X)1或g(X,r)=−rk∑j=1llog(gj(X))g(X,r)=-r_k\sum\limits_{j=1}^l \log(g_j(X))g(X,r)=−rkj=1∑llog(gj(X))为
障碍函数
。Pˉ(X,r)=f(X)+g(X,r)\bar P(X,r)=f(X)+g(X,r)Pˉ(X,r)=f(X)+g(X,r) -
取一可行解X0X_0X0为初始点,求解无约束极值问题minPˉ(X,rk)\min \bar P(X,r_k)minPˉ(X,rk)
-
若g(X,rk)≤ϵg(X,r_k)\le \epsilong(X,rk)≤ϵ,则终止。否则减小r,计算minPˉ(X,rk+1)\min \bar P(X,r_{k+1})minPˉ(X,rk+1)