一种船舶引航排班问题模型与求解方法技术

技术编号:10784769 阅读:201 留言:0更新日期:2014-12-17 11:59
本发明专利技术公开了一种船舶引航排班问题模型与求解方法,在分析引航排班各种成文的排班规则及不成文的排班习惯的基础上,针对常规求解方法存在大量不可行解的困难,提出了将该模型转化为伪旅行商问题的方法;该方法依次包括以下步骤:步骤(1):建立本地数据库,进行合同收池;步骤(2):从池中选出待引航排班船舶,建立引航排班问题模型;步骤(3):基于分布估计改进离散粒子群算法对引航排班问题模型进行求解,找出最优引航排班计划;步骤(4):根据确定的最优引航排班计划进行引航排班。本发明专利技术为提高算法效率,通过引入最优粒子子群,其具有搜索速度快,搜索精度高的特点。本发明专利技术所提引航排班问题模型是有效的,求解方法是高效的。

【技术实现步骤摘要】
一种船舶引航排班问题模型与求解方法
本专利技术属于引航调度中的引航任务排班方法,具体涉及的是一种船舶引航排班问题模型与求解方法。
技术介绍
我国是一个港口大国。然而,在港口迅猛发展的同时,我国港口在引航调度效率上相对落后,这严重制约了港口的核心竞争力,也造成了一定的资源浪费。各引航公司迫切需要建立一个高效可行的引航调度体系实现引航资源优化配置,提高港口竞争力。引航调度的管理重点就在引航排班上,因此,探讨引航调度中引航排班的建模优化和有效的解决方法,成为亟待解决的关键理论问题。引航排班问题属于NP-hard组合优化问题。由于此类问题规模庞大并且限制因素复杂,所以智能算法在解决该类问题中得到广泛运用。目前应用于组合优化的算法主要有局部搜索法,模拟退火算法,遗传算法,神经网络等。引航排班方法主要有基于集覆盖方法,基于遗传算法的方法,基于模拟退火算法的方法。排班问题的解决思路大同小异,分为两步:1、产生初始引航任务组;2、运用智能优化算法对初始引航任务组进行搜索,生成可行的任务组组合。目前有的引航排班方法存在以下问题:1.两步走的思路在算法搜索过程中易产生不可行解,智能优化算法中需添加必要的排除非可行解策略,加大算法的设计难度;2.现有方法只考虑了在引航规则范围内找到可行排班结果,未综合考虑到引航任务之间等待时间,引航任务组时间均衡,引航任务组始末地点转移带来的成本问题。3.基本智能优化算法搜索能力有限,特别是当引航任务数目较多,考虑因素增多时,搜索最优解将显得无能为力。
技术实现思路
本专利技术解决上述技术问题所采用的技术方案是提出了一种船舶引航排班问题模型与求解方法,该方法包括以下步骤:步骤(1):建立本地数据库,进行合同收池;步骤(2):从池中选出待引航排班船舶,统计待引航排班船舶任务数Ntask,建立引航排班问题模型;步骤(3):基于分布估计改进离散粒子群算法对引航排班问题模型进行求解,找出最优引航排班计划;步骤(4):根据确定的最优引航排班计划进行引航排班。其中,步骤(2)建立引航排班问题模型主要考虑引航中心(引航站)各种成文的排班规则及不成文排班习惯,这些约束主要包括:(a)将时间上可以顺承,地点相同的引航任务衔接,搭建引航任务组;(b)一个引航任务组的起始地点与结束地点保持尽可能相同,避免引航员外站过夜;(c)每个引航任务组的工作时间相对均衡;(d)每个引航任务组的工作时间符合引航中心(引航站)的工作时间制,避免疲劳引航。在考虑这些约束条件下,本专利技术构建引航排班问题数学模型如下:Z=c1*obj1+c2*obj2+c3*obj3+c4*obj4(1)其中obj1为目标函数第1部分,表示一个可行的引航任务组组合中引航任务组的数目;obj2为目标函数第2部分,表示一个可行的引航任务组组合中各引航任务组的时间等待费用之和;obj3为目标函数第3部分,表示一个可行的引航任务组组合中各引航任务组的外站过夜费用之和;obj4为目标函数第4部分,表示一个可行的引航任务组组合中各引航任务组工作时间的标准差。c1、c2、c3、c4为系数权值。进一步,引航排班问题数学模型中obj1表达式可由下式求得:obj1=taskno(2)taskno为任务组数目。引航排班问题数学模型中obj2表达式可由下式求得:其中:waitcosti为任务组i的等待费用,其计算方法如下:wait_time为同一引航任务组中两衔接引航任务之间的等待时间,VT为等待时间阈值,ωa、ωb为等待时间权重系数,且ωa<ωb。引航排班问题数学模型中obj3表达式可由下式求得:poscosti为引航任务组i的外站过夜花费,ωgp为外站过夜花费权值。引航排班问题数学模型中obj4表达式可由下式求得:gtask_timei为任务组i的工作时间,avetime为一个任务组组合平均工作时间,其计算公式如下:进一步,步骤(3)基于分布估计改进离散粒子群算法对引航排班问题模型进行求解,找出最优引航排班计划的具体步骤如下;步骤(3a):初始化参数。设置种群大小popsize,运行总代数gen,变异概率pm;步骤(3b):初始化种群。置运行代数g=1,随机产生popsize个粒子,每个粒子为一具有Ntask个元素(任务)的整数序列,粒子中的各元素(任务)从集合{1,2,…,Ntask}中取值且互不重复;步骤(3c):计算粒子适应度。根据适应度函数计算每个粒子适应度值并保存每个粒子找到的个体极值pbest及整个种群的全局极值gbest;步骤(3d):将所有个体极值进行排序,以比率γ选择具有较优个体极值的粒子构建最优粒子子群;步骤(3e):根据最优粒子子群中各序列元素所代表的引航任务的邻接关系建立各引航任务的邻接元素概率分布模型;步骤(3f):每个粒子根据引航任务的邻接元素概率分布模型执行学习采样过程;步骤(3g):对学习后的粒子计算适应度值,如果该值小于学习前适应度值,则更新当前粒子;否则,对当前粒子以概率pm执行变异操作;步骤(3h):g加1,如果g≤gen,转步骤(3c);步骤(3i):输出全局极值gbest及全局最优粒子。对于步骤(3c)计算每个粒子适应度值采用的是伪旅行商问题的译码方法,该步骤可细化为步骤4,其具体步骤如下:步骤(4a):设gtask=1,vtask=1。gtask代表当前引航任务组序号,vtask代表当前引航任务序号;步骤(4b):将引航任务vtask放入gtask任务组,vtask加1;步骤(4c):访问引航任务vtask,如果满足当前访问的引航任务的起始地点等于之前访问的引航任务的结束地点,当前访问的引航任务的起始时间迟于之前访问的引航任务的结束时间且从当前访问的引航任务组的第一个引航任务的起始时间到当前访问的引航任务的结束时间间隔小于工作时间阈值T,则把该任务放入gtask任务组,vtask加1,转步骤(4d);否则,gtask加1,把当前任务放入更新的gtask任务组,vtask加1;步骤(4d):如果vtask≤Ntask,转步骤(4c);步骤(4e):按式(1)计算引航排班问题的总费用,即为粒子的适应度值。对于步骤(3d),最优粒子子群的构建方法可细化为步骤5,其具体步骤如下:步骤(5a):将所有粒子的个体极值由小到大进行排序;步骤(5b):根据比率γ和种群大小popsize依次选择适应度值较小的[γ*popsize+0.5]个粒子组成最优粒子子群,其中[γ*popsize+0.5]代表对γ*popsize+0.5取整。同样,对于步骤(3e),邻接任务概率模型构建步骤也可细化为步骤6,其具体步骤如下:步骤(6a):统计最优粒子子群中粒子序列元素i的邻接元素j出现的次数nij;步骤(6b):构建邻接元素的概率模型;步骤(6c):构建邻接元素的概率分布模型。进一步,步骤(6a),邻接次数nij的计算步骤可细化为步骤7,其具体步骤如下:步骤(7a):记最优粒子子群为E,其中第k个个体表示为L为粒子长度;步骤(7b):建立一个邻接次数矩阵N,N中的元素nij表示序列元素i与序列元素j的邻接次数,nij初始化为0,矩阵如下所示:步骤(7c):遍历最优粒子子群中的每个粒子,nij按如下方式更新:其中,进一步,步骤(6b)邻接元素的概率模本文档来自技高网...
一种船舶引航排班问题模型与求解方法

【技术保护点】
一种船舶引航排班问题模型与求解方法,包括建立本地数据库,进行合同收池,其特征在于:该方法依次包括以下步骤:步骤(1a):建立本地数据库,进行合同收池;步骤(1b):从池中选出待引航排班船舶,统计待引航排班船舶任务数Ntask,建立引航排班问题模型;步骤(1c):基于分布估计改进离散粒子群算法对引航排班问题模型进行求解,找出最优引航排班计划;步骤(1d):根据确定的最优引航排班计划进行引航排班。

【技术特征摘要】
1.一种船舶引航排班问题模型与求解方法,包括建立本地数据库,进行合同收池,其特征在于:该方法依次包括以下步骤:步骤(1a):建立本地数据库,进行合同收池;步骤(1b):从池中选出待引航排班船舶,统计待引航排班船舶任务数Ntask,建立引航排班问题模型;步骤(1c):基于分布估计改进离散粒子群算法对引航排班问题模型进行求解,找出最优引航排班计划;步骤(1d):根据确定的最优引航排班计划进行引航排班;对于所述步骤(1b),建立引航排班问题数学模型Z的计算公式如下:Z=c1*obj1+c2*obj2+c3*obj3+c4*obj4(1)其中obj1为目标函数第1部分,表示一个可行的引航任务组组合中引航任务组的数目;obj2为目标函数第2部分,表示一个可行的引航任务组组合中各引航任务组的时间等待费用之和;obj3为目标函数第3部分,表示一个可行的引航任务组组合中各引航任务组的外站过夜费用之和;obj4为目标函数第4部分,表示一个可行的引航任务组组合中各引航任务组工作时间的标准差;c1、c2、c3、c4为系数权值;对于所述步骤(1c),基于分布估计改进离散粒子群算法对引航排班问题模型进行求解,其步骤如下:步骤(4a):初始化参数;设置种群大小popsize,运行总代数gen,变异概率pm;步骤(4b):初始化种群;置运行代数g=1,随机产生popsize个粒子,每个粒子为一具有Ntask个元素的整数序列,粒子中的各元素从集合{1,2,…,Ntask}中取值且互不重复;步骤(4c):计算粒子适应度;根据适应度函数计算每个粒子适应度值并保存每个粒子找到的个体极值pbest及整个种群的全局极值gbest;步骤(4d):将所有个体极值进行排序,以比率γ选择具有最优个体极值的粒子构建最优粒子子群;步骤(4e):根据最优粒子子群中各序列元素所代表的引航任务的邻接关系建立各引航任务的邻接元素概率分布模型;步骤(4f):每个粒子根据引航任务的邻接元素概率分布模型执行学习采样过程;步骤(4g):对学习后的粒子计算适应度值,如果该值小于学习前适应度值,则更新当前粒子;否则,对当前粒子以概率pm执行变异操作;步骤(4h):置运行代数g加1,如果g≤gen,转步骤(4c);步骤(4i):输出全局极值gbest及全局最优粒子;对于步骤(4f),每个粒子根据引航任务的邻接元素概率分布模型执行学习采样过程的具体步骤如下:步骤(10a):随机产生两个粒子位X1、X2,保持粒子中粒子位X1、X2之间的序列不变,其余粒子位置空;步骤(10b):对于剩余粒子位元素值,采用轮盘赌方法,采样引航排班问题邻接元素概率分布模型,得到新粒子;步骤(10c):由步骤(10b)所得新粒子,若其适应度值优于采样学习前的适应度值,则将新粒子替换采样学习前的粒子;否则,对当前粒子以概率pm执行变异操作。2.根据权利要求1所述一种船舶引航排班问题模型与求解方法,其特征在于,所述引航排班问题数学模型中obj1表达式如下:obj1=taskno(2)其中,taskno为任务组数目;所述引航排班问题数学模型中obj2表达式如下:waitcosti为任务组i的等待费用,其计算方式如下:wait_time为同一引航任务组中两衔接引航任务之间的等待时间,VT为等待时间阈值,ωa、ωb为等待时间权重系数,且ωa<ωb;taskno为任务组数目;所述引航排班问题数学模型中obj3表达式如下:

【专利技术属性】
技术研发人员:薛云灿张海霞杨启文李彬王思睿
申请(专利权)人:河海大学常州校区
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1