一种通过蚁群算法结合多维度策略解决港口拖轮调度的方法与流程

文档序号:21934827发布日期:2020-08-21 15:06阅读:408来源:国知局
一种通过蚁群算法结合多维度策略解决港口拖轮调度的方法与流程

本发明涉及拖轮调度领域,特别是指一种通过蚁群算法结合多维度策略解决港口拖轮调度的方法。



背景技术:

目前厦门各港口的拖轮助离、助靠任务主要采用凭借人工经验进行调度安排,资深调度员通过引航站船舶停靠数据、潮汐、装箱进度、各驻点可调用的拖轮对作业任务进行分配。国内其它港口也有通过传统的vrp路径计算方法对拖轮作业进行任务分配。人工调度的优点是容易理解、易于操作,缺点是因人而异。vrp调度的优点是准确,但计算大量作业的情况下,计算速度呈几何乘积增长,无法满足调度任务要求。



技术实现要素:

本发明的主要目的在于克服现有技术中的上述缺陷,提出一种通过蚁群算法结合多维度策略解决港口拖轮调度的方法,不但满足了调度人员对复杂调度的业务规则要求,同时满足了全局性调度最优解的获取。

本发明采用如下技术方案:

一种通过蚁群算法结合多维度策略解决港口拖轮调度的方法,该方法包括以下步骤:

步骤s1:历史数据统计更新指标参数:通过拖轮运维的大量历史数据统计分析关键指标数据,并采用修改时间偏置的方式,利用船务系统历史数据进行拖轮调度的实时算法模拟;

步骤s2:构建区域任务搜索图:根据步骤s1所述数据构建区域任务搜索图,图中的节点包括普通节点和任务节点,节点向量包括地理经度、地理纬度、作业时间窗,图中边长为拖轮完成两个节点行驶所需消耗的油量,包括途中或到达任务节点后空等的油耗;

步骤s3:定制规则生成:将码头拖轮调度的人工排班规则模型化后输入到智能算法模型里,当搜索结果各段子路径中存在同人工规则不符路径时,增加不符路径的相应罚值;

步骤s4:模型训练:采用启发方式算法蚁群算法+区域搜索+m2m+时间窗+配置态+定制规则进行模型训练,对拖轮作业安排进行智能计算,蚁群在区域任务搜索图中从多个拖轮当前位置节点开始爬行,按作业时间窗顺序遍历所有任务节点,生成蚁群模型;

步骤s5:实时数据准备:实时采集数据,包括引航站的大船时间计划信息、拖轮实状态信息、泊位经纬位置信息、泊位待命区经纬位置、码头驻点经纬位置;

步骤s6:将所述实时数据输入到所述蚁群模型中,输出最终拖轮计划,内容包括作业拖轮、作业路线、出发时间、作业成本。

步骤s1中的所述关键指标数据包括:预排30小时计划、靠泊离泊作业时间的中值、拖轮完工和开工的准备时间、时间间隔不足间隔工作时间的罚值、安排非当班拖轮时增加罚值、历史统计航行小时油耗中值、历史统计航行公里油耗中值、时间模拟参数。

所述关键指标数据以批量的方式进行定时更新。

所述步骤s2中,所述普通节点包括驻点节点和拖轮当前位置节点,所述任务节点包括拖轮待命区节点和泊位节点,驻点节点的作业时间窗为零,拖轮当前位置节点的作业时间窗为完成当前任务所需的时间,拖轮待命区节点的作业时间窗为大船到达的时间,泊位节点的作业时间窗为大船离开的时间。

所述步骤s4模型训练,还包括:

通过蚁群蚁周算法计算信息素,具体为:

其中,q为蚂蚁信息素的总量,其中w为1次行爬行完所有任务后,第t只蚂蚁所行走的最短成本路线,i,j为节点。

所述步骤s4模型训练,还包括:全局最优解计算方法,具体为:

dij=dim+dmj

wtij=wtj-wti

其中f(t)表示总体成本,dij为两个节点间的距离,n为任务时间段内的大船任务数,wij为不同路径的权重,为拖轮每公里平均油耗,wtij为出发节点到目标节点的时间窗口,为拖轮每小时平均油耗,为人工规则的罚值,根据船务调度系统排班的人工规则设置常量罚值,在不符合规则的前提下,例如当前拖轮非当班或当前拖轮在作业状态中执行其它作业时加入罚值处理,i,j为节点,dij为两个物理节点间的距离,其中m为中间停靠节点。

所述步骤s4中,蚁群模型包括动态模型和静态模型。

所述静态模型中,静态参数包括:蚁群数量,迭代次数,表征信息素重要程度,表征启发式因子重要程度,信息素蒸发系数,信息素增加强度系数。

所述动态模型,在系统推理中实时生成,以静态参数为输入,在推理前进行二次实时训练,核心类为tugboattsp、tugboat_ant,核心方法为search_path()、update_model()。

由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:

本发明提出的一种通过蚁群算法结合多维度策略解决港口拖轮调度的方法;通过启发式蚁群算法并结合区域搜索、码头业务规则、大船时间窗口进行数据建模,科学合理地给出了大船靠离泊所需辅助作业拖轮的安排情况,在面对大规模问题是具备高效寻优能力,不但能够满足调度人员对复杂调度的业务规则要求,同时满足了全局性调度最优解的获取,计算准确率达到99%以上,同时在时效要求上满足了拖轮调度中多样性调度的要求,可全天调度和实时调度,实现了港口拖轮作业中的节能、增效的目标。

附图说明

附图1为海沧港区拖轮靠泊作业待命区某一时刻的区域搜索图。

具体实施方式

以下通过具体实施方式对本发明作进一步的描述。

一种通过蚁群算法结合多维度策略解决港口拖轮调度的方法,该方法包括以下步骤:

步骤s1:历史数据统计更新指标参数:通过拖轮运维的大量历史数据统计分析关键指标数据,并采用修改时间偏置的方式,利用船务系统历史数据进行拖轮调度的实时算法模拟。

采用修改时间偏置的方式,利用船务系统历史数据进行拖轮调度的实时算法模拟,用数值代表偏置天数,例如2代表以前天的当日数据进行实时模拟,通过简单数值的修改可以实现训练数据的更改,实现模型的多维训练,提高训练模型的准确性;

所述关键指标数据包括:预排30小时计划、靠泊离泊作业时间的中值、拖轮完工和开工的准备时间、时间间隔不足间隔工作时间的罚值、安排非当班拖轮时增加罚值、历史统计航行小时油耗中值、历史统计航行公里油耗中值、时间模拟参数;

关键指标数据以每日批量的方式进行定时更新,以实现算法历史数据指标的自学习和更新。

步骤s2:构建区域任务搜索图:根据步骤s1所述数据构建区域任务搜索图,图中的节点包括普通节点和任务节点,节点向量包括地理经度、地理纬度、作业时间窗,图中边长为拖轮完成两个节点行驶所需消耗的油量,包括途中或到达任务节点后空等的油耗。

普通节点包括驻点节点和拖轮当前位置节点,任务节点包括拖轮待命区节点和泊位节点,驻点节点的作业时间窗为零,拖轮当前位置节点的作业时间窗为完成当前任务所需的时间,拖轮待命区节点的作业时间窗为大船到达的时间,泊位节点的作业时间窗为大船离开的时间;

其中所涉及的作业时间窗的计算公式为:

首次执行任务时:

靠泊作业时间窗=大船靠泊时间-当前时间-(待命区距离/港内航速+岸边靠岸时长);

离泊作业时间窗=大船离泊时间-当前时间;

拖轮作业时间窗=作业中值时间-(作业开始时间-当前时间);

执行首次任务后:

靠泊作业时间窗=大船靠泊时间–上一任务开始时间-(待命区距离/港内航速+岸边靠岸时长);

离泊作业时间窗=大船离泊时间-上一任务开始时间;

拖船作业时间窗=作业中值时间-(上一任务开始时间–作业开始时间)。

步骤s3:定制规则生成:将码头拖轮调度的人工排班规则模型化后输入到智能算法模型里,当搜索结果各段子路径中存在同人工规则不符路径时,增加不符路径的相应罚值。

此外,还包括以区域优先的方式选择靠离泊任务和拖轮为同一基地的拖轮,如果非同一基地则增加6小时油耗罚值,即判断拖轮的归属基地,在油耗成本中增加非同一基地罚值,该条件下只有在某一基地的任务非常繁忙的情况会将其它基地的拖轮加入到本基地的任务中。

步骤s4:模型训练:采用启发方式算法蚁群算法+区域搜索+m2m+时间窗+配置态+定制规则进行模型训练,对拖轮作业安排进行智能计算,蚁群在区域任务搜索图中从多个拖轮当前位置节点开始爬行,按作业时间窗顺序遍历所有任务节点,生成蚁群模型。

通过启发式蚁群算法并结合区域搜索、码头业务规则、多对多大船时间窗口进行数据建模的方法进行模型训练;

蚁群从多个拖轮当前位置节点开始爬行,按任务时间窗顺序遍历所有任务节点;蚂蚁爬行到一个图节点后,该图节点状态由可访问状态变为不可访问状态,搜索图按照状态转移规则由节点i转移到节点j,针对任务节点,当爬行过后需恢复所有驻点节点的状态为可访问状态,后续计算中蚂蚁可先回到驻点休息,也可以直接爬行到下一个任务节点,直到遍历完成所有任务节点;

通过蚁群蚁周算法计算信息素,具体为:

其中,q为蚂蚁信息素的总量,其中w为1次行爬行完所有任务后,第t只蚂蚁所行走的最短成本路线,i,j为节点;

对所有蚂蚁爬行完毕后所搜索到的最优解进行判断是否陷入局部收敛;当连续同批次蚁群搜索得到的路径相同时,即20次蚂蚁搜索到的最佳路径相同时,算法被评估为陷入了局部收敛,此时将当前蚂蚁克隆最优蚂蚁对象,其爬行路径总长度为成本最短路径,爬行成本路径为当前最佳成本路径,蚁群跳出本批次循环,再采用随机算法选择首批接受任务的蚂蚁开始执行任务,循环50批次找出全局最优解;

成本公式:作业成本=时间油耗成本+路径油耗成本-规则惩罚因子;

全局最优解计算方法,即为作业成本最小,具体为:

dij=dim+dmj

wtij=wtj-wti

其中f(t)表示总体成本,dij为两个节点间的距离,n为任务时间段内的大船任务数,wij为不同路径的权重,为拖轮每公里平均油耗,wtij为出发节点到目标节点的时间窗口,为拖轮每小时平均油耗,为人工规则的罚值,根据船务调度系统排班的人工规则设置常量罚值,在不符合规则的前提下,例如当前拖轮非当班或当前拖轮在作业状态中执行其它作业时加入罚值处理,i,j为节点,如果中途需要回到驻点休息则后续待时为0,dij为两个物理节点间的距离,其中m为中间停靠节点,这里最多要求中间停靠一次;

蚁群模型包括动态模型和静态模型;

静态模型中,静态参数包括:蚁群数量,迭代次数,表征信息素重要程度,表征启发式因子重要程度,信息素蒸发系数,信息素增加强度系数;

其中,征信息素重要程度alpha参数为1时蚁群在计算得平均值、最优解、最差解、优差解差商几个指标上效果最佳;表征启发式因子重要程度beta参数为5时蚁群在计算得平均值、最优解、最差解、优差解差商几个指标上效果最佳;信息素蒸发系数rho参数为0.6时蚁群在计算得平均值、最优解、最差解、优差解差商几个指标上效果最佳;

动态模型,在系统推理中实时生成,以静态参数为输入,在推理前进行二次实时训练,核心类为tugboattsp、tugboat_ant,核心方法为search_path()、update_model()。

步骤s5:实时数据准备:实时采集数据,包括引航站的大船时间计划信息、拖轮实时状态信息、泊位经纬位置信息、泊位待命区经纬位置、码头驻点经纬位置。

大船时间计划信息采集:大船靠泊计划是将引航站发出的大船靠离泊计划信息采集到时间assignplan大船靠离泊计划表,主要特征值包括大船唯一标志(planid)、大船名(shipname)、大船维度坐标(lat)、大船经度坐标(lng)、大船靠离泊时间(plandate);

拖轮实时状态信息采集:将拖轮基础信息、位置信息和拖轮状态信息采集到tugboat_current_info表。主要特征值包括拖轮编号(mmsi)、拖轮名称(tug_name)、拖轮经度坐标(lng)、拖轮纬度坐标(lat)、拖轮状态(status)、归属于基地信息(base);

泊位经纬位置信息采集:泊位信息是大船靠离泊的地点,每个码头包括多个泊位,泊位的地点在物理经纬坐标上是固定的。将泊位信息进行地理测绘后采集到berthage_base_info泊位基本信息表。主要特征值包括泊位名称(tag)、拖轮泊位经度坐标(lng)、泊位纬度坐标(lat)、泊位对应的待命区(workid);

泊位待命区经纬位置采集:待命区是在大船靠泊作业中,拖轮要开到待命区等待大船靠泊,多个泊位对应到一个待命区。将待命区信息进行地理测绘后采集到work_area_info_ai表。主要特征值包括待命区名称(id)、待命区经度坐标左(l_lng)、待命区经度坐标右(r_lng)、待命区纬度坐标左(l_lat)、待命区纬度坐标右(r_lat)。通过两点来约定待命区的基本位置;

码头驻点经纬位置采集:驻点是拖轮作业后停靠的地点。拖轮按规定每个月轮岗回到指定的驻点,在完工的情况下或休班的情况下回到驻点。将驻点信息进行地理测绘后采集到stagnation_base_info驻点基本信息表。主要特征值包括驻点名称(tag)、驻点经度坐标(lng)、驻点纬度坐标(lat)、归属于基地信息(base)。归属基地代表拖轮回驻点时要回到哪个驻点休整;

步骤s6:将所述实时数据输入到所述蚁群模型中,输出最终拖轮计划,内容包括作业拖轮、作业路线、出发时间、作业成本。

如下内容为输出的一个拖轮计划:

作业任务号:'planid':237152

基地名称:'base':'海天基地'

作业拖轮名称:'job_obj':'拖24,拖25'

作业目的地:'job_target':'海天09#泊位'

作业路径节点:'job_path':'7,0,1',

行驶公里成本:'sub_distance_cost':4.538380257414286

行驶油耗成本:'sub_oil_cost':66.78661939786858

拖轮计划建议:'job_hint':'【拖24,拖25】后续作业航线规划建议为:【2020-03-2317:48:00】出发,由当前位置航行至【海天驻点】,再航行至【海天09#泊位】,作业时间约为【2020-03-2318:00:00】后,具体时间请关注引航站通知!'出发时间:'start_time':'2020-03-2317:48:00'}。

本发明提出的一种通过蚁群算法结合多维度策略解决港口拖轮调度的方法;通过启发式蚁群算法并结合区域搜索、码头业务规则、大船时间窗口进行数据建模,科学合理地给出了大船靠离泊所需辅助作业拖轮的安排情况,在面对大规模问题是具备高效寻优能力,不但能够满足调度人员对复杂调度的业务规则要求,同时满足了全局性调度最优解的获取,计算准确率达到99%以上,同时在时效要求上满足了拖轮调度中多样性调度的要求,可全天调度和实时调度,实现了港口拖轮作业中的节能、增效的目标。

上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1