凸優化1 什麼是凸優化問題

2021-10-20 07:38:22 字數 2017 閱讀 1248

去年就想看一下優化泛函變分相關的內容,但沒有空餘的排期,大部分學習時間花在了強化學習方面。

今年,正好近期專案也有需要,凸優化提上了自學日程。

全書700頁,計畫用半年的時間完成一刷。

數學模型min

iniz

ef0(

x)su

bjec

ttof

i(x)

≤bi,

i=1,

2,⋯,

m\begin mininize \ &f_0(x) \\ subject \ to \ &f_i(x)\leq b_i, \ i=1,2,\cdots,m \end

minini

zesu

bjec

tto​

f0​(

x)fi

​(x)

≤bi​

,i=1

,2,⋯

,m​

線性優化:目標函式和約束函式均為線性函式;

凸優化:目標函式和約束函式均為凸函式;

凸性是較線性更為一般的性質,線性函式是凸函式的乙個特例,因此線性規劃問題也是凸優化問題。

應用

求解

m in

iniz

ef0(

x)=∥

ax−b

∥2

2\begin mininize \ &f_0(x)=\lvert ax-b\rvert _2^2 \end

minini

ze​f

0​(x

)=∥a

x−b∥

22​​

等效於求解:

a ta

x=at

ba^tax=a^tb

atax=a

tb存在解析解:

x =(

ata)

−1at

bx=(a^ta)^a^tb

x=(ata

)−1a

tb即b

bb左乘a

aa的廣義逆。

可以認為,最小二乘問題的求解是一項(成熟的)技術

目標函式和約束函式均為線性函式

m in

iniz

ef0(

x)=c

txsu

bjec

ttof

i(x)

=ait

x≤bi

,i=1

,2,⋯

,m

\begin mininize \ &f_0(x)=c^tx \\ subject \ to \ &f_i(x)=a_i^tx\leq b_i, \ i=1,2,\cdots,m \end

minini

zesu

bjec

tto​

f0​(

x)=c

txfi

​(x)

=ait

​x≤b

i​,i

=1,2

,⋯,m

​不存在解析解,但存在很多有效地求解方法:

可以說,求解(大部分)線性規劃問題,也是一項(成熟的)技術

目標函式和約束函式,都是凸函式。

有效的求解方法:內點法。

雖然有點誇張,如果某個實際問題可以表述為凸優化問題,那麼事實上已經解決了這個問題

目標函式或者約束函式,是非線性,且不一定為凸函式。

區域性優化

全域性優化

例子:最壞情況分析,尋找最壞情況的引數值;

應用

凸優化 python解決凸優化問題

1 安裝cvx包 用pip安裝cvxopt 1.2.1 cp36 cp36m win amd64.whl和cvxpy 1.0.9 cp36 cp36m win amd64.whl 因為我是python3.6所以是cp36 cvxpy cvxopt 參考 2 遇到問題 error microsoft ...

凸優化 非凸優化

凸 convex vs 非凸的概念,數學定義就不寫了,介紹個直觀判斷乙個集合是否為convex的方法,如下圖 簡單的測試乙個集合是不是凸的,只要任意取集合中的倆個點並連線,如果說連線段完全被包含在此集合中,那麼這個集合就是凸集,例如左圖所示。凸優化有個非常重要的定理,即任何區域性最優解即為全域性最優...

優化問題,凸優化,凸二次優化問題

首先 優化問題通常喜歡求解最小值min 如果要求max就給他轉換過來 如何來判斷乙個函式是否是凸函式呢?對於一元函式f x 我們可以通過其二階導數f x 的符號來判斷。如果函式的二階導數總是非負,即f x 0 則f x 是凸函式對於多元函式f x 我們可以通過其hessian矩陣 hessian矩陣...