基于改進離散粒子群算法的船舶引航排班方法
【專利摘要】本發(fā)明公開了一種基于改進離散粒子群算法的船舶引航排班方法。本發(fā)明在分析引航排班各種規(guī)則和習(xí)慣的基礎(chǔ)上,提出了船舶引航排班問題的數(shù)學(xué)模型;為求解該模型,提出了基于動態(tài)粒子子群的改進離散粒子群算法;針對常規(guī)求解方法存在大量不可行解的困難,提出了采用偽旅行商問題方法進行粒子適應(yīng)度計算的方法。所提模型是可行的,所提算法具有搜索速度快,搜索精度高,穩(wěn)定性強的特點,是適于求解復(fù)雜的引航排班問題的。
【專利說明】基于改進離散粒子群算法的船舶引航排班方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于船舶引航調(diào)度中的引航任務(wù)排班方法,具體涉及一種船舶引航排班問 題模型與基于動態(tài)粒子子群改進離散粒子群算法的求解方法。
【背景技術(shù)】
[0002] 我國是一個港口大國,然而,在港口迅猛發(fā)展的同時,我國港口在引航調(diào)度效率上 相對落后,這嚴(yán)重制約了港口的核心競爭力,也造成了一定的資源浪費。各引航公司迫切需 要建立一個高效可行的引航調(diào)度體系實現(xiàn)引航資源優(yōu)化配置,提高港口競爭力。引航調(diào)度 的管理重點就在引航排班上,因此,探討引航調(diào)度中引航排班的建模優(yōu)化和有效的解決方 法,成為亟待解決的關(guān)鍵理論問題。
[0003] 引航排班問題屬于NP難的組合優(yōu)化問題。由于此類問題規(guī)模龐大并且限制因素 復(fù)雜,所以智能算法在解決該類問題中得到廣泛運用。目前應(yīng)用于組合優(yōu)化的算法主要有 局部搜索法,模擬退火算法,遺傳算法,神經(jīng)網(wǎng)絡(luò)等。引航排班方法主要有基于集覆蓋方法, 基于遺傳算法的方法,基于模擬退火算法的方法。排班問題的解決思路大同小異,分為兩 步:1、產(chǎn)生初始引航任務(wù)組;2、運用智能優(yōu)化算法對初始引航任務(wù)組進行搜索,生成可行 的任務(wù)組組合。
[0004] 現(xiàn)有引航排班方法存在以下問題:
[0005] 1.兩步走的思路在算法搜索過程中易產(chǎn)生不可行解,智能優(yōu)化算法中需添加必要 的排除非可行解策略,加大算法的設(shè)計難度;
[0006] 2.現(xiàn)有方法只考慮了在引航規(guī)則范圍內(nèi)找到可行排班結(jié)果,未綜合考慮到引航任 務(wù)之間等待時間,引航任務(wù)組時間均衡,引航任務(wù)組始末地點轉(zhuǎn)移帶來的成本問題。
【發(fā)明內(nèi)容】
[0007] 為了解決現(xiàn)有技術(shù)中的問題,本發(fā)明提供了一種具有搜索速度快,搜索精度高,穩(wěn) 定性強的特點,是適于求解復(fù)雜的引航排班問題的基于改進離散粒子群算法的船舶引航排 班方法。
[0008] 為了解決上述問題,本發(fā)明所采取的技術(shù)方案是:
[0009] 基于改進離散粒子群算法的船舶引航排班方法,其特征在于:包括以下步驟,
[0010] 步驟(A),建立本地數(shù)據(jù)庫,進行合同收池;
[0011] 步驟(B),從池中選出待引航排班船舶,統(tǒng)計待引航排班船舶任務(wù)數(shù)Ntask,建立引 航排班問題模型;
[0012] 步驟(C),基于動態(tài)粒子子群改進離散粒子群算法對引航排班問題模型進行求解, 找出最優(yōu)引航排班計劃;
[0013] 步驟(D),根據(jù)確定的最優(yōu)引航排班計劃進行引航排班。
[0014] 前述的基于改進離散粒子群算法的船舶引航排班方法,其特征在于:步驟(B)包 括建立引航排班問題模型,包括以下步驟:
[0015] 步驟(B1),考慮引航中心各種成文的排班規(guī)則及不成文排班習(xí)慣,建立約束條 件;
[0016] 步驟(B2),將引航排班所涉及的各約束條件轉(zhuǎn)化為費用函數(shù),構(gòu)建引航排班問題 的數(shù)學(xué)模型,如下:
[0017] Z = C1^ob J-^c2=IiOb j2+C3*obj3+C4*obj4 (1)
[0018] 其中Obj1為目標(biāo)函數(shù)第1部分,表示一個可行的引航任務(wù)組組合中引航任務(wù)組的 數(shù)目;Obj 2為目標(biāo)函數(shù)第2部分,表示一個可行的引航任務(wù)組組合中各引航任務(wù)組的時間 等待費用之和;Obj3為目標(biāo)函數(shù)第3部分,表示一個可行的引航任務(wù)組組合中各引航任務(wù) 組的外站過夜費用之和;Obj 4為目標(biāo)函數(shù)第4部分,表示一個可行的引航任務(wù)組組合中各 引航任務(wù)組工作時間的標(biāo)準(zhǔn)差,其中Cl、c 2、c3、C4為系數(shù)權(quán)值;
[0019] 步驟(B3),引航排班數(shù)學(xué)模型中Obj1表達式如下:
[0020] Obj1 = taskno (2)
[0021] 其中,taskno為任務(wù)組數(shù)目;
[0022] 步驟(B4),引航排班問題數(shù)學(xué)模型中Obj2表達式如下:
【權(quán)利要求】
1. 基于改進離散粒子群算法的船舶引航排班方法,其特征在于:包括以下步驟, 步驟(A),建立本地數(shù)據(jù)庫,進行合同收池; 步驟(B),從池中選出待引航排班船舶,統(tǒng)計待引航排班船舶任務(wù)數(shù)Ntask,建立引航排 班問題模型; 步驟(C),基于動態(tài)粒子子群改進離散粒子群算法對引航排班問題模型進行求解,找出 最優(yōu)引航排班計劃; 步驟(D),根據(jù)確定的最優(yōu)引航排班計劃進行引航排班。
2. 根據(jù)權(quán)利要求1所述的基于改進離散粒子群算法的船舶引航排班方法,其特征在 于:步驟(B)包括建立引航排班問題模型,包括以下步驟: 步驟(BI),考慮引航中心各種成文的排班規(guī)則及不成文排班習(xí)慣,建立約束條件; 步驟(B2),將引航排班所涉及的各約束條件轉(zhuǎn)化為費用函數(shù),構(gòu)建引航排班問題的數(shù) 學(xué)模型,如下: Z= 氺obj2+c3 氺obj3+c4 氺obj4 (1) 其中Obj1為目標(biāo)函數(shù)第1部分,表示一個可行的引航任務(wù)組組合中引航任務(wù)組的數(shù) 目;Obj2為目標(biāo)函數(shù)第2部分,表示一個可行的引航任務(wù)組組合中各引航任務(wù)組的時間等 待費用之和;〇bj3為目標(biāo)函數(shù)第3部分,表示一個可行的引航任務(wù)組組合中各引航任務(wù)組 的外站過夜費用之和; 〇bj4為目標(biāo)函數(shù)第4部分,表示一個可行的引航任務(wù)組組合中各引 航任務(wù)組工作時間的標(biāo)準(zhǔn)差,其中Cl、c2、c3、C4為系數(shù)權(quán)值; 步驟(B3),引航排班數(shù)學(xué)模型中Obj1表達式如下: Obj1=taskno(2) 其中,taskno為任務(wù)組數(shù)目; 步驟(B4),引航排班問題數(shù)學(xué)模型中Obj2表達式如下: taskno oh/\ -V uy7/7 CosZy (3) /=1 其中,WaitCOSti為任務(wù)組i的等待費用,其計算方式如下: [wait time^ω wait time < VT 而/./cosi, =<! , 、 - (4) IVT*OJn + (wait_time - VT) *wb wait_time>VT wait_time為同一引航任務(wù)組中兩銜接引航任務(wù)之間的等待時間,VT為等待時間閾 值,ω?、Ob為等待時間權(quán)重系數(shù),且ω ?〈ω?3,表不等待時間越長,所廣生的時間等待費用 越大; 步驟(Β5),引航排班問題數(shù)學(xué)模型中Obj3表達式如下: taskno 咖=Σ"ολχοΗ (5) ?=1 -- 如果引航任務(wù)組〖的結(jié)束地點與起始地點不相同 停簡/,.二^。 (6) 1〇 如果引航任務(wù)組/的結(jié)束地點與起始地點相同 POSCOSti為引航任務(wù)組i的外站過夜花費,COgp為外站過夜花費權(quán)值; 步驟(B6),引航排班問題數(shù)學(xué)模型中Obj4表達式如下:
其中,gtask_timei為任務(wù)組i的工作時間,taskno為任務(wù)組數(shù)目,為一個任務(wù)組組合 平均工作時間,其計算公式如下:
3. 根據(jù)權(quán)利要求2所述的基于改進離散粒子群算法的船舶引航排班方法,其特征在 于:對于步驟(C),基于動態(tài)粒子子群改進離散粒子群算法的引航排班模型求解,其步驟如 下: 步驟(Cl):初始化參數(shù),設(shè)置種群大小popsize,總運行代數(shù)gen,變異概率?。1,初始化 運行次數(shù)g=1 ; 步驟(C2):初始化種群,隨機產(chǎn)生popsize個粒子,每個粒子為一具有Ntask個元素的整 數(shù)序列,粒子中的各元素從集合{1,2,一,NtaslJ中取值且互不重復(fù); 步驟(C3):計算適應(yīng)度,根據(jù)適應(yīng)度函數(shù)計算每個粒子適應(yīng)度值。若當(dāng)前粒子適應(yīng)度 值小于其個體極值Pbest,則更新該粒子的個體極值Pbest及個體最優(yōu)粒子,若當(dāng)前粒子適應(yīng)度 值小于全局極值gbest,則更新當(dāng)前種群的全局極值gbest及全局最優(yōu)粒子; 步驟(C4):適應(yīng)度排序,將粒子按適應(yīng)度由小到大順序進行排序; 步驟(C5):計算當(dāng)前種群pop的適應(yīng)度平均值avgi并選擇所有適應(yīng)度小于avgi的粒 子,得到粒子子群Subpop1,記Subpop1種群大小為Popsize1 ; 步驟(C6):計算粒子子群Subpop1的適應(yīng)度平均值avg2并選擇所有適應(yīng)度小于avg2的 粒子,得到粒子子群Subpop2,記Subpop2種群大小為popsize2 ;設(shè)置動態(tài)學(xué)習(xí)概率ps; a由熱本登yi撫:袞μπτ由下=pff?縣.
其中,min為取小函數(shù)、Θ為一常數(shù)。 步驟(C7):從粒子群中選擇一粒子進行動態(tài)粒子子群學(xué)習(xí); 步驟(C8):對學(xué)習(xí)后的粒子計算適應(yīng)度,如果該值小于學(xué)習(xí)前適應(yīng)度,則更新當(dāng)前粒 子;否則,對當(dāng)前粒子以概率Pm執(zhí)行變異操作,其具體步驟為:隨機產(chǎn)生一個(〇, 1)間實數(shù) r,如果r<變異概率Pm,則對當(dāng)前粒子執(zhí)行基于序列倒置的變異操作; 步驟(C9):若當(dāng)前運行次數(shù)g小于總運行代數(shù)gen,g加1,轉(zhuǎn)步驟(C3); 步驟(ClO):輸出全局極值gbest及全局最優(yōu)粒子。
4. 根據(jù)權(quán)利要求3所述的基于改進離散粒子群算法的船舶引航排班方法,其特征在 于:對于步驟(C3),計算每個粒子適應(yīng)度值采用的是偽旅行商問題的譯碼方法,其具體步 驟如下: 步驟(C31):設(shè)gtask = 1,Vtask = 1,gtask代表當(dāng)前引航任務(wù)組序號,Vtask代表當(dāng)前引航 任務(wù)序號; 步驟(C32):將引航任務(wù)Vtask放入gtask任務(wù)組,Vtask加I; 步驟(C33):訪問引航任務(wù)Vtask,如果滿足當(dāng)前訪問的引航任務(wù)的起始地點等于之前 訪問的引航任務(wù)的結(jié)束地點,當(dāng)前訪問的引航任務(wù)的起始時間不早于之前訪問的引航任務(wù) 的結(jié)束時間且從當(dāng)前訪問的引航任務(wù)組的第一個引航任務(wù)的起始時間到當(dāng)前訪問的引航 任務(wù)的結(jié)束時間間隔小于工作時間閾值T,則把該任務(wù)放入gtask任務(wù)組,Vtask加1,轉(zhuǎn)步驟 (C34);否則,gtaskW1,把當(dāng)前任務(wù)放入更新的gtasl^i務(wù)組,VtaskW1 ; 步驟(C34):如果Vtask彡Ntask,轉(zhuǎn)步驟(C33); 步驟(C35):按式(1)計算引航排班問題的總費用,即為粒子的適應(yīng)度值。
5. 根據(jù)權(quán)利要求4所述的基于改進離散粒子群算法的船舶引航排班方法,其特征在 于:對于步驟(C7),從粒子群中選擇一粒子進行動態(tài)粒子子群學(xué)習(xí),其具體步驟如下: 步驟(C71):隨機產(chǎn)生一個(0, 1)間實數(shù)r; 步驟(C72):如果r<ps且 0〈popsize2/popsize<σ,則從步驟(C6)的子群Subpop2 中隨機選擇一個粒子作為學(xué)習(xí)對象;如果r<ps且〇 <p〇psize2/popsize,則從步驟(C5) 的子群Subpop1中隨機選擇一個粒子作為學(xué)習(xí)對象;如果r>ps,貝U從當(dāng)前種群pop中隨機選 擇一個粒子作為學(xué)習(xí)對象;當(dāng)前粒子與所選學(xué)習(xí)對象進行交叉操作;其中,σ為一常數(shù)。
6. 根據(jù)權(quán)利要求5所述的基于改進離散粒子群算法的船舶引航排班方法,其特征在 于:步驟(BI)中包括以下約束條件: (1) 將時間上可以順承,地點相同的引航任務(wù)銜接,搭建引航任務(wù)組; (2) -個引航任務(wù)組的起始地點與結(jié)束地點保持盡可能相同,避免引航員外站過夜; (3) 每個引航任務(wù)組的工作時間相對均衡; (4) 每個引航任務(wù)組的工作時間符合引航中心(引航站)的工作時間制,避免疲勞引 航。
7. 根據(jù)權(quán)利要求6所述的基于改進離散粒子群算法的船舶引航排班方法,其特征在 于:步驟(B2)中,Cl、c2、c3、C4為系數(shù)權(quán)值,四個系數(shù)權(quán)值對應(yīng)的優(yōu)選值分別為1,1,1,0.02。
8. 根據(jù)權(quán)利要求7所述的基于改進離散粒子群算法的船舶引航排班方法,其特征在 于:步驟(B4)中,c〇a、Cob優(yōu)選值分別為1,1.5。
9. 根據(jù)權(quán)利要求8所述的基于改進離散粒子群算法的船舶引航排班方法,其特征在 于:步驟(C)中,各參數(shù)優(yōu)選值為:群大小popsize優(yōu)選為Ntask的2至4倍,運行代數(shù)gen優(yōu) 選為1000,變異概率Pm優(yōu)選為0. 25,Θ優(yōu)選為〇. 55,
10. 根據(jù)權(quán)利要求9所述的基于改進離散粒子群算法的船舶引航排班方法,其特征在 于:步驟⑶中,〇優(yōu)選為〇. 1。
【文檔編號】G06Q10/04GK104239975SQ201410465516
【公開日】2014年12月24日 申請日期:2014年9月12日 優(yōu)先權(quán)日:2014年9月12日
【發(fā)明者】薛云燦, 張海霞, 楊啟文, 王思睿, 吳和峰 申請人:河海大學(xué)常州校區(qū)