李帥 楊康
沈陽理工大學信息工程學院
串聯電路系統可靠度最大化的算法研究
李帥 楊康
沈陽理工大學信息工程學院
對電子電路系統而言,如何使其獲得最大的可靠性是設計的主要目標之一。文章給出了粒子群算法的可靠性優化求解策略,根據數學模型,討論了求解步驟,還加入變異操作來避免早熟收斂,最后給出了實驗仿真結果。結果表明該算法與其他方法相比收斂速度更快,精度更高,從而驗證了該算法應用于最大化串聯電路系統可靠性問題的可行性和有效性。
可靠性;最大化;單目標優化;PSO算法;變異操作
由于計算機性能的提高和軟件技術的發展,使得優化過程得以快速、容易地實現,縮短了可靠性優化設計時間,促進了可靠性優化方法在可靠性設計中更加廣泛的發展和應用。以往的最優冗余大多關注于在滿足一定的可靠性要求下,整個系統的成本最小,少有關于系統可靠度最大化的研究。
系統可靠性優化問題按照其目標函數數目的多少分為:單目標優化和多目標優化。單目標優化:是指在一定資源消耗的條件下,優化目標為最大化系統可靠度或者最小化系統資源消耗的單一優化問題,最終獲得一個最優解。
在串-并聯電路系統中,最大化系統可靠度的問題可用如下優化模型表示:

式中:ni為第i級子系統的冗余數;qi(qi=1-Ri)為第i級子系統各不相同元件的不可靠度;g(ni)為第i級子系統單元成本,Ri為子系統各相同元件的可靠度。

圖1 串-并聯冗余系統
若qi<<1,目標函數還可以表示為

對非線性規劃(2),若目標函數f(x)是凸函數,約束集合是凸集,則稱非線性規劃(2)是凸規劃。顯然在(2)中只含不等式約束,又gi(x)是凹函數,則約束集是凸集。存在定理:凸規劃的局部最優解必是全局最優解.求解問題式(2)就是在可行集中找出一點x*使得目標函數f(x)在該點處取得最小值。
系統可靠性優化已被證明是一個NP完全問題,很難采用基于梯度的微分方法求解,即不存在精確的求解方法。為此,本文采用粒子群優化算法(PSO)來進行復雜系統的可靠性優化分析。它是一種現代群體智能算法,1995年首先由Kennedy和Eberhart提出[1],是以所有粒子追隨著最優粒子飛行,在解空間中進行隨機搜索。每個潛在解與粒子運行速度相聯系,該速度不停地根據粒子經驗以及粒子鄰居們的經驗來調整大小、方向,總是希望粒子能朝著更好的方向發展。在搜索過程中,全局搜索能力與局部搜索能力的平衡關系對于算法的成功起著至關重要的作用。粒子更新公式如下所示:

其中w稱為慣性權值,c1和c2是兩個正常數,稱為加速因子,r1和r2是兩個0~1之間的隨機數.通常使用一個常量Vmax來限制粒子的速度,改善搜索結果。
用粒子群算法求解本文的問題,具體可按如下步驟進行:
首先注意到本文的最優解是在整數空間,即使粒子的位置和速度均為整數,下一位置則可能為實數,這樣不能保證仍在整數空間內搜索。本文取變量y1,y2,…均屬于[0,1]區間的實數,其值對應于粒子的位置。xi與yi對應,若k=[liyi],則xi取整數集合{n1,n2,n3,…,nm}中的第k個元素,即xi=n1+k-1。這樣[0,1]區間的實數就與整數對應起來。目標函數:

另外在有約束的極小化問題的懲罰函數中,適應值函數定義為最小不可靠度模型的目標函數和對違反約束的懲罰之和。有約束的問題“變成無約束的優化問題”即

式中,M為一充分大正數。
設每一個冗余子系統的n值為Xi,則每一個粒子的編碼為[X1,X2,…,Xn],種群大小popsize設置為20,粒子飛行最大速率Vmax=2.0,種群規模為20,最大迭代次數為100,c1=1.4946,c2=1.4946,慣性權重w由0.9~0.4線性減小,M為18。
算法描述:
Stepl初始化所有的粒子,在允許的范圍內隨機設置粒子的初始位置和初始速度;
Step2判斷每個粒子是否滿足約束條件;
Step3評價每個粒子的適應值,即計算目標函數值;
Step4計算個體歷史最優位置pbest;
Step5計算種群歷史最優位置gbest;
Step6根據粒子的速度和位置更新方程更新粒子的速度和位置;
Step7若滿足迭代條件,則終止迭代,輸出結果;否則轉到Step2。
設某4級串一并聯系統,總造價不大于200元,各級別元件不可靠度及單價數據見表1,求最佳冗余設計方案,使系統可靠度最大。

用matlab進行仿真求解,得到如下結果:迭代進化得到的適應度值:0.049.(見圖2)。

圖2 pso求解的適應度進化曲線
粒子群優化算法收斂快,具有很強的通用性,但同時存在著容易早熟收斂,搜索精度較低,后期迭代效率不高等缺點。在粒子群優化算法中引入變異操作,即對某些變量以一定的概率重新初始化。變異操作拓展了在迭代中不斷縮小的種群搜索空間,使粒子能夠跳出先前搜索到的最優值位置,在更大的空間中開展搜索,同時保持了種群多樣性,提高算法尋找到更優值的可能性(迭代過程見圖3)。

表 1

圖4 20次平均適應度進化曲線
因此,在普通粒子群算法的基礎上引入了簡單變異算子,基本思想就是粒子每次更新之后,以一定概率重新初始化粒子,最終得到最優解[3]。
最優解:n1=1,n2=3,n3=1,n4=1,n5=2,n6=1,n7=1,n8=2;此時的系統最大可靠度R=0.9949。沒有冗余優化的8級串聯系統可靠度為0.400,由此可見,群智能算法對于解決最大化復雜系統可靠性問題具有一定的高效性和易實現性。
為了檢驗算法的有效性,本文同時采用了遺傳算法和模擬退火算法對該問題進行求解。遺傳算法參數如下:種群規模為N=20,交叉概率為pc=0.95,變異概率為pm=0.08,迭代次數為100; 模擬退火算法參數如下:起始溫度T=100000,終止溫度T0=1,退火速度為0.9。三種算法隨機運行20次所找到的平均最小適應度進化曲線所示。顯然,粒子群算法的要比其他算法進化的快,而且結果也優于另兩種算法(見圖4);通過比較三者的目標函數值的標準方差,發現粒子群算法的方差比其他算法的小一個數量級,說明粒子群算法求最優解時,優化表現比較平穩;另外,粒子群達到最優的頻率明顯大于其他算法(見表1)。

圖3 改進的pso求解的適應度進化曲線
以往解決可靠性優化問題都是從整個系統的成本最小化的角度建立單目標優化模型,本文則從串聯電路系統可靠性最大化的角度建立了數學模型。
在粒子群算法求解的過程中注意到本文的解都應該在整數空間,因此對模型進行了改進,并通過加入罰函數的方法將有約束問題轉化為無約束問題,最終形成了適合粒子群算法的目標函數。
粒子群算法作為一種全局搜索算法,尤其適用于處理傳統搜索方法難以解決的復雜問題和非線性問題,但是它卻不能保證最終收斂于問題的全局最優解。在算法中引入變異操作后,通過仿真發現這種自變異的粒子群算法克服了早熟收斂,搜索精度較低,后期迭代效率不高的缺點。
考慮到遺傳算法存在早熟的弱點,而模擬退火算法全局搜索能力差,經過改進的粒子群算法能夠較好地克服了這兩種算法的缺點。通過實際算例仿真計算驗證了自變異粒子群算法與遺傳算法。模擬退火算法相比在求解串聯電路系統可靠度最大化時無論是求解過程還是結果,這種算法都勝過其他兩種算法。因此,加入變異操作的粒子群算法為串聯電路系統可靠性最大化問題的求解提供了新的思路。
[1]Kennedy J, Eberhart R. Particle swarms optimization [A]. Proc IEEE Int Conf on Neural Networks[C]. Perth, 1995: 1942-1948
[2] Eberhart R C, Shi Y. Particle swarm optimization: developments, applications and resources[A].Proceedings of the IEEE Congress on Evolutionary Computation [C]. Piscataway, NJ:IEEE Service Center, 2001: 81-86
[3]呂振肅,侯志榮.自適應變異的粒子群優化算法.電子學報. Mar.2004, Vol.32 No.3
[4]豐建榮,劉志河,劉正和.混合整數規劃問題遺傳算法的研究及仿真實現.系統仿真學報.2004,16(4):845~848
[5]飛思科產品研發中心 編著. MATLAB 6.5輔助優化計算及設計.電子工業出版社
[6][加]B.S.迪隆.系統設計和應用的可靠性工程.宇航出版社
[7]謝云.用模擬退火算法并行求解整數規劃問題.高技術通訊.1991,1(10):21—26
10.3969/j.issn.1001-8972.2011.18.011
遼寧高等教育教學資源平臺建設
李帥, 男 沈陽理工大學信息工程學院碩士研究生。 研究方向:虛擬儀器與信息處理。