金禮偉
上海電氣集團股份有限公司 中央研究院 上海 200070
我國已成為海上風電行業裝機規模增長速度最快的國家。2016年,我國海上風電新增裝機154臺,容量達到590 MW,同比增長64%,累計裝機量達到1 630 MW。根據《可再生能源發展“十三五”規劃》,截至2020年,我國海上風電開工建設目標規模為10 GW,確保并網容量5 GW。國際市場研究機構Researchmoz稱,到2025年,整個亞太地區海上風電市場規模預計達到602億美元。與陸上風電相比,海上風電運維時需要調用船舶、直升機、海工船等特殊設備,成本更高,且維修周期更長。目前,海上風電機組的維護成本占全生命周期成本的20%~30%[1-4]。
我國目前海上風電開發的場地主要分布在江蘇沿海。江蘇沿海具有寬闊的灘涂及淺水海床,面臨臺風等惡劣工況,存在較多的江淮氣旋大風、團霧、雷雨天氣,加之運維作業受潮汐影響,交通設備選擇困難,運維作業有效時間短,安全風險大,且缺乏大型維修裝備。可見,對于海上風力發電機而言,使用有效運維調度手段來降低風力發電機的運維成本,對提高風力發電機的可用率具有重要意義。
海上風電運維調度工作涵蓋人員配置、工期優化、船只調度優化、流程優化等內容。人員配置在風力發電機運行中占有重要地位,是影響項目收益的關鍵因素。工期優化綜合考慮風季情況,可以通過優化、縮減定檢項目,減少定檢工時,最大限度保證風力發電機在盛風季的運轉時間。對于船只調度優化而言,船只租用費用可能占運維費用的很大比例,同時,船只類型選擇、船只路徑優化會直接影響運維費用及運維周期。對于流程優化而言,合理規劃定期檢修維護、日常排故維護、預防故障排除這三類維護工作,可以減少年檢工時。
海上風電場的運維調度是一個復雜、動態問題。針對每個維修任務,可以由多個可用的維修團隊選擇乘坐多個可用的維修船只進行維修,這樣可以提高系統維修安排的靈活性,有利于降低成本,但是會擴大可行解的搜索范圍,使問題變得更加復雜。海上風電場運維調度問題可以描述為安排M艘維修船只和N個維修團隊去完成P個不同的維修任務,優化的目標是為每個維修任務選擇最合適的維修船只、維修團隊和維修開始時間,使整個維修過程的成本達到最低。
采用文獻[5]中的海上風電場運維調度評價方法,對于一個特定維護隊列的運維任務,基于海上風電場歷史運維數據,結合風力發電機健康狀況,以及風功率預測、惡劣天氣、維修資源約束、停機損耗、備品備件物流等復雜約束,完成對隊列任務的調度,建立能夠綜合表達調度方案的評價函數,最終完成對海上風電場的運維調度。
遺傳算法是目前較為流行的解決不確定性調度問題的啟發式算法[6]。這一算法通用性強,計算能力較好,并且具有并行性和全局搜索等特點[7],在處理不確定性調度問題方面具有較強的穩定性。針對海上風電場運維調度的特點,充分考慮船只、天氣、維修人員、維修次序、風力發電機健康狀況、航行費用等因素,根據遺傳算法的思想,提出了一種以最低成本為目標的求解方法。
遺傳算法是一種通過模擬達爾文生物進化論中基于自然選擇和遺傳學機理的生物進化過程,來搜索最優解的算法。基本遺傳算法以群體中的所有個體為對象,只使用選擇、交叉和變異三種基本遺傳算子,操作過程簡單。基本遺傳算法是其它遺傳算法的基礎,為各種遺傳算法提供了一個基本框架。理論分析與實際應用都表明,基本遺傳算法不能處處收斂于全局最優解,因此,基本遺傳算法有待進一步改進。
針對遺傳算法優化過程中基因編碼相同的個體重復出現的現象,筆者引入基因庫的概念,對基本遺傳算法中個體適應度的求解過程進行改進[8]。對于前代出現過的個體,新的一代在進行遺傳運算時,可以考慮直接引用重復個體已經計算生成的數據,這樣不僅減小了計算量,而且能提高算法的收斂效率[9]。
提出一種推理式的編碼及初始化方法,對維修任務的發生次序進行自然數編碼,基于成本最低的原則,確定每個運維任務的最佳時間、最佳維修船只與最佳維修團隊的組合,形成一個可行解。
確定隊列的運維策略評價步驟如下。
(1) 對P個運維任務的執行次序進行自然數編碼,得到g1、g2、…、gP。例如,g1=5表示運維任務5會第一個被執行。
(2) 顯然,可以在第一時間派出船只去執行前M個運維任務,隨機分配維修團隊Wi和維修船只Bi。
(3) 一旦前M個運維任務中有任意一個開始執行,即有維修船只到達現場,則立即開始考慮第gM+1個運維任務對應的開始時間tgM+1、對應的維修船只BgM+1及維修團隊WgM+1,滿足[tgM+1,BgM+1,WgM+1]=arg min costgM+1。
(4) 一旦有新的運維任務開始被執行,則重復步驟(3),為運維任務序列中的下一個運維任務確定維修船只、維修團隊和維修時間,直到運維任務序列中的所有運維任務都選擇完畢。
(5) 采用文獻[5]中的評價方法進行評價。
遺傳算法總體流程如圖1所示。

圖1 遺傳算法總體流程
遺傳算法在運行過程中產生的新個體往往在前代出現過,重復率的大小與種群規模、二進制編碼長度、交叉率、變異率等參數的設置有關[10]。種群規模越小。二進制編碼長度越短。交叉率越小,變異率越小,個體重復率就越大。重復率隨迭代次數的增加而不斷增大,尤其是在最近幾代,個體的重復率比前代都大。
現階段海上風電場還不是很集中,單風電場運維場景較多,采取單風電場的運維調度進行驗證。海上風電場運維調度算法在求解過程中,任務數較少,通常小于20,交叉率設為0.6,變異率設為0.05,種群大小設為任務數的二次方,迭代次數設為50,此時個體重復率較大,因此采用改進記憶遺傳算法進行求解。
第一種改進記憶遺傳算法采取全部個體記憶的方式,當有新的個體產生時,添加新的個體和適應度到基因庫,其流程如圖2所示。

圖2 第一種改進記憶遺傳算法流程
第二種改進記憶遺傳算法采取父代記憶的方式,只記憶父代種群的適應度,當子代個體不存在于父代種群中時,重新計算子代個體的適應度,最終形成新的種群基因庫,其流程如圖3所示。

圖3 第二種改進記憶遺傳算法流程
配置算法參數,交叉率為0.6,變異率為0.05,種群大小為任務數的二次方,迭代次數為50。算法采用的風力發電機機位、功率等數據為某海上風電場實際數據。
驗證場景一有10個運維任務、2艘船只、20個維修團隊,驗證場景二有10個運維任務、1艘船只、20個維修團隊,驗證場景三有15個運維任務、2艘船只、20個維修團隊,驗證場景四有15個運維任務、2艘船只、15個維修團隊。四個場景的算法驗證對比見表1。

表1 算法驗證對比
由表1可以看出,三種算法尋找任務隊列的成本大致相同,改進記憶遺傳算法在時間效率上相比傳統遺傳算法有很大提高,時間效率提升率大約為40%,這與算法配置參數中的交叉率、變異率有很大關系。在應用過程中,交叉率和變異率的和在0.5~0.7之間,效率提升在30%~50%之間。對比第一種改進記憶遺傳算法,第二種改進記憶遺傳算法使用更小的計算空間,而提升效率則相近。因此,選擇第二種改進記憶遺傳算法作為工程算法。
筆者應用遺傳算法,綜合考慮風力發電機、船只、路徑、人員、運維任務、資源等因素,以海上風電場運維調度成本最低為優化目標,得出運維隊列。在研究中,應用了改進記憶遺傳算法,提升了算法的效率。當然,算法中還存在一些假設和特定時間約束,后續還需要進行改進,以逐步符合海上風電場的實際運維調度情況。