李新想,王錫淮,肖健梅
(上海海事大學 物流工程學院,上海 201306)
為了克服傳統(tǒng)錨泊的應用局限性,目前大多數(shù)船舶都裝備有動力定位系統(tǒng),此系統(tǒng)依靠船舶自身推進系統(tǒng)產(chǎn)生推力來抵消外部環(huán)境的干擾,使船舶保持在某一位置及首向,以此來保證其正常行駛或作業(yè)。推進系統(tǒng)是動力定位系統(tǒng)的執(zhí)行機構(gòu)扮演著重要的角色。推力分配問題就是推進系統(tǒng)實時地分配推力及推力角到各個推進器的過程,即船舶推進系統(tǒng)根據(jù)控制系統(tǒng)給出的控制指令,通過推力分配單元將控制系統(tǒng)的指令合理、高效的分配到推進系統(tǒng)的各個推進器上,確定各個推進器的推力及方位角,以提供抵消外界環(huán)境的干擾且驅(qū)動船舶運動的力及力矩[1]。
因此認為推力分配問題就是含有約束的最優(yōu)化問題,目前主要分為線性二次規(guī)劃無約束的推力優(yōu)化分配問題,線性二次規(guī)劃有約束的推力優(yōu)化分配問題和非線性約束推力優(yōu)化分配問題[1–4]。常見的求解推力分配問題的方法主要有偽逆法、序列二次規(guī)劃法、推進器分組法、奇異值分解和濾波法以及阻尼最小方差法等,其中發(fā)展最好的就是序列二次規(guī)劃法,但運用在推力分配問題是顯得較為繁瑣。由于近年來智能算法的興起,很多學者都開始使用智能算法對推力分配問題進行求解,如遺傳算法[5]等。雖然群智能優(yōu)化算法在處理推力分配約束條件上具有計算簡單、處理速度塊等優(yōu)勢,但要在實際工程中應用,必須解決局部最優(yōu)、搜索效率等問題。
本文提出的遺傳混沌粒子群混合算法,其實質(zhì)是針對粒子群優(yōu)化算法易依賴初始值、易陷入局部最優(yōu)、以及后期收斂速度慢、精度較差等缺點,在粒子初始化時加入混沌變量,提高種群多樣性和遍歷性,并引入遺傳算法中的交叉和變異算子,增強了算法的全局收斂性和搜索速度。并將該算法運用到有約束的非線性推力分配問題上,最后通過仿真驗證,證實該算法在該問題的可行性。
為了對船舶推力分配進行更好的研究,首先要建立一個有DP應用特性的船舶非線性數(shù)學模型
對于只研究縱蕩、橫蕩、首搖3個自由度的水平面內(nèi)的船舶[6],運動學方程可以用下式表示:
動力定位船舶在水平面上低速航行時,變化緩慢,因此忽略了科里奧立向心矩陣對船舶運動的影響以及非線性阻尼矩陣[6],得到簡化的船舶低頻運動模型。
船舶推力分配問題通??梢钥醋魇且粋€多變量有約束的非線性優(yōu)化問題,通過建立合適的目標函數(shù)和約束條件,從而將推進系統(tǒng)的能量消耗、控制系統(tǒng)與推進系統(tǒng)之間的推力誤差、推進器磨損等因素降到最低,保證船舶的操縱性,將控制系統(tǒng)的指令分配到各個推進器上,確定各推進器的推力及方位角[7]。
推力分配單元主要的功能是接受來自控制系統(tǒng)發(fā)出的力和力矩指令,通過一定的方法確定各個推進器的推力以及推力角大小,其原理如圖1所示,數(shù)學描述如下:
推力分配問題的約束條件除了需要滿足力的平衡方程外,還需要考慮推進器推力、方位角的極值以及推力及方位角變化范圍等推進器自身的性能約束,即有如下約束表達式:
式中:U,α分別為當前時刻推進器的推力及推力角;Umin,Umax,αmin,αmax分別為推進器推力及方位角的最小、最大范圍。一般推進器的方位角是固定不變的,但是由于全回轉(zhuǎn)推進器可以在水平面內(nèi)進行360 °的全方位旋轉(zhuǎn),而推進器之間會有相互影響,進而會使推進器損失一部分推力,因此有必要對推進器方位角的限制。U0,α0表示推進器在前一時刻的推力及推力角的大小。U?min,U?max,?αmin,?αmax分別為推力及推力角的最大最小變化范圍。
一般考慮到能量消耗、推力分配誤差、奇異結(jié)構(gòu)以及推進器的磨損,推力分配目標函數(shù)可用下式表示:
粒子群算法是一種群智能算法,粒子作為其基本的組成單位。首先將粒子在可行解空間中進行隨機的初始化,在這里,假設D維空間中第i個粒子的位置和速度分別為xi(t)=(xi1(t),xi2(t),Λ,xid(t))和υi(t)=(υi1(t),υi2(t),···,υid(t)),種群中粒子的位置、速度按照一定方向不斷地進行更新,同時用適應度值表示每個粒子的優(yōu)劣。粒子在解空間中運動時,個體所經(jīng)歷位置中計算得到的適應度值最優(yōu)位置稱之為個體極值用Pi=(Pi1,Pi2,···,Pid)表示,記作Pbest,種群中的所有粒子搜索到的適應度值最優(yōu)位置稱之為群體極值用表示,記作gbest。粒子每更新一次位置,就計算一次適應度值,并且通過比較新粒子Pg=(Pg1,Pg2,···,Pgd)的適應度值和個體極值 、群體極值的適應度值更新個體極值Pbest和群體極值gbest,同時在每次迭代過程中,粒子根據(jù)2個極值來動態(tài)調(diào)整自身的位置和速度,其更新方程為[10–11]:
在分析基本粒子群優(yōu)化算法后,發(fā)現(xiàn)粒子群算法在初始化階段存在缺陷,即粒子群初始化過程是隨機的,隨機過程雖然大多可以確保初始解群分布均勻,但對個體的質(zhì)量卻不能保證。如果初始化不好的話,就會出現(xiàn)粒子遠離最優(yōu)解得情況,影響了進化過程的收斂。故采用混沌系列初始化粒子的位置和速度,在不改變粒子群初始化時隨機性本質(zhì)情的況下,利用混沌提高了種群的多樣性和粒子搜索的遍歷性[10]。
該混沌映射有以下幾個特性[10]:1)該混沌序列不收斂;2)非周期性;3)遍歷(0,1)區(qū)域;4)混沌序列不可預測。根據(jù)以上分析并考慮到混沌特性,本文將混沌變量在粒子群初始化時就加入,使粒子群在初始化時可以更好地靠近最優(yōu)解,有效地增加粒子群的求解效率和解的質(zhì)量
遺傳算法是通過模擬生物物種繁殖進化過程得出的一種優(yōu)化搜索算法。通過進行選擇、交叉以及變異等遺傳算子來交換種群的信息,最終使其產(chǎn)生符合優(yōu)化目標的參數(shù)。正是由于遺傳算法中這些算子,使得種群之間可以更好地交流,而粒子群算法的搜索是由靠自身粒子的不斷更新速度決定的,缺少整個種群相互交流的信息機制。因此,引入遺傳算法中的交叉和變異算子來改進粒子群,使其更好地進行種群間的相互交換以及跳出局部最優(yōu)[10]。
3.3.1 交叉操作
3.3.2 變異操作
在算法迭代過程中為避免算法在搜索后期陷入局部最優(yōu)、增加種群多樣性,將變異操作引入粒子群算法中,即以一定的變異概率()對粒子進行變異操作。本文采用自適應的變異概率,其計算公式如下[11]:
地盡其用 青山再生 寧波市推進廢棄礦地綜合利用的實踐(樊獻鵬) .............................................................7-40
1)種群初始化:確定種群數(shù)N,隨機初始化粒子的位置與速度,并限定粒子的位置與速度范圍;計算種群適應度值,并初始化種群的全局最優(yōu)與個體最優(yōu)。
2)對全局最優(yōu)粒子的進行混沌化,利用Logistic映射,生成混沌化后的種群,并更新種群的全局最優(yōu)與個體最優(yōu)。
3)利用式(7)和式(8)對粒子進行位置和速度更新。
4)更新個體與全局最優(yōu):若當前粒子的適應度值優(yōu)于個體最優(yōu),則用當前粒子位置替換個體最優(yōu); 若當前種群粒子的適應度值優(yōu)于全局最優(yōu),則用當前粒子位置替換全局最優(yōu)。
7)計算適應度值并更新個體與全局最優(yōu)。
8)判斷是否滿足停止條件:如最大迭代數(shù)或者問題所需精度,如果滿足則輸出最優(yōu)搜索結(jié)果,否則返回步驟3。
為了驗證提出的算法能夠解決推力分配優(yōu)化問題,即對非線性有約束問題能夠求解,本文采用第2部分所述的約束條件和目標函數(shù),另外考慮到推進器的角度約束,設置了推力禁區(qū),以某鋪管船為對象進行仿真驗證,其該船舶的推進器相關(guān)參數(shù)如表1所示。
船舶初始位置η0=[0, 0, 0],目標位置ηd=[25,25, 30],船舶運行在海面上,其環(huán)境擾動被設置為偏差向量,已經(jīng)被設置到b=(1×103, 1.1×103, 0.5×103),仿真結(jié)果如圖2所示,仿真顯示,船舶在80 s后達到定位位置點并基本保持穩(wěn)定。
表1 某船舶推進器相關(guān)參數(shù)Tab.1 Parameters of a ship propeller
圖3為仿真過程中7個推進器的推力及方位角變化,從圖3可以看出,每個推進器的推力和方位角滿足推力分配優(yōu)化模型的約束條件,在每個仿真步長內(nèi),推力和方位角變化都趨于平緩,滿足推進器推力及方位角變化速率的約束,說明設計的推力分配方法在減少推進器磨損方面效果良好。
從圖4可以看出,經(jīng)該推力分配算法,進行推力分配后,其合力及力矩,能夠很好地跟蹤控制器推力指令,說明該算法能夠合理地分配推力,即該算法能夠解決推力分配優(yōu)化問題。
針對動力定位系統(tǒng)中推力分配優(yōu)化問題,通過引入遺傳算法中的交叉和變異算子及混沌理論對粒子群算法進行改進,設計了基于混合粒子群算法的推力分配策略。通過對某鋪管船的仿真,證實了該算法能夠解決推力分配優(yōu)化問題,該算法在兼顧能量消耗的同時,能有效的降低推進器的磨損,由于推進器角度在同一時刻并沒有完全一致,故可以有效地解決推進器系統(tǒng)奇異結(jié)構(gòu)的問題,提高了船舶的動態(tài)性能。