最優化學習4

2022-08-19 23:15:10 字數 1760 閱讀 5679

根據已學習內容,解決現在遇到的問題

1.這是乙個凸優化問題嗎:

經過一輪推導,對於變數為感測器位置,x,y,z。並不是凸函式

2.需要多少個等式對應多少個未知數

至少達到變數數,越多越好

3.如果使用lm方法,怎麼加入約束條件

涉及到的約束: 

手臂長度約束,不等式,20=感測器位置約束,不等式,-4<=x,y,z<4

面朝向約束,不等式,0<=theta<=6.28

介紹了拉格朗日對偶問題,將不等式約束加入目標函式,生成乙個性質類似的新目標函式。但是這種解決方法,和前面學的牛頓法等迭代求解方法好像並不能結合。

新的目標函式,其導數在可行解範圍內還是一樣的,一旦迭代過程裡跳出了可行域,那就不知道怎麼辦了。跳出可行域,身邊都是無窮大,導數

外罰點函式法:把不等式或者等式的平方項加入目標函式。

內罰點函式法:把基於不等式的分式加入目標函式,構成搜尋過程裡的壁壘,即搜尋不會進入不可行域。

加入懲罰函式對原先搜尋過程的影響:網上資料就是沒有展示一點,對這個新的目標函式進行無約束優化求解的過程。

因為在可行域內,演算法相當於不變。例如外點法,當我們使用梯度下降也就是導數來進行迭代的時候,

噢,我分別用外點法和內點法做了一組資料模擬,用的梯度下降,雖然我還不太清楚收斂條件,但是演算法確實是收斂路上的,而且內點法的壁壘作用很明顯。

也就是,增加的罰函式的導數,確實影響了搜尋過程,

在搜尋方向上,步長的話,一維步長搜尋,確定了搜尋方向d後,以步長為變數進行一次搜尋。

這裡介紹了乙個罰函式法的迭代版,懲罰因子也可以根據每次達到的精度進行迭代,感覺意義不大

目標函式:

/////////$f(x,y,z) = \sum(\sqrt - d)^2$

目標函式:

$r_i(x,y,z) = \sqrt - d$

$f(x,y,z) = \sum r_i^2      $

$s.t.  -4=< x <= 4, -4=加入內點法後,罰函式:

$p(x,y,z) = (\frac)^2 + (\frac)^2 + (\frac)^2 + (\frac)^2 + (\frac)^2 + (\frac)^2$

$f(x,y,z) = f(x,y,z) + p(x,y,z)$

初始**點:x0 = 1, y0 =1, z0 = 1.

lm演算法公式:

$a = [x,y,z]^t$

g =  j^t  [ r_1, r_2,..... \frac,....\frac]

$x = x_0 - (j^tj + \mu i)^g(x,z,y)$

$j_ =  \frac$

$\mu$的初值選取:和$j^tj$矩陣元素個數有關??$\mu_0 = \tau * \max(j^tj_^0)$  $\mu$等於$\tau$乘以$j^tj$也就是海森陣近似陣,該矩陣主對角線元素中最大的乙個。。。$\tau$的取值還沒資料,網上**有給e-10的。

$\mu$的控制公式,$\rho = \frac$   $ l(0) - l(h) = -h^tj^tf - \frach^tj^tjh$

$if \rho > 0$   $\mu = \mu * max\,1 - (2\rho - 1)^3\}$   $else$  $\mu = \mu * 2$

收斂條件:

對於lm法:

1.g過小

2.x的變化過小

3.達到最大迭代次數

milestone!!!!

理論部分就這樣了,下面matlab的函式測一遍,,自己寫乙個再測一遍

最優化學習3

對幾個經典方法的整理和比較 手打一下公式 梯度下降法 面向任何函式,收斂速度一階,有發散可能。梯度下降法考慮函式的一階梯度 一階泰勒展開 找到乙個合理的迭代方向,但是不能確定步長。只利用了當前點的切線 一階梯度 的資訊 x x 0 lambda nabla 牛頓法 面向任何函式,收斂速度二階,有發散...

最優化學習筆記(二) 二分法

二分法是一種一維搜尋方法。它討論的是求解一元單值函式f r r在 區間 a 0,b0 的極小點問題。同時要求函式 f 在區間 a 0,b0 上為單調函式,並且是連續可微的,這裡將使用 f 的一階導數f 二分法的計算過程比較簡單,它主要是利用一階導數來連續壓縮區間的方法。1.確定初始區間的中點 x 0...

最優化學習筆記 十八 擬牛頓法 4 DFP演算法

秩2演算法可以保證在任意第 k 步迭代下,只要一維搜尋是精確的,近似矩陣hk 就是正定的。dfp演算法令 k 0 選擇初始點x 0 任意選擇乙個堆成正定實矩陣h0 如果g k 0 停止迭代 否則,令d k hkg k 計算 k arg min 0 f x k d k x k 1 x k kd k 4...