京都大学 情報学研究科 数理工学コース 2024年8月実施 凸最適化
Author
祭音Myyura (refined with GPT 6 Astra)
Description
A を n×n の正定値対称行列とする。関数 f:Rn×Rn→R を以下のように定義する。
f(x,y)=(x−y)⊤A(x−y)
ただし、⊤ は転置記号を表す。
y∈Rn をパラメータにもつ次の最適化問題 P(y) を考える。
P(y):Minimizef(x,y)subject tox⊤Ax≤1.
ただし、問題 P(y) の決定変数は x である。問題 P(y) は唯一の最適解 xˉ(y) をもつとする。以下の問いに答えよ。
(i) 関数 f が凸関数であることを示せ。
(ii) 関数 g:Rn→R を以下のように定義する。
g(y)=f(xˉ(y),y)
関数 g が凸関数であることを示せ。
(iii) 問題 P(y) のカルーシュ・キューン・タッカー (Karush–Kuhn–Tucker) 条件を書け。
(iv) xˉ(y) を求めよ。
题目描述
设 A 为 n×n 实对称正定矩阵,定义
f(x,y)=(x−y)⊤A(x−y),x,y∈Rn,
其中 ⊤ 表示转置。对参数 y∈Rn,考虑以 x 为决策变量的优化问题
P(y):x⊤Ax≤1minf(x,y).
假设该问题具有唯一最优解 xˉ(y)。
(i) 证明 f 是关于 (x,y) 的凸函数。
(ii) 定义最优值函数 g(y)=f(xˉ(y),y),证明 g 是凸函数。
(iii) 写出 P(y) 的 KKT 条件。
(iv) 求 xˉ(y)。
Kai
(i)
ξ=(x⊤,y⊤)⊤∈R2n とおく。A⊤=A より
∇f(ξ)=(2A(x−y)−2A(x−y)),∇2f(ξ)=2(A−A−AA).
任意の z=(z1⊤,z2⊤)⊤∈R2n に対して、
z⊤∇2f(ξ)z=2(z1−z2)⊤A(z1−z2)≥0.
したがってヘッセ行列は半正定値であり、f は (x,y) の凸関数である。
(ii)
C={x∈Rn:x⊤Ax≤1} とおく。x↦x⊤Ax は凸関数なので、C は凸集合である。
任意の y1,y2∈Rn と θ∈[0,1] に対して、
x1=xˉ(y1),x2=xˉ(y2),yθ=θy1+(1−θ)y2,x=θx1+(1−θ)x2
とおく。x1,x2∈C と C の凸性より x∈C である。よって、最適性と (i) の凸性から
g(yθ)=f(xˉ(yθ),yθ)≤f(x,yθ)≤θf(x1,y1)+(1−θ)f(x2,y2)=θg(y1)+(1−θ)g(y2).
したがって g は凸関数である。
(iii)
ラグランジュ関数を
L(x,λ;y)=(x−y)⊤A(x−y)+λ(x⊤Ax−1)
とおく。KKT 条件は
2A(x−y)+2λAxx⊤Axλλ(x⊤Ax−1)=0,≤1,≥0,=0.
この問題は凸計画問題であり、x=0 は狭義実行可能点であるから、KKT 条件は最適性の必要十分条件となる。
(iv)
A は正則なので、停留条件は
(1+λ)x=y
と同値である。
y⊤Ay≤1 の場合。 x=y、λ=0 とすると KKT 条件をすべて満たす。よって xˉ(y)=y である。
y⊤Ay>1 の場合。 λ=0 ならば x=y となり実行不可能なので、λ>0 である。相補性条件から x⊤Ax=1 であり、
1=(1+λ)2y⊤Ay.
1+λ>0 より
λ=y⊤Ay−1>0,x=y⊤Ayy.
この組は KKT 条件をすべて満たす。以上より
xˉ(y)=⎩⎨⎧y,y⊤Ayy,y⊤Ay≤1,y⊤Ay>1.
Reference