机械优化设计c语言鲍威尔法,机械优化设计鲍威尔法.docx
機械優化設計中的鮑威爾方法
鮑威爾( Powell)法是直接利用函數值來構造共軛方向的一種方法。
對函數f(x)= 1 x2Gx+bT +c 的極小化問題, 基本思想是: 在不用導數
2
的前提下,在迭代中逐次構造G 的共軛方向。
鮑威爾算法的基本思想:
性質一:同心橢圓簇;
性質二:平行切點的連線必
dj
dj
g k
g k
經過橢圓簇中心;
性質三:橢圓中心即為極小點。 。
+
1
d k
x kx k+
1
一.共軛方向的生成
如圖 1,設 xk,xk+1 為從不同點出發, 沿同一方向 dj 進行一維搜索而到
的兩個極小點。 根據梯度和等值面相垂直的性質, dj 和 xk, xk+1 兩點
處的梯度 gk,gk+1 之間存在關系 :
dj)Tgk=0 (dj)Tgk+1=0:另一方面,對于上述二次函數,其 xk, xk+1
兩點處的梯度可表示為:gk=Gxk+bgk+1 =Gxk+1 +b:因而有
dj)T(gk+1 -gk)=(dj)TG(x k+1-x k)=0,取 dk=xk+1 -xk 這說明只要沿 dj 方向分
別對函作兩次一維搜索,得到兩個極小點xk 和 xk+1 ,那么這兩點的
連線所給出的方向dk 就是與 dj 一起對 G 共軛的方向。
一.基本算法
1)任選一初始點 x0,再選兩個線性無關的向量,如坐標軸單位向量 e1=[1,0] T 和 e2=[0,1] T 作為初始搜索方向。
2)從 x0 出發,順次沿 e1, e2 作一維搜索
,得 x1
0,x20 點,兩點連線得一新方向
x2
d1
d1=x2
0-x0。用 d1 代替 e1 形成兩個線性無
關向量 d1 ,e2
,作為下一輪迭代的搜索方向。
x *
再 x20
出發,沿 d1 作一維搜索得點 x01,
1
作為下一輪迭代的初始點。
d2
e2
3)從 x1 出發,順次沿 ,e2。 d1 作一維搜索,
x 0e1
x
1
4)得到點 x1
1,x21,兩點連線得一新方
:d2=x21-x11。
4)沿 d2d2 作一維搜索得點 .x2 ,即是二維問題的極小點x* 。 .
把二維情況的基本算法擴展到n 維,則鮑威爾基本算法的要點是:
在每一輪迭代中總有一個始點(第一輪的始點是任選的初始點)
n 個線性獨立的搜索方向。 從始點出發順次沿 n 個方向作一維搜索得一終點,由始點和終點決定了一個新的搜索方向。
用這個方向替換原來 n 個方向中的一個,于是形成新的搜索方向組。替換的原則是去掉原方向組的第一個方向而將新方向排在原方向的最后。此外規定,從這一輪的搜索終點出發沿新的搜索方向作一維搜索而得到的極小點, 作為下一輪迭代的始點。 這樣就形成算法的循環。
二.改進的算法
在改進的算法中首先判斷原向量組是否需要替換。如果需要替換,
還要進一步判斷原向量組中哪個向量最壞,然后再用新產生的向量替
換這個最壞的向量,以保證逐次生成共軛方向。
記 f i=f(x ik)(i=1,2,3,,,n)
因而 F0=f0,
i=f m-1-f m, 相應的方向為
k
dm ,為了構成共軛性好的方
向組,須遵循下列準則:
在 k 次循環中,若滿足條件
F
3
0
(F0-2F 2+F3)(F 0-F 2- m)2<0.5
m(F0-F 3) 2, 則選用新方向 dk,并在第
k
替換對應于
k
。否則,仍然用原方向組
k+1 迭代中用 d
m的方向 dm
進行第 k+1 迭代。這樣重復迭代的結果, 后面加進去的向量都彼此對
G共軛,經 n 輪迭代即可得到一個由n 個共軛方向所組成的方向組。
對于二次函次,最多n 次就可找到極小點,而對一般函數,往往要超
n 次才能找到極小點(這里“ n”表示設計空間的維數) 。以上就是鮑威爾方法的基本概念,鮑威爾方法有如下幾個優點:
1.無需求解目標函數一階和二階導數。
a)不明確目標函數表達式;b)目標函數復雜;
2.對目標函數解析性質不作苛刻要求。
a)屬于直接求解方法; b)函數類型要求較少,適用面廣;
3.收斂速度較快。直接法收斂速度較慢,但鮑威爾法尋找最速收斂方
向,故屬直接法中最有效的方法。
總結
以上是生活随笔為你收集整理的机械优化设计c语言鲍威尔法,机械优化设计鲍威尔法.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频录制软件哪个好
- 下一篇: 入侵无盘系统服务器,比有盘还快!梅捷带你