非線性優化

2021-08-16 13:11:35 字數 3084 閱讀 7399

問題的一般表達

\(x\)是\(n\)維實向量:

$$x=(x^,...,x^)^t \in r^n,$$

s是\(r^n\)的子集,\(f_0(x),...,f_m(x)\)是x相關的實值函式。

我們所要解決的主要是以下最小問題的變體:

$$min\ f_0(x),$$

$$s.t.\ \ f_j(x)\&0, j=1...m,$$

$$x\in s,$$

其中&可以是\(\geq,\leq or =\)

\(f_0\)是問題的目標函式,函式向量

$$f_=(f_1(x),...,f_m(x))^t$$稱為函式約束向量,集合s是基本可執行集,集合

$$q=$$

稱為問題的可執行集。另一種情況我們可將其理解為目標函式為\(-f_0(x)\)的最大化問題。

問題的分類

約束問題:\(q\in r^n.\)

非約束問題:\(q\equiv r^n.\)

平滑問題:所有\(f_j(x)\)都是可微的.

非平滑問題:有乙個不可微的\(f_k(x).\)

線性約束問題:所有函式約束都是線性的:

\(f_j(x)=\sum_^na_j^x^+b_j\equiv +b_j,j=1...m,\)

(這裡<.,.>代表\(r^n\)上的內積)

如果目標函式\(f_0(x)\)也是線性的,那麼就是線性優化問題。

如果\(f_0(x)\)是二次的,那麼就是二次優化問題,

如果所有約束都是二次的,那麼就是二次約束的二次問題。

其它分類省略,詳見introductory lectures on convex optimization:a basic course---p2

數學方法的效能

p:具體問題

f:一類問題,f\(\supset\)p

m:解決問題的方法

\(\sum\):模型

對問題p的已知部分被稱為問題的模型。

o:收集資料的過程,是回答一系列方法問題的單元。

\(t_e\):迭代停止標準,e是準確率。

分析複雜度:o的次數。

算數複雜度:算數操作次數。

本地黑盒:

1. 算數模式的有效資訊只來自於o

2.距離測試點x很遠的乙個小的問題變化,不會影響x的答案。

函式模型:

0階o:返回\(f(x)\)

1階o:返回\(f(x)\)和梯度\('\)

2階o:返回\(f(x),'\)和hessian \(''\)

全域性優化的複雜度限制

考慮下述問題:

$$min_f(x)$$

這是乙個沒有函式約束的約束最小化問題。問題的基礎可行集是b_n,乙個屬於\(r_n\)的n維盒:

$$b_n=,i=1...n}.$$

這裡我們衡量距離使用無窮範數:

$$\left \| x \right \|_\infty = max_\left | x^ \right |.$$

如果目標函式在\(f(x)\)在\(b_n\)是lipschitz連續,則有:

$$\left | f(x)-f(y)\right | \leq l\left \| x-y \right \|_\infty\ \ \ \forall x,y\in b_n$$

其中l是lipschitz常數。

解決上述問題,我們考慮乙個簡單的方法(均勻網格法)。

方法g(p):

1.\((p+1)^n\)個點

$$x_=(\frac,\frac,...,\frac)^t,$$

其中\((i_1,...,i_n)\in ^n.\)

2.在所有點\(x_\)中我們可以找到乙個點\(\bar\),在目標函式上取得所有點的最小值。

3.返回數值對\((\bar,f(\bar))\)作為結果。

這是乙個0階迭代方法,因為沒有使用到任何測試點序列的積累資訊。

定理:\(f(\bar)-f^*\leq \frac\)

推論:使用方法g解決問題的分析複雜度最多為:

$$a(g)=(\left \lfloor \frac \right \rfloor +2)^n,$$

抵抗oracle:對於每個特定的方法,乙個抵抗oracle試圖建立乙個最壞問題。它從乙個「空」的函式開始,並試圖用最壞可能的方式回答這個方法的每乙個呼叫。這個回答必須和前面的回答以及問題類的描述相容。

考慮如下問題:

模型:\(min_f(x),\)(f(x)在\(b_n\)上是\(l_\infty\))lipschitz連續的。

oracle:零階區域性黑盒。

逼近解:尋找\(\bar\in b_n:f(\bar)-f^*\leq \epsilon)\)

針對此類問題有如下定理:

1. 對於零階方法,要取得\(\epsilon\)精度(這裡\(\epsilon<\fracl\)), 則其解析複雜度至少為\((\left \lfloor \frac \right \rfloor)^n\)。

證明:\(x^*\)是全域性最優點。由其lipschitz連續可得:\(\left | f(x) - f(x^*) \right | \leq l\left \| x - x^* \right \|\)

若結果滿足精度\(\epsilon \)則有\(l\left \| x - x^* \right \| \leq \epsilon\)

因為\(\left \| x - x^* \right \| \leq \frac\)

所以\(\frac \leq \epsilon\)有\(p\geq \frac\geq \left \lfloor \frac \right \rfloor\)

為了使精度在限額內p至少為\(\left \lfloor \frac \right \rfloor\), 所以其解析複雜度至少為\((\left \lfloor \frac \right \rfloor)^n\)

因此我們可以得到均勻網格法的上下界:

g:\((\left \lfloor \frac \right \rfloor +2)^n\),下界:\((\left \lfloor \frac \right \rfloor)^n\)

如果\(\epsilon = o(\frac)\),下界和上界乘上乙個因子後是重合的。這說明g(p)是問題的乙個優化方法。

非線性優化

目的 因為雜訊!為了減少雜訊帶來的影響。現實世界點p,在相機座標系下座標p x,y,z 落在投影平面上的座標為 u,v 一般把 u,v 寫成齊次座標 所謂齊次座標,是為了方便進行矩陣的運算,在向量上面加乙個維度,一般把增加的維度預設成1 焦距fx,fy,相機座標系和成像平面的平移cx,cy都作為內參...

matlab 非線性優化

求解非線性問題 min z f x s.t.c x 0,ceqx 0,ax b,aeqx beq,lb x ub.x,fval,exitflag,output,lambda,grad,hessian fmincon fun,x0,a,b,aeq,beq,lb,ub,nonlcon,options,p...

非線性優化 高翔

高斯牛頓法 include include include include include using namespace std intmain 開始gauss newton 迭代 int iterations 100 迭代次數 double cost 0,lastcost 0 本次迭代的cost...