UA SIE545 優化理論基礎4 對偶理論簡介4 求解對偶問題的割平面演算法
UA SIE545 優化理論基礎4 對偶理論簡介4 求解對偶問題的割平面演算法
這一講我們介紹一個求解對偶問題的演算法——割平面演算法(cutting plane algorithm)。
假設原問題為
min
x
∈
X
f
(
x
)
s
.
t
.
g
(
x
)
≤
0
,
h
(
x
)
=
0
\min_{x \in X}f(x) \ \ s.t. \ \ g(x) \le 0,h(x)=0
x∈Xminf(x) s.t. g(x)≤0,h(x)=0
假設
f
,
g
,
h
f,g,h
f,g,h是連續函式,
X
X
X是緊集。根據定義,這個優化的對偶問題是
max
u
≥
0
θ
(
u
,
v
)
=
max
u
≥
0
min
x
∈
X
f
(
x
)
+
u
T
g
(
x
)
+
v
T
h
(
x
)
\max_{u \ge 0} \theta(u,v)=\max_{u \ge 0}\min_{x \in X} f(x)+u^Tg(x)+v^Th(x)
u≥0maxθ(u,v)=u≥0maxx∈Xminf(x)+uTg(x)+vTh(x)
我們可以等價地把這個優化改寫成:
max
z
,
u
,
v
z
s
.
t
.
z
≤
θ
(
u
,
v
)
=
min
x
∈
X
f
(
x
)
+
u
T
g
(
x
)
+
v
T
h
(
x
)
u
≥
0
\max_{z,u,v} z \\ s.t. \ z \le \theta(u,v)=\min_{x \in X} f(x)+u^Tg(x)+v^Th(x)\\u \ge 0
z,u,vmaxzs.t. z≤θ(u,v)=x∈Xminf(x)+uTg(x)+vTh(x)u≥0
進一步,
max
z
,
u
,
v
z
s
.
t
.
z
≤
f
(
x
)
+
u
T
g
(
x
)
+
v
T
h
(
x
)
,
∀
x
∈
X
u
≥
0
\max_{z,u,v} z \\ s.t. \ z \le f(x)+u^Tg(x)+v^Th(x),\forall x \in X\\u \ge 0
z,u,vmaxzs.t. z≤f(x)+uTg(x)+vTh(x),∀x∈Xu≥0
當給定 x x x的值時,這個優化就是一個簡單的線性規劃,為了讓這種替代可行,我們希望 X X X是一個有限集,這樣才能在有限步內結束迴圈。但一般 X X X都不會是有限集,這時我們可以先給定一個 x x x的初值,然後在每一次做完這個優化後,再去求解 min x ∈ X f ( x ) + u T g ( x ) + v T h ( x ) \min_{x \in X} f(x)+u^Tg(x)+v^Th(x) minx∈Xf(x)+uTg(x)+vTh(x)這個問題,從而得到一個新的 x x x,這樣就避免了去遍歷無限集 X X X。基於這個思想,我們可以定義下面的演算法:
- 初始化:定義 k = 1 k=1 k=1,選擇初值 x 0 x_0 x0使得 x 0 ∈ X x_0 \in X x0∈X, g ( x 0 ) ≤ 0 , h ( x 0 ) = 0 g(x_0) \le 0,h(x_0)=0 g(x0)≤0,h(x0)=0
- 求解Master Program: ( z k , u k , v k ) = arg max z , u , v z s . t . z ≤ f ( x ) + u T g ( x ) + v T h ( x ) , ∀ x = x 0 , x 1 , ⋯ , x k − 1 u ≥ 0 (z_k,u_k,v_k)=\argmax_{z,u,v} z \\ s.t. z \le f(x)+u^Tg(x)+v^Th(x),\forall x=x_0,x_1,\cdots,x_{k-1} \\ u \ge 0 (zk,uk,vk)=z,u,vargmaxzs.t.z≤f(x)+uTg(x)+vTh(x),∀x=x0,x1,⋯,xk−1u≥0
- 求解subproblem: x k = arg min x ∈ X f ( x ) + u k T g ( x ) + v k T h ( x ) x_k = \argmin_{x \in X}f(x)+u^T_kg(x)+v^T_kh(x) xk=x∈Xargminf(x)+ukTg(x)+vkTh(x)
- 停止準則:如果 z k = θ ( u k , v k ) = f ( x k ) + u k T g ( x k ) + v k T h ( x k ) z_k=\theta(u_k,v_k)=f(x_k)+u^T_kg(x_k)+v^T_kh(x_k) zk=θ(uk,vk)=f(xk)+ukTg(xk)+vkTh(xk)則停止迴圈,返回 ( u k , v k ) (u_k,v_k) (uk,vk);如果 z k > θ ( u k , v k ) z_k>\theta(u_k,v_k) zk>θ(uk,vk), 賦值 k = k + 1 k=k+1 k=k+1,回到第二步。
例 用割平面法求解下面的優化的對偶問題
min
(
x
1
,
x
2
)
∈
X
f
(
x
1
,
x
2
)
=
(
x
1
−
2
)
2
+
x
2
2
4
s
.
t
.
g
(
x
1
,
x
2
)
=
x
1
−
7
2
x
2
−
1
≤
0
X
=
{
(
x
1
,
x
2
)
:
2
x
1
+
3
x
2
=
4
}
\min_{(x_1,x_2) \in X} f(x_1,x_2)= (x_1-2)^2+\frac{x_2^2}{4} \\ s.t. g(x_1,x_2)=x_1-\frac{7}{2}x_2-1 \le 0 \\ X = \{(x_1,x_2):2x_1+3x_2=4\}
(x1,x2)∈Xminf(x1,x2)=(x1−2)2+4x22s.t.g(x1,x2)=x1−27x2−1≤0X={(x1,x2):2x1+3x2=4}
找一個初始值 x 0 = ( 5 4 , 1 2 ) x_0=(\frac{5}{4},\frac{1}{2}) x0=(45,21),
第一次迴圈:
求解Master Problem
max
z
,
u
,
v
z
s
.
t
.
z
≤
f
(
x
0
)
+
u
T
g
(
x
0
)
+
v
T
h
(
x
0
)
=
5
8
−
3
2
u
u
≥
0
\max_{z,u,v} z \\ s.t. \ z \le f(x_0)+u^Tg(x_0)+v^Th(x_0)=\frac{5}{8}-\frac{3}{2}u\\u \ge 0
z,u,vmaxzs.t. z≤f(x0)+uTg(x0)+vTh(x0)=85−23uu≥0
最優解為 ( z 1 , u 1 ) = ( 5 8 , 0 ) (z_1,u_1)=(\frac{5}{8},0) (z1,u1)=(85,0)。
求解subproblem
x
1
=
arg min
x
∈
X
f
(
x
)
+
u
k
T
g
(
x
)
+
v
k
T
h
(
x
)
=
arg min
x
∈
X
f
(
x
)
=
(
2
,
0
)
x_1 = \argmin_{x \in X}f(x)+u^T_kg(x)+v^T_kh(x) \\ =\argmin_{x \in X}f(x) = (2,0)
x1=x∈Xargminf(x)+ukTg(x)+vkTh(x)=x∈Xargminf(x)=(2,0)
判斷是否停止
z
1
=
5
8
>
θ
(
u
1
)
=
f
(
x
1
)
=
0
z_1 = \frac{5}{8} >\theta(u_1)=f(x_1) = 0
z1=85>θ(u1)=f(x1)=0,所以演算法繼續。
第二次迴圈:
求解Master Problem
max
z
,
u
,
v
z
s
.
t
.
z
≤
f
(
x
0
)
+
u
T
g
(
x
0
)
+
v
T
h
(
x
0
)
=
5
8
−
3
2
u
z
≤
f
(
x
1
)
+
u
T
g
(
x
1
)
+
v
T
h
(
x
1
)
=
u
u
≥
0
\max_{z,u,v} z \\ s.t. \ z \le f(x_0)+u^Tg(x_0)+v^Th(x_0)=\frac{5}{8}-\frac{3}{2}u \\ z \le f(x_1)+u^Tg(x_1)+v^Th(x_1)= u \\u \ge 0
z,u,vmaxzs.t. z≤f(x0)+uTg(x0)+vTh(x0)=85−23uz≤f(x1)+uTg(x1)+vTh(x1)=uu≥0
最優解為 ( z 2 , u 2 ) = ( 1 4 , 1 4 ) (z_2,u_2)=(\frac{1}{4},\frac{1}{4}) (z2,u2)=(41,41)。
。。。。
然後按步驟繼續迴圈即可!
相關文章
- 解析對偶理論與對偶單純性法
- 對偶理論和對偶單純形法——Python實現Python
- 運籌優化(十八)--對策論基礎及其最優化求解優化
- 線性規劃的對偶問題——由拉格朗日對偶問題匯出
- 關於原始對偶演算法(拉格朗日對偶)演算法
- 深入理解SVM之對偶問題
- WEB基礎理論Web
- Hive理論基礎Hive
- Zookeeper基礎理論
- 基礎理論01
- 軟體測試理論(1)基礎理論
- 運籌優化(十七)--儲存論基礎及其最優化求解優化
- 運籌優化(十九)--決策論基礎及其最優化求解優化
- 運籌優化(十六)--排隊論基礎及其最優化求解優化
- UA MATH563 概率論的數學基礎 鞅論初步9 分支過程簡介H5
- 運籌優化(四)--線性規劃之對偶問題和靈敏度分析優化
- web效能優化(理論)Web優化
- 機器學習,詳解SVM軟間隔與對偶問題機器學習
- 深入理解SVM,軟間隔與對偶問題
- 對偶單純形法演算法精要演算法
- 論基礎理論知識的重要性
- PHP效能優化 -理論篇PHP優化
- 架構設計 | 分散式事務①概念簡介和基礎理論架構分散式
- 線性規劃對偶原理
- 強化學習詳解:理論基礎與核心演算法解析強化學習演算法
- ¡Hola Euler! 圖資料庫的理論基礎:圖論資料庫圖論
- 棧與佇列理論基礎佇列
- 軟體測試基礎理論
- Docker 理論簡介及安裝教程Docker
- 遊戲基礎知識——“心流”理論在當代所面對的挑戰遊戲
- JVM效能調優與實戰基礎理論篇-下JVM
- 簡易解說拉格朗日對偶(Lagrange duality)
- enq: TX - index contention基礎理論ENQIndex
- camera理論基礎和工作原理
- (1)分散式事務理論基礎分散式
- 分散式系統理論基礎 - CAP分散式
- React + Redux 效能優化(一):理論篇ReactRedux優化
- 波音公司基於TRIZ理論解決問題