一種引航員指派方法
【專利摘要】本發(fā)明公開了一種引航員指派方法,包括如下步驟:建立本地數(shù)據(jù)庫,進行合同收池;從池中選出待指派引航員和待引航船舶,建立引航員指派模型;基于動態(tài)子種群改進遺傳算法對引航員指派模型進行求解,找出最優(yōu)引航員指派計劃;根據(jù)確定的最優(yōu)引航員指派計劃進行引航員指派。本發(fā)明對引航員指派建立了數(shù)學(xué)建模,具有較強的擴展性,可作為求解引航員指派的通用模型,較好地解決了引航員指派問題,具有求解精度高、求解時間短、資源分配合理、利用率高的優(yōu)點;在求解最優(yōu)引航員指派模型的算法選擇上采用了基于動態(tài)子種群改進遺傳算法,該改進算法具有交叉概率隨動態(tài)子種群變化的特點。
【專利說明】-種引航員指派方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種引航員指派方法,屬于引航【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002] 中國是一個港口大國,在2013年全球前十大港口排名中,中國占有8席。港口事 業(yè)的飛速發(fā)展為中國各大港口送來了機遇,同時也提出了挑戰(zhàn)。為提高港口的競爭力,優(yōu)化 資源配置,提高引航信息化勢在必行。
[0003] 引航員資源是港口的核心資源之一,在引航船舶過程中發(fā)揮著至關(guān)重要的作用。 由于港口規(guī)模的擴大,引航員數(shù)量也在遞增。在指派引航員過程中,我們通常要考慮引航員 的等級與船舶等級是否匹配,是否存在疲勞駕駛,以及所有引航員的工作量是否相對均衡 等因素。僅依據(jù)引航員的籌次表指派引航員已越來越不能滿足現(xiàn)實生產(chǎn)要求,且主觀的指 派難免有失偏頗。
[0004] 目前引航員指派方法存在以下問題:
[0005] 1.現(xiàn)有方法在指派引航員時主要是根據(jù)引航員的籌次信息,容易忽視工作量均衡 等重要條件,若指派結(jié)果欠佳,則在資源配置上存在浪費;
[0006] 2.現(xiàn)有方法在解決實際問題時缺少一個切實的數(shù)學(xué)模型來描述引航員指派問題。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的不足,提供一種引航員指派方法,解決現(xiàn)有 技術(shù)中引航員指派不合理、資源配置浪費的技術(shù)問題。
[0008] 為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:一種引航員指派方法,包括以 下步驟:
[0009] 步驟(la):建立本地數(shù)據(jù)庫,進行合同收池;
[0010] 步驟(lb):從池中選出待指派引航員和待引航船舶,建立引航員指派模型;
[0011] 步驟(1C):基于動態(tài)子種群改進遺傳算法對引航員指派模型進行求解,找出最優(yōu) 引航員指派計劃;
[0012] 步驟(Id):根據(jù)確定的最優(yōu)引航員指派計劃進行引航員指派。
[0013] 所述引航員指派模型的建立步驟如下:
[0014] 步驟(2a):對船舶、引航員分別進行等級劃分;
[0015] 步驟(2b):根據(jù)船舶等級,確定每個引航任務(wù)所需引航員的最低等級及人數(shù),統(tǒng) 計當(dāng)天各引航任務(wù)所需引航員總?cè)藬?shù)Pil〇t_Need ;
[0016] 步驟(2c):根據(jù)引航員前一天的作息情況對其疲勞程度進行等級劃分;
[0017] 步驟(2d):統(tǒng)計當(dāng)月引航員已工作時間及可參與指派的引航員總?cè)藬?shù)Pilot_No ;
[0018] 步驟(2e):根據(jù)引航員指派過程中等級分配情況,建立引航員等級分配過高費用 函數(shù)cost。,數(shù)學(xué)模型與引航員等級分配過低費用函數(shù)cost ud數(shù)學(xué)模型;
[0019] 步驟(2f):根據(jù)引航員指派過程中引航員的疲勞程度,建立引航員的疲勞程度費 用函數(shù)costtd數(shù)學(xué)模型;
[0020] 步驟(2g):根據(jù)引航員指派過程中引航員工作時間差異,建立引航員工作時間均 衡程度費用函數(shù)c〇st wd數(shù)學(xué)模型;
[0021] 步驟(2h):根據(jù)步驟(2e)、(2f)、(2g),建立引航員指派模型的費用函數(shù):
[0022] P = w^cost^w^costu+w^cost^w^cost^ (1)
[0023] cost。為等級分配過高費用,cost。計算公式如下:
[0024]
【權(quán)利要求】
1. 一種引航員指派方法,其特征在于,包括以下步驟: 步驟(Ia):建立本地數(shù)據(jù)庫,進行合同收池; 步驟(Ib):從池中選出待指派引航員和待引航船舶,建立引航員指派模型; 步驟(Ic):基于動態(tài)子種群改進遺傳算法對引航員指派模型進行求解,找出最優(yōu)引航 員指派計劃; 步驟(Id):根據(jù)確定的最優(yōu)引航員指派計劃進行引航員指派。
2. 根據(jù)權(quán)利要求1所述的引航員指派方法,其特征在于,所述引航員指派模型的建立 步驟如下: 步驟(2a):對船舶、引航員分別進行等級劃分; 步驟(2b):根據(jù)船舶等級,確定每個引航任務(wù)所需引航員的最低等級及人數(shù),統(tǒng)計當(dāng) 天各引航任務(wù)所需引航員總?cè)藬?shù)Pil〇t_Need; 步驟(2c):根據(jù)引航員前一天的作息情況對其疲勞程度進行等級劃分; 步驟(2d):統(tǒng)計當(dāng)月引航員已工作時間及可參與指派的引航員總?cè)藬?shù)Pil〇t_N〇; 步驟(2e):根據(jù)引航員指派過程中等級分配情況,建立引航員等級分配過高費用函數(shù)COStml數(shù)學(xué)模型與引航員等級分配過低費用函數(shù)COStud數(shù)學(xué)模型; 步驟(2f):根據(jù)引航員指派過程中引航員的疲勞程度,建立引航員的疲勞程度費用函 數(shù)COSttd數(shù)學(xué)模型; 步驟(2g):根據(jù)引航員指派過程中引航員工作時間差異,建立引航員工作時間均衡程 度費用函數(shù)COStwd數(shù)學(xué)模型; 步驟(2h):根據(jù)步驟(2e)、(2f)、(2g),建立引航員指派模型的費用函數(shù): P=w0*cost0+wu*costu+wt*costt+wwd*costwd (1)cost。為等級分配過高費用,cost。計算公式如下:
其中:COSttjdi為被選中編號為i的引航員等級分配過高產(chǎn)生的花費; COStu為等級分配過低費用,COStu計算公式如下:
其中:COStudi為被選中編號為i的引航員等級分配過低產(chǎn)生的花費; COStt為疲勞程度產(chǎn)生的費用,COStt計算公式如下:
其中:COSttdi為被選中編號為i的引航員的疲勞程度產(chǎn)生的費用; COStwd為引航員工作時間均衡程度費用,COStwd計算公式如下:
其中:Ti為被指派引航員的工作時間,7;為可參與指派引航員工作時間的平均值; Ti計算方法如下: Ti =Ti-Jti (6) IV1為當(dāng)日引航員指派之前當(dāng)月已工作時間之和,h為當(dāng)日工作所需時間; 7;計算方法如下:
W〇、Wu、Wt、Wwd 為權(quán)值。
3. 根據(jù)權(quán)利要求2所述的引航員指派方法,其特征在于,所述船舶等級由高到低劃分 為5個等級:超甲類、甲類、乙類、丙類、丁類,船舶等級Shipdi定義如下: shipdiG{1,2, 3, 4, 5} 1,2,3,4,5為具體船舶等級,對應(yīng)如下: 1 :超甲類:吃水> =13m或船長> =250m或船長> =180m的客船或船長> =168m進 出狹窄航道或靠離油輪; 2 :甲類:12m=〈吃水<13m或船長<168m進出狹窄航道或船長> =168m油輪或吃水 > =IOm油輪; 3 :乙類:10m=〈吃水 <12m; 4 :丙類:8. 5m=〈吃水 <10m; 5 : 丁類:吃水〈8. 5m。
4. 根據(jù)權(quán)利要求3所述的引航員指派方法,其特征在于,所述引航員等級由高到低劃 分為5個等級:高級引航員、一級引航員、二級引航員、三級引航員、四級引航員,引航員等 級Pilotdi定義如下: PilotdiG{1,2, 3, 4, 5} 1,2,3,4,5為具體引航員等級,含義如下: 1 :高級引航員:具有國家一級引航員適任證書的引航員; 2 :-級引航員:具有國家二級引航員適任證書的引航員; 3 :二級引航員:具有國家三級引航員適任證書且引航資歷> =24個月的引航員; 4:三級引航員:具有國家三級引航員適任證書且引航資歷〈24個月的引航員; 5 :四級引航員:具有國家四級引航員適任證書的引航員。
5. 根據(jù)權(quán)利要求4所述的引航員指派方法,其特征在于,根據(jù)船舶的等級,不同等級船 舶所需的引航員人數(shù)及最低等級要求如表1所示:
6. 根據(jù)權(quán)利要求5所述的引航員指派方法,其特征在于,所述引航員等級分配過高費 用函數(shù)COSttjd數(shù)學(xué)模型設(shè)計如下:
Cli為被指派引航員等級,dn66d為對應(yīng)船舶所需引航員最低等級,Cl,c2,c3,C4為引航員 等級分配過高費用權(quán)值。
7. 根據(jù)權(quán)利要求6所述的引航員指派方法,其特征在于,所述引航員等級分配過低費 用函數(shù)COStud數(shù)學(xué)模型設(shè)計如下:
Cli為被指派引航員等級,dn66d為對應(yīng)船舶所需引航員最低等級,c5,c6,c7,C8,為引航員 等級分配過低費用權(quán)值。
8. 根據(jù)權(quán)利要求7所述的引航員指派方法,其特征在于,所述引航員疲勞程度劃分為5 個等級,疲勞程度等級tireddi定義如下: tireddiG{1,2, 3, 4, 5} 1,2,3,4,5為引航員疲勞程度等級,對應(yīng)如下: 1 :引航員昨天未工作; 2 :引航員昨天上午工作,下午未工作; 3 :引航員昨天下午工作,上午未工作; 4:引航員昨天上、下午都工作; 5 :引航員昨天22 :00點之前在工作; 其中,疲勞程度從1到5依次遞增,5為最疲勞等級。
9. 根據(jù)權(quán)利要求8所述的引航員指派方法,其特征在于,所述引航員的疲勞程度費用 函數(shù)COSttd數(shù)學(xué)模型設(shè)計如下:
tdi為被指派引航員的疲勞程度等級,C9,Cltl,C11為引航員疲勞程度等級費用權(quán)值。
10. 根據(jù)權(quán)利要求9所述的引航員指派方法,其特征在于,所述步驟(Ic)基于動態(tài)子種 群改進遺傳算法對引航員指派模型進行求解,找出最優(yōu)引航員指派計劃,具體步驟如下: 步驟(IOa):初始化參數(shù):設(shè)置種群大小popsize、總運行代數(shù)gen、運行次數(shù)g= 1,變 異概率Pm;步驟(IOb):初始化種群:隨機產(chǎn)生popsize個個體,每個個體為一具有Pilot_ No個元素的整數(shù)序列,個體中的各元素從集合{1,2,…,Pilot_No}中取值且互不重復(fù); 步驟(IOc):計算個體適應(yīng)度:根據(jù)適應(yīng)度函數(shù)計算個體適應(yīng)度,并求得最優(yōu)個體及其 適應(yīng)度,其中,適應(yīng)度函數(shù)采用公式(1)所述的引航員指派模型的費用函數(shù); 步驟(IOd):適應(yīng)度排序:將個體按適應(yīng)度由小到大順序進行排序; 步驟(IOe):計算當(dāng)前種群pop的適應(yīng)度平均值avgi并選擇所有適應(yīng)度小于avgi的個 體,得到子種群Subpop1,記Subpop1種群大小為Popsize1 ; 步驟(IOf):計算子種群Subpop1的適應(yīng)度平均值avg2并選擇所有適應(yīng)度小于avg2的 個體,得到子種群Subpop2,記Subpop2種群大小為popsize2 ; 步驟(IOg):從種群中選擇一個體進行動態(tài)子種群交叉; 步驟(IOh):對交叉后的個體進行適應(yīng)度計算,如果該值小于交叉前適應(yīng)度,則更新當(dāng) 前個體;否則,產(chǎn)生一(〇,1)間隨機實數(shù)^,如巧不大于變異概率Pm,則對當(dāng)前個體執(zhí)行變 異操作; 步驟(IOi):如果運行次數(shù)g小于總運行代數(shù)gen,則g=g+l,轉(zhuǎn)步驟(10c),否則,將 當(dāng)前個體作為最優(yōu)個體輸出。
11. 根據(jù)權(quán)利要求10所述的引航員指派方法,其特征在于,對于步驟(l〇c),個體適應(yīng) 度計算的具體步驟如下: 步驟(Ila):定義序列位1至Pilot_Need與引航任務(wù)所需的Pilot_Need個引航員的 最低等級一一對應(yīng),序列元素值為被指派引航員編號; 步驟(Ilb):從序列第1位開始,到序列第Pil〇t_Need位為止,按公式(8)、(9)計算被 指派引航員的等級與對應(yīng)引航任務(wù)所需最低等級之間差異所產(chǎn)生的費用; 步驟(lie):按公式(10)統(tǒng)計序列第1到第Pil〇t_Need位上被指派引航員的疲勞程 度產(chǎn)生的費用; 步驟(Ild):按公式(6)、(7)統(tǒng)計序列第1到第Pil〇t_Need位上被指派引航員工作時 間差異產(chǎn)生的費用; 步驟(lie):按公式(1)計算個體適應(yīng)度。
12. 根據(jù)權(quán)利要求10所述的引航員指派方法,其特征在于,所述步驟(IOg),從種群中 選擇一個體進行動態(tài)子種群交叉的具體步驟如下: 步驟(12a):由步驟(IOa)所得popsize、步驟(IOe)所得Popsize1、步驟(IOf)所得Popsize2求得動態(tài)交叉概率Ps1,ps2,Ps1,ps2由以下公式求得:
步驟(12b):隨機產(chǎn)生一個(0,1)間實數(shù)r; 步驟(12c):如果r彡ps2,則從子種群Subpop2中隨機選擇一個個體作為交叉對象;如 果ps2〈r<Ps1,則從子種群Subpop1中隨機選擇一個個體作為交叉對象;如果I^ps1,則從 種群pop中隨機選擇一個個體作為交叉對象;當(dāng)前個體與所選交叉對象進行交叉操作。
【文檔編號】G06Q10/04GK104268640SQ201410465080
【公開日】2015年1月7日 申請日期:2014年9月12日 優(yōu)先權(quán)日:2014年9月12日
【發(fā)明者】薛云燦, 沙偉, 張海霞, 楊啟文, 李彬 申請人:河海大學(xué)常州校區(qū)