跳到主要内容

京都大学 情報学研究科 数理工学専攻 2012年8月実施 オペレーションズ・リサーチ

Author​

思齐塾, 祭音Myyura

Description​

f:Rn→Rf: \mathbb{R}^n \to \mathbb{R} , gj:Rn→Rg_j: \mathbb{R}^n \to \mathbb{R} ( j=1,...,mj = 1, ..., m ) を連続的微分可能な凸関数とする. 次の非線形計画問題を考える.

P: Minimize f(x)f(x) subject to gj(x)≤0g_j(x) \leq 0 ( j=1,...,mj = 1, ..., m )

この問題に対して, 以下のカルーシュ・キューン・タッカー(Karush-Kuhn-Tucker)条件を満たすベクトル x∗∈Rnx^* \in \mathbb{R}^n と μ∗∈Rm\mu^* \in \mathbb{R}^m とが存在するとする.

∇f(x∗)+∑j=1mμj∗∇gj(x∗)=0\nabla f(x^*) + \sum_{j=1}^m \mu_j^* \nabla g_j(x^*) = 0
gj(x∗)≤0,μj∗≥0,μj∗gj(x∗)=0(j=1,...,m)g_j(x^*) \leq 0, \quad \mu_j^* \geq 0, \quad \mu_j^* g_j(x^*) = 0 \quad (j = 1, ..., m)

ただし, μj∗\mu_j^* は μ∗\mu^* の第 jj 成分を表す.

さらに, 関数 ℓ:Rn→R\ell: \mathbb{R}^n \to \mathbb{R} を以下のように定義する.

ℓ(x)=f(x)+∑j=1mμj∗gj(x)\ell(x) = f(x) + \sum_{j=1}^m \mu_j^* g_j(x)

以下の問いに答えよ.

(i) 任意の x,y∈Rnx, y \in \mathbb{R}^n に対して次の不等式が成り立つことを示せ.

ℓ(x)−ℓ(y)≥∇ℓ(y)T(x−y)\ell(x) - \ell(y) \geq \nabla \ell(y)^T (x - y)

ただし, T^T はベクトルの転置を表す.

(ii) 任意の x∈Rnx \in \mathbb{R}^n に対して次の不等式が成り立つことを示せ.

ℓ(x)≥ℓ(x∗)\ell(x) \geq \ell(x^*)

(iii) 問(ii)の不等式を用いて, x∗x^* が問題 P の大域的最適解であることを示せ.

(iv) n=2,m=2n = 2, m = 2 とする. さらに, 凸関数 f,g1,g2f, g_1, g_2 を以下のように定義する.

f(x)=12(x1−1)2+12(x2−1)2,g1(x)=−x1,g2(x)=x1+x2−1f(x) = \frac{1}{2}(x_1 - 1)^2 + \frac{1}{2}(x_2 - 1)^2, \quad g_1(x) = -x_1, \quad g_2(x) = x_1 + x_2 - 1

ただし, x=(x1,x2)Tx = (x_1, x_2)^T である. このとき, 問題 P のカルーシュ・キューン・タッカー条件を満たすベクトル x∗∈R2x^* \in \mathbb{R}^2 と μ∗∈R2\mu^* \in \mathbb{R}^2 を求めよ.

题目描述​

设 f:Rn→Rf:\mathbb R^n\to\mathbb R 及 gj:Rn→R (j=1,…,m)g_j:\mathbb R^n\to\mathbb R\ (j=1,\ldots,m) 均为连续可微凸函数。考虑非线性规划

P:min⁡xf(x)s.t.gj(x)≤0(j=1,…,m).\begin{aligned} P:\quad \min_x\quad &f(x)\\ \text{s.t.}\quad &g_j(x)\leq0\qquad(j=1,\ldots,m). \end{aligned}

假设存在 x∗∈Rnx^*\in\mathbb R^n、μ∗∈Rm\mu^*\in\mathbb R^m 满足该问题的 Karush–Kuhn–Tucker(KKT)条件

∇f(x∗)+∑j=1mμj∗∇gj(x∗)=0,\nabla f(x^*)+\sum_{j=1}^m\mu_j^*\nabla g_j(x^*)=0,
gj(x∗)≤0,μj∗≥0,μj∗gj(x∗)=0(j=1,…,m),g_j(x^*)\leq0,\qquad \mu_j^*\geq0,\qquad \mu_j^*g_j(x^*)=0 \quad(j=1,\ldots,m),

其中 μj∗\mu_j^* 是 μ∗\mu^* 的第 jj 个分量。定义

ℓ(x)=f(x)+∑j=1mμj∗gj(x).\ell(x)=f(x)+\sum_{j=1}^m\mu_j^*g_j(x).

完成以下各问,其中上标 TT 表示转置:

  1. 证明对任意 x,y∈Rnx,y\in\mathbb R^n,

    ℓ(x)−ℓ(y)≥∇ℓ(y)T(x−y).\ell(x)-\ell(y)\geq\nabla\ell(y)^T(x-y).
  2. 证明对任意 x∈Rnx\in\mathbb R^n,

    ℓ(x)≥ℓ(x∗).\ell(x)\geq\ell(x^*).
  3. 利用第 2 问的不等式证明 x∗x^* 是问题 PP 的全局最优解。

  4. 令 n=m=2n=m=2,并取

    f(x)=12(x1−1)2+12(x2−1)2,g1(x)=−x1,g2(x)=x1+x2−1,f(x)=\frac12(x_1-1)^2+\frac12(x_2-1)^2,\qquad g_1(x)=-x_1,\qquad g_2(x)=x_1+x_2-1,

    其中 x=(x1,x2)Tx=(x_1,x_2)^T。求满足问题 PP 的 KKT 条件的 x∗∈R2x^*\in\mathbb R^2 与 μ∗∈R2\mu^*\in\mathbb R^2。

Kai​

(i) ℓ(x)=f(x)+∑j=1mμj∗gj(x)\ell(x) = f(x) + \sum_{j=1}^m \mu_j^* g_j(x) より

ℓ(x)−ℓ(y)=f(x)−f(y)+∑j=1mμj∗(gj(x)−gj(y))\ell(x) - \ell(y) = f(x) - f(y) + \sum_{j=1}^m \mu_j^* (g_j(x) - g_j(y))

ff と gjg_j は凸関数なので、

f(x)−f(y)≥∇f(y)T(x−y)f(x) - f(y) \geq \nabla f(y)^T (x - y)
gj(x)−gj(y)≥∇gj(y)T(x−y)g_j(x) - g_j(y) \geq \nabla g_j(y)^T (x - y)

したがって、

ℓ(x)−ℓ(y)≥∇f(y)T(x−y)+∑j=1mμj∗∇gj(y)T(x−y)=(∇f(y)+∑j=1mμj∗∇gj(y))T(x−y)=∇ℓ(y)T(x−y)\ell(x) - \ell(y) \geq \nabla f(y)^T (x - y) + \sum_{j=1}^m \mu_j^* \nabla g_j(y)^T (x - y) = \left( \nabla f(y) + \sum_{j=1}^m \mu_j^* \nabla g_j(y) \right)^T (x - y) = \nabla \ell(y)^T (x - y)

(ii) x∗x^* は KKT 条件を満たすので

∇f(x∗)+∑j=1mμj∗∇gj(x∗)=0\nabla f(x^*) + \sum_{j=1}^m \mu_j^* \nabla g_j(x^*) = 0
gj(x∗)≤0,μj∗≥0,μj∗gj(x∗)=0(j=1,...,m)g_j(x^*) \leq 0, \quad \mu_j^* \geq 0, \quad \mu_j^* g_j(x^*) = 0 \quad (j = 1, ..., m)

(i) より、

ℓ(x)−ℓ(x∗)≥∇ℓ(x∗)T(x−x∗)\ell(x) - \ell(x^*) \geq \nabla \ell(x^*)^T (x - x^*)

ここで、 ∇ℓ(x∗)=∇f(x∗)+∑j=1mμj∗∇gj(x∗)=0\nabla \ell(x^*) = \nabla f(x^*) + \sum_{j=1}^m \mu_j^* \nabla g_j(x^*) = 0 なので、

ℓ(x)−ℓ(x∗)≥0\ell(x) - \ell(x^*) \geq 0
ℓ(x)≥ℓ(x∗)\ell(x) \geq \ell(x^*)

(iii) 問題 P の任意の実行可能解 xx に対して、 ℓ(x)=f(x)+∑j=1mμj∗gj(x)≥ℓ(x∗)\ell(x) = f(x) + \sum_{j=1}^m \mu_j^* g_j(x) \geq \ell(x^*) 。 gj(x)≤0g_j(x) \leq 0 なので、 μj∗gj(x)≤0\mu_j^* g_j(x) \leq 0 。したがって

ℓ(x)=f(x)+∑j=1mμj∗gj(x)≤f(x)\ell(x) = f(x) + \sum_{j=1}^m \mu_j^* g_j(x) \leq f(x)
ℓ(x∗)=f(x∗)+∑j=1mμj∗gj(x∗)=f(x∗)\ell(x^*) = f(x^*) + \sum_{j=1}^m \mu_j^* g_j(x^*) = f(x^*)

よって、 f(x)≥ℓ(x)≥ℓ(x∗)=f(x∗)f(x) \geq \ell(x) \geq \ell(x^*) = f(x^*) となり、 x∗x^* は問題Pの大域的最適解。

(iv) KKT 条件は

{x1−1−μ1+μ2=0,x2−1+μ2=0,x1≥0,x1+x2≤1,μ1,μ2≥0,μ1x1=0,μ2(x1+x2−1)=0.\begin{cases} x_1-1-\mu_1+\mu_2=0,\\ x_2-1+\mu_2=0,\\ x_1\geq0,\quad x_1+x_2\leq1,\\ \mu_1,\mu_2\geq0,\\ \mu_1x_1=0,\quad \mu_2(x_1+x_2-1)=0. \end{cases}

制約 x1+x2≤1x_1+x_2\leq1 が狭義なら μ2=0\mu_2=0 となり、停留条件から x2=1x_2=1 となって狭義性に矛盾する。従って

x1+x2=1.x_1+x_2=1.

もし x1=0x_1=0 なら x2=1x_2=1 であり、第2停留条件から μ2=0\mu_2=0 、第1停留条件から μ1=−1\mu_1=-1 となって不可能である。よって x1>0x_1>0 なので μ1=0\mu_1=0 である。停留条件と x1+x2=1x_1+x_2=1 を解くと

x1=x2=12,μ2=12.x_1=x_2=\frac12,\qquad \mu_2=\frac12.

従って求める KKT ベクトルは

x∗=(1/21/2),μ∗=(01/2).\boxed{x^*=\begin{pmatrix}1/2\\1/2\end{pmatrix}, \qquad \mu^*=\begin{pmatrix}0\\1/2\end{pmatrix}}.