李翠明,王 寧,張 晨
(蘭州理工大學 機電工程學院,蘭州 730050)
近年來太陽能作為一種可再生的綠色清潔能源,受到了廣泛的關注,光伏產業在我國得到了大力發展.太陽能光伏系統的核心部件是太陽能光伏板,其發電效率與接收到的太陽輻射強度、時長密切相關.我國西部地區有極豐富的太陽能資源,很多大型并網光伏電站都建設于此,但因空氣中沙塵較多,沙塵極易附著在光伏組件上[1],光伏組件覆灰在極大程度上提高了光伏組件的衰減速率,嚴重影響太陽電池板的使用壽命[2].因此,及時對太陽能板表面進行清潔至關重要.對太陽能板表面覆灰典型的清潔方式有傳統人工高壓水槍清洗、爬壁式智能清潔設備清潔、太陽能板自潔技術、車載移動式清洗機清潔等[3].考慮到我國西部地區的特殊環境條件,車載移動式的清洗設備比較適應這種惡劣的自然環境.目前,對于用移動清潔機器人對光伏電站進行清潔問題的研究相對較少.文獻[4]采用低成本的Kinect2深度傳感器對半結構化環境進行實時三維環境重建,在重建得到的三維環境地圖中用D*算法和彈性帶算法實時規劃出了清洗機器人的運動路徑.文獻[5]將機器人工作的空間分解成一系列具有二值信息的柵格網絡,采用優先級啟發式算法規劃出了清潔機器人的運行路線.文獻[6]利用Unity3D軟件對西部某光伏產業園的真實地形進行仿真,運用融合了跳點搜索策略的改進A*算法在仿真地圖上進行清潔機器人的路徑規劃.
上述研究只考慮了如何讓清潔機器人快速、無碰撞地到達指定的清潔位置,并未考慮由于環境影響,不同區域的光伏板發電量不同,清掃順序會對整體發電效率產生影響.本文根據西部地區特殊的環境特點,研究了清潔機器人對大面積光伏電站光伏板清潔作業時的任務規劃問題.按照光伏板是否處在風口位置、光照時長等環境因素,對光伏電站進行分區,并確定各分區的清掃優先等級,利用Hamilton圖將太陽能光伏板清潔問題轉化為巡回旅行商問題(TSP).TSP問題是典型的NP-hard問題,目前解決TSP問題的方法大致可以分為兩個方向[7],一種是能夠找到問題最優解的精確算法;另一種是一般能夠較為高效地求得可接受的問題解的近似算法,如:遺傳算法[8]、蟻群算法[9]、布谷鳥搜索算法[10]等.這些近似算法大大縮小了解空間并增加了在有限時間內找到問題最優解的概率[11].在這些近似算法中,遺傳算法在解決離散組合優化問題上的有效性引起了更多學者的關注.因此,本文在遺傳算法的基礎上,提出一種改進遺傳算法(IGA)求解此TSP問題,運用將錦標賽選擇法與輪盤賭選擇法相結合的混合選擇算子,提高算法的收斂速度;采用基于分段規則的交叉算子,使算法更容易跳出局部最優,并且增強算法的穩定性;最后,運用IGA對清潔機器人的分級任務規劃進行求解,并與自適應遺傳算法(AGA)對比仿真,驗證了IGA的優越性.本文對光伏電站光伏板清潔問題的研究可為大面積光伏電站提高整體的發電效率提供一種新的研究思路.
對我國西部地區大面積光伏電站提出分區規劃策略,對放置在風口位置極易積灰、嚴重影響發電效果和光照充足、發電效率高的區域分配較高的優先級,其余區域給予相同的優先級,則可將西部某地區的光伏電站劃分為若干區域,如圖1所示.劃分區域后的光伏電站如圖2所示.其中:x為各區域圍成的多邊形幾何中心的橫坐標;y為各區域圍成的多邊形幾何中心的縱坐標.每個點表示一片區域,并用數字對其進行編號.各區域的優先級如表1所示.優先級分為6級,數字越大表明優先級越高.
劃分區域之后的光伏電站清潔問題本質上就是TSP問題,即已知各個區域的坐標,清潔機器人從起點出發,遍歷每個區域且每個區域只經過一次,最后回到起點.TSP問題是圖論中最著名的問題之一,TSP問題可以通過構造Hamilton圖求解.可將每一片區域看成頂點,區域間的距離看成邊,構造Hamilton圖G=(V,E),如圖3所示.其中:V={1, 2, …,n}為頂點集;E={1, 2, …,m}為邊集.任意兩頂點的連線表示邊集,考慮到實際情況,兩片區域之間基本不可能直接到達.因此,本文取頂點間的Manhattan距離構成邊集.光伏電站清潔任務的分級規劃問題,就是在圖3中尋找一條最短的Hamilton回路.
由于對各個區域指定了優先級,首先對各區域按優先級排序,先清潔優先級高的區域;優先級相同時,采用IGA進行清潔任務規劃的求解.為了更接近實際問題,染色體采用實數編碼方式,如圖4所示.遺傳算法存在比其他傳統優化算法效率低、容易過早收斂等問題,針對遺傳算法的這些不足,本文對遺傳算法的選擇、交叉操作進行了改進.
適應度函數是對染色體的優劣進行評價的標準,適應度函數設計不當,將難以體現個體的差異,選擇操作的作用就難以體現出來,從而造成早熟收斂等特點[12],因此,合理選擇適應度函數在算法執行過程中至關重要.所求問題的目標函數為各區域的距離之和,距離越小越優,而適應度函數則越大越好,因此需要對其進行變換.如果直接取倒數,會導致適應度函數之間的相對差別很小,從而導致各個體被選擇的概率差別很小,這將會弱化遺傳算法的選擇功能,本文對目標函數采用動態線性標定[13]的方法將其轉化為適應度函數.變換公式為
(1)
(2)
式中:M、c為常數,c∈[0.9, 0.99].參數M是為了增大個體之間被選擇概率的差別而設置的,根據所研究的問題,經過多次實驗驗證,M取為600,c取為0.99.
將錦標賽選擇法[14]和輪盤賭選擇法[15]相結合作為選擇算子.錦標賽選擇法是隨機從父代中選擇一定數目(即競賽規模N)的個體,將其中適應度高的個體保留到子代.反復執行本過程,直到子代的個數達到預先設定的終止條件.若種群大小用S表示,每個競賽規模中選取適應度最高的個體,則共有S/N(取整數位)個個體保留到子代.本文選擇的競賽規模為10.
輪盤賭選擇法用于在每個錦標賽選擇法選出的競賽規模中選取進行下一步交叉操作的一個父代,另一個父代在競賽規模中隨機選取.通過兩種方法的結合,既確保了優秀個體遺傳到下一代,又保證了參加交叉操作的父代質量.
順序交叉(OX)算子是一種常用的交叉算子,OX 算子可將父代染色體中指定的基因片段遺傳給子代.但這種操作不考慮邊之間的關系,不會加快遺傳算法的收斂速度[16],且計算結果不穩定.針對OX算子的這種特點,提出一種基于分段規則的交叉算子,此算子采用OX和自身交叉兩種算子,當所求路徑長度大于所設閾值Q時,交叉操作采用順序交叉;當所求路徑長度小于Q時,采用自身交叉.閾值Q是通過分析改進之前的算法結果所確定的.經過多次實驗,未改進之前的算法多次陷入局部最優,其局部最優值在 800~1 000 之間.針對這種情況引入自身交叉算子,并通過實驗確定閾值Q.通過本次改進,增加了交叉操作產生最優個體的概率,提高了算法的收斂速度,增強了算法穩定性,本文中閾值Q選為900.
順序交叉首先在兩個父代上選擇相同的區域:
然后,將兩個父代交叉點之間的部分提取出來,得到:
記錄父代1和父代2從第2個交叉點開始的數字排列順序,當到達末尾時,繼續從初始位置記錄,直到回到第2個交叉點為止,由此便得到了父代1和父代2從第2個交叉點開始的數字排列順序,分別為7→8→9→1→2→3→4→5→6和5→3→7→4→6→1→8→2→9.子代1已有從父代1繼承的3、4、5、6,將其從父代2的數字排列順序中去除,得到7→1→8→2→9,然后將此序列從第2個交叉點開始填入到子代1中,獲得新個體子代1′.同理可得,新個體子代2′:
自身交叉首先在父代上隨機選取兩個位置,兩個位置中間構成一塊區域:
然后,將區域內的數字左右對調一下,形成新的個體:
目前,變異算子有很多種,如倒位變異算子、2-opt變異算子、啟發式變異算子等,其中效果較好的是啟發式變異算子[17].選用啟發式變異算子,其操作步驟如下.
步驟1假設A=1 2 3 4 5 6 7 8.
步驟2隨機選擇3個點,如:1、2、6,任意交換其位置可得5個不同個體為
A1=2 1 3 4 5 6 7 8
A2=6 2 3 4 5 1 7 8
A3=1 6 3 4 5 2 7 8
A4=2 6 3 4 5 1 7 8
A5=6 1 3 4 5 2 7 8
步驟3從其中選擇適應度最高的個體作為新個體.
IGA流程圖如圖5所示,基本流程如下.
步驟1輸入各區域坐標,并將各區域按優先級排序,先確定優先級高的區域清潔順序,再確定參與IGA的區域個數.
步驟2生成初始種群,設定相關參數,包括適應度函數中的M和c,錦標賽選擇法中的競賽規模N,交叉操作中的閾值Q,交叉概率Pc,啟發式變異概率Pm,最大迭代次數Tmax,種群數目S.
步驟3對各區域間的距離進行動態線性標定,轉化為求最大值的適應度函數.
步驟4用錦標賽選擇法篩選出直接進入下一代的個體;用輪盤賭法選取參與交叉的父代.
步驟5對父代進行交叉操作,當本次迭代最優路徑大于閾值Q時,執行順序交叉;否則,執行自身交叉.
步驟6對生成的子代進行啟發式變異操作.
步驟7判斷是否滿足終止條件.若達到,則輸出最優解;若未達到,則返回步驟3.
根據上述算法步驟,利用MATLAB R2020a對算法進行設計實現,使用的CPU為AMD Ryzen 7 4800H,主頻為2.90 GHz,內存為8.00 GB.其中,區域數為30,各區域的優先級見表1.種群數為100,交叉概率為0.8,變異概率為0.05,迭代次數為500次,仿真結果如圖6所示,其中:L為路徑總長度.由圖6可知,IGA求解的機器人清潔各個區域的任務順序為:30→29→28→27→6→24→···→7→20→4→22→30,路徑總長度為760 km.IGA求解的最優路徑隨迭代次數變化情況如圖7所示,其中:T為迭代次數;o為最優解.由圖7可以看出,當算法迭代到181次時,能夠求得此最優順序.

圖6 改進遺傳算法規劃出的任務順序

圖7 改進遺傳算法求解的o隨T的變化
同時選取同樣的參數,用自適應遺傳算法對本文問題進行求解,其求解的最優路徑隨迭代次數變化情況如圖8所示.由圖8可以看出,AGA陷入了局部最優,在迭代到188次時,算法達到最優,最優路徑長度為 1 454 km,明顯大于用所提算法求解的最優路徑長度.分別用兩種算法對本問題求解10次,其對比結果如表2所示.由表2可知,IGA可以更高效、準確地求解出最優清潔任務順序.

圖8 自適應遺傳算法求解的o隨T的變化

表2 兩種算法求解本文問題時的性能比較
本文通過對大面積光伏電站清潔任務規劃問題的分析,將其轉化為TSP問題,并提出IGA對單個清潔機器人的任務規劃問題進行求解.通過對適應度函數的動態線性標定,保證了遺傳算法的選擇功能;采用混合選擇算子和基于分段規則的交叉算子,增加了最優個體的產生概率,提高了算法的收斂速度,增強了算法穩定性.與AGA仿真結果的對比可以看出,IGA可以更為快速、準確地規劃出機器人清潔光伏電站的任務順序.分級任務規劃為之后清潔機器人進行實際作業時的路徑規劃提供了理論依據.