一种排班调度方法、系统以及电子设备与流程

文档序号:16266575发布日期:2018-12-14 21:57阅读:380来源:国知局
一种排班调度方法、系统以及电子设备与流程

本说明书涉及计算机应用领域,尤其涉及一种排班调度方法、系统以及电子设备。

背景技术

运筹学的排班问题,是一种业界公知的np难问题。由于实际情况非常复杂,一旦排班对象数量较为庞大,则在工程上通常无法在短时间内计算出满意的排班结果;例如,以航空公司的飞机排班问题为例,由于实际情况非常复杂,且航空公司的飞机数量越来越大,导致航空公司利用算法模型无法在短时间内完成针对已有的飞机的航班排班;因此,针对运筹学的排班问题,如何能够在存在大量排班对象的场景下,短时间内计算出满意的排班结果,是业界极为关注的一个方向。



技术实现要素:

本说明书提出一种排班调度方法,排班对象集合中的排班对象分别被预先规划了出发地点;以及,到达所述出发地点的起始时间和最晚返回所述出发地点的终止时间;所述方法包括:

获取为所述排班对象集合中的各排班对象确定出的,从所述出发地点出发在执行多次中转调度事项后返回所述出发地点的初始最优路径,并迭代执行以下步骤直到满足预设条件时停止:

从所述排班对象集合中选择出部分排班对象,列举出所述部分排班对象中的各排班对象从所述出发地点出发,在执行多次中转调度事项后返回所述出发地点的可行路径,并基于列举出的所述可行路径为所述各排班对象生成树状关系图;其中,所述可行路径包括由若干个中转地点和到达各中转地点的中转时间构成的中转节点;

确定所述树状关系图中位于不同的可行路径,并且包含相同的中转地点的多个中转节点,并基于选定的对齐时间点对所述多个中转节点的中转时间进行偏移对齐处理后,合并所述中转时间相同的中转节点;

基于预设的算法模型从所述树状关系图中的各可行路径中为各排班对象确定出最优路径,并基于所述最优路径对所述初始最优路径进行优化处理。

本说明书还提出一种排班调度装置,排班对象集合中的排班对象分别被预先规划了出发地点;以及,到达所述出发地点的起始时间和最晚返回所述出发地点的终止时间;所述方法包括:

获取模块,获取为所述排班对象集合中的各排班对象确定出的,从所述出发地点出发在执行多次中转调度事项后返回所述出发地点的初始最优路径,并迭代执行以下步骤直到满足预设条件时停止:

生成模块,从所述排班对象集合中选择出部分排班对象,列举出所述部分排班对象中的各排班对象从所述出发地点出发,在执行多次中转调度事项后返回所述出发地点的可行路径,并基于列举出的所述可行路径为所述各排班对象生成树状关系图;其中,所述可行路径包括由若干个中转地点和到达各中转地点的中转时间构成的中转节点;

确定模块,确定所述树状关系图中位于不同的可行路径,并且包含相同的中转地点的多个中转节点,并基于选定的对齐时间点对所述多个中转节点的中转时间进行偏移对齐处理后,合并所述中转时间相同的中转节点;

优化模块,基于预设的算法模型从所述树状关系图中的各可行路径中为各排班对象确定出最优路径,并基于所述最优路径对所述初始最优路径进行优化处理。

本说明书还提出一种电子设备,包括:

处理器;

用于存储机器可执行指令的存储器;

其中,通过读取并执行所述存储器存储的与排班调度的控制逻辑对应的机器可执行指令,所述处理器被促使:

获取为所述排班对象集合中的各排班对象确定出的,从所述出发地点出发在执行多次中转调度事项后返回所述出发地点的初始最优路径,并迭代执行以下步骤直到满足预设条件时停止:其中,排班对象集合中的排班对象分别被预先规划了出发地点;以及,到达所述出发地点的起始时间和最晚返回所述出发地点的终止时间;

从所述排班对象集合中选择出部分排班对象,列举出所述部分排班对象中的各排班对象从所述出发地点出发,在执行多次中转调度事项后返回所述出发地点的可行路径,并基于列举出的所述可行路径为所述各排班对象生成树状关系图;其中,所述可行路径包括由若干个中转地点和到达各中转地点的中转时间构成的中转节点;

确定所述树状关系图中位于不同的可行路径,并且包含相同的中转地点的多个中转节点,并基于选定的对齐时间点对所述多个中转节点的中转时间进行偏移对齐处理后,合并所述中转时间相同的中转节点;

基于预设的算法模型从所述树状关系图中的各可行路径中为各排班对象确定出最优路径,并基于所述最优路径对所述初始最优路径进行优化处理。

本说明书还提出一种计算机程序产品,包括计算机程序指令,其中所述计算机程序指令使计算机实现:

获取为所述排班对象集合中的各排班对象确定出的,从所述出发地点出发在执行多次中转调度事项后返回所述出发地点的初始最优路径,并迭代执行以下步骤直到满足预设条件时停止:其中,排班对象集合中的排班对象分别被预先规划了出发地点;以及,到达所述出发地点的起始时间和最晚返回所述出发地点的终止时间;

从所述排班对象集合中选择出部分排班对象,列举出所述部分排班对象中的各排班对象从所述出发地点出发,在执行多次中转调度事项后返回所述出发地点的可行路径,并基于列举出的所述可行路径为所述各排班对象生成树状关系图;其中,所述可行路径包括由若干个中转地点和到达各中转地点的中转时间构成的中转节点;

确定所述树状关系图中位于不同的可行路径,并且包含相同的中转地点的多个中转节点,并基于选定的对齐时间点对所述多个中转节点的中转时间进行偏移对齐处理后,合并所述中转时间相同的中转节点;

基于预设的算法模型从所述树状关系图中的各可行路径中为各排班对象确定出最优路径,并基于所述最优路径对所述初始最优路径进行优化处理。

本说明书实施例所提供的技术方案,一方面,通过迭代计算不断对初始最优路径进行优化,可以提升排班结果的准确度;另一方面,在迭代计算的过程中,通过基于选定的对齐时间点对位于不同的可行路径,并且包含相同的中转地点的多个中转节点的中转时间进行偏移对齐处理,并合并该多个中转节点中的所述中转时间相同的中转节点,可以显著的降低迭代计算的计算量,进而可以在兼顾排班结果准确度的前提下,尽可能的降低计算复杂度,可以提升排班结果的求解速度。

附图说明

图1是本申请一实施例示出的一种排班调度方法的流程图;

图2是本申请一实施例示出的一种树状关系图的示意图;

图3是本申请一实施例示出的另一种树状关系图的示意图;

图4是本申请一实施例示出的另一种树状关系图的示意图;

图5是本申请一实施例示出的另一种树状关系图的示意图;

图6是本说明书一实施例提供的承载一种排班调度装置的电子设备所涉及的硬件结构图;

图7是本说明书一实施例提供的一种排班调度装置的逻辑框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将统一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在相关技术中,针对运筹学的排班问题,通常可以采用领域搜索框架(lns,largeneighborsearch)来完成,大致的求解思路如下:

第一步,先通过算法模型求得一个初始的排班方案;

第二步,在初始的排班方案中选择一个局部进行局部调整优化;如果调整优化后的局部方案更优,则用新的局部方案替换掉调整优化之前的局部方案,否则继续保持原有的局部方案;

第三步,通过迭代执行以上示出的第二步,直到调整优化后的初始的排班方案到达预期;或者,以上迭代的计算过程长时间不能收敛时为止。

由于实际场景中,排班对象的数量可能较为庞大,因此在通过以上示出的迭代过程进行求解时,涉及的计算量非常庞大,而且计算复杂度非常高,导致无法在一个较短的时间内计算出满意的排班结果(即求解算法无法在短时间内收敛)。

有鉴于此,本说明书提出一种对以上示出的利用领域搜索框架,来解决运筹学的排班问题的迭代方案进行优化的方案,在迭代的过程中,通过对求解空间中的相似性较高的排班可能性进行合并,进而可以在兼顾排班结果准确度的前提下,尽可能的降低计算复杂度,提升排班结果的求解速度的技术方案。

在实现时,可以基于已有的排班对象创建一个排班对象集合;其中,该排班对象集合中的排班对象,均预先规划了出发地点,以及到达上述出发地点的起始时间和最晚返回该出发地点的终止时间;

例如,在一个场景中,以上描述的排班问题,具体可以是经典的飞机排班问题;在这种情况下,上述排班对象具体可以是飞机;这些待排班的飞机,可以预先规划出发地点,以及到达该出发地点的起始时间,和最晚返回该出发地点的终止时间。

进一步,可以使用领域搜索框架,来求解排班结果:

第一步,可以获取为排班对象集合中的各排班对象确定出的,从上述出发地点出发在执行多次中转调度事项后返回上述出发地点的初始最优路径(即初始的排班方案);

第二部,从所述排班对象集合中选择出部分排班对象,列举出所述部分排班对象从上述出发地点出发,在执行多次中转调度事项后返回上述所述出发地点的可行路径,并基于列举出的可行路径生成一个树状关系图作为求解空间。其中,上述可行路径上,具体可以包括由若干个中转地点和到达各中转地点的中转时间构成的中转节点。

进一步的,可以确定生成的树状关系图中位于不同的可行路径,并且包含相同的中转地点的多个中转节点,然后基于选定的对齐时间点对该多个中转节点的中转时间进行偏移对齐处理,并在上述偏移对齐处理完成后,合并上述中转时间相同的中转节点,对上述树状关系图进行“剪枝”(即对求解空间进行压缩来减少计算量)。

当通过以上过程完成对上述树状关系图的“剪枝”后,可以基于预设的算法模型对上述树状关系图进行计算求解,从上述树状关系图中的各可行路径中,为各排班对象确定出最优路径,然后基于上述最优路径对上述初始最优路径进行调整优化处理。

最后,可以通过迭代执行以上示出的第二步,对上述初始最优路径不断的进行“局部优化”,直到满足预设条件时停止。

在以上技术方案,一方面,通过迭代计算不断对初始最优路径进行优化,可以提升排班结果的准确度;另一方面,在迭代计算的过程中,通过基于选定的对齐时间点对位于不同的可行路径,并且包含相同的中转地点的多个中转节点的中转时间进行偏移对齐处理,并合并该多个中转节点中的所述中转时间相同的中转节点,可以显著的降低迭代计算的计算量,进而可以在兼顾排班结果准确度的前提下,尽可能的降低计算复杂度,可以提升排班结果的求解速度。

下面通过具体实施例并结合具体的应用场景对本说明书进行描述。

请参考图1,图1是本说明书一实施例提供的一种排班调度方法,其中排班对象集合中的排班对象分别被预先规划了出发地点;以及,到达所述出发地点的起始时间和最晚返回所述出发地点的终止时间;所述方法执行以下步骤:

步骤101,获取为所述排班对象集合中的各排班对象确定出的,从所述出发地点出发在执行多次中转调度事项后返回所述出发地点的初始最优路径,并迭代执行以下步骤直到满足预设条件时停止:

步骤102,从所述排班对象集合中选择出部分排班对象,列举出所述部分排班对象中的各排班对象从所述出发地点出发,在执行多次中转调度事项后返回所述出发地点的可行路径,并基于列举出的所述可行路径为所述各排班对象生成树状关系图;其中,所述可行路径包括由若干个中转地点和到达各中转地点的中转时间构成的中转节点;

步骤103,确定所述树状关系图中位于不同的可行路径,并且包含相同的中转地点的多个中转节点,并基于选定的对齐时间点对所述多个中转节点的中转时间进行偏移对齐处理后,合并所述中转时间相同的中转节点;

步骤104,基于预设的算法模型从所述树状关系图中的各可行路径中为各排班对象确定出最优路径,并基于所述最优路径对所述初始最优路径进行优化处理。

需要说明的是,本说明书中描述的排班问题,是指针对预先规划了出发地点;以及,到达上述出发地点的起始时间,和最晚返回所述出发地点的终止时间的排班对象,求解出一条从上述出发地点出发,在执行多次中转调度事项后返回上述出发地点,且返回上述出发地点的时间能够最大程度的适配和接近为排班对象规划的最晚返回上述出发地点的终止时间的最优路径的排班问题。

例如,以上述排班问题为经典的飞机排班问题为例,航空公司可以为已有的飞机指定ready地点,到达该ready地点的起始时间,以及最晚返回该ready地点的终止时间,然后结合已有的航班运营规划,利用领域搜索框架为已有的飞机分别求解出一条从上述ready地点出发,在执行多次航班中转(即上述中转调度事项)后返回上述ready地点,且返回上述ready地点的时间能够最大程度的适配和接近为飞机规划的最晚返回上述ready地点的终止时间的最优路径。

以下以上述排班对象为飞机,上述中转调度事项为航班中转事项为例,结合经典的飞机排班场景,对本说明书的技术方案进行详细描述。

其中,需要强调的是,以飞机排班场景为例,仅为示例性的;显然,在实际应用中,本说明书的技术方案也可以等同应用在其它类似的排班场景中;比如,诸如地铁排班调度场景、人员排班调度场景,等等,在本说明书中不再针对各个场景进行单独描述。

在本说明书中,航空公司可以基于所有已有的能够参与航班排班的飞机,创建一个待排班飞机的列表(即上述排班对象集合),然后为该列表中的的飞机,分别规划出发地点,以及到达上述出发地点的起始时间和最晚返回上述出发地点的终止时间;

例如,在一个例子中,假设航空公司为一个已有的飞机规划的ready地点为“广州”,起始时间为“7点15分”,终止时间为“16点35分”,表示该飞机会在“7点15分”在到达广州,并且需要在执行多次航班中转后,需要最晚在“16点35分”返回至广州。

当航空公司为列表中的飞机完成以上规划后,首先可以列举出列表中的各架飞机,从规划出的出发地点出发,在执行多次航班中转调度后返回该出发地点的所有可行路径。

例如,在实现时,首先可以穷举出所有的飞机a,在特定的时间点t,来执行航班f的航班中转事项,然后基于列举出的所有的航班中转事项,生成相应的飞行路径,并从生成的飞行路径中进一步筛选出,以上述出发地点作为终点的飞行路径作为上述可行路径。

其中,在穷举所有的飞机a,在特定的时间点t,来执行航班f的航班中转事项时,可以只列举出各架飞机实际可能执行的航班中转事项;比如,可以参照航空公司已有的航班规划,只穷举出所有的飞机a,在规划出的航班起飞t,执行规划出的航班f的航班中转事项;而对于航班规划以外的可能性,则可以不进行列举。

其中,需要说明的是,在列举出各架飞机实际可能执行的航班中转事项时,航班的起飞时间所使用的时间粒度(即基本的时间单位),在本说明书中不进行特别限定。

例如,航班的起飞时间的时间粒度可以采用5分钟;在这种情况下,可以将各航班的起飞时间以5分钟的时间粒度进行时间对齐;比如,假设为某一航规划的起飞时间为9点28分,则采用5分钟的时间粒度后,可以将该航班的起飞时间延迟到9点30分进行起飞。

通过采用较大的时间粒度,在某种程度上,可以对起飞时间不同的航班的起飞时间在一定误差范围内进行统一,因此最终在基于规划出的可行路径来进行求解时,可以降低求解计算的复杂度。

当然,通过采用较大的时间粒度,虽然在某种程度上可以降低求解的复杂度,但是过大的时间粒度,则也会造成求解空间的损失;

例如,假设将时间粒度设置为1小时,此时大部分航班都可以看做是整点起飞,在起飞时间上可能存在大面积的统一,但这种情形完全忽略了各航班在起飞时间上的差异;比如,航班a规划的起飞时间为12点31,航班b规划的起飞时间为12点59,如果采用1小时的时间粒度,按照1小时的时间粒度进行时间对齐后,航班a和b的起飞时间会被统一为13点,进而会造成过多的时间浪费;而且,还会由于时间粒度较大,起飞时间不够精确,造成信息的丢失,最终影响求解计算的准确度。

基于此,在实际应用中,上述时间粒度不宜过大,也不宜过小,本领域技术人员可以基于实际的需求来选择合适的时间粒度。

在本说明书中,当列举出列表中的各架飞机,从规划出的出发地点出发,在执行多次航班中转调度后返回该出发地点的所有可行路径后,可以基于这些列举出的可行路径为各架飞机分别生成一个树状关系图。

在本说明书中,上述树状关系图可以是一个多层的树状结构,具体可以包括由上述出发地点和上述起始时间构成的起始节点、由上述出发地点和上述终止时间构成的终止节点、以及由若干个中转地点和到达各中转地点的中转时间构成的中转节点。

当然,在实际应用中,上述出发地点和上述起始时间,以及上述出发地点和上述终止时间,也可以不作为上述树状关系图中的数据节点,而仅仅分别作为一个固定的起始点和终止点,在上述树状关系图中进行标注即可。在这种情况下,上述树状关系图中可以仅包括若干中转节点。

其中,上述树状关系图中的任意两节点之间的连线,可以用于指示对应的航班中转事项;其中,上述航班中转事项,具体可以包括起飞时间以及对应的航班描述;比如,在一个例子中,上述航班中转事项具体可以是一条,7:40从广州飞往南京的航班排班记录。

当完成上述树状关系图的创建后,可以将生成的树状关系图作为求解空间,利用预设的算法模型进行求解,从上述树状关系图中的各可行路径中为各架飞机确定出一条初始最优路径(即初始解)。

其中,在将生成的树状关系图作为求解空间进行求解时所采用的算法模型,在本说明书中不进行特别限定;

例如,在示出的一种实施方式中,上述算法模型具体可以是cplex求解器;或者,gurobi求解器;进而,可以利用cplex求解器;或者,gurobi求解器,将上述树状关系图作为求解空间进行求解,为各架飞机分别确定出一条初始最优路径。

其中,需要说明的是,为了能够快速的求解出上述初始最优路径,在求解上述初始最优路径的阶段,列举各架飞机实际可能执行的航班中转事项时,航班的起飞时间,可以采用一个较大的时间粒度;比如,在一个例子中,假设通用的时间粒度通常为5分钟,那么在求解上述初始最优路径阶段,上述时间粒度可以采用1小时。

在本说明书中,当通过以上描述的求解过程,为列表中的各架飞机求解出上述初始最优路径后,可以进一步获取为各架飞机求解出的初始最优路径,并通过迭代执行以下过程对该初始最优路径不断的进行“局部优化”,直至满足预设条件时停止。

其中,在示出的一种实施方式中,上述预设条件可以包括以下示出的任一:

如果上述初始最优路径上的终止节点的终止时间,匹配规划出的最晚返回所述出发地点的终止时间,则终止迭代;

如果初始最优路径上的终止节点的所述终止时间,始终不匹配为规划出的最晚返回上述出发地点的终止时间,则在迭代次数达到预设阈值时终止迭代;

如果上述初始最优路径上的终止节点的上述终止时间,始终不匹配规划出的最晚返回上述出发地点的终止时间,则在迭代时长达到预设阈值时终止迭代。

在本说明书中,在开始每轮迭代开始之前,首先可以从上述待排班飞机列表中选择出一部分待排班的飞机(未被选中的飞机不参与局部调整优化),然后基于相同的方式,列举出这一部分待排班的飞机,从规划出的出发地点出发,在执行多次航班中转调度后返回该出发地点的所有可行路径,然后基于列举出的可行路径生成上述树状关系图作为第一次迭代的求解空间。

其中,需要说明的是,由于每轮迭代的作用是对求解出的初始最优路径进行局部优化,因此在实际应用中,通过迭代对上述初始最优路径进行优化时采用的时间粒度,可以小于为列表中的各架飞机确定上述初始最优路径时采用的时间粒度;即在迭代运算时,可以采用一个相对于初始求解阶段,更精确的时间粒度;

例如,在一个例子中,假设为列表中的各架飞机确定上述初始最优路径时采用的时间粒度为1小时,那么通过迭代对上述初始最优路径进行优化时采用的时间粒度可以采用5分钟。

另外,由于如果每轮迭代从上述待排班飞机列表中选择出的部分待排班的飞机时钟相同的话,会导致通过不断的迭代始终对相同的局部进行调整优化,造成计算资源浪费;因此,在实际应用中,每轮迭代从上述待排班飞机列表中选择出的部分待排班的飞机,需要避免完全相同;

例如,在一个例子中,只需要确保每轮迭代迭代从上述待排班飞机列表中选择出的部分待排班的飞机中,至少存在不同的待排班飞机即可。

在本说明书中,对于生成的树状关系图,从第一层的起始节点开始,由于列举出的航班中转事项的差异,导致从起始节点起始不断的进行树状分叉;这就会造成在树状关系图中,可能会存在大量的中转节点具有相同的中转地点,但在中转时间上存在细微差异的情况;

请参见图2,图2为本说明书示出的一个树状关系图的示意图。

如图2所示,从起始节点开始,由于列举出的航班以及航班的执行顺序的差异,在如图2所示的树状关系图的第三层,虽然都到了北京,但是在中转时间上存在着细微的差异;进而,导致在第三层到第四层中,产生了大量非常相似的排班记录(即航班中转事项);比如,在第四层都是从北京到广州的排班记录,仅仅在中转时间上存在略微差异。

基于此,在本说明书中,当生成了树状关系图后,为了降低求解空间的计算复杂度,可以采用时间点偏移对齐的方式,对以上描述的具有相同的中转地点,但在中转时间上存在细微差异的中转节点进行合并,对上述树状关系图进行“剪枝”,来降低求解空间的计算量。

在实现时,当生成了树状关系图后,可以进一步确定该树状关系图中是否存在位于不同的可行路径,并且包含相同的中转地点的多个中转节点;如果存在,可以基于选定的对齐时间点,对该多个中转节点的中转时间进行偏移对齐处理,并在偏移对齐处理完成后,合并上述中转时间相同的中转节点。

当合并完成后,可以将生成的树状关系图作为求解空间,利用预设的算法模型进行求解,从上述树状关系图中的各可行路径中为各架飞机确定出一条最优路径,然后进一步基于该最优路径对上述初始最优路径进行优化。

在示出的一种实施方式中,在基于该最优路径对上述初始最优路径进行优化时,首先可以确定该最优路径是否优于上述初始最优路径上对应的局部路径;

例如,在一种实现方式中,可以计算上述初始最优路径上对应的局部路径的终止节点的终止时间,与规划出的最晚返回上述出发地点的终止时间的差,得到第一差值;以及,计算上述最优路径上的终止节点的终止时间,与规划出的最晚返回所述出发地点的终止时间的差,得到第二差值;然后将第一差值与第二差值进行匹配;如果第二差值小于第一差值,可以确定上述最优路径优于上述初始最优路径上对应的局部路径(即终止时间最接近规划出的终止时间的可行路径为最优路径)。如果确定出的最优路径优于上述初始最优路径上对应的局部路径,则可以基于上述最优路径替换上述局部路径,完成针对上述初始最优路径的局部优化;反之,如果确定出的最优路径并不优于上述初始最优路径上对应的局部路径,则可以继续保持原有的局部路径,不进行任何形式的替换修改。

需要说明的是,上述偏移对齐处理,具体是指将原有的中转时间进行一定量的偏移,转换成为上述对齐时间点的过程。

其中,在示出的一种实施方式中,在基于选定的对齐时间点,对该多个中转节点的中转时间进行偏移对齐处理时,具体可以基于选定的对齐时间点对上述多个中转节点中,早于上述对齐时间点的中转时间进行偏移对齐处理(即向右侧对齐)。将早于上述对齐时间点的中转时间在时间轴上向右侧进行一定量的偏移,转换成为上述对齐时间点,与上述对齐时间点在时间上进行对齐。

当然,在实际应用中,也可以采用对上述多个中转节点中,晚于上述对齐时间点的中转时间的进行偏移对齐处理(即向左侧对齐);将晚于上述对齐时间点的中转时间在时间轴上向左侧进行一定量的偏移,转换成为上述对齐时间点,与上述对齐时间点在时间上进行对齐。

在以下实施例中将以上述向左侧对齐为例进行说明。

其中,需要说明的是,在选择对齐时间点时所采用的具体策略,在本说明书中不进行特别限定。

在示出的一种实施方式中,在选择对齐时间点时,可以选择位于不同的可行路径,并且包含相同的中转地点的多个中转节点中的中转时间的最大值,作为上述对齐时间点;

例如,请继续参见图2,对于图2中示出的树状关系图,可以选择第三层的中转节点的中转时间的最大值13:40作为上述上述对齐时间点。请继续参见图3,当选定了13:40作为对齐时间点后,可以基于选定的该对齐时间点,对上述树状关系图的第三层的各中转节点中,早于上述对齐时间点的中转时间进行偏移对齐处理。

当偏移对齐处理完成后,上述树状关系图中存在多个中转时间以及中转地点都完全相同的中转节点,在这种情况下,可以合并上述多个中转节点中,上述中转时间相同的中转节点,将上述中转时间相同的中转节点合并为一个中转节点。而对于中转时间早于上述对齐时间点的中转节点,由这类中转节点分叉产生的航班中转事项,可以直接进行删除处理,以完成对上述树状关系图的“剪枝”,仅在上述树状关系图中保留中转时间与上述对齐时间点一致的中转节点分叉产生的航班中转事项。

然而,按照以上示出的选择对齐时间点的方式,可能会对最终的求解结果的准确度造成影响;

例如,请继续参见图3,假设为飞机规划的最晚返回起始地点广州的终止时间为16:35,13:35北京ready这个中转节点,为最优路径上的最佳节点;然而,如果上述对齐时间点取13:40,则会导致13:35北京ready这个中转节点被“剪枝”,使得在求解空间中实际上并不会包含16:35返回广州这一最优解,而造成最终的求解结果不够精确。

基于此,在示出的另一种实施方式中,在选择对齐时间点时,可以不再采用每轮迭代选择固定的对齐时间点的方式,而是采用随机选定对齐时间点的方式。

在这种情况下,可以预设一个时间点集合,该时间点集合用于约束对齐时间点的可选范围。在为每轮迭代选择对齐时间点时,可以从上述时间点集合中随机选择一个对齐时间点。

需要说明的是,每一轮迭代都可以预设一个的固定的对齐时间点;而上述时间点集合中可供选择的对齐时间点,则可以是在上述固定的对齐时间点的基础上,进行随机长度的时间偏移后得到的对齐时间点。

其中,在实现时,上述随机长度的时间粒度,可以远小于上述固定的对齐时间点;比如,上述规定的对齐时间点采用的时间粒度为1小时,那么上述随机长度所采用的时间粒度,可以为5分钟。

通过这种方式,可以确保上述时间点集合中可供选择的对齐时间点,均为在上述固定的对齐时间点的基础上,进行少量的随机偏移后得到的对齐时间点;也即,每轮迭代在对齐时间点大致固定的基础上,分别加入了少量的随机偏移,从而即可以保证每轮迭代选定的对齐时间点的随机性,又可以确保每轮迭代选定的对齐时间点数值上的差异不至于过大,能够处于一个较为固定的数值范围之内。

例如,请参见图4,假设为飞机规划的最晚返回起始地点广州的终止时间为16:35,13:35北京ready这个中转节点,为最优路径上的最佳节点。通过从时间点集合中随机选择对齐时间点,具有一定的概率将13:35选定为对齐时间点;在这种情况下,并不会导致13:35北京ready这个中转节点被“剪枝”,使得在求解空间中实际上仍然会包含16:35返回广州这一最优解。

然而,虽然采用这种随机选定对齐时间点的方式,具有一定的概率保证求解空间中包含最优解,但是每一轮迭代对应的对齐时间点可能均为全新的对齐时间点。

在这种情况下,如果之前的求解结果已经比较优,基于随机选定的对齐时间点进行偏移对齐处理之后,再次基于该求解空间进行求解,可能会导致最终求解出的最优解还不如局部优化之前的最优解。

例如,请继续参见图3,假设上一轮迭代随机选定的时间对齐点为13:40,基于该随机对齐点进行偏移对齐处理,并进行中转节点合并后的树状关系图如图3所示;请参见图5,假设在下一轮迭代选定的时间对齐点为13:50,基于该随机对齐点进行偏移对齐处理,并进行中转节点合并后的树状关系图如图5所示。通过类比图3和图5不难看出,按照图5示出的求解空间进行求解得到的最优解,不如按照图3示出的空间进行求解得到的最优解;比如,按照图5求解出的最优解为16点50广州ready;而按照图3求解出的最优解为16点40广州ready,显然按照图5求解出的最优解飞机会延迟10分钟到达广州。

为了解决这种问题,在示出的一种实施方式中,可以在上述时间点集合中加入上一轮迭代选定的对齐时间点;即将上一轮迭代选定的对齐时间点也加入到对齐时间点的可选范围。

在这种情况下,在进行每轮迭代时,在从上述时间点集合中随机选择了一个对齐时间点,并基于选定的该对齐时间点完成偏移对齐处理后,可以按照以上实施例描述的方式,合并上述中转时间相同的中转节点,基于预设的算法模型进行求解确定出最优路径,然后基于该最优路径对上述初始最优路径进行局部优化。当完成以上过程后,可以再次从上述上述时间点集合中随机选择一个对齐时间点,重新执行以上过程,直到上述时间点集合中可选的对齐时间点均被选定为对齐时间点后,本轮迭代结束。

通过这种方式,由于上述时间点集合中加入了上一轮迭代选定的对齐时间点,可以保证每轮迭代,最终的求解结果不会变差,最坏的情况也就是在给定范围内求解出的最优路径和上一轮求解出的最优路径相同。

例如,请继续参见图3,假设上一轮迭代随机选定的时间对齐点为13:40,基于该随机对齐点进行偏移对齐处理,并进行中转节点合并后的树状关系图如图3所示;在将13:40时间对齐点加入到上述时间点集合后,在下一轮迭代时,仍然能够选中13:40这一时间对起点,进而可以保证下一轮的迭代最终的求解结果不会较图3的求解结果变差。

通过以上实施例可见,一方面,通过迭代计算不断对初始最优路径进行优化,可以提升排班结果的准确度;另一方面,在迭代计算的过程中,通过基于选定的对齐时间点对位于不同的可行路径,并且包含相同的中转地点的多个中转节点的中转时间进行偏移对齐处理,并合并该多个中转节点中的所述中转时间相同的中转节点,可以显著的降低迭代计算的计算量,进而可以在兼顾排班结果准确度的前提下,尽可能的降低计算复杂度,可以提升排班结果的求解速度。

与上述方法实施例相对应,本说明书还提供了一种排班调度系统的实施例。其中,所述排班调度系统包括基于分布式数据平台以及消息中间件搭建的中心数据库;其中,所述中心数据库分别与数据提供方的源数据库,以及数据使用方的目标数据库对接。

本说明书的排班调度系统的实施例可以应用在电子设备上。系统实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本说明书的排班调度系统所在电子设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。

图7是本说明书一示例性实施例示出的一种排班调度装置的框图。

请参考图7,所述排班调度装置70可以应用在前述图6所示的电子设备中,包括有:

获取模块701,获取为所述排班对象集合中的各排班对象确定出的,从所述出发地点出发在执行多次中转调度事项后返回所述出发地点的初始最优路径,并迭代执行以下步骤直到满足预设条件时停止:其中,排班对象集合中的排班对象分别被预先规划了出发地点;以及,到达所述出发地点的起始时间和最晚返回所述出发地点的终止时间;

生成模块702,从所述排班对象集合中选择出部分排班对象,列举出所述部分排班对象中的各排班对象从所述出发地点出发,在执行多次中转调度事项后返回所述出发地点的可行路径,并基于列举出的所述可行路径为所述各排班对象生成树状关系图;其中,所述可行路径包括由若干个中转地点和到达各中转地点的中转时间构成的中转节点;

确定模块703,确定所述树状关系图中位于不同的可行路径,并且包含相同的中转地点的多个中转节点,并基于选定的对齐时间点对所述多个中转节点的中转时间进行偏移对齐处理后,合并所述中转时间相同的中转节点;

优化模块704,基于预设的算法模型从所述树状关系图中的各可行路径中为各排班对象确定出最优路径,并基于所述最优路径对所述初始最优路径进行优化处理。

在本实施例中,所述生成模块702进一步:

列举出所述排班对象集合中的各排班对象从所述出发地点出发,在执行多次中转调度事项后返回所述出发地点的可行路径,并基于列举出的所述可行路径生成所述树状关系图

基于预设的算法模型从所述树状关系图中的各可行路径中为各排班对象确定出所述初始最优路径。

在本实施例中,通过以上迭代步骤对所述初始最优路径进行优化时采用的时间粒度,小于为各排班对象确定所述初始最优路径时采用的时间粒度。

在本实施例中,所述可行路径还包括由所述出发地点和所述起始时间构成的起始节点、由所述出发地点和所述终止时间构成的终止节点;其中,所述树状关系图中的任意两节点之间的连线,用于指示对应的中转调度事项。

在本实施例中,所述确定模块703进一步:

基于选定的对齐时间点对所述多个中转节点中,早于所述对齐时间点的中转时间的进行偏移对齐处理。

在本实施例中,所述对齐时间点为从预设的时间点集合中随机选定的对齐时间点。

在本实施例中,所述时间点集合中加入了上一轮迭代选定的对齐时间点。

在本实施例中,所述预设条件包括以下示出的任一:

如果所述初始最优路径上的终止节点的所述终止时间,匹配规划出的最晚返回所述出发地点的终止时间,则终止迭代;

如果所述初始最优路径上的终止节点的所述终止时间,始终不匹配为规划出的最晚返回所述出发地点的终止时间,则在迭代次数达到预设阈值时终止迭代;

如果所述初始最优路径上的终止节点的所述终止时间,始终不匹配规划出的最晚返回所述出发地点的终止时间,则在迭代时长达到预设阈值时终止迭代。

在本实施例中,所述优化模块703:

确定所述最优路径是否优于所述初始最优路径上对应的局部路径;如果是,基于所述最优路径替换所述局部路径;反之,保持所述局部路径。

在本实施例中,所述优化模块703进一步:

计算所述初始最优路径上对应的局部路径的终止节点的所述终止时间,与规划出的最晚返回所述出发地点的终止时间的差,得到第一差值;

计算所述最优路径上的终止节点的所述终止时间,与规划出的最晚返回所述出发地点的终止时间的差,得到第二差值;

将所述第一差值与所述第二差值进行匹配;如果所述第二差值小于所述第一差值,确定所述最优路径优于所述初始最优路径上对应的局部路径。

在本实施例中,所述预设的算法模型为cplex求解器;或者,gurobi求解器。

在本实施例中,所述排班对象为飞机;所述中转调度事项为航班中转事项。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

与上述方法实施例相对应,本说明书还提供了一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。

在本实施例中,通过读取并执行所述存储器存储的与排班调度的控制逻辑对应的机器可执行指令,所述处理器被促使:

获取为所述排班对象集合中的各排班对象确定出的,从所述出发地点出发在执行多次中转调度事项后返回所述出发地点的初始最优路径,并迭代执行以下步骤直到满足预设条件时停止:其中,所述排班对象集合中的排班对象分别被预先规划了出发地点;以及,到达所述出发地点的起始时间和最晚返回所述出发地点的终止时间;

从所述排班对象集合中选择出部分排班对象,列举出所述部分排班对象中的各排班对象从所述出发地点出发,在执行多次中转调度事项后返回所述出发地点的可行路径,并基于列举出的所述可行路径为所述各排班对象生成树状关系图;其中,所述可行路径包括由若干个中转地点和到达各中转地点的中转时间构成的中转节点;

确定所述树状关系图中位于不同的可行路径,并且包含相同的中转地点的多个中转节点,并基于选定的对齐时间点对所述多个中转节点的中转时间进行偏移对齐处理后,合并所述中转时间相同的中转节点;

基于预设的算法模型从所述树状关系图中的各可行路径中为各排班对象确定出最优路径,并基于所述最优路径对所述初始最优路径进行优化处理。

在本实施例中,通过读取并执行所述存储器存储的与排班调度的控制逻辑对应的机器可执行指令,所述处理器还被促使:

列举出所述排班对象集合中的各排班对象从所述出发地点出发,在执行多次中转调度事项后返回所述出发地点的可行路径,并基于列举出的所述可行路径生成所述树状关系图

基于预设的算法模型从所述树状关系图中的各可行路径中为各排班对象确定出所述初始最优路径。

在本实施例中,通过读取并执行所述存储器存储的与排班调度的控制逻辑对应的机器可执行指令,所述处理器还被促使:

基于选定的对齐时间点对所述多个中转节点中,早于所述对齐时间点的中转时间的进行偏移对齐处理。

在本实施例中,通过读取并执行所述存储器存储的与排班调度的控制逻辑对应的机器可执行指令,所述处理器还被促使:

确定所述最优路径是否优于所述初始最优路径上对应的局部路径;如果是,基于所述最优路径替换所述局部路径;反之,保持所述局部路径。

在本实施例中,通过读取并执行所述存储器存储的与排班调度的控制逻辑对应的机器可执行指令,所述处理器还被促使:

计算所述初始最优路径上对应的局部路径的终止节点的所述终止时间,与规划出的最晚返回所述出发地点的终止时间的差,得到第一差值;

计算所述最优路径上的终止节点的所述终止时间,与规划出的最晚返回所述出发地点的终止时间的差,得到第二差值;

将所述第一差值与所述第二差值进行匹配;如果所述第二差值小于所述第一差值,确定所述最优路径优于所述初始最优路径上对应的局部路径。

与上述方法实施例相对应,本说明书还提供了一种计算机程序产品,包括计算机程序指令,其中所述计算机程序指令使计算机实现:

获取为所述排班对象集合中的各排班对象确定出的,从所述出发地点出发在执行多次中转调度事项后返回所述出发地点的初始最优路径,并迭代执行以下步骤直到满足预设条件时停止:其中,所述排班对象集合中的排班对象分别被预先规划了出发地点;以及,到达所述出发地点的起始时间和最晚返回所述出发地点的终止时间;

从所述排班对象集合中选择出部分排班对象,列举出所述部分排班对象中的各排班对象从所述出发地点出发,在执行多次中转调度事项后返回所述出发地点的可行路径,并基于列举出的所述可行路径为所述各排班对象生成树状关系图;其中,所述可行路径包括由若干个中转地点和到达各中转地点的中转时间构成的中转节点;

确定所述树状关系图中位于不同的可行路径,并且包含相同的中转地点的多个中转节点,并基于选定的对齐时间点对所述多个中转节点的中转时间进行偏移对齐处理后,合并所述中转时间相同的中转节点;

基于预设的算法模型从所述树状关系图中的各可行路径中为各排班对象确定出最优路径,并基于所述最优路径对所述初始最优路径进行优化处理。

在本实施例中,所述计算机程序指令使计算机还可以实现:

列举出所述排班对象集合中的各排班对象从所述出发地点出发,在执行多次中转调度事项后返回所述出发地点的可行路径,并基于列举出的所述可行路径生成所述树状关系图

基于预设的算法模型从所述树状关系图中的各可行路径中为各排班对象确定出所述初始最优路径。

在本实施例中,所述计算机程序指令使计算机还可以实现:

基于选定的对齐时间点对所述多个中转节点中,早于所述对齐时间点的中转时间的进行偏移对齐处理。

在本实施例中,所述计算机程序指令使计算机还可以实现:

确定所述最优路径是否优于所述初始最优路径上对应的局部路径;如果是,基于所述最优路径替换所述局部路径;反之,保持所述局部路径。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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