跳到主要内容

京都大学 情報学研究科 数理工学コース 2024年8月実施 凸最適化

Author​

祭音Myyura (refined with GPT 6 Astra)

Description​

AA を n×nn\times n の正定値対称行列とする。関数 f:Rn×Rn→Rf:\mathbb R^n\times\mathbb R^n\to\mathbb R を以下のように定義する。

f(x,y)=(x−y)⊤A(x−y)f(x,y)=(x-y)^\top A(x-y)

ただし、⊤\top は転置記号を表す。

y∈Rny\in\mathbb R^n をパラメータにもつ次の最適化問題 P(y)\mathrm P(y) を考える。

P(y):Minimizef(x,y)subject tox⊤Ax≤1.\begin{array}{ll} \mathrm P(y):&\text{Minimize}\quad f(x,y)\\ &\text{subject to}\quad x^\top Ax\le1. \end{array}

ただし、問題 P(y)\mathrm P(y) の決定変数は xx である。問題 P(y)\mathrm P(y) は唯一の最適解 xˉ(y)\bar x(y) をもつとする。以下の問いに答えよ。

(i) 関数 ff が凸関数であることを示せ。

(ii) 関数 g:Rn→Rg:\mathbb R^n\to\mathbb R を以下のように定義する。

g(y)=f(xˉ(y),y)g(y)=f(\bar x(y),y)

関数 gg が凸関数であることを示せ。

(iii) 問題 P(y)\mathrm P(y) のカルーシュ・キューン・タッカー (Karush–Kuhn–Tucker) 条件を書け。

(iv) xˉ(y)\bar x(y) を求めよ。

题目描述​

设 AA 为 n×nn\times n 实对称正定矩阵,定义

f(x,y)=(x−y)⊤A(x−y),x,y∈Rn,f(x,y)=(x-y)^\top A(x-y),\qquad x,y\in\mathbb R^n,

其中 ⊤\top 表示转置。对参数 y∈Rny\in\mathbb R^n,考虑以 xx 为决策变量的优化问题

P(y):min⁡x⊤Ax≤1f(x,y).\mathrm P(y):\quad \min_{x^\top Ax\le1}f(x,y).

假设该问题具有唯一最优解 xˉ(y)\bar x(y)。

(i) 证明 ff 是关于 (x,y)(x,y) 的凸函数。

(ii) 定义最优值函数 g(y)=f(xˉ(y),y)g(y)=f(\bar x(y),y),证明 gg 是凸函数。

(iii) 写出 P(y)\mathrm P(y) 的 KKT 条件。

(iv) 求 xˉ(y)\bar x(y)。

Kai​

(i)​

ξ=(x⊤,y⊤)⊤∈R2n\xi=(x^\top,y^\top)^\top\in\mathbb R^{2n} とおく。A⊤=AA^\top=A より

∇f(ξ)=(2A(x−y)−2A(x−y)),∇2f(ξ)=2(A−A−AA).\nabla f(\xi)= \begin{pmatrix}2A(x-y)\\-2A(x-y)\end{pmatrix}, \qquad \nabla^2 f(\xi)=2 \begin{pmatrix}A&-A\\-A&A\end{pmatrix}.

任意の z=(z1⊤,z2⊤)⊤∈R2nz=(z_1^\top,z_2^\top)^\top\in\mathbb R^{2n} に対して、

z⊤∇2f(ξ)z=2(z1−z2)⊤A(z1−z2)≥0.z^\top\nabla^2 f(\xi)z =2(z_1-z_2)^\top A(z_1-z_2)\ge0.

したがってヘッセ行列は半正定値であり、ff は (x,y)(x,y) の凸関数である。

(ii)​

C={x∈Rn:x⊤Ax≤1}C=\{x\in\mathbb R^n:x^\top Ax\le1\} とおく。x↦x⊤Axx\mapsto x^\top Ax は凸関数なので、CC は凸集合である。

任意の y1,y2∈Rny_1,y_2\in\mathbb R^n と θ∈[0,1]\theta\in[0,1] に対して、

x1=xˉ(y1),x2=xˉ(y2),yθ=θy1+(1−θ)y2,x~=θx1+(1−θ)x2x_1=\bar x(y_1),\quad x_2=\bar x(y_2),\quad y_\theta=\theta y_1+(1-\theta)y_2,\quad \widetilde x=\theta x_1+(1-\theta)x_2

とおく。x1,x2∈Cx_1,x_2\in C と CC の凸性より x~∈C\widetilde x\in C である。よって、最適性と (i) の凸性から

g(yθ)=f(xˉ(yθ),yθ)≤f(x~,yθ)≤θf(x1,y1)+(1−θ)f(x2,y2)=θg(y1)+(1−θ)g(y2).\begin{aligned} g(y_\theta) &=f(\bar x(y_\theta),y_\theta)\\ &\le f(\widetilde x,y_\theta)\\ &\le\theta f(x_1,y_1)+(1-\theta)f(x_2,y_2)\\ &=\theta g(y_1)+(1-\theta)g(y_2). \end{aligned}

したがって gg は凸関数である。

(iii)​

ラグランジュ関数を

L(x,λ;y)=(x−y)⊤A(x−y)+λ(x⊤Ax−1)L(x,\lambda;y)=(x-y)^\top A(x-y)+\lambda(x^\top Ax-1)

とおく。KKT 条件は

2A(x−y)+2λAx=0,x⊤Ax≤1,λ≥0,λ(x⊤Ax−1)=0.\boxed{ \begin{aligned} 2A(x-y)+2\lambda Ax&=0,\\ x^\top Ax&\le1,\\ \lambda&\ge0,\\ \lambda(x^\top Ax-1)&=0. \end{aligned}}

この問題は凸計画問題であり、x=0x=0 は狭義実行可能点であるから、KKT 条件は最適性の必要十分条件となる。

(iv)​

AA は正則なので、停留条件は

(1+λ)x=y(1+\lambda)x=y

と同値である。

y⊤Ay≤1y^\top Ay\le1 の場合。 x=yx=y、λ=0\lambda=0 とすると KKT 条件をすべて満たす。よって xˉ(y)=y\bar x(y)=y である。

y⊤Ay>1y^\top Ay>1 の場合。 λ=0\lambda=0 ならば x=yx=y となり実行不可能なので、λ>0\lambda>0 である。相補性条件から x⊤Ax=1x^\top Ax=1 であり、

1=y⊤Ay(1+λ)2.1=\frac{y^\top Ay}{(1+\lambda)^2}.

1+λ>01+\lambda>0 より

λ=y⊤Ay−1>0,x=yy⊤Ay.\lambda=\sqrt{y^\top Ay}-1>0,\qquad x=\frac{y}{\sqrt{y^\top Ay}}.

この組は KKT 条件をすべて満たす。以上より

xˉ(y)={y,y⊤Ay≤1,yy⊤Ay,y⊤Ay>1.\boxed{ \bar x(y)= \begin{cases} y,&y^\top Ay\le1,\\[2mm] \dfrac{y}{\sqrt{y^\top Ay}},&y^\top Ay>1. \end{cases}}

Reference​