摘要:本文結(jié)合斜盤型軸向柱塞泵缸體優(yōu)化設(shè)計,采用了浮點數(shù)編碼和懲罰函數(shù)適應值度量下的遺傳算法,對有約束的實參數(shù)*化問題作了初步研究。結(jié)果表明,遺傳算法對此問題不僅是可行的,而且還顯示出了其全局尋優(yōu)的優(yōu)勢。
關(guān)鍵詞:遺傳算法 柱塞泵優(yōu)化
self-leanning fuzzy sliding mode control and its application to electrohydraulic
servo system
duan suolin et al
abstract:combining the optimum design on the cylinder of the swash plate axialpiston pump, this paper discusses how to apply the genetic algorithms with floatcode and punitive function to the optimum design with several real parameters.
keywords:optimization genetic algorithms
1 引言
遺傳算法〔1〕(genetic algorithms:ga)作為一種隨機搜索算法,與傳統(tǒng)優(yōu)化方法相比,在搜索過程中不容易陷入局部*,即使在所定義的函數(shù)是不連續(xù)的、非規(guī)則的或有噪聲的情況下,它也能以很大的概率找到整體*解,因此在組合優(yōu)化等許多領(lǐng)域得到了成功的應用。
機械優(yōu)化設(shè)計是現(xiàn)代優(yōu)化設(shè)計中的重要組成部分,但是,遺傳算法在機械優(yōu)化設(shè)計中的應用卻受到很大限制。這主要是因為機械優(yōu)化設(shè)計中的問題通常為有約束實參數(shù)*化問題,而遺傳算法的常見編碼方式為二進制編碼方式。在二進制編碼表示中,在其串長度一定的情況下,較大的變量變化區(qū)域會導致二進制表示的精度不夠,而為了提高二進制表示精度,采用更多的位,卻會使算法速度下降。兩者的矛盾造成了應用的困難。所以,對實參數(shù)有約束*化問題的研究是遺傳算法的難點之一。
本文針對上面的問題作了初步的探索,嘗試采用懲罰函數(shù)將有約束的問題轉(zhuǎn)化為無約束問題,并在遺傳算法中采用了浮點數(shù)表示方法及其相應的遺傳算子操作,從而避免了采用二進制編碼所導致的對表示精度的限制。以此為基礎(chǔ),針對斜盤型軸向柱塞泵缸體結(jié)構(gòu)優(yōu)化設(shè)計問題進行了研究,并獲得了滿意的結(jié)果。
2 有約束*化問題的遺傳算法
(1) 染色體的構(gòu)造
通常,采用遺傳算法時,所進行的二進制編碼不僅要進行二進制轉(zhuǎn)換,而且表達的精度也會受到限制,假設(shè)優(yōu)化設(shè)計中只有一個設(shè)計變量x。其上限為a,下限為b,用二進制表示的精度為(a-b)/n(n為二進制串的位長度)。若a-b=1cm,則q=1/ncm。當n=8時,q=0.125cm;當n=16時,q=0.0625cm,當n=32時,q=0.03125cm。由此可見,采用二進制串表示一個設(shè)計變量,即使其串長度達到32位,也無法達到機械設(shè)計常見的0.01的精度要求,而這在多設(shè)計變量中問題會更加突出。
為了解決這一問題,本文直接采用浮點數(shù)表示方案。在浮點數(shù)表示中,各代成員都是用染色體表示,染色體為參數(shù)矢量=(x1,x2,…,xm)∈rm,其中的等位基因xi均為實數(shù)。浮點數(shù)表示法的精度依賴于計算機,但一般來說比二進制表示高得多。此外,浮點數(shù)能夠表示非常大的區(qū)域,而在二進制串長度一定的情況下,區(qū)域規(guī)模的增大會導致二進制表示的精度下降。
(2) 評價函數(shù)的選取
機械優(yōu)化設(shè)計常常是有約束的優(yōu)化設(shè)計。在有約束的優(yōu)化設(shè)計中,要找到一個可行解與找到一個的解幾乎是一樣的困難。為了從不可行解中獲得必要的信息,引入懲罰函數(shù)將有約束問題轉(zhuǎn)化為無約束問題。
考慮約束zui小化問題,其形式為min g(x),且使bj(x)≥0,j=1,2,…,m。將它轉(zhuǎn)化為無約束形式。即構(gòu)造并求式中:
maxf(x)(1)
f(x)=g(x)·p(x)(2)
(3)
(4)
(5)其中,k和β都是常數(shù):當g>0時,β=1;當g0時,β=-1。p(x)是違反約束的懲罰函數(shù),g(x)是度量解的質(zhì)量。
在適應值的計算過程中,同時引入了適應值比例變換機制,若原函數(shù)為f,比例適應函數(shù)為u,指數(shù)比例變換滿足關(guān)系式:u(f)=exp(-β*f),從表1和表2可看出指數(shù)比例變換的作用:
群體中有6個串,其中一個串的適應值很大?,F(xiàn)在進行β=0.01的指數(shù)比例變換,原值和變換后的值見表1,可發(fā)現(xiàn)經(jīng)變換后群體差異縮小了。
表1 β=0.01時適應值和比例變換值
原適應值
(f) 200 8 7 6 5 4
比例適應值
(u) 2.718 1.041 1.036 1.030 1.025 1.020
群體中有6個串,它們的適應值較接近?,F(xiàn)在進行β=0.1的指數(shù)比例變換,原值和變換后的值見
表2。可發(fā)現(xiàn)經(jīng)過變換后群體差異縮小了。 表2 β=0.1時適應值和比例變換值
原適應值
(f) 9 8 7 6 5 4
比例適應值
(u) 90 55 33 20 12 7
可見,適應值指數(shù)比例變換機制的引入,一方面可以防止在搜索起始階段由于群體中極少的個體相對于大多數(shù)個體而言適應性非常好而產(chǎn)生的過早收斂,一方面可以防止在搜縈后期由于群體的平均適應值接近于群體的*適應值而產(chǎn)生的競爭消失。 (3) 遺傳算子操作
① 選擇規(guī)則。選擇規(guī)則的作用是把當前群體中的個體按與適應值成比例的概率復制到新的群體中。在通常情況下,采用輪盤賭選擇機制,其主要步驟如下:
a.計算群體中所有染色體適應值的和:s=σfi
b.計算隨機值m=rand(o,s)。
c.從群體中編號為1的染色體開始,將其適應值與后繼染色體中的適應值相加,直到累加和大于或等于m。
zui后加進去的染色體就是要選擇的染色體。
② 雜交規(guī)則。由于采用了浮點數(shù)編碼方案,因此,它的雜交算子和下面的變異算子都必須具有數(shù)值特點。
雜交算子的定義為求兩個向量的線性組合,即如果第t代的個體sv和sw雜交,則產(chǎn)生的子代為:
st+1v=astw+(1-a)stv(6)
st+1w=astv+(1-a)stw(7)
③ 變異規(guī)則。變異算子定義為:如果第t代個體為xi=(v1,…,vn),則每個分量vk*相同的以概率進行變異,一次變異的結(jié)果為(v1,…,vk′,…,vn),1≤k≤n,vk的值按下面隨機方式?jīng)Q定:
(8)δ(t,y)=y〔1-r(1-t/t)*b〕(9)
其中,lb和ub分別為第k個參變量定義域的左右界,r是〔0,1〕上的隨機數(shù),t是遺傳算法中的zui大代數(shù)。
(4) 停止準則
遺傳算法已經(jīng)迭代了預置的代數(shù),或者獲得了滿意的結(jié)果。
3 斜盤型軸向柱塞泵缸體優(yōu)化設(shè)計的ga算法
(1) 斜盤型軸向柱塞泵缸體優(yōu)化設(shè)計的數(shù)學模型
斜盤型軸向柱塞泵是泵的主要品種之一,它的優(yōu)化設(shè)計要求在滿足泵的性能(排量q)強度和剛度要求的前提下,盡量使泵的結(jié)構(gòu)緊湊(即體積小,質(zhì)量輕,用材少)。因此它是一個多設(shè)計變量、多約束、實參數(shù)*化問題。根據(jù)參考文獻〔3〕所得的缸體設(shè)計理論模型,可以建立如下的優(yōu)化模型(其結(jié)構(gòu)及參數(shù)見圖):
設(shè)計變量取為
(10)目標函數(shù)為
f(x)=vc=π〔(d2-d21)(l+δl-zx21l)〕/4-zs0δl(11)
求取f(x)的zui小值min f(x)。
式中:d=2r+2δ+x1
δ=min(δ1,δ2)
δ1=2rsin(π/z)-x1
δ2=r-x1/2-d1v/2
r=4qth/(zx1tgβ)
l=x2+2rtgβmax+△h
缸體結(jié)構(gòu)參數(shù)示意圖
約束條件
缸體強度條件為:
(12)缸體剛度條件為:
(13)缸孔與柱塞接觸強度條件為:
g3(x)=2frl/x1-〔p〕≤0(14)
柱塞zui大相對滑動速度約束條件:
g4(x)=rπntgβmax/30-〔υmax〕≤0(15)
比功率條件為:
g5(x)=r(πn/30)(2/x1)(frl)φ=75tgβmaxsin75°-〔pυ〕≤0(16)
為保證幾何長度d,ll,δ必須為正值而產(chǎn)生的約束條件:
g6(x)=-x1≤0(17)
g7(x)=-x2≤0(18)
g8(x)=-δ≤0(19)
為保證分母項始終大于0而產(chǎn)生的約束條件:
g9(x)=f(3l0/x2-2+ll/x2)sinβmax-cosβmax≤0(20)
(2) 缸體優(yōu)化設(shè)計的遺傳算法
缸體優(yōu)化設(shè)計的遺傳算法如下:
step 1 初始化
輸入?yún)?shù):柱塞數(shù)z
算法參數(shù)pc,pm,pop_size,max_gen
step 2 產(chǎn)生初始種群。
step 3 計算每一個染色體對應的評價值i=1
① 按2之(3)中的懲罰函數(shù)法和適應值比例變換機制計算個染色體的適應值f1。
② i=i+1,若i>pop_size,則轉(zhuǎn)向step4;否則轉(zhuǎn)向 step3之①
step4 停止準則:
滿足下列條件之一,則算法停止:
① 迭代數(shù)>max_gen;
② ft+1-ft<ε
否則轉(zhuǎn)向step5。
step5選擇
采用2之(3)①的輪盤賭選擇機制。
step6 雜交
采用2之(3)②雜交規(guī)則進行雜交。
step7變異
采用2之(3)③的變異規(guī)則進行變異。
然后轉(zhuǎn)向step3。
4 計算結(jié)果及其分析
根據(jù)以上的步驟,獲得了表3的計算結(jié)果:
表3 優(yōu)化結(jié)果
z d
(cm) l1
(cm) vc
(cm) r
(cm) l
(cm) d
(cm) δ1
(cm) δ2
(cm) frl
(kn)
7 1.60 4.28 289.3 2.80 6.60 8.50 / / /
5 1.78 4.10 425.8 3.08 6.40 9.78 1.84 0.92 0.34
6 1.68 3.87 316.2 2.88 6.04 8.97 1.20 0.76 5.65
7 1.60 3.69 248.1 2.74 5.77 8.41 0.78 0.67 5.10
8 1.49 3.58 231.2 2.76 5.68 8.26 0.62 0.74 4.50
9 1.38 3.50 231.1 2.86 5.66 8.25 0.58 0.89 3.97
分析表3中的數(shù)據(jù),可以得出如下的結(jié)論:
(1) 表3中的vc和d的變化關(guān)系,符合參考文獻〔3〕中得出的結(jié)論:在 0<d<2cm的區(qū)間內(nèi),d的微小增加會使vc很快減小。
(2) 把用遺傳算法得到的vc的優(yōu)化值和參考文獻〔3〕中用隨機搜索算法得到的值加以比較,可以發(fā)現(xiàn)前者優(yōu)于后者,表明了遺傳算法在搜索過程中具有全局優(yōu)化的特點,也進一步表明了將遺傳算法用于實參數(shù)、有約束*化問題是可行的。
(3) 為了使用浮點數(shù)編碼方案而采用的兩個向量線性組合的雜交算子對模式具有高度的破壞作用。參考文獻〔2〕中提出了采用兩種雜交算子,即以50%的概率用線性組合的雜交,50%的概率用實域雜交,對這種方法的有效性,還有待于進一步研究。