求下面问题的一系列共轭函数
(a) 最大值函数。函数
f
(
x
)
=
max
i
=
1
,
…
,
n
x
i
f(x)=\max_{i=1,\dots,n}x_i
f(x)=maxi=1,…,nxi,定义在
R
n
\mathbf{R}^n
Rn上。
(b) 最大若干分量之和。函数
f
(
x
)
=
∑
i
=
1
r
x
[
i
]
f(x)=\sum_{i=1}^rx_{[i]}
f(x)=∑i=1rx[i],定义在
R
n
\mathbf{R}^n
Rn上。
(c) 定义在
R
R
R上的分片线性函数。
f
(
x
)
=
max
i
=
1
,
…
,
m
(
a
i
x
+
b
i
)
f(x)=\max_{i=1,\dots,m}(a_ix+b_i)
f(x)=maxi=1,…,m(aix+bi)。在求解过程中,可以假设
a
i
a_i
ai按升序排列,
a
1
≤
⋯
≤
a
m
a_1\le\dots\le a_m
a1≤⋯≤am,且每个函数
a
i
x
+
b
i
a_ix+b_i
aix+bi都不是冗余的,即任选
k
k
k,至少存在一点
x
x
x使得
f
(
x
)
=
a
k
x
+
b
k
f(x)=a_kx+b_k
f(x)=akx+bk。
解:
(a)最大值函数的共轭函数写作:
f
∗
(
y
)
=
sup
x
{
y
T
x
−
max
x
}
f^*(y)=\sup_x\{y^Tx-\max x\}
f∗(y)=xsup{yTx−maxx}
- 首先,如果 y y y的分量中存在负值,那么与该分量对应相乘的 x x x分量取负无穷大时,显然是没有上界的,所以至少 y ⪰ 0 y\succeq 0 y⪰0;
- 其次,如果 y y y向量中存在某个大于1的的分量,那么当该分量对应的 x i x_i xi趋近于无穷大时,函数没有上界。
- 然后在
0
⪯
y
⪯
1
0\preceq y\preceq 1
0⪯y⪯1的基础上考虑问题,不失一般性,我们可以假设
x
∈
R
n
x\in\mathbf{R}^n
x∈Rn的各分量按从大到小排序:
x 1 ≥ x 2 ≥ ⋯ ≥ x n x_1\ge x_2\ge\dots\ge x_n x1≥x2≥⋯≥xn
则共轭函数可以去掉最大值符号,
f ∗ ( y ) = sup x { ∑ i = 1 n y i x i − x 1 } = sup x { ( y 1 − 1 ) x 1 + ∑ i = 2 n y i x i } , ∀ i ≥ 2 x i ≤ x 1 f^*(y)=\sup_x\{\sum^n_{i=1}y_ix_i-x_1\}=\sup_x\{(y_1-1)x_1+\sum^n_{i=2}y_ix_i\},\quad \forall i\ge 2\quad x_i\le x_1 f∗(y)=xsup{i=1∑nyixi−x1}=xsup{(y1−1)x1+i=2∑nyixi},∀i≥2xi≤x1
对于这样的线性形式,更容易分析上界的存在性。
考虑最大化函数值的 x x x取值:固定 x 1 x_1 x1, x x x的其他所有分量前面的系数 y i y_i yi都是非负的,那么这些分量尽量取更大值,才能逼近上界。所以,我们不妨取 x = t 1 x=t\mathbf{1} x=t1,即各个分量相等的向量(每个分量都是最大值 t t t)。在这种情况下,
f ∗ ( y ) = sup x { ( y 1 − 1 ) x 1 + ∑ i = 2 n y i x i } = sup t { t ( ∑ i = 1 m y i − 1 ) } f^*(y)=\sup_x\{(y_1-1)x_1+\sum^n_{i=2}y_ix_i\}=\sup_t\{t(\sum_{i=1}^m y_i-1)\} f∗(y)=xsup{(y1−1)x1+i=2∑nyixi}=tsup{t(i=1∑myi−1)}我们发现,当且仅当 ∑ i y i = 1 \sum_iy_i=1 ∑iyi=1时,函数才不是 t t t的线性函数,上界才存在。
因此,共轭函数为
f
∗
(
y
)
=
{
0
if
y
⪰
0
,
(
y
⪯
1
可
忽
略
)
1
T
y
=
1
∞
otherwise
f^*(y)= \begin{cases} 0&\text{if}\quad y\succeq 0,(y\preceq 1可忽略)\quad \mathbf{1^T}y=1\\ \infty&\text{otherwise}\\ \end{cases}
f∗(y)={0∞ify⪰0,(y⪯1可忽略)1Ty=1otherwise
(b)思路与(a)相似,我们仍分三步走:
- 首先,如果 y y y的分量中存在负值,那么与该分量对应相乘的 x x x分量取负无穷大时,显然是没有上界的,所以至少 y ⪰ 0 y\succeq 0 y⪰0;
- 其次,如果 y y y向量中存在某个大于1的的分量,那么当该分量对应的 x i x_i xi趋近于无穷大时,函数没有上界。
- 然后在
0
⪯
y
⪯
1
0\preceq y\preceq 1
0⪯y⪯1的基础上考虑问题,我们仍假设
x
∈
R
n
x\in\mathbf{R}^n
x∈Rn的各分量按从大到小排序:
x 1 ≥ x 2 ≥ ⋯ ≥ x n x_1\ge x_2\ge\dots\ge x_n x1≥x2≥⋯≥xn
则共轭函数可以化为下面的形式:
f ∗ ( y ) = sup { ∑ i = 1 r ( y i − 1 ) x i + ∑ i = r + 1 n y i x i } f^*(y)=\sup\{\sum_{i=1}^r(y_i-1)x_i+\sum^n_{i=r+1}y_ix_i\} f∗(y)=sup{i=1∑r(yi−1)xi+i=r+1∑nyixi}
,考虑最大化函数值的 x x x取值:因为前 r r r项求和的系数都是非正的,因此,固定 x r x_r xr这个第 r r r小的分量, x 1 , … , x r − 1 x_1,\dots,x_{r-1} x1,…,xr−1都取与 x r x_r xr相同的值,使前 r r r项之和最大; x j , j > r x_j,j>r xj,j>r的其他所有分量前面的系数 y i y_i yi都是非负的,那么对这些分量尽量取更大值以逼近上界,所以也都统一取 x r x_r xr。于是我们不妨令 x = t 1 x=t\mathbf{1} x=t1,即各个分量相等的向量(每个分量都是最大值 t t t)。在这种情况下,
f ∗ ( y ) = sup { ∑ i = 1 r ( y i − 1 ) x i + ∑ i = 2 n y i x i } = sup { t ( ∑ i = 1 m y i − r ) } f^*(y)=\sup\{\sum_{i=1}^r(y_i-1)x_i+\sum^n_{i=2}y_ix_i\}=\sup\{t(\sum_{i=1}^m y_i-r)\} f∗(y)=sup{i=1∑r(yi−1)xi+i=2∑nyixi}=sup{t(i=1∑myi−r)}
当且仅当 ∑ i y i = r \sum_iy_i=r ∑iyi=r时,函数才不是 t t t的线性函数,上界才存在。
综上,共轭函数为
f
∗
(
y
)
=
{
0
if
0
⪯
y
⪯
1
,
1
T
y
=
r
∞
otherwise
f^*(y)= \begin{cases} 0&\text{if}\quad 0\preceq y\preceq 1,\quad \mathbf{1^T}y=r\\ \infty&\text{otherwise}\\ \end{cases}
f∗(y)={0∞if0⪯y⪯1,1Ty=rotherwise
(c)按照题干假设,函数
f
f
f有
m-1
\text{m-1}
m-1个拐点,表达式为
x
i
=
b
i
−
b
i
+
1
a
i
+
1
−
a
i
,
i
=
1
,
.
.
.
,
m
−
1
x_i=\dfrac{b_i-b_{i+1}}{a_{i+1}-a_i},\quad i=1,...,m-1
xi=ai+1−aibi−bi+1,i=1,...,m−1
容易求得,共轭函数为
f
∗
(
y
)
=
−
b
i
−
b
i
+
1
−
b
i
a
i
+
1
−
a
i
(
y
−
a
i
)
f^*(y)=-b_i-\dfrac{b_{i+1}-b_i}{a_{i+1}-a_i}(y-a_i)
f∗(y)=−bi−ai+1−aibi+1−bi(y−ai)
其中
i
i
i定义为,满足
a
i
≤
y
≤
a
i
+
1
a_i\le y\le a_{i+1}
ai≤y≤ai+1