單芝慶
〔常至智能科技(無錫)有限公司,江蘇 無錫 214000〕
隨著5G的全國普及,工業互聯網推動了制造業的發展,降低成本、提高工廠工作效率也成了人們比較關心的問題。搬運、輸送作為大型智能工廠生產的重要一環,在其中已廣泛地應用AGV技術[1-2]。通過查閱文獻,了解到智能工廠AGV作業效率的提高可以從AGV系統調度策略上進行優化和改善。AGV作業效率的提高可以減少生產過程中的等待時間和資源浪費,從而提高生產效率和降低生產成本;而AGV邏輯策略的優化可以提高其自適應和智能化水平,從而適應不同的生產場景和需求。
在現有技術的基礎上提出了改進的粒子群算法可以有效地優化制造業智能工廠AGV的調度策略,提高智能工廠AGV的作業效率[3]。 本文提出的AGV系統調度優化策略不僅可以應用到制造業生產運輸上,而且也可以推廣到所有需要搬運的領域,具有較強的實用價值。
通過對制造業某智能工廠的AGV系統使用情況的調查發現:AGV工作一般按照AGV系統下達時間的先后順序進行排列,AGV系統先統一給每臺AGV分配作業;作業的排序只與時間先后有關,與AGV所在位置無關[4]。
但由于AGV在具體工作時會受到環境和自身電量等因素的影響,存在未能按照預測的時間完成任務,或者已分配任務在計劃中不是最優分配等情況,AGV的利用率就會大大下降[5]。為了提高AGV作業的效率,降低生產成本和時間,本文旨在優化AGV系統作業時間,采用改進的粒子群算法尋找最佳的AGV調度順序,以提高系統作業效率[6]。圖1為AGV調度系統圖。
圖1 AGV調度系統圖
假設AGV系統中的AGV數量是已知的,各個取貨位置、放貨位置的距離已知,各臺AGV品牌和型號相同且已知。為了優化AGV系統的作業效率,需要將AGV系統作業的最短總時間設定為目標函數,而針對不同的AGV作業時間對AGV分配的影響,AGV運行時間、裝載時間以及卸載時間等因素對AGV系統作業總時間的影響也需要進行分析[7]?;诖?建立如下數學模型,以解決AGV作業效率優化問題。其中設AGV系統中共包含M臺AGV,有N個作業站點,在一個周期T內可以執行Z個作業。
式(1)為目標函數,表示AGV系統完成所有作業的最短總時間。
(1)
式中:tij為第i臺AGV做第j個作業所用的時間;ti(j-1,j)為第i臺AGV在做完第j-1個作業后到第j個作業的起始位置所用的時間;Uij為第i臺AGV的第j個作業裝載時間;Wij為第i臺AGV第j個作業卸載的時間;Xij為第j個作業是否由第i臺AGV作業。
式(2)是目標函數的約束條件,表示一個作業只能由一臺AGV來完成。
(2)
式(3)是目標函數的約束條件,表示AGV系統完成的作業為下達的所有作業,所有動作受系統控制。
(3)
式(4)是目標函數的約束條件,表示所有AGV完成作業必須在一個周期T內。
(4)
式(5)是目標函數的約束條件,表示AGV從本次作業的起始位置到本次作業的終止位置所用的時間。
(5)
式中:Sij為第j個作業的裝載和卸載間的距離;Scj為第j個作業的裝載和卸載間的轉彎距離;Vs為AGV在直線行走時的速度;Vc為AGV在轉彎行走時的速度。
式(6)是目標函數的約束條件,表示AGV從上次作業的結束位置到本次作業的開始位置所用的時間。
(6)
式中:SS(j-1,j)為第j-1個作業位置到第j個作業位置的直線路程;SC(j-1,j)為第j-1個作業位置到第j個作業位置轉彎路程。
式(7)是目標函數的約束條件,表示本次作業的預計完成時間。
Tij=Ti+tij+ti(j-1,j)
(7)
式中:Tj為完成第j個作業的規定時間;Ti為第i臺AGV完成本次作業的預計時間。
式(8)是目標函數的約束條件。
Tij≤Tj
(8)
式(9)是目標函數的約束條件,表示每個作業必須只能由一臺AGV完成,若第j個作業由第i臺AGV完成,則值為1,否則為0。
(9)
在構建了AGV的作業數學模型后,可將該模型用于AGV系統作業分配的計算中,對于智能工廠AGV作業效率與邏輯策略的研究有很大的價值。
本文選用改進的粒子群算法不僅收斂速度快、簡單高效而且參數和算力較少,可以有效地減少AGV系統的時間,提高工作效率[8]。
粒子群算法中所提到的粒子沒有質量且僅有兩個屬性:速度V和位置X,速度是矢量[9],包括速度大小和方向,位置表示粒子當前所在的坐標。
Vid=ωVid+C1random(0,1)(Pid-Xid)+
C2random(0,1)(Pgd-Xid)
(10)
式中:Vid為粒子的速度;Xid為粒子當前的位置;ω為慣性因子;C1、C2為常數,分別表示粒子的個體認知因子和群體認知因子;random(0,1)為區間(0,1)上的隨機值;Pid為第i個粒子個體極值的最優解;Pgd為整個粒子群體的全局最優解。
本文所使用的改進的粒子群算法是在基本的粒子群算法的基礎上進行改進的,具體改進如下。
(1)Vid改進:先對每一個粒子的極值進行改進,如式(11)所示。
Pr=(Pr1,Pr2,…,PrD)
(11)
其中:Prj=(P1j+P2j+…Pnj)/n,j=1,2,…,D
(2)Pid改進:在第t次的更新過程中,隨機產生一個區間(0,1)的隨機數r,按公式Ri=t/Gmax得到Ri,Gmax為最大更新次數。 若r>Ri,任意選擇一個粒子,則該粒子的最佳位置為Prnd,將其取代式(12)中的Pgd,按式(12)更新。
Vid(k+1)=ωVid(k)+C1random(0,1)[Prd(k)-Xrd(k)]+
C2random(0,1)[Prnd(k)-Xid(k)]
(12)
式中:k為當前更新次數。Prnd從其他粒子的Pi中隨機選擇,且與Pg不相同。
AGV系統的調度比較復雜,總的來說是分配給各臺AGV作業和每臺AGV對于已分配給自身作業的順序[10]。本文對多AGV調度的粒子群算法在三維空間中進行設計。
作業分配完成后,AGV調度系統會以該作業的終點作為下一次作業的起始點,對其他作業進行預分配。改進的粒子群算法如圖2所示。
圖2 改進的粒子群算法流程圖
本文在進行AGV作業分配中,通過把AGV作業最短的總時間作為目標,利用MATLAB軟件對模型進行求解,得到各臺AGV作業分配的次序。
假定個體認知因子C1=2,群體認知因子C2=2,慣性因子ω=0.6,最大迭代次數Cmax=200,作業總數Z=22,AGV總數M=8,粒子群總數D=40,運算精度為0.6。AGV系統在某一時刻的作業分配如表1所示。
表1 某一時刻AGV作業分配數據表
通過分析表中數據,可以清楚地看到AGV的工作任務及狀態,然后系統會進行不停地更新,從而使AGV能順利地完成作業。
本文結合某智能工廠的輔料運輸實際工作情況,利用改進的粒子群算法對優化前后AGV系統作業能力進行計算分析,用搬運能力代表AGV的作業能力[11]。表2是優化前各臺AGV作業能力統計,表3是優化后各臺AGV作業能力統計,時間單位為秒。
表2 優化前各臺AGV作業能力統計
表3 優化后各臺AGV作業能力統計
根據表2和表3優化前后各臺AGV能力統計繪制折線統計圖,使兩者的對比更加清晰,如圖3所示。
圖3 優化前后各AGV能力對比
通過比對優化前后AGV的作業能力,可以得出結論:優化前平均每臺AGV的作業能力為16.10盤/h,而經過優化后,這一能力值提高到了17.50盤/h。相比之前的作業能力,優化后的作業能力提高了8.73%,明顯地提高AGV系統的作業效率。
本文通過調用某智能工廠的輔料運輸的AGV系統的工作數據,利用改進的粒子群算法對AGV系統進行優化,使用MATLAB軟件對模型進行求解,將AGV系統作業最短的總時間作為目標進行分析,采用預分配的方法提高AGV的工作效率[12]。該方法經過對比分析優化前后各AGV作業能力的情況,比較直觀地看出優化后的作業能力比優化前的作業能力提高了8.73%,為提高AGV作業效率提供了一種可行方案。