欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

UA SIE545 优化理论基础1 例题2 Farkas定理与相关结论

发布时间:2025/4/14 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 UA SIE545 优化理论基础1 例题2 Farkas定理与相关结论 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

UA SIE545 优化理论基础1 例题2 Farkas定理与相关结论

    • Farkas定理的证明方法
    • Gordan定理

Farkas定理是分离定理的直接结果:
Farkas定理 AAA是一个m×nm\times nm×n的矩阵,下面两个系统有且仅有一个有解:
I:Ax≤0,cTx>0II:ATy=c,y≥0I:Ax \le 0,c^Tx>0 \\ II:A^Ty=c,y \ge 0I:Ax0,cTx>0II:ATy=c,y0

Farkas定理的证明方法

Farkas定理及其类似结论有三种证明方法:反证法、分离定理法、线性规划法;如果是Farkas定理的推论,还可以将系统改写成能使用Farkas定理的形式,直接用Farkas定理证明。反证法的思路非常简单,假设系统II有解,推系统I无解;假设系统II无解,推系统I有解,在推有解的时候,经常需要用分离定理来构造系统的解。下面列出经常用到的分离定理的结论:
定理二 (点与闭凸集的分离) 假设S⊂VS \subset VSV是非空闭凸集,y∉Sy \notin Sy/S∃p,α\exists p,\alphap,α∀x∈S\forall x \in SxS, pTy>α,pTx≤α,∀x∈Sp^Ty >\alpha,p^Tx \le \alpha,\forall x \in SpTy>α,pTxα,xS
定理三 (凸集的支撑)S⊂VS \subset VSV是非空凸集,x0∈∂Sx_0 \in \partial Sx0S, ∃p\exists pp, pT(x−x0)≤0,∀x∈clSp^T(x-x_0) \le 0,\forall x \in clSpT(xx0)0,xclS
定理四 (凸集的分离)S1,S2⊂VS_1,S_2\subset VS1,S2V是两个无交凸集,∃p∈V\exists p \in VpV, inf⁡{pTx:x∈S1}≥sup⁡{pTx:x∈S2}\inf\{p^Tx:x \in S_1\} \ge \sup\{p^Tx:x \in S_2\}inf{pTx:xS1}sup{pTx:xS2}
定理五 (凸集的强分离)S1,S2⊂VS_1,S_2\subset VS1,S2V是两个无交闭凸集,∃p∈V,ϵ>0\exists p \in V,\epsilon>0pV,ϵ>0, inf⁡{pTx:x∈S1}≥sup⁡{pTx:x∈S2}+ϵ\inf\{p^Tx:x \in S_1\} \ge \sup\{p^Tx:x \in S_2\}+\epsiloninf{pTx:xS1}sup{pTx:xS2}+ϵ

反证法证明Farkas定理,假设系统II无解,推系统I有解时,定义S={x:x=ATy,y≥0}S = \{x:x = A^Ty,y\ge 0\}S={x:x=ATy,y0}SSS是一个闭凸集,系统II无解说明c∉Sc \notin Sc/S,我们观察系统1,它陈述的是用AAA定义的某个多面体与点ccc的分离,而这个多面体肯定包含SSS的,c∉Sc \notin Sc/S提供了cccSSS分离的条件,因此证明思路是对cccSSS用点与凸集的分离构造系统I的解。

分离定理证明Farkas定理,基本框架依然用反证法,但使用凸集的分离导出矛盾。但需要注意的是对于一般性的ATy=cA^Ty=cATy=c的问题,这个方法其实是给不出正确完整的证明的,这里提出来是因为对于ATy=0A^Ty=0ATy=0的问题,这种方法的效果是不错的。假设系统I有解,如果∃y≥0\exists y \ge 0y0, ATy=cA^T y = cATy=c,则
xTATy=(Ax)Ty≤0x^TA^Ty = (Ax)^Ty\le 0xTATy=(Ax)Ty0

但根据假设xTATy=xTc>0x^TA^Ty = x^Tc>0xTATy=xTc>0,这就导出了矛盾,因此系统I有解时,系统II无解。

假设系统I无解,定义下面两个非空凸集:
S1={z:Ax≤z,cTx>0},S2={z:z≤0}S_1 =\{z:Ax \le z,c^Tx> 0\},\ S_2 = \{z:z \le 0\}S1={z:Axz,cTx>0}, S2={z:z0}

系统I无解说明S1∩S2=ϕS_1\cap S_2 = \phiS1S2=ϕ,根据凸集的分离,∃p\exists pp, inf⁡{pTz:z∈S2}≥sup⁡{pTz:z∈S1}\inf\{p^Tz:z\in S_2\} \ge \sup\{p^Tz:z \in S_1\}inf{pTz:zS2}sup{pTz:zS1},这意味着∀z∈S2,∀x\forall z \in S_2,\forall xzS2,x,
pTz≥pTAxp^Tz \ge p^TAxpTzpTAx

因为zzz可以是任意负值,为了保证这个不等式对任意z,xz,xz,x成立,p≥0p \ge 0p0。取z=0,x=ATpz=0,x = A^Tpz=0,x=ATp, 则∥ATp∥≤0\left\| A^Tp \right\| \le 0ATp0,因此ATp=0A^Tp=0ATp=0。但我们需要的是ATp=cA^Tp=cATp=c,因此这种方法其实是完不成证明的,下面我们会看到如果是Gordan定理的条件,这种操作就是可以用的。

线性规划证明Farkas定理,基础是线性规划的对偶性理论:
P:min⁡cTxs.t.Ax=b,x≥0D:max⁡bTys.t.ATy≤cP:\min c^Tx \ s.t. Ax = b,x \ge 0 \\ D:\max b^Ty\ s.t. A^Ty \le c P:mincTx s.t.Ax=b,x0D:maxbTy s.t.ATyc

  • Weak Duality: PPP的解xxxDDD的解yyy满足cTx≥bTyc^Tx \ge b^TycTxbTy
  • Unbounded-infeasible: PPP无解则DDD不可行
  • Strong Duality: P,DP,DP,D均可行,则它们最优解下的目标函数值相等
  • 用对偶性理论证明Farkas定理最关键的是在Farkas的两个系统基础上写出两个线性规划问题。记
    P:min⁡0Tys.t.ATy=c,y≥0D:max⁡cTxs.t.Ax≤0P:\min 0^Ty \ s.t. A^Ty = c,y \ge 0 \\ D:\max c^Tx\ s.t. Ax \le 0 P:min0Ty s.t.ATy=c,y0D:maxcTx s.t.Ax0

    注意到PPP不可行意味着系统II无解,因为DDD是可行的,根据Unbounded-infeasible,PPP不可行等价于系统II无解等价于DDD无界,其充要条件是∃x\exists xx, Ax≤0Ax \le 0Ax0, cTx>0c^Tx>0cTx>0,也就是系统I有解,因此系统I与系统II只能有一个有解。

    Gordan定理

    Gordan定理(Farkas定理的推论):AAA是一个m×nm\times nm×n的矩阵,下面两个系统有且仅有一个有解:
    I:Ax<0II:ATy=0,y≥0,y≠0I:Ax < 0 \\ II:A^Ty=0,y \ge 0, y \ne 0I:Ax<0II:ATy=0,y0,y=0

    我们用Farkas定理的这个推论演示一下这几种证明思路:

    证明方法1:Farkas定理
    改写系统I:
    Ax<0⇔Ax+1ms=[A1m][xs]≤0,s>0Ax < 0 \Leftrightarrow Ax + 1_m s = \left[ \begin{matrix} A & 1_m \end{matrix} \right] \left[ \begin{matrix} x \\ s \end{matrix} \right] \le 0,s>0Ax<0Ax+1ms=[A1m][xs]0,s>0

    定义c=[0,0,⋯,1]∈Rn+1c = [0,0,\cdots,1] \in \mathbb{R}^{n+1}c=[0,0,,1]Rn+1,则
    cT[xs]>0c^T\left[ \begin{matrix} x \\ s \end{matrix} \right]>0cT[xs]>0

    改写系统用现成的定理非常方便,需要注意的是改写后两个系统的有解性要与改写前相同,改写的逻辑是Tightening不等式靠松弛变量。

    证明方法2:反证法
    假设系统II有解,如果存在xxx使得Ax<0Ax < 0Ax<0,则
    xTATy=(Ax)Ty<0,∀y≥0,y≠0x^TA^Ty = (Ax)^Ty < 0,\forall y \ge 0,y \ne 0xTATy=(Ax)Ty<0,y0,y=0

    但是xTATy=xT(ATy)=0x^TA^Ty = x^T(A^Ty)=0xTATy=xT(ATy)=0,这就出现了矛盾,因此系统II有解时,系统II无解。

    假设系统II无解,定义S={x:x=ATy,y≥0,y≠0}S = \{x:x = A^Ty,y \ge 0, y\ne 0\}S={x:x=ATy,y0,y=0},则0∉S0 \notin S0/S。注意到SSS是一个闭凸集,根据定理二,∃p\exists pp满足∀x∈S\forall x \in SxS, pTx≤0p^Tx \le 0pTx0∃y∈S\exists y \in SyS, pTATy≤0p^TA^Ty \le 0pTATy0,因为y≥0,y≠0y \ge 0,y \ne 0y0,y=0,所以Ap≤0Ap \le 0Ap0,这说明系统I有解。

    证明方法3:分离定理
    现在用两个凸集的分离来证明,但基本框架依然是反证法的框架,为了与方法2有所区别,我们先假设系统I有解,再假设系统II无解。

    假设系统I有解,如果∃y≥0,y≠0\exists y \ge 0,y \ne 0y0,y=0, ATy=0A^Ty=0ATy=0,则
    xTATy=(Ax)Ty<0,∀y≥0,y≠0x^TA^Ty = (Ax)^Ty < 0,\forall y \ge 0,y \ne 0xTATy=(Ax)Ty<0,y0,y=0

    但是xTATy=xT(ATy)=0x^TA^Ty = x^T(A^Ty)=0xTATy=xT(ATy)=0,这就出现了矛盾。

    假设系统I无解,定义
    S1={z:z=Ax},S2={z:z<0}S_1 = \{z:z = Ax\}, S_2 = \{z:z < 0\}S1={z:z=Ax},S2={z:z<0}

    系统I无解说明S1∩S2=ϕS_1 \cap S_2 = \phiS1S2=ϕ,因为S1,S2S_1,S_2S1,S2是非空凸集,根据凸集的分离,∃p\exists pp 满足inf⁡{pTz:z∈S1}≥sup⁡{pTz:z∈S2}\inf\{p^Tz:z \in S_1\} \ge \sup\{p^Tz:z \in S_2\}inf{pTz:zS1}sup{pTz:zS2}∀x,∀z∈clS2\forall x,\forall z \in cl S_2x,zclS2,
    pTAx≥pTzp^TAx \ge p^TzpTAxpTz

    因为zzz可以任意大,如果ppp不大于0,上式可能不成立;因此p≥0p \ge 0p0。另外,如果取z=0z=0z=0,可以发现pTAx≥0p^TAx \ge 0pTAx0,取x=−ATpx = -A^Tpx=ATp,则−∥ATp∥≥0-\left\| A^Tp\right\| \ge 0ATp0,显然ATp=0A^Tp = 0ATp=0,因此系统II有解。

    总结

    以上是生活随笔为你收集整理的UA SIE545 优化理论基础1 例题2 Farkas定理与相关结论的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。