【鲁棒优化】| 补充证明:为什么最优解时一定有$y^{*} = |x^{*}|$ (论文笔记:The Price of Robustness)

作者:刘兴禄,清华大学,博士在读

欢迎关注我们的微信公众号 运小筹

在这里插入图片描述

上篇推文有一处证明我省略了,个别小伙伴觉得想不清楚,来问我了。我这里写个补充证明分享给大家。

另外上篇推文也有几处小笔误,由于文章不能更改了,这里来更正一下。在文章的最后部分。

补充证明:为什么最优解时一定有 y ∗ = ∣ x ∗ ∣ y^{*} = |x^{*}| y=x

这个说起来很直观,但是我还是来证明一下:

命题:考虑下面的问题
max ⁡ c x s . t . ∑ j a i j x j + ∑ j ∈ J i a ^ i j y j ⩽ b i , ∀ i y j ⩾ ∣ x j ∣ , ∀ j l ⩽ x ⩽ u y ⩾ 0 \begin{aligned} \max \quad & \mathbf{cx} \\ s.t. \quad & \sum_{j}{a_{ij}x_j}+\sum_{j\in J_i}{\hat{a}_{ij}y_j}\leqslant b_i, \quad &\forall i \\ &y_j \geqslant |x_j| , &&\forall j \\ &\mathbf{l}\leqslant \mathbf{x}\leqslant \mathbf{u}&& \\ &\mathbf{y}\geqslant 0&& \end{aligned} maxs.t.cxjaijxj+jJia^ijyjbi,yjxj,lxuy0ij
则在最优解中,一定有 y ∗ = ∣ x ∗ ∣ y^{*}=|x^{*}| y=x

证明
(反证法)假设最优解为 ( y ∗ , x ∗ ) (\mathbf{y}^{*}, \mathbf{x}^{*}) (y,x), 根据约束,他们一定满足 y ∗ ⩾ ∣ x ∗ ∣ \mathbf{y}^{*}\geqslant |\mathbf{x}^{*}| yx

这里包含且仅包含两种情形: y ∗ > ∣ x ∗ ∣ \mathbf{y}^{*}> |\mathbf{x}^{*}| y>x或者 y ∗ = ∣ x ∗ ∣ \mathbf{y}^{*} = |\mathbf{x}^{*}| y=x

如果最优解满足: y ∗ > ∣ x ∗ ∣ \mathbf{y}^{*} > |\mathbf{x}^{*}| y>x, 约束2显然满足。

我们再来分析约束1。根据 ∣ x ∗ ∣ < y ∗ |\mathbf{x}^{*}| < \mathbf{y}^{*} x<y,可得
∑ j a i j x j ∗ + ∑ j ∈ J i a ^ i j x j ∗ < ∑ j a i j x j ∗ + ∑ j ∈ J i a ^ i j y j ∗ ⩽ b i , ∀ i ( ∗ ) \begin{aligned} \sum_{j}{a_{ij}x_j^{*}}+\sum_{j\in J_i}{\hat{a}_{ij}x_j^{*}} < \sum_{j}{a_{ij}x_j^{*}}+\sum_{j\in J_i}{\hat{a}_{ij}y_j^{*}}\leqslant b_i, \quad &\forall i \hspace{1cm} (*) \end{aligned} jaijxj+jJia^ijxj<jaijxj+jJia^ijyjbi,i()
由于目标函数为 max ⁡   c x \max \, \mathbf{cx} maxcx,随着 x \mathbf{x} x增大,单调递增。而 ( ∗ ) (*) ()式显示,一定 ∃ x j ∗ \exist x_j^{*} xj还有可以增大的空间,并且使得原问题可行。因此我们有,必然 ∃ ( y ˉ , x ˉ ) \exist (\bar{\mathbf{y}}, \bar{\mathbf{x}}) (yˉ,xˉ)使得原问题可行(这里其实更专业的写法是写成 ∃ ( y ˉ , x ˉ ) ∈ S \exist (\bar{\mathbf{y}}, \bar{\mathbf{x}}) \in \mathbf{S} (yˉ,xˉ)S其中 S \mathbf{S} S表示上述问题的可行域,意思就是说这个也是个可行解。这里我只是提及一下), 并且使得 x ˉ \bar{\mathbf{x}} xˉ中所有分量都不小于 x ∗ \mathbf{x}^{*} x的分量,即
x ˉ j ⩾ x j ∗ , ∀ j \bar{x}_j \geqslant x_j^{*}, \quad \forall j xˉjxj,j。并且至少存在一个分量严格大于 x ∗ \mathbf{x}^{*} x的分量,即并且 ∃ j ′ \exist j' j,满足
x ˉ j ′ > x j ′ ∗ \begin{aligned} \bar{x}_{j'} > x_{j'}^{*} \end{aligned} xˉj>xj
由于 ( y ˉ , x ˉ ) (\bar{\mathbf{y}}, \bar{\mathbf{x}}) (yˉ,xˉ)是可行解,所以下面条件一定满足 (实际上这一句可以不要)
∑ j a i j x ˉ j + ∑ j ∈ J i a ^ i j y ˉ j ⩽ b i \begin{aligned} \sum_{j}{a_{ij}\bar{x}_j}+\sum_{j\in J_i}{\hat{a}_{ij}\bar{y}_j}\leqslant b_i \end{aligned} jaijxˉj+jJia^ijyˉjbi
因此,可行解 ( y ˉ , x ˉ ) (\bar{\mathbf{y}}, \bar{\mathbf{x}}) (yˉ,xˉ)必然导致 c x ˉ > c x ∗ \mathbf{c\bar{\mathbf{x}}} > \mathbf{c\mathbf{x}^{*}} cxˉ>cx,从而推出 ( y ∗ , x ∗ ) (\mathbf{y}^{*}, \mathbf{x}^{*}) (y,x)不是最优解。但是这与原假设矛盾。所以我们得出,另外一种情况必然成立,即 y ∗ = ∣ x ∗ ∣ \mathbf{y}^{*} = |\mathbf{x}^{*}| y=x

综上,若 ( y ∗ , x ∗ ) (\mathbf{y}^{*}, \mathbf{x}^{*}) (y,x)为问题的最优解,则一定满足 y ∗ = ∣ x ∗ ∣ \mathbf{y}^{*} = |\mathbf{x}^{*}| y=x。原命题得证。

拓展:符合条件的 j ′ j' j如何找?为什么一定存在 j ′ j' j使得 x j x_j xj增大且原问题可行

上面已经证明了原命题,其实只需要做到上面的部分,这个问题就可以结束了。不过,我还是想从纯数学语言的角度来证明上面的一句话:

一定 ∃ x j ∗ \exist x_j^{*} xj还有可以增大的空间,并且使得原问题可行。

这句话,我还是想继续来硬钢一下,也顺便练练手。

先把这一段搬过来

必然 ∃ ( y ˉ , x ˉ ) \exist (\bar{\mathbf{y}}, \bar{\mathbf{x}}) (yˉ,xˉ)使得原问题可行(这里其实更专业的写法是写成 ∃ ( y ˉ , x ˉ ) ∈ S \exist (\bar{\mathbf{y}}, \bar{\mathbf{x}}) \in \mathbf{S} (yˉ,xˉ)S其中 S \mathbf{S} S表示上述问题的可行域,意思就是说这个也是个可行解。这里我只是提及一下), 并且使得 x ˉ \bar{\mathbf{x}} xˉ中所有分量都不小于 x ∗ \mathbf{x}^{*} x的分量,即
x ˉ j ⩾ x j ∗ , ∀ j \bar{x}_j \geqslant x_j^{*}, \quad \forall j xˉjxj,j。并且至少存在一个分量严格大于 x ∗ \mathbf{x}^{*} x的分量,即并且 ∃ j ′ \exist j' j,满足
x ˉ j ′ > x j ′ ∗ \begin{aligned} \bar{x}_{j'} > x_{j'}^{*} \end{aligned} xˉj>xj

这一部分,如果要再用数学语言表达的精确一些,就是:

  • 必然存在正数 ϵ 1 , ϵ 2 > 0 \epsilon_1, \epsilon_2 >0 ϵ1,ϵ2>0以及至少存在一对下标 j 1 , j 2 j_1, j_2 j1,j2满足下面的条件:
  1. x ˉ j 1 = x j 1 ∗ + ϵ 1 \bar{x}_{j_1} = x_{j_1}^{*} + \epsilon_1 xˉj1=xj1+ϵ1 y ˉ j 2 = y j 2 ∗ − ϵ 2 \bar{y}_{j_2} = y_{j_2}^{*} - \epsilon_2 yˉj2=yj2ϵ2,且
  2. 满足 ∑ j ≠ j 1 a i j x j ∗ + ∑ j ∈ J i , j ≠ j 2 a ^ i j y j ∗ + [ a i , j 1 x ˉ j 1 + a ^ i , j 2 y ˉ j 2 ] ⩽ b i , ∀ i \begin{aligned} \sum_{j \ne j_1}{a_{ij}x_j^{*}}+\sum_{j\in J_i, j\ne j_2}{\hat{a}_{ij}y_j^{*}} + \left[a_{i,j_1}\bar{x}_{j_1} + \hat{a}_{i,j_2}\bar{y}_{j_2} \right]\leqslant b_i, \quad \forall i \end{aligned} j=j1aijxj+jJi,j=j2a^ijyj+[ai,j1xˉj1+a^i,j2yˉj2]bi,i
  • 满足上面条件的 ϵ 1 , ϵ 2 > 0 \epsilon_1, \epsilon_2 >0 ϵ1,ϵ2>0比较好找,只需要满足
    a i , j 1 x ˉ j 1 + a ^ i , j 2 y ˉ j 2 ⩽ a i , j 1 x j 1 ∗ + a ^ i , j 2 y j 2 ∗ ∀ i \begin{aligned} a_{i,j_1}\bar{x}_{j_1} + \hat{a}_{i,j_2}\bar{y}_{j_2} \leqslant a_{i,j_1}x_{j_1}^{*} + \hat{a}_{i,j_2}y_{j_2}^{*} \quad \forall i \end{aligned} ai,j1xˉj1+a^i,j2yˉj2ai,j1xj1+a^i,j2yj2i
    即可。即
    a i , j 1 ( x j 1 ∗ + ϵ 1 ) + a ^ i , j 2 ( y j 2 ∗ − ϵ 2 ) ⩽ a i , j 1 x j 1 ∗ + a ^ i , j 2 y j 2 ∗ ∀ i \begin{aligned} a_{i,j_1} (x_{j_1}^{*} + \epsilon_1) + \hat{a}_{i,j_2}(y_{j_2}^{*} - \epsilon_2) \leqslant a_{i,j_1}x_{j_1}^{*} + \hat{a}_{i,j_2}y_{j_2}^{*} \quad \forall i \end{aligned} ai,j1(xj1+ϵ1)+a^i,j2(yj2ϵ2)ai,j1xj1+a^i,j2yj2i
    整理得
    a i , j 1 ⋅ ϵ 1 − a ^ i , j 2 ⋅ ϵ 2 ⩽ 0 ∀ i ⟺ a i , j 1 ⋅ ϵ 1 ⩽ a ^ i , j 2 ⋅ ϵ 2 ∀ i ⟺ ϵ 1 ϵ 2 ⩽ a ^ i , j 2 a i , j 1 ∀ i ⟺ ϵ 1 ϵ 2 ⩽ min ⁡ i { a ^ i , j 2 a i , j 1 } = β 0 ( ∗ ∗ ) \begin{aligned} & \quad a_{i,j_1} \cdot \epsilon_1 - \hat{a}_{i,j_2} \cdot \epsilon_2 \leqslant 0 \quad \forall i \\ \Longleftrightarrow& \quad a_{i,j_1} \cdot \epsilon_1 \leqslant \hat{a}_{i,j_2} \cdot \epsilon_2 \quad \forall i \\ \Longleftrightarrow& \quad \frac{\epsilon_1}{\epsilon_2} \leqslant \frac{\hat{a}_{i,j_2}}{a_{i,j_1}} \quad \forall i \\ \Longleftrightarrow& \quad \frac{\epsilon_1}{\epsilon_2} \leqslant \underset{i}{\min} \left\{ \frac{\hat{a}_{i,j_2}}{a_{i,j_1}} \right\} = \beta_0\quad \hspace{1cm} (**) \end{aligned} ai,j1ϵ1a^i,j2ϵ20iai,j1ϵ1a^i,j2ϵ2iϵ2ϵ1ai,j1a^i,j2iϵ2ϵ1imin{ai,j1a^i,j2}=β0()

所以,只需要取 ϵ 1 , ϵ 2 > 0 \epsilon_1, \epsilon_2 >0 ϵ1,ϵ2>0,且 ϵ 1 ⩽ x j 1 ∗ , ϵ 2 ⩽ y j 2 ∗ \epsilon_1 \leqslant x_{j_1}^{*}, \epsilon_2 \leqslant y_{j_2}^{*} ϵ1xj1,ϵ2yj2,使得 ϵ 1 ϵ 2 ⩽ β 0 \frac{\epsilon_1}{\epsilon_2} \leqslant \beta_0 ϵ2ϵ1β0即可。
下面来解释一对下标 j 1 , j 2 j_1, j_2 j1,j2如何选取 (这里令所有变量下标集合为 J J J)。
我们令 I 1 = { j ∣ x j < u j , ∣ x j ∣ < y j , ∀ j ∈ J } I_1 = \{j | x_j < \mathbf{u}_j, |x_j| < y_j, \forall j \in J\} I1={jxj<uj,xj<yj,jJ}
I 2 = { j ∣ y j > ∣ x j ∣ } I_2 = \{j | y_j > |x_j|\} I2={jyj>xj}.

具体操作方法:

  1. I 1 I_1 I1中选取任意一个元素作为 j 1 j_1 j1;从 I 2 I_2 I2中选取任意一个元素作为 j 2 j_2 j2
  2. 根据 β 0 = min ⁡ i { a ^ i , j 2 a i , j 1 } \beta_0=\underset{i}{\min} \left\{ \frac{\hat{a}_{i,j_2}}{a_{i,j_1}} \right\} β0=imin{ai,j1a^i,j2}计算 β 0 \beta_0 β0;
  3. 根据 ϵ 1 ϵ 2 ⩽ β 0 \frac{\epsilon_1}{\epsilon_2} \leqslant \beta_0 ϵ2ϵ1β0,选择适合的 ϵ 1 , ϵ 2 \epsilon_1, \epsilon_2 ϵ1,ϵ2即可。

找到了 ϵ 1 , ϵ 2 \epsilon_1, \epsilon_2 ϵ1,ϵ2 j 1 , j 2 j_1, j_2 j1,j2,我们就可以将 ( y ∗ , x ∗ ) (\mathbf{y}^{*}, \mathbf{x}^{*}) (y,x)中的值做以
下更新: x ˉ j 1 = x j 1 ∗ + ϵ 1 \bar{x}_{j_1} = x_{j_1}^{*} + \epsilon_1 xˉj1=xj1+ϵ1 y ˉ j 2 = y j 2 ∗ − ϵ 2 \bar{y}_{j_2} = y_{j_2}^{*} - \epsilon_2 yˉj2=yj2ϵ2,这样就可以得到
新的解 x ˉ \mathbf{\bar{x}} xˉ,这个 x ˉ \mathbf{\bar{x}} xˉ就可以使得 c x ˉ > c x ∗ \mathbf{c\bar{\mathbf{x}}} > \mathbf{c\mathbf{x}^{*}} cxˉ>cx

到这里,用纯数学的语言,我们就把这个事儿全说清楚了,我也是累了,到此为止吧,哈哈。

笔误更正: min ⁡   c x → max ⁡   c x \min \,cx \rightarrow \max \, cx mincxmaxcx

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


** 作者: 刘兴禄, 清华大学博士在读**


欢迎关注我们的微信公众号 运小筹

在这里插入图片描述

公众号往期推文如下

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值