跳到主要内容

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

Author

思齐塾, 祭音Myyura

Description

f:RnRf: \mathbb{R}^n \to \mathbb{R} , gj:RnRg_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)条件を満たすベクトル xRnx^* \in \mathbb{R}^nμRm\mu^* \in \mathbb{R}^m とが存在するとする.

f(x)+j=1mμjgj(x)=0\nabla f(x^*) + \sum_{j=1}^m \mu_j^* \nabla g_j(x^*) = 0
gj(x)0,μj0,μjgj(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 成分を表す.

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

(x)=f(x)+j=1mμjgj(x)\ell(x) = f(x) + \sum_{j=1}^m \mu_j^* g_j(x)

以下の問いに答えよ.

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

(x)(y)(y)T(xy)\ell(x) - \ell(y) \geq \nabla \ell(y)^T (x - y)

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

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

(x)(x)\ell(x) \geq \ell(x^*)

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

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

f(x)=12(x11)2+12(x21)2,g1(x)=x1,g2(x)=x1+x21f(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 のカルーシュ・キューン・タッカー条件を満たすベクトル xR2x^* \in \mathbb{R}^2μR2\mu^* \in \mathbb{R}^2 を求めよ.

题目描述

f:RnRf:\mathbb R^n\to\mathbb Rgj:RnR (j=1,,m)g_j:\mathbb R^n\to\mathbb R\ (j=1,\ldots,m) 均为连续可微凸函数。考虑非线性规划

P:minxf(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}

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

f(x)+j=1mμjgj(x)=0,\nabla f(x^*)+\sum_{j=1}^m\mu_j^*\nabla g_j(x^*)=0,
gj(x)0,μj0,μjgj(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μjgj(x).\ell(x)=f(x)+\sum_{j=1}^m\mu_j^*g_j(x).

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

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

    (x)(y)(y)T(xy).\ell(x)-\ell(y)\geq\nabla\ell(y)^T(x-y).
  2. 证明对任意 xRnx\in\mathbb R^n

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

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

    f(x)=12(x11)2+12(x21)2,g1(x)=x1,g2(x)=x1+x21,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 条件的 xR2x^*\in\mathbb R^2μR2\mu^*\in\mathbb R^2

Kai

(i) (x)=f(x)+j=1mμjgj(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))

ffgjg_j は凸関数なので、

f(x)f(y)f(y)T(xy)f(x) - f(y) \geq \nabla f(y)^T (x - y)
gj(x)gj(y)gj(y)T(xy)g_j(x) - g_j(y) \geq \nabla g_j(y)^T (x - y)

したがって、

(x)(y)f(y)T(xy)+j=1mμjgj(y)T(xy)=(f(y)+j=1mμjgj(y))T(xy)=(y)T(xy)\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) xx^* は KKT 条件を満たすので

f(x)+j=1mμjgj(x)=0\nabla f(x^*) + \sum_{j=1}^m \mu_j^* \nabla g_j(x^*) = 0
gj(x)0,μj0,μjgj(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(xx)\ell(x) - \ell(x^*) \geq \nabla \ell(x^*)^T (x - x^*)

ここで、 (x)=f(x)+j=1mμjgj(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μjgj(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 なので、 μjgj(x)0\mu_j^* g_j(x) \leq 0 。したがって

(x)=f(x)+j=1mμjgj(x)f(x)\ell(x) = f(x) + \sum_{j=1}^m \mu_j^* g_j(x) \leq f(x)
(x)=f(x)+j=1mμjgj(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^*) となり、 xx^* は問題Pの大域的最適解。

(iv) KKT 条件は

{x11μ1+μ2=0,x21+μ2=0,x10,x1+x21,μ1,μ20,μ1x1=0,μ2(x1+x21)=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+x21x_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}}.