基于改进离散粒子群算法的船舶引航排班方法

文档序号:6626803阅读:311来源:国知局
基于改进离散粒子群算法的船舶引航排班方法
【专利摘要】本发明公开了一种基于改进离散粒子群算法的船舶引航排班方法。本发明在分析引航排班各种规则和习惯的基础上,提出了船舶引航排班问题的数学模型;为求解该模型,提出了基于动态粒子子群的改进离散粒子群算法;针对常规求解方法存在大量不可行解的困难,提出了采用伪旅行商问题方法进行粒子适应度计算的方法。所提模型是可行的,所提算法具有搜索速度快,搜索精度高,稳定性强的特点,是适于求解复杂的引航排班问题的。
【专利说明】基于改进离散粒子群算法的船舶引航排班方法

【技术领域】
[0001] 本发明属于船舶引航调度中的引航任务排班方法,具体涉及一种船舶引航排班问 题模型与基于动态粒子子群改进离散粒子群算法的求解方法。

【背景技术】
[0002] 我国是一个港口大国,然而,在港口迅猛发展的同时,我国港口在引航调度效率上 相对落后,这严重制约了港口的核心竞争力,也造成了一定的资源浪费。各引航公司迫切需 要建立一个高效可行的引航调度体系实现引航资源优化配置,提高港口竞争力。引航调度 的管理重点就在引航排班上,因此,探讨引航调度中引航排班的建模优化和有效的解决方 法,成为亟待解决的关键理论问题。
[0003] 引航排班问题属于NP难的组合优化问题。由于此类问题规模庞大并且限制因素 复杂,所以智能算法在解决该类问题中得到广泛运用。目前应用于组合优化的算法主要有 局部搜索法,模拟退火算法,遗传算法,神经网络等。引航排班方法主要有基于集覆盖方法, 基于遗传算法的方法,基于模拟退火算法的方法。排班问题的解决思路大同小异,分为两 步:1、产生初始引航任务组;2、运用智能优化算法对初始引航任务组进行搜索,生成可行 的任务组组合。
[0004] 现有引航排班方法存在以下问题:
[0005] 1.两步走的思路在算法搜索过程中易产生不可行解,智能优化算法中需添加必要 的排除非可行解策略,加大算法的设计难度;
[0006] 2.现有方法只考虑了在引航规则范围内找到可行排班结果,未综合考虑到引航任 务之间等待时间,引航任务组时间均衡,引航任务组始末地点转移带来的成本问题。


【发明内容】

[0007] 为了解决现有技术中的问题,本发明提供了一种具有搜索速度快,搜索精度高,稳 定性强的特点,是适于求解复杂的引航排班问题的基于改进离散粒子群算法的船舶引航排 班方法。
[0008] 为了解决上述问题,本发明所采取的技术方案是:
[0009] 基于改进离散粒子群算法的船舶引航排班方法,其特征在于:包括以下步骤,
[0010] 步骤(A),建立本地数据库,进行合同收池;
[0011] 步骤(B),从池中选出待引航排班船舶,统计待引航排班船舶任务数Ntask,建立引 航排班问题模型;
[0012] 步骤(C),基于动态粒子子群改进离散粒子群算法对引航排班问题模型进行求解, 找出最优引航排班计划;
[0013] 步骤(D),根据确定的最优引航排班计划进行引航排班。
[0014] 前述的基于改进离散粒子群算法的船舶引航排班方法,其特征在于:步骤(B)包 括建立引航排班问题模型,包括以下步骤:
[0015] 步骤(B1),考虑引航中心各种成文的排班规则及不成文排班习惯,建立约束条 件;
[0016] 步骤(B2),将引航排班所涉及的各约束条件转化为费用函数,构建引航排班问题 的数学模型,如下:
[0017] Z = C1^ob J-^c2=IiOb j2+C3*obj3+C4*obj4 (1)
[0018] 其中Obj1为目标函数第1部分,表示一个可行的引航任务组组合中引航任务组的 数目;Obj 2为目标函数第2部分,表示一个可行的引航任务组组合中各引航任务组的时间 等待费用之和;Obj3为目标函数第3部分,表示一个可行的引航任务组组合中各引航任务 组的外站过夜费用之和;Obj 4为目标函数第4部分,表示一个可行的引航任务组组合中各 引航任务组工作时间的标准差,其中Cl、c 2、c3、C4为系数权值;
[0019] 步骤(B3),引航排班数学模型中Obj1表达式如下:
[0020] Obj1 = taskno (2)
[0021] 其中,taskno为任务组数目;
[0022] 步骤(B4),引航排班问题数学模型中Obj2表达式如下:

【权利要求】
1. 基于改进离散粒子群算法的船舶引航排班方法,其特征在于:包括以下步骤, 步骤(A),建立本地数据库,进行合同收池; 步骤(B),从池中选出待引航排班船舶,统计待引航排班船舶任务数Ntask,建立引航排 班问题模型; 步骤(C),基于动态粒子子群改进离散粒子群算法对引航排班问题模型进行求解,找出 最优引航排班计划; 步骤(D),根据确定的最优引航排班计划进行引航排班。
2. 根据权利要求1所述的基于改进离散粒子群算法的船舶引航排班方法,其特征在 于:步骤(B)包括建立引航排班问题模型,包括以下步骤: 步骤(BI),考虑引航中心各种成文的排班规则及不成文排班习惯,建立约束条件; 步骤(B2),将引航排班所涉及的各约束条件转化为费用函数,构建引航排班问题的数 学模型,如下: Z= 氺obj2+c3 氺obj3+c4 氺obj4 (1) 其中Obj1为目标函数第1部分,表示一个可行的引航任务组组合中引航任务组的数 目;Obj2为目标函数第2部分,表示一个可行的引航任务组组合中各引航任务组的时间等 待费用之和;〇bj3为目标函数第3部分,表示一个可行的引航任务组组合中各引航任务组 的外站过夜费用之和; 〇bj4为目标函数第4部分,表示一个可行的引航任务组组合中各引 航任务组工作时间的标准差,其中Cl、c2、c3、C4为系数权值; 步骤(B3),引航排班数学模型中Obj1表达式如下: Obj1=taskno(2) 其中,taskno为任务组数目; 步骤(B4),引航排班问题数学模型中Obj2表达式如下: taskno oh/\ -V uy7/7 CosZy (3) /=1 其中,WaitCOSti为任务组i的等待费用,其计算方式如下: [wait time^ω wait time < VT 而/./cosi, =<! , 、 - (4) IVT*OJn + (wait_time - VT) *wb wait_time>VT wait_time为同一引航任务组中两衔接引航任务之间的等待时间,VT为等待时间阈 值,ω?、Ob为等待时间权重系数,且ω ?〈ω?3,表不等待时间越长,所广生的时间等待费用 越大; 步骤(Β5),引航排班问题数学模型中Obj3表达式如下: taskno 咖=Σ"ολχοΗ (5) ?=1 -- 如果引航任务组〖的结束地点与起始地点不相同 停簡/,.二^。 (6) 1〇 如果引航任务组/的结束地点与起始地点相同 POSCOSti为引航任务组i的外站过夜花费,COgp为外站过夜花费权值; 步骤(B6),引航排班问题数学模型中Obj4表达式如下:
其中,gtask_timei为任务组i的工作时间,taskno为任务组数目,为一个任务组组合 平均工作时间,其计算公式如下:
3. 根据权利要求2所述的基于改进离散粒子群算法的船舶引航排班方法,其特征在 于:对于步骤(C),基于动态粒子子群改进离散粒子群算法的引航排班模型求解,其步骤如 下: 步骤(Cl):初始化参数,设置种群大小popsize,总运行代数gen,变异概率?。1,初始化 运行次数g=1 ; 步骤(C2):初始化种群,随机产生popsize个粒子,每个粒子为一具有Ntask个元素的整 数序列,粒子中的各元素从集合{1,2,一,NtaslJ中取值且互不重复; 步骤(C3):计算适应度,根据适应度函数计算每个粒子适应度值。若当前粒子适应度 值小于其个体极值Pbest,则更新该粒子的个体极值Pbest及个体最优粒子,若当前粒子适应度 值小于全局极值gbest,则更新当前种群的全局极值gbest及全局最优粒子; 步骤(C4):适应度排序,将粒子按适应度由小到大顺序进行排序; 步骤(C5):计算当前种群pop的适应度平均值avgi并选择所有适应度小于avgi的粒 子,得到粒子子群Subpop1,记Subpop1种群大小为Popsize1 ; 步骤(C6):计算粒子子群Subpop1的适应度平均值avg2并选择所有适应度小于avg2的 粒子,得到粒子子群Subpop2,记Subpop2种群大小为popsize2 ;设置动态学习概率ps; a由热本登yi撫:衮μπτ由下=pff?县.
其中,min为取小函数、Θ为一常数。 步骤(C7):从粒子群中选择一粒子进行动态粒子子群学习; 步骤(C8):对学习后的粒子计算适应度,如果该值小于学习前适应度,则更新当前粒 子;否则,对当前粒子以概率Pm执行变异操作,其具体步骤为:随机产生一个(〇, 1)间实数 r,如果r<变异概率Pm,则对当前粒子执行基于序列倒置的变异操作; 步骤(C9):若当前运行次数g小于总运行代数gen,g加1,转步骤(C3); 步骤(ClO):输出全局极值gbest及全局最优粒子。
4. 根据权利要求3所述的基于改进离散粒子群算法的船舶引航排班方法,其特征在 于:对于步骤(C3),计算每个粒子适应度值采用的是伪旅行商问题的译码方法,其具体步 骤如下: 步骤(C31):设gtask = 1,Vtask = 1,gtask代表当前引航任务组序号,Vtask代表当前引航 任务序号; 步骤(C32):将引航任务Vtask放入gtask任务组,Vtask加I; 步骤(C33):访问引航任务Vtask,如果满足当前访问的引航任务的起始地点等于之前 访问的引航任务的结束地点,当前访问的引航任务的起始时间不早于之前访问的引航任务 的结束时间且从当前访问的引航任务组的第一个引航任务的起始时间到当前访问的引航 任务的结束时间间隔小于工作时间阈值T,则把该任务放入gtask任务组,Vtask加1,转步骤 (C34);否则,gtaskW1,把当前任务放入更新的gtasl^i务组,VtaskW1 ; 步骤(C34):如果Vtask彡Ntask,转步骤(C33); 步骤(C35):按式(1)计算引航排班问题的总费用,即为粒子的适应度值。
5. 根据权利要求4所述的基于改进离散粒子群算法的船舶引航排班方法,其特征在 于:对于步骤(C7),从粒子群中选择一粒子进行动态粒子子群学习,其具体步骤如下: 步骤(C71):随机产生一个(0, 1)间实数r; 步骤(C72):如果r<ps且 0〈popsize2/popsize<σ,则从步骤(C6)的子群Subpop2 中随机选择一个粒子作为学习对象;如果r<ps且〇 <p〇psize2/popsize,则从步骤(C5) 的子群Subpop1中随机选择一个粒子作为学习对象;如果r>ps,贝U从当前种群pop中随机选 择一个粒子作为学习对象;当前粒子与所选学习对象进行交叉操作;其中,σ为一常数。
6. 根据权利要求5所述的基于改进离散粒子群算法的船舶引航排班方法,其特征在 于:步骤(BI)中包括以下约束条件: (1) 将时间上可以顺承,地点相同的引航任务衔接,搭建引航任务组; (2) -个引航任务组的起始地点与结束地点保持尽可能相同,避免引航员外站过夜; (3) 每个引航任务组的工作时间相对均衡; (4) 每个引航任务组的工作时间符合引航中心(引航站)的工作时间制,避免疲劳引 航。
7. 根据权利要求6所述的基于改进离散粒子群算法的船舶引航排班方法,其特征在 于:步骤(B2)中,Cl、c2、c3、C4为系数权值,四个系数权值对应的优选值分别为1,1,1,0.02。
8. 根据权利要求7所述的基于改进离散粒子群算法的船舶引航排班方法,其特征在 于:步骤(B4)中,c〇a、Cob优选值分别为1,1.5。
9. 根据权利要求8所述的基于改进离散粒子群算法的船舶引航排班方法,其特征在 于:步骤(C)中,各参数优选值为:群大小popsize优选为Ntask的2至4倍,运行代数gen优 选为1000,变异概率Pm优选为0. 25,Θ优选为〇. 55,
10. 根据权利要求9所述的基于改进离散粒子群算法的船舶引航排班方法,其特征在 于:步骤⑶中,〇优选为〇. 1。
【文档编号】G06Q10/04GK104239975SQ201410465516
【公开日】2014年12月24日 申请日期:2014年9月12日 优先权日:2014年9月12日
【发明者】薛云灿, 张海霞, 杨启文, 王思睿, 吴和峰 申请人:河海大学常州校区
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1