CN104268639B - 一种基于森林模型与改进遗传算法的船舶引航排班方法 - Google Patents
一种基于森林模型与改进遗传算法的船舶引航排班方法 Download PDFInfo
- Publication number
- CN104268639B CN104268639B CN201410465020.6A CN201410465020A CN104268639B CN 104268639 B CN104268639 B CN 104268639B CN 201410465020 A CN201410465020 A CN 201410465020A CN 104268639 B CN104268639 B CN 104268639B
- Authority
- CN
- China
- Prior art keywords
- pilotage
- pilotage task
- task
- obj
- task groups
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于森林模型与改进遗传算法的船舶引航排班方法。该方法根据引航任务衔接条件构建引航任务森林模型,采用改进广度优先搜索算法遍历引航任务森林获取初始引航任务组;根据初始引航任务组,采样改进遗传算法获取最优引航排班计划。本发明考虑了引航排班中各种成文的排班规则及不成文排班习惯,同时将引航排班问题所涉及的约束条件转化为费用模型,从可行性、公平性、效益三个角度出发,求解船舶引航排班方法。
Description
技术领域
本发明属于引航调度中的引航任务排班方法,具体涉及一种森林模型的引航排班问题模型及其基于改进遗传算法的求解方法。
背景技术
我国是一个港口大国。然而,在港口迅猛发展的同时,我国港口在引航调度效率上相对落后,这严重制约了港口的核心竞争力,也造成了一定的资源浪费。各引航公司迫切需要建立一个高效可行的引航调度体系实现引航资源优化配置,提高港口竞争力。引航调度的管理重点就在引航排班上,因此,探讨引航调度中引航排班的建模优化和有效的解决方法,成为亟待解决的关键理论问题。
引航排班问题属于NP-hard组合优化问题。由于此类问题规模庞大并且限制因素复杂,所以智能算法在解决该类问题中得到广泛运用。目前应用于组合优化的算法主要有局部搜索法,模拟退火算法,遗传算法,神经网络等。引航排班方法主要有基于集覆盖方法,基于遗传算法的方法,基于模拟退火算法的方法。排班问题的解决思路大同小异,分为两步:1、产生初始引航任务组;2、运用智能优化算法对初始引航任务组进行搜索,生成可行的任务组组合。
目前有的引航排班方法存在以下问题:
1.第一步构建的初始引航任务组直接影响第二步智能优化算法的工作量。已有方法在构建初始引航任务组时采用的引航排班模型使得智能优化算法不可避免增加排除不可行解工作,增加了求解难度;
2.现有方法只考虑了在引航规则范围内找到可行排班结果,未综合考虑到引航任务之间等待时间,引航任务组时间均衡,引航任务组始末地点转移带来的成本问题。
3.基本智能优化算法搜索能力有限,特别是当引航任务数目较多,考虑因素增多时,搜索最优解将显得无能为力。
发明内容
为解决上述技术问题,本发明目的是提供一种一种基于森林模型与改进遗传算法的船舶引航排班方法,避免了后期智能优化算法在求解时增加排除不可行解的步骤,减小求解难度,相比一般算法具有更优的寻优能力。
为实现上述目的,本发明的技术方案如下:
一种基于森林模型与改进遗传算法的船舶引航排班方法,该方法包括以下步骤:
步骤(1):建立本地数据库,进行合同收池;
步骤(2):从池中选出待引航排班船舶,根据引航任务衔接条件构建引航任务森林模型;
步骤(3):采用改进广度优先搜索算法遍历引航任务森林获取初始引航任务组;
步骤(4):根据初始引航任务组,采用改进遗传算法求解最优引航排班计划;
步骤(5):根据确定的最优引航排班计划进行引航排班。
其中,步骤(2)建立引航排班问题森林模型考虑的引航任务衔接条件为将时间上可以顺承,地点相同的引航任务衔接,引航任务衔接条件的数学模型如下:
taskj_stime表示第j个引航任务的起始时间,taski_etime表示第i个引航任务的结束时间,taski_epos表示第i个引航任务的结束地点,taskj_spos表示第j个引航任务的起始地点。
在考虑引航任务衔接条件的前提下,本发明构建引航任务森林模型的具体步骤如下:
步骤(2a):构建引航任务集合R;
步骤(2b):以引航任务为根节点,遍历引航任务集合R,根据引航任务衔接条件,为每个引航任务找出所有孩子节点,构造森林F;
步骤(2c):遍历森林F,若根据引航任务衔接条件,树中叶子节点存在孩子节点或孩子树,则通过将所有孩子节点与孩子树作为叶子节点的孩子更新当前树及森林F;
步骤(2d):若森林F中树的叶子节点存在孩子节点或孩子树,转步骤(2c);
步骤(2e):输出引航任务的森林模型。
进一步,步骤(3)采用改进广度优先搜索算法遍历引航任务森林模型获取初始引航任务组的具体步骤如下:
步骤(3a):采用vij t命名森林中第t棵树的第i层第j个节点且所有节点标记为未访问;
步骤(3b):参数初始化。置t=1,i=1,j=1,m=1,n=1,初始引航任务组存放二维矩阵G为全零矩阵;
步骤(3c):若v11 t标记为已访问,t加1,转步骤(3d);若节点vij t为未访问非叶子节点且存在未访问孩子节点,将节点vij t存入G[m][n],n加1,i加1,转步骤(3c);若节点vij t为未访问非叶子节点且不存在未访问孩子节点,将节点vij t标记为已访问并置矩阵G第m维元素全为0,转步骤(3c);若节点vij t为已访问节点且存在未访问兄弟节点,j加1,转步骤(3c);若节点vij t为未访问叶子节点,将节点vij t存入G[m][n]并标记为已访问,m加1,置n=1,i=1,j=1,转步骤(3c);
步骤(3d):如果t小于森林中树的总数,则t加1,转步骤(3c);
步骤(3e):从初始引航任务组存放矩阵G输出初始引航任务组及初始引航任务组数Ngroup。
进一步,步骤(4)最优引航排班计划主要考虑了引航中心(引航站)各种成文的排班规则及不成文排班习惯,这些约束主要包括:
(a)将时间上可以顺承,地点相同的引航任务衔接,搭建引航任务组;
(b)一个引航任务组的起始地点与结束地点保持尽可能相同,避免引航员外站过夜;
(c)每个引航任务组的工作时间相对均衡;
(d)每个引航任务组的工作时间符合引航中心(引航站)的工作时间制,避免疲劳引航。
在考虑各种成文的排班规则及不成文的排班习惯的基础上,本发明还考虑了引航任务之间时间等待差异,引航任务组始末地点差异引航任务重复覆盖、引航任务未覆盖所带来的费用。
步骤(4)中,根据初始引航任务组,采用改进遗传算法求解最优引航排班计划具体步骤如下:
步骤(4a):初始化参数。设置种群大小popsize,总运行代数gen,运行次数g=1,交叉概率pc,变异概率pm,最优子群比λ;
步骤(4b):初始化种群。随机产生popsize个个体;
步骤(4c):计算适应度。根据适应度函数计算每个个体的适应度值。
步骤(4d):选择。将所有个体进行排序,以比率λ选择具有较优适应度值的个体构建最优个体子群;
步骤(4e):交叉。从最优个体子群中随机选择一个个体,当前个体以概率pc与其交叉,得到子个体;
步骤(4f):变异。随机产生一(0,1)间实数rm,若rm<变异概率pm,则对当前个体执行变异操作;
步骤(4g):计算当前个体适应度值,如果该值小于交叉变异前适应度值,更新当前个体;否则,个体不更新;
步骤(4h):如果当前运行次数g≤总运行代数gen,则运行次数g加1,转步骤(4c);反之,进入步骤(4i);
步骤(4i):输出最优解。
步骤(4c)中,将引航排班所涉及的各约束条件转化为费用函数,引航排班问题的适应度函数设计如下:
f=c1*obj1+c2*obj2+c3*obj3+c4*obj4+c5*obj5+c6*obj6+c7*obj7 (2)
其中obj1为目标函数第1部分,表示一个引航任务组组合中引航任务组的数目大小产生的费用;obj2为目标函数第2部分,表示一个引航任务组组合中各引航任务组的等待时间产生的费用;obj3为目标函数第3部分,表示一个引航任务组组合中各引航任务组始末地点不同产生的地点转移费用;obj4为目标函数第4部分,表示一个引航任务组组合中各引航任务组工作时间差异产生的费用;obj5为目标函数第5部分,表示一个引航任务组组合中存在未覆盖的引航任务产生的费用;obj6为目标函数第6部分,表示一个引航任务组组合中存在重复覆盖的引航任务产生的费用;obj7为目标函数第7部分,表示一个引航任务组组合中存在工作时间超时限的引航任务组产生的费用,c1、c2、c3、c4、c5、c6、c7为权值。
进一步,适应度函数中obj1数学表达式如下:
其中,M为染色体长度,g(i)表示染色体第i个基因,g(i)可由下式求得:
适应度函数中obj2数学表达式如下:
其中,Ngroup为引航任务组数,wait costi为第i个引航任务组的时间等待费用,wait cos ti可由下式求得:
其中,wait_time为两衔接引航任务等待时间间隔,VT为等待时间阈值,ωa、ωb为等待时间费用权值。
适应度函数中obj3表达式如下:
其中,Ngroup为引航任务组数,pos cos ti为第i个引航任务组的地点转移费用,poscos ti可由下式求得:
其中,gtask_sposi,gtask_eposi分别为第i个引航任务组的起始地点与结束地点,ωgp为地点转移费用权值。
适应度函数中obj4表达式如下:
其中,taskno为引航任务数,Ngroup为引航任务组数,gtask_timei为第i个引航任务组的工作时间,avetime为一个任务组组合平均工作时间,avetime可由下式求得:
适应度函数中obj5表达式如下:
其中,Ntask为引航任务数,ωu为引航任务未覆盖费用权值,un cov er(i)为第i个引航任务的未覆盖函数,un cov er(i)可由下式求得:
适应度函数中obj6表达式如下:
其中,Ntask为引航任务数,ωo为引航任务重复覆盖费用权值,over cov er(i)为第i个引航任务的重复覆盖函数,over cov er(i)可由下式求得:
其中,Ngroup为引航任务组数,nij为第i个引航任务在第j个引航任务组的重复覆盖函数,nij可由下式求得:
适应度函数中obj7表达式如下:
其中,Ngroup为引航任务组数,ωto为引航任务组时间超限费用权值,group_to(i)为第i个引航任务组的时间超限函数,group_to(i)可由下式求得:
进一步,对于步骤(4c)计算每个个体适应度值采用的译码方法可细化为步骤5,具体步骤如下:
步骤(5a):置基因位i=1,引航任务组集合group为空集合;
步骤(5b):如果基因位i的值gi为1,将第i个初始引航任务组加入引航任务组集合group,i加1;如果i的值为0,g加1;
步骤(5c):如果i的大小小于染色体长度加1,转步骤(5b);
步骤(5d):按公式(2)计算引航任务组集合group引航排班的总费用,即为个体的适应度值。
同样,步骤(4d),最优个体子群的构建方法可细化为步骤6,具体步骤如下:
步骤(6a):将所有个体的适应度值由小到大进行排序;
步骤(6b):根据比率λ和种群大小popsize依次选择适应度值较小的[λ*popsize+0.5]个个体组成最优个体子群,其中[λ*popsize+0.5]代表对λ*popsize+0.5取整。
本发明的有益效果是:本发明提出了一种基于森林模型与改进遗传算法的船舶引航排班方法。该方法首先考虑引航排班中最基本要求即引航任务衔接条件,构建引航任务的森林模型;接着采用改进广度优先搜索算法构建初始引航任务组集合,构建的初始引航任务集合兼顾了初始引航任务组的数量及引航任务分组的优化穷举,避免了后期智能优化算法在求解时增加排除不可行解的步骤,减小求解难度;最后,在求解算法选择上采用改进遗传算法,该改进算法通过最优子群加快算法搜索速度,在引航任务数较多,约束条件更复杂的情况下,相比一般算法具有更优的寻优能力。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明改进遗传算法流程图。
具体实施方式
现在结合附图和优选实施例对本发明作进一步的说明。
本发明提出了一种基于森林模型与改进遗传算法的船舶引航排班方法,该方法包括以下步骤:
步骤(1):建立本地数据库,进行合同收池;
步骤(2):从池中选出待引航排班船舶,根据引航任务衔接条件构建引航任务森林模型;
步骤(3):采用改进广度优先搜索算法遍历引航任务森林模型获取初始引航任务组;
步骤(4):根据初始引航任务组,采用改进遗传算法求解最优引航排班计划;
步骤(5):根据确定的最优引航排班计划进行引航排班。
其中,步骤(2)建立引航排班问题森林模型考虑的引航任务衔接条件为将时间上可以顺承,地点相同的引航任务衔接,引航任务衔接条件的数学模型如下:
taskj_stime表示第j个引航任务的起始时间,taski_etime表示第i个引航任务的结束时间,taski_epos表示第i个引航任务的结束地点,taskj_spos表示第j个引航任务的起始地点。
在考虑引航任务衔接条件的前提下,本发明构建引航任务森林模型的具体步骤如下:
步骤(2a):构建引航任务集合R;
步骤(2b):以引航任务为根节点,遍历引航任务集合R,根据引航任务衔接条件,为每个引航任务找出所有孩子节点,构造森林F;
步骤(2c):遍历森林F,若根据引航任务衔接条件,树中叶子节点存在孩子节点或孩子树,则通过将所有孩子节点与孩子树作为叶子节点的孩子更新当前树及森林F;
步骤(2d):若森林F中树的叶子节点存在孩子节点或孩子树,转步骤(3c);
步骤(2e):输出引航任务的森林模型。
进一步,步骤(3)采用改进广度优先搜索算法遍历引航任务森林模型获取初始引航任务组的具体步骤如下:
步骤(3a):采用vij t命名森林中第t棵树的第i层第j个节点且所有节点标记为未访问;
步骤(3b):参数初始化。置t=1,i=1,j=1,m=1,n=1,初始引航任务组存放二维矩阵G为全零矩阵;
步骤(3c):若v11 t标记为已访问,t加1,转步骤(3d);若节点vij t为未访问非叶子节点且存在未访问孩子节点,将其存入G[m][n],n加1,i加1,转步骤(3c);若节点vij t为未访问非叶子节点且不存在未访问孩子节点,将其标记为已访问并置矩阵G第m维元素全为0,转步骤(3c);若节点vij t为已访问节点且存在未访问兄弟节点,j加1,转步骤(3c);若节点vij t为未访问叶子节点,将其存入G[m][n]并标记为已访问,m加1,置n=1,i=1,j=1,转步骤(3c);
步骤(3d):如果t小于森林中树的总数,则t加1,转步骤(3c);反之,进入步骤(3e);
步骤(3e):从初始引航任务组存放矩阵G输出初始引航任务组及初始引航任务组数Ngroup。
进一步,步骤(4)最优引航排班计划主要考虑了引航中心(引航站)各种成文的排班规则及不成文排班习惯,这些约束主要包括:
(a)将时间上可以顺承,地点相同的引航任务衔接,搭建引航任务组;
(b)一个引航任务组的起始地点与结束地点保持尽可能相同,避免引航员外站过夜;
(c)每个引航任务组的工作时间相对均衡;
(d)每个引航任务组的工作时间符合引航中心(引航站)的工作时间制,避免疲劳引航。
在考虑各种成文的排班规则及不成文的排班习惯的基础上,本发明还考虑了引航任务之间时间等待差异,引航任务组始末地点差异引航任务重复覆盖、引航任务未覆盖所带来的费用。
步骤(4)中,根据初始引航任务组,采用改进遗传算法求解最优引航排班计划具体步骤如下:
步骤(4a):初始化参数。设置种群大小popsize(优选为初始引航任务组数Ngroup的2至4倍),总运行代数gen(优选为1000),运行次数g=1;交叉概率pc,本实施例优选pc为0.75,变异概率pm,本实施例优选pm为0.25),最优子群比λ,优选pc为0.35;
步骤(4b):初始化种群。随机产生popsize个个体;
步骤(4c):计算适应度。根据适应度函数计算每个个体的适应度值。
步骤(4d):选择。将所有个体进行排序,以比率λ选择具有较优适应度值的个体构建最优个体子群;
步骤(4e):交叉。从最优个体子群中随机选择一个个体,当前个体以概率pc与其交叉,得到子个体;
步骤(4f):变异。随机产生一(0,1)间实数rm,若rm<变异概率pm,则对当前个体执行变异操作;
步骤(4g):计算当前个体适应度值,如果该值小于交叉变异前适应度值,更新当前个体;否则,个体不更新;
步骤(4h):如果当前运行次数g≤总运行代数gen,运行次数g加1,转步骤(4c);
步骤(4i):输出最优解。
步骤(4c)中,将引航排班所涉及的各约束条件转化为费用函数,引航排班问题的适应度函数设计如下:
f=c1*obj1+c2*obj2+c3*obj3+c4*obj4+c5*obj5+c6*obj6+c7*obj7 (2)
其中obj1为目标函数第1部分,表示一个引航任务组组合中引航任务组的数目大小产生的费用;obj2为目标函数第2部分,表示一个引航任务组组合中各引航任务组的等待时间产生的费用;obj3为目标函数第3部分,表示一个引航任务组组合中各引航任务组始末地点不同产生的地点转移费用;obj4为目标函数第4部分,表示一个引航任务组组合中各引航任务组工作时间差异产生的费用;obj5为目标函数第5部分,表示一个引航任务组组合中存在未覆盖的引航任务产生的费用;obj6为目标函数第6部分,表示一个引航任务组组合中存在重复覆盖的引航任务产生的费用;obj7为目标函数第7部分,表示一个引航任务组组合中存在工作时间超时限的引航任务组产生的费用,c1、c2、c3、c4、c5、c6、c7为权值,优选为1,1,1,0.02,3,1.5,1。
进一步,适应度函数中obj1数学表达式如下:
其中,M为染色体长度,g(i)表示染色体第i个基因,g(i)可由下式求得:
适应度函数中obj2数学表达式如下:
其中,Ngroup为引航任务组数,wait cos ti为第i个引航任务组的时间等待费用,wait cos ti可由下式求得:
其中,wait_time为两衔接引航任务等待时间间隔,VT为等待时间阈值,取值120(两小时);ωa、ωb为等待时间费用权值,且ωa<ωb,表示等待时间越长,所产生的时间等待费用越大,ωa、ωb优选为1,1.5。
适应度函数中obj3表达式如下:
其中,Ngroup为引航任务组数,pos cos ti为第i个引航任务组的地点转移费用,poscos ti可由下式求得:
其中,gtask_sposi,gtask_eposi分别为第i个引航任务组的起始地点与结束地点,ωgp为地点转移费用权值,取值300(一次地点转移费用约相当于等待时间为4.5小时产生的费用)。
适应度函数中obj4表达式如下:
其中,taskno为引航任务数,Ngroup为引航任务组数,gtask_timei为第i个引航任务组的工作时间,avetime为一个任务组组合平均工作时间,avetime可由下式求得:
适应度函数中obj5表达式如下:
其中,Ntask为引航任务数,ωu为引航任务未覆盖费用权值,取值850(一次引航任务未覆盖费用约相当于等待时间为10小时产生的费用)。un cov er(i)为第i个引航任务的未覆盖函数,un cov er(i)可由下式求得:
适应度函数中obj6表达式如下:
其中,Ntask为引航任务数,ωo为引航任务重复覆盖费用权值,取值850(一次引航任务重复覆盖费用约相当于等待时间为10小时产生的费用)。over cov er(i)为第i个引航任务的重复覆盖函数,over cov er(i)可由下式求得:
其中,Ngroup为引航任务组数,nij为第i个引航任务在第j个引航任务组的重复覆盖函数,nij可由下式求得:
适应度函数中obj7表达式如下:
其中,Ngroup为引航任务组数,ωto为引航任务组时间超限费用权值,取值850(一次引航任务组超时限费用约相当于等待时间为10小时产生的费用)。group_to(i)为第i个引航任务组的时间超限函数,group_to(i)可由下式求得:
进一步,对于步骤(4c)计算每个个体适应度值采用的译码方法可细化为步骤5,具体步骤如下:
步骤(5a):置基因位i=1,引航任务组集合group为空集合;
步骤(5b):如果基因位i的值gi为1,将第i个初始引航任务组加入引航任务组集合group,i加1;如果i的值为0,g加1;
步骤(5c):如果i的大小小于染色体长度加1,转步骤(5b);
步骤(5d):按公式(2)计算引航任务组集合group引航排班的总费用,即为个体的适应度值。
同样,步骤(4d),最优个体子群的构建方法可细化为步骤6,具体步骤如下:
步骤(6a):将所有个体的适应度值由小到大进行排序;
步骤(6b):根据比率λ和种群大小popsize依次选择适应度值较小的[λ*popsize+0.5]个个体组成最优个体子群,其中[λ*popsize+0.5]代表对λ*popsize+0.5取整。
本实施例提出了一种基于森林模型与改进遗传算法的船舶引航排班方法。该方法首先考虑引航排班中最基本要求即引航任务衔接条件,构建引航任务的森林模型;接着采用改进广度优先搜索算法构建初始引航任务组集合,构建的初始引航任务集合兼顾了初始引航任务组的数量及引航任务分组的优化穷举,避免了后期智能优化算法在求解时增加排除不可行解的步骤,减小求解难度;最后,在求解算法选择上采用改进遗传算法,该改进算法通过最优子群加快算法搜索速度,在引航任务数较多,约束条件更复杂的情况下,相比一般算法具有更优的寻优能力。
本发明考虑了引航排班中各种成文的排班规则及不成文排班习惯,同时将引航排班问题所涉及的约束条件转化为费用模型,从可行性、公平性、效益三个角度出发,求解船舶引航排班方法。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并加以实施,并不能以此限制本发明的保护范围,凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围内。
Claims (6)
1.一种基于森林模型与改进遗传算法的船舶引航排班方法,包括建立本地数据库,进行合同收池,其特征在于,该方法依次包括以下步骤:
步骤(1a):建立本地数据库,进行合同收池;
步骤(1b):从池中选出待引航排班船舶,根据引航任务衔接条件构建引航任务森林模型;
步骤(1c):采用改进广度优先搜索算法遍历引航任务森林获取初始引航任务组;
步骤(1d):根据初始引航任务组,采用改进遗传算法求解最优引航排班计划;
步骤(1e):根据确定的最优引航排班计划进行引航排班;
对于所述步骤(1b),构建引航任务森林模型的具体步骤如下:
步骤(3a):构建引航任务集合R;
步骤(3b):以引航任务为根节点,遍历引航任务集合R,根据引航任务衔接条件,为每个引航任务找出所有孩子节点,构造森林F;
步骤(3c):遍历森林F,若根据引航任务衔接条件,树中叶子节点存在孩子节点或孩子树,则通过将所有孩子节点与孩子树作为叶子节点的孩子更新当前树及森林F;
步骤(3d):若森林F中树的叶子节点存在孩子节点或孩子树,转步骤(3c);
步骤(3e):输出引航任务的森林模型;
对于所述步骤(1d),改进遗传算法求解最优引航排班计划具体步骤如下:
步骤(5a):初始化参数;设置种群大小popsize,总运行代数gen,运行次数g=1;交叉概率pc,变异概率pm,最优子群比λ;
步骤(5b):初始化种群;随机产生popsize个个体;
步骤(5c):计算适应度;根据适应度函数计算每个个体的适应度值;
步骤(5d):选择;将所有个体进行排序,以比率λ选择具有较优适应度值的个体构建最优个体子群;
步骤(5e):交叉;从最优个体子群中随机选择一个个体,当前个体以概率pc与随机选择的该个体交叉,得到子个体;
步骤(5f):变异;随机产生一(0,1)间实数rm,若rm<变异概率pm,则对当前个体执行变异操作;
步骤(5g):计算当前个体适应度值,如果该当前个体适应度值小于交叉变异前适应度值,更新当前个体;否则,个体不更新;
步骤(5h):如果当前运行次数g≤总运行代数gen,则运行次数g加1,转步骤(5c);反之,进入步骤(5i);
步骤(5i):输出最优解。
2.根据权利要求1所述一种基于森林模型与改进遗传算法的船舶引航排班方法,其特征在于,对于所述步骤(1b),引航任务衔接条件的数学模型如下:
taskj_stime表示第j个引航任务的起始时间,taski_etime表示第i个引航任务的结束时间,taski_epos表示第i个引航任务的结束地点,taskj_spos表示第j个引航任务的起始地点。
3.根据权利要求1所述一种基于森林模型与改进遗传算法的船舶引航排班方法,其特征在于,对于所述步骤(1c),采用改进广度优先搜索算法遍历引航任务森林获取初始引航任务组的具体步骤如下:
步骤(4a):采用vij t命名森林中第t棵树的第i层第j个节点且所有节点标记为未访问;
步骤(4b):参数初始化;设置t=1,i=1,j=1,m=1,n=1,初始引航任务组存放二维矩阵G为全零矩阵;
步骤(4c):若v11 t标记为已访问,则t加1,转步骤(4d);
若节点vij t为未访问非叶子节点且存在未访问孩子节点,则将节点vij t存入G[m][n],n加1,i加1,转步骤(4c);
若节点vij t为未访问非叶子节点且不存在未访问孩子节点,将节点vij t标记为已访问并置矩阵G第m维元素全为0,转步骤(4c);
若节点vij t为已访问节点且存在未访问兄弟节点,则j加1,转步骤(4c);
若节点vij t为未访问叶子节点,则将节点vij t存入G[m][n]并标记为已访问,m加1,置n=1,i=1,j=1,转步骤(4c);
步骤(4d):如果t小于森林中树的总数,则t加1,转步骤(4c);反之,进入步骤(4e);
步骤(4e):从初始引航任务组存放矩阵G输出初始引航任务组及初始引航任务组数Ngroup。
4.根据权利要求1所述基于森林模型与改进遗传算法的船舶引航排班方法,其特征在于,对于步骤(5c),适应度值函数f的计算公式如下:
f=c1*obj1+c2*obj2+c3*obj3+c4*obj4+c5*obj5+c6*obj6+c7*obj7 (2)
其中,obj1为目标函数第1部分,表示一个引航任务组组合中引航任务组的数目大小产生的费用,obj1数学表达式如下:
其中,M为染色体长度,g(i)表示染色体第i个基因,g(i)取值如下式所示:
obj2为目标函数第2部分,表示一个引航任务组组合中各引航任务组的等待时间产生的费用,obj2数学表达式如下:
其中,Ngroup为引航任务组数,waitcosti为第i个引航任务组的时间等待费用,其计算方式如下:
wait_time为两衔接引航任务等待时间间隔,VT为等待时间阈值,ωa、ωb为等待时间费用权值;
obj3为目标函数第3部分,表示一个引航任务组组合中各引航任务组始末地点不同产生的地点转移费用,obj3表达式如下:
其中,Ngroup为引航任务组数,poscosti为第i个引航任务组的地点转移费用,其计算方式如下:
gtask_sposi,gtask_eposi分别为第i个引航任务组的起始地点与结束地点,ωgp为地点转移费用权值;
obj4为目标函数第4部分,表示一个引航任务组组合中各引航任务组工作时间差异产生的费用,obj4表达式如下:
其中,taskno为引航任务数,Ngroup为引航任务组数,gtask_timei为第i个引航任务组的工作时间;avetime为一个任务组组合平均工作时间,其计算公式如下:
obj5为目标函数第5部分,表示一个引航任务组组合中存在未覆盖引航任务产生的费用,obj5表达式如下:
其中,Ntask为引航任务数,ωu为引航任务未覆盖费用权值,uncover(i)为第i个引航任务的未覆盖函数,其计算公式如下:
obj6为目标函数第6部分,表示一个引航任务组组合中存在重复覆盖引航任务产生的费用,obj6表达式如下:
其中,Ntask为引航任务数,ωo为引航任务重复覆盖费用权值,overcover(i)为第i个引航任务的重复覆盖函数,其计算公式如下:
Ngroup为引航任务组数,nij为第i个引航任务在第j个引航任务组的覆盖函数,其计算公式如下:
obj7为目标函数第7部分,表示一个引航任务组组合中存在工作时间超时限的引航任务组产生的费用,obj7表达式如下:
其中,Ngroup为引航任务组数,ωto为引航任务组时间超限费用权值,group_to(i)为第i个引航任务组的时间超限函数,其计算公式如下:
c1、c2、c3、c4、c5、c6、c7分别为各目标函数的权值。
5.根据权利要求1所述基于森林模型与改进遗传算法的船舶引航排班方法,其特征在于,对于所述步骤(5c),适应度计算具体步骤如下:
步骤(7a):置基因位i=1,引航任务组集合group为空集合;
步骤(7b):如果基因位i的值gi为1,将第i个初始引航任务组加入引航任务组集合group,i加1;如果i的值为0,g加1;
步骤(7c):如果i的大小小于染色体长度,则i加1,转步骤(7b);反之,进入步骤(7d);
步骤(7d):按上述公式(2)计算引航任务组集合group引航排班的总费用,即为个体的适应度值。
6.根据权利要求1所述基于森林模型与改进遗传算法的船舶引航排班方法,其特征在于,对于所述步骤(5d),最优个体子群的构建方法具体步骤如下:
步骤(8a):将所有个体的适应度值由小到大进行排序;
步骤(8b):根据比率λ和种群大小popsize依次选择适应度值较小的[λ*popsize+0.5]个个体组成最优个体子群,其中[λ*popsize+0.5]代表对λ*popsize+0.5取整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410465020.6A CN104268639B (zh) | 2014-09-12 | 2014-09-12 | 一种基于森林模型与改进遗传算法的船舶引航排班方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410465020.6A CN104268639B (zh) | 2014-09-12 | 2014-09-12 | 一种基于森林模型与改进遗传算法的船舶引航排班方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268639A CN104268639A (zh) | 2015-01-07 |
CN104268639B true CN104268639B (zh) | 2017-07-28 |
Family
ID=52160159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410465020.6A Active CN104268639B (zh) | 2014-09-12 | 2014-09-12 | 一种基于森林模型与改进遗传算法的船舶引航排班方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268639B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108038608B (zh) * | 2017-12-06 | 2021-07-13 | 珠海港信息技术股份有限公司 | 一种基于航道船舶引航计划的排班方法 |
CN111105088B (zh) * | 2019-12-17 | 2022-07-26 | 河海大学常州校区 | 一种基于改进离散头脑风暴优化算法的船舶引航排班方法 |
CN115081802B (zh) * | 2022-05-13 | 2023-06-20 | 珠海优特电力科技股份有限公司 | 乘务任务集生成方法、装置及对应的电子设备、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102005135A (zh) * | 2010-12-09 | 2011-04-06 | 上海海事大学 | 基于遗传算法优化的支持向量回归船舶交通流量预测方法 |
CN103426330A (zh) * | 2012-05-22 | 2013-12-04 | 上海港引航站 | 引航综合服务系统 |
-
2014
- 2014-09-12 CN CN201410465020.6A patent/CN104268639B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102005135A (zh) * | 2010-12-09 | 2011-04-06 | 上海海事大学 | 基于遗传算法优化的支持向量回归船舶交通流量预测方法 |
CN103426330A (zh) * | 2012-05-22 | 2013-12-04 | 上海港引航站 | 引航综合服务系统 |
Non-Patent Citations (1)
Title |
---|
Optimum Ship Pilot plan Model Based on the Modified Discrete Particle Swarm Optimization;Yuncan Xue;《2014 11th IEEE International Conference on Control&Automation (ICCA)》;20140620;61-65 * |
Also Published As
Publication number | Publication date |
---|---|
CN104268639A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105678411B (zh) | 一种旅客列车运行方案图编制方法 | |
CN110298491B (zh) | 一种基于黏菌群体智能的交通网络节点选择方法 | |
CN104268639B (zh) | 一种基于森林模型与改进遗传算法的船舶引航排班方法 | |
CN107609694B (zh) | 海上风电集群输电系统结构优化方法及存储介质 | |
CN104217118A (zh) | 一种船舶引航排班问题模型与求解方法 | |
CN104239975B (zh) | 基于改进离散粒子群算法的船舶引航排班方法 | |
CN107992967A (zh) | 基于改进多目标遗传算法的船闸调度方法 | |
CN101741623B (zh) | 网络可视化方法 | |
Forrest et al. | Investment and employment opportunities in China | |
Moriarty | The engineering project: Its nature, ethics, and promise | |
Mo et al. | Biogeography based optimization for traveling salesman problem | |
Khan | Migration and social stress: Mirpuris in Bradford | |
CN114417539A (zh) | 一种基于改进差分进化算法的矿井通风网络图自动绘制方法 | |
CN111144722B (zh) | 一种基于伪旅行商问题的船舶引航排班方法与装置 | |
Mazzeo et al. | Sustainable places: Delivering adaptive communities | |
CN105976032A (zh) | 一种面向函数优化的社会学习方法 | |
CN112906937A (zh) | 利用蛛网仿生规律的具备智能交通的智慧城市及其道路 | |
CN111105088B (zh) | 一种基于改进离散头脑风暴优化算法的船舶引航排班方法 | |
Chen et al. | Research on complex network modeling of cellular manufacturing system | |
Muller | The machine is a watershed for living in (Reconstituting Architectural Horizons) | |
Yu et al. | TSP solution based on the Ant Colony Algorithm | |
del Cerro Santamaría | Governing Sustainability in Urban Ecosystems: Arguments for a Transdisciplinary Framework | |
Chen et al. | The location decision of the elderly health club under the demand of maximum coverage | |
Wang et al. | Self-competition Particle Swarm Optimization Algorithm for the Vehicle Routing Problem with Time Window | |
Al-Madi et al. | Age Constraints Effectiveness on the Human Community Based Genetic Algorithm (HCBGA) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |