一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于资源规划的资源组队优化的制作方法

2022-11-23 06:43:51 来源:中国专利 TAG:


1.本公开的各方面涉及在识别组合问题的解决方案方面提高计算速度和效率,其中,用于执行任务的资源被优先地保持为经协调的资源团队中的跨多个子任务的部分。


背景技术:

2.组合问题涉及找到满足给定条件集的离散有限对象集的分组、排序或指派。在组合问题中,对最优解决方案的穷举搜索通常是不易处理的。
3.资源规划是一类组合问题,对于其的优化技术仍然难以捉摸。例如,当呈现有多个任务以及完成这些任务的资源集时,随着任务数和资源数的增加和/或随着针对如何将这些资源指派给任务的规则或约束的增加,处理资源到任务的指派在复杂性方面可以经受指数式增加。识别根据规则将资源“最佳”指派给任务的一个或更多个解决方案可以使用大量计算资源和/或大量时间。由于希望不仅高效地将单独的资源指派给任务,而且希望跨在给定任务上的多个子任务按组或团队来使用资源,因此,可以使这些指派进一步变复杂。


技术实现要素:

4.在一个方面,本公开提供了一种方法,所述方法包括以下步骤:识别任务集,其中,该任务集中的各个任务皆包括多个子任务,所述多个子任务包括以给定状态开始的初始子任务以及返回至该给定状态的最终子任务;识别所述多个子任务中的各个子任务的资源需求;将资源集划分成多个候选切片,以符合所述多个子任务的资源需求;从所述多个候选切片形成多个组合,以满足该资源需求;从所述多个组合中识别具有跨该任务集的最高组队度量的给定组合;以及为该任务集指派该给定组合。
5.在一个方面,结合上面或下面的任何示例方法,将组队度量配置成,使在任务集中导致展现整体任务组队的较高任务数的组合优先于导致展现整体任务组队的较低任务数的组合。
6.在一个方面,结合上面或下面的任何示例方法,将组队度量配置成,惩罚其中被指派给任务集中的任务的给定资源未与给定状态相关联的组合。
7.在一个方面,结合上面或下面的任何示例方法,将资源集至少划分成第一候选切片类和第二候选切片类,所述方法还包括以下步骤:对照组队度量,彼此分离地评估第一候选切片类和第二候选切片类。
8.在一个方面,结合上面或下面的任何示例方法,当给定任务的穷举候选切片数超过阈值数时,将给定任务的候选切片数设定为小于该穷举候选切片数。
9.在一个方面,结合上面或下面的任何示例方法,所述方法还包括以下步骤:从穷举候选切片集中选择多至阈值数的候选切片,以包括来自穷举候选切片集的基于优先级的候选切片子集。
10.在一个方面,结合上面或下面的任何示例方法,任务集中的给定任务包括关联子任务,该关联子任务横跨被考虑为所有资源进行组队的休息时段(rest period)。
11.在一个方面,结合上面或下面的任何示例方法,所述方法还包括以下步骤:根据资源的指派规则集来生成所述多个组合。
12.在一个方面,结合上面或下面的任何示例方法,任务集中的第一任务与作为给定状态的第一状态相关联;被指派给第一任务的第一资源与第一状态相关联;任务集中的第二任务与作为给定状态的第二状态相关联,第二状态不同于第一状态;以及被指派给第二任务的第二资源与第二状态相关联。
13.在一个方面,结合上面或下面的任何示例方法,任务集是航班旅程(flight trip);所述多个子任务是航班航段(flight leg);给定状态指定机场;资源识别航班航段的机组配置(crew posting);并且组队度量被配置成,跨任务集优化整体任务组队。
14.在一个方面,本公开提供了一种系统,该系统包括:存储器,该存储器存储计算机可执行指令;以及处理器,该处理器被配置成,执行该计算机可执行指令,并且使该系统执行上述方法中的任一方法。
15.在一个方面,本公开提供了一种非暂时性计算机可读介质,该非暂时性计算机可读介质包括计算机可执行指令,该计算机可执行指令在由计算系统执行时,使该计算系统执行上述方法中的任一方法。
16.在一个方面,本公开提供了一种在计算机可读存储介质上具体实施的计算机程序产品,该计算机程序产品包括用于执行上述方法中的任一方法的代码。
附图说明
17.按照可以详细理解上述特征的方式,上面简要概述的更具体描述可以参照示例方面进行,其中一些在附图中进行了例示。
18.图1a至图1b例示了根据本公开的各方面的用于组队优化的问题空间。
19.图2a至图2d例示了根据本公开的各方面的各种组队水平。
20.图3a至图3d例示了根据本公开的各方面的各种组队场景。
21.图4例示了根据本公开的各方面的由组队优化器处理为输入的状态考虑事项。
22.图5a至图5c例示了根据本公开的各方面的组队评估。
23.图6a至图6c例示了根据本公开的各方面的供组队优化器使用的候选切片选择。
24.图7是根据本公开的各方面的在组队优化器中进行组队优先化的方法的流程图。
25.图8例示了根据本公开的各方面的计算装置。
具体实施方式
26.本公开提供了一种在识别资源到任务指派方面具有改进的计算速度和效率的组队优化器,在可行的情况下,该组队优化器通过任务的多个子操作来将经协调的资源团队保持在一起。本文所描述的组队优化器遵循各种规则,使得排除违反规则的潜在解决方案,并且可以将各种其它的优先化方案与组队偏好(preference)优先化方案进行组合。有利地,所描述的组队优化器能够更快且更可靠地并且使用更少的计算资源(例如,更少的存储器、更低的功率、更少的时钟周期等)来达到最佳指派,从而改进被用于分析资源到任务指派的计算装置的功能性。
27.尽管在本公开中给出的示例通常涉及将机组配置(crew posting)(作为资源)指
派给由多个单独的航班航段(作为子任务)组成的航班旅程(作为任务)(这些航班航段后期可以根据单独机组成员的资历规则、训练/认证、航班路线、团队优先化等(作为规则集)来进行充实),但是可以将本公开应用于各种领域。
28.在第一示例中,组队优化器可以基于来自程序集(作为规则集)的线程优先级,来指派计算机处理器(作为潜在团队)的核(单独资源)的配置(posting),以对处理负载(作为任务)的单独线程(作为子任务)进行处理。在第二示例中,组队优化器可以基于土壤饱和水平、开发简档以及道路/桥梁存在(作为规则集),来指派与给定的征费(levy)或水坝(作为潜在团队)相关联的分流渠道(作为资源),以对河流的各个部分处的洪水溢出(作为任务)进行处理。在第三示例中,组队优化器可以根据运送路线、交付时间表以及温度要求(作为规则集),来指派列车、轮船或卡车的各种配置(作为资源),以沿着交付路线(作为任务)对单独交付的货柜(作为子任务)进行处理。如将意识到,可以将所描述的组队优化器应用于本公开所设想的多种技术领域中。
29.图1a至图1b例示了根据本公开的各方面的用于组队优化的问题空间。当调度任务并且指派用于完成这些任务的资源时,通常可以将这些任务划分成以不同的时间由不同的资源来完成的子任务。例如,航空公司调度程序(scheduler)可以将旅程定义为任务,该任务被划分成描述该旅程的各个航段的一系列子任务。各个航段皆描述一个源和一个目的地(例如,从机场a出发、到达机场b),并且旅程描述从本部(base)出发并返回至同一本部(例如,从机场a出发、访问机场b至z、然后返回至达机场a)的路线。在当前示例中,被指派给航段的机组配置的各种时间表是资源,并且可以包括各个机组成员有资格或适于履行的各种角色(例如,机长、副机长(first officer)、领航员、事务长、航班乘务员(flight attendant)等)(例如,在给定飞机上的认证)。
30.尽管调度程序可以向子任务指派单独的资源,但是调度程序也可以尝试跨任务的子任务指派所述资源中的两个或更多个资源的团队。组队操作可以增加指派分析和优化的复杂性,但是可以产生多个益处。例如,通过经由经组队的配置跨旅程(或旅程的多个航段)将机组成员组队在一起,调度延迟可以均匀地影响整个机组,从而避免该机组的不匹配的工作周期(duty cycle)。在另一示例中,通过跨电力生产周期组队发电厂的各种发电机和电池,可以更好地跟踪关于各种组件的磨损和撕裂以用于均匀分配。在另一示例中,通过跨分布式计算进程(或进程的多个子功能)将一组处理器的核调度和组队在一起,中断可以对处理时间具有减小的影响,并且处理器可以经历更均匀的发热/冷却周期。通过进一步回顾本公开,任务组队的其它益处将变得显而易见。
31.在图1a中,以不同的组队水平示出了被指派给不同子任务120a至120i(总体上或共同地,子任务120)的单独资源的多个工作时间表(duty chart)110a至110d(总体上或共同地,工作时间表110)。工作时间表110示出了关联的资源的工作时段的时间系列,以及该关联的资源何时被指派给给定子任务120。如将意识到,提供“第一”、“第二”、“第三”等的指定以彼此区分各种要素,并且不一定指示要素的基于时间的指派或出现次序。
32.单个工作时间表对应于在一段时间内针对给定资源调度的子任务,并且一次只能针对一个子任务调度资源。当合计起来加以考虑时,所组合的工作时间表指示了如何将多个资源指派给一系列任务和子任务的不同方面,以指示这些资源针对该任务中的一些或全部任务是否仍保持组或团队的部分。另外,工作时间表的集合被理解为例示子任务何时被
调度为由资源的集合彼此结合地执行。因此,子任务的各种延迟、取消或重新指派可以影响给定资源何时执行关联的子任务。然而,通过指派团队中的资源,可以减轻对调度的变化的影响,并且可以通过跨任务(按调度或者以其它方式执行的)来提高被组队在一起的资源的工作效率。
33.在图1a中,第一资源(例如,飞机的机长或者商业服务载具的其他操作员)的第一工作时间表110a示出:第一子任务120a、第二子任务120b、第三子任务120c以及第四子任务120d是以第一资源的工作时段进行调度的。第二资源(例如,副机长)的第二工作时间表110b示出:第五子任务120e、第三子任务120c、第四子任务120d以及第六子任务120f是以第二资源的工作时段进行调度的。因为第一工作时间表110a和第二工作时间表110b指示第一资源和第二资源都被指派给第三子任务120c和第四子任务120d,所以第一资源和第二资源被认为是跨这些子任务120c至120d进行“组队的”(尽管不是跨整个任务进行组队的)。尽管在进行组队时被指派给相同的子任务,但是各个资源皆可以履行子任务的不同要素(例如,被指派给机长的职责比对被指派给副机长的职责),或者可以并行地履行相同的要素(例如,用于纠错或冗余)。
34.另外,工作时间表110指示资源的配置;不一定将特定资源指派给那些配置。因此,可以将第一资源的第一工作时间表110a与第二资源的第二工作时间表110b进行比较,以确定在这些配置之间的潜在组队,而不管最终向其指派了哪些单独的资源。例如,飞行员的第一工作时间表110a和副飞行员的第二工作时间表110b可以示出:飞行员和副飞行员是否在旅程中组队,而不管是将飞行员a还是飞行员b指派给在第一工作时间表110a中指示的配置,还是将副飞行员c或副飞行员d指派给在第二工作时间表110b中指示的配置。
35.第三资源(例如,事务长)的第三工作时间表110c示出:第七子任务120g、第二子任务120b以及第八子任务120h是以第三资源的工作时段进行调度的。第四资源(例如,航班乘务员)的第四工作时间表110d示出:第九子任务120i以及第三子任务120c是以第四资源的工作时段进行调度的。尽管第三资源与第二子任务120b的第一资源被共同调度,但是因为相应的第一工作时间表110a和第三工作时间表110c中的下一子任务不是共同调度的,所以第一资源和第三资源不被认为是跨相应子任务进行组队的。类似地,尽管第四资源与第三子任务120c的第一资源和第二资源被共同调度,但是因为第三工作时间表110c中的下一子任务不是第四子任务120d,所以第四资源不被认为是跨相应子任务进行组队的,尽管第一资源和第二资源被认为是组队的。
36.在图1b中,第一工作时间表110a至第四工作时间表110d被示为具有着重跨任务组队的子任务指派。第一工作时间表110a和第二工作时间表110b示出:第一资源和第二资源都被指派给第一子任务至第五子任务120e,并且第一资源和第二资源因此跨工作时段中描述的任务而进行组队。类似地,第三工作时间表110c和第四工作时间表110d示出:第三资源和第四资源都被指派给第六子任务120f、第三子任务120c以及第七子任务120g,并且第三资源和第四资源因此跨工作时段中描述的任务而进行组队。
37.尽管图1b示出:第一资源和第二资源彼此被组队在一起,并且第三资源和第四资源彼此被组队在一起,但是第一资源和第二资源没有被示为与第三资源和第四资源组队在一起,尽管它们被共同调度用于第三子任务120c。在各个方面,调度程序可将不同资源类分组在一起以彼此独立地进行组队。例如,航空公司的调度程序可以尝试独立于空乘组
(cabin crew)(例如,事务长和航班乘务员)来对空勤组(例如,机长和副机长)进行分组,并且可以尝试以与尝试对单独空勤组或空乘组的成员进行组队时相同或更低的着重点(emphasis)或优先级,来对空勤组和空乘组进行组队。
38.在另一示例中,计算装置的调度程序可以独立地尝试将通用处理单元的核分组成第一团队,而将图形处理单元的核分组成第二团队,并且可以尝试以比尝试组队成单独的核类时更低的着重点或优先级,来对通用核团队和图形核团队进行组队。
39.在各个方面,调度程序可以将资源池划分成各种类,其中组队优化器尝试根据(例如,来自空勤组和空乘组的全体机组、来自图形团队和通用团队的全进程团队、来自各种部门团队的工厂范围(plant-wide)团队等)来形成各种团队层(strata)。
40.图2a至图2d例示了根据本公开的各方面的各种组队水平。在各个方面,跨整个工作时段进行组队虽然是优选的,但可能是行不通的。然而,部分组队可能优选于无组队,并且各种水平和类型的部分组队是可能的。因此,尽管本文所描述的组队优化器可以被配置成,向整体任务组队解决方案赋予最高优先级,但是组队优化器也可以向部分任务组队解决方案提供优于未组队解决方案的某一(虽然较小)优先级。
41.图2a例示了根据本公开的方面的经由第一工作时间表110a和第二工作时间表110b针对相应的第一资源和第二资源的连接组队。当至少两个资源共享对一个子任务和后续子任务的指派而同时没有中间子任务时,发生连接组队。例如,如图2a所示,第一资源和第二资源都被指派给第一子任务120a、第二子任务120b以及第四子任务120d。因为在第一子任务120a与第二子任务120b之间不存在未被指派给这两个资源的中间子任务,所以第一工作时间表110a和第二工作时间表110b示出:图2a中的跨第一子任务120a和第二子任务120b的连接组队。与此相反,尽管第一资源和第二资源被共同调度用于第四子任务120d,但是因为第一资源和第二资源在第四子任务120d之前没有被共同调度(例如,在第二子任务120b之后,第一资源被调度用于第三子任务120c,而第二资源被调度用于第五子任务120e),所以工作时间表110a至110b未示出第四子任务120d的连接组队(并因此未示出整体任务组队)。即使第三子任务120c和第五子任务120e具有相同的开始点和结束点(例如,从机场a出发并且到达机场b,从而允许重新组队以用于机场b的后期航班),如果子任务本身不相同(例如,早班航班(early flight)和正午航班),那么针对那些子任务也不对资源进行组队。
42.图2b例示了根据本公开的方面的经由第一工作时间表110a和第二工作时间表110b针对相应的第一资源和第二资源的工作时段组队。当任务跨工作时段进行调度并且在一个工作时段内调度的子任务(但不一定是该任务的全部子任务集)被共同调度用于一组资源时,发生工作时段组队。在各个方面,休息时段210描绘两个工作时段。当没有子任务120被指派给资源(例如,由于工作周期规则),但任务跨越一个或更多个工作时段时,发生休息时段210。例如,可以在航空公司机组的多天旅程的每一天之间指派休息时段210,以向机组赋予在航班之间休息的时间。在另一示例中,可以每x个处理器周期指派休息时段210,以允许处理器的核重新同步或执行纠错计算。
43.如图2b所示,第一资源和第二资源都在休息时段210之前被指派给第一子任务120a和第二子任务120b,并且在休息时段之后没有被共同调度(例如,第一资源被调度给第三子任务120c,而第二资源被调度给第四子任务120d)。因此,第一资源和第二资源针对第
一工作时段(在休息时段210之前)进行组队,而针对第二工作时段(在休息时段210之后)没有进行组队,并且第一工作时间表110a和第二工作时间表110b例示了工作时段组队,而不是整体任务组队。
44.图2c例示了根据本公开的方面的经由第一工作时间表110a和第二工作时间表110b针对相应的第一资源和第二资源的跨时段(cross-period)组队。第一工作时间表110a指示:第一资源被指派给第一子任务120a、第二子任务120b、休息时段210、第三子任务120c以及第四子任务120d。第二工作时间表110b指示:第二资源被指派给第五子任务120e、第二子任务120b、休息时段210、第三子任务120c以及第六子任务120f。尽管第一资源和第二资源在休息时段210之前或之后的任一个工作时段中都没有进行组队,但是工作时间表110a至110b指示第一资源和第二资源贯穿休息时段210进行组队。因为资源被共同调度用于直接在休息时段210之前指派的子任务(例如,第二子任务120b)和直接在休息时段210之后指派的子任务(例如,第三子任务120c)。在各个方面,调度程序可以着重于或者将优先级置于跨时段组队,使得资源同时开始和结束工作周期。
45.在一些方面,在休息时段210期间或贯穿休息时段210,所有资源均可以被认为是组队的或者共同调度的。例如,当飞行员和副飞行员被调度为休息时段210,其中在休息时段210之前有共享航班并且在休息时段210之后有共享航班时,即使飞行员被指派给第一旅馆而副飞行员被指派给第二旅馆,这些资源也可以被认为是组队的。在其它方面,如何或何时将资源指派给休息时段210确定在休息时段210期间或贯穿休息时段210,特定资源是否被认为是组队的或联合调度的。使用先前示例,飞行员和副飞行员贯穿休息时段210可以不被认为是组队的,这是由于在到达相应的旅馆或回到机场方面可能有不同的延迟。因此,组队优化器的操作者可以基于各种因素来选择是否将两个资源视为在休息时段210期间共同调度的。
46.图2d例示了根据本公开的方面的经由第一工作时间表110a和第二工作时间表110b针对相应的第一不同类资源和第二不同类资源的跨类(cross-class)组队。如图2d的相应工作时间表110a至110b所例示的,第一资源和第二资源都被共同调度用于第一子任务120a、第二子任务120b、贯穿休息时段210、第三子任务120c、以及第四子任务120d。因此,如果第一子任务120a到第四子任务120d表示给定任务中的所有子任务,则第一资源和第二资源将被组队用于整个任务(即,指示整体任务组队)。然而,如本示例中指示的那样,第一资源和第二资源属于不同的类(例如,空勤组成员比对空乘组成员、图形处理器核比对通用处理器核)。因此,在一些方面,与假设资源属于同一类相比,组队优化器可以不向组队提供着重点或优先级,或者向组队提供较小的权重,从而使类内(in-class)组队优先于跨类组队。
47.图3a至图3d例示了根据本公开的各方面的各种组队场景。
48.图3a例示了根据本公开的方面的跨两个子任务120a至120b的全组队场景。例如,航班航段的第一子任务120a可以具有对应的第一资源需求310a(总体上或共同地,资源需求310),该第一资源需求指定:该航班需要一个飞行员、一个副飞行员、一个事务长以及一个航班乘务员进行全人员配备(staffing)(例如,在图中被指示为1/1/1/1,用于各个职位(position)的相应机组人数)。类似地,不同航班航段的第二子任务120b被示为也对于一个飞行员、一个副飞行员、一个事务长、以及一个航班乘务员具有相应的第二资源需求310b。当第一资源(例如,飞行员的资源)、第二资源(例如,副飞行员的资源)、第三资源(例如,事
务长的资源)、以及第四资源(例如,航班乘务员)中的各个资源的相应的工作时间表110a至110d指示子任务120a至120b的资源需求310a至310b由相同的资源满足时,子任务120a至120b已经相对于彼此被完全组队。例如,当旅程的多个航段由同一机组服务时(无论是在一个飞机上还是跨多个飞机),这可能发生。然而,由于与工作周期相关的规则、跨工作时段对资源的不同的进行中需要等,跨多个子任务120维持资源集可能是不可行的,而相反,可以随时间(例如,按照图3b至图3d)替换、拆分(fractured)或组合各个资源集。
49.图3b例示了根据本公开的方面的跨两个子任务120a至120b的部分组队场景。例如,航班航段的第一子任务120a可以具有对应的第一资源需求310a,该第一资源需求指定:该航班需要一个飞行员、一个副飞行员、一个事务长以及一个航班乘务员进行全人员配备。类似地,不同航班航段的第二子任务120b被示为也对于一个飞行员、一个副飞行员、一个事务长、以及一个航班乘务员具有相应的第二资源需求310b。当至少一个资源没有被跨子任务120a至120b维持时(例如,由于工作规则,在另一子任务中对资源的更大需求),组队优化器识别要在子任务120a至120b中使用的新资源。例如,当初始飞行员在工作时段期间已经飞行了阈值小时数时,可以将该初始飞行员的第一资源替换为新飞行员的第五资源。因此,第二资源(例如,副飞行员的资源)、第三资源(例如,事务长的资源)、以及第四资源(例如,航班乘务员)中的各个资源的相应的工作时间表110b至110d指示子任务120a至120b的资源需求310a至310b是由相同的资源部分地满足的。与此相反,第一资源和第五资源(例如,初始飞行员和新飞行员)的工作时间表110a、110e指示在第一子任务120a与第二子任务120b之间发生资源的变化。
50.当跨给定任务的子任务不可能进行全组队时,组队优化器可以尝试根据各种标准来维持组或子团队,而不是单独处理各个资源。例如,组队优化器可以尝试经由组队度量作为被配置成奖励部分组队的标准,将来自图3b的第二资源到第四资源的子团队跨后续航班航段保持在一起,虽然奖励少于全组队。关于本公开的图5a至图5c、图6a至图6c以及图7,更详细地讨论了在着重和优先化部分组队方面组队优化器的操作。
51.图3c例示了根据本公开的方面的跨子任务的拆分式组队场景。当资源需求从任务中的初始子任务降低至后续子任务时,可以向不同的任务重新指派各种资源。在各个方面,组队优化器尝试基于任务的单独子任务内的最低资源需求组来维持任务内的核心资源团队,但是也可以尝试将从被组队在一起的初始任务中移除的任何资源保持在不同的任务中。
52.例如,在由多个航段组成的航班旅程的任务(即,被调度为从第一机场出发并到达第二机场的单独航班)中,资源需求可以跨不同的航班改变。如图3c所示,第一旅程(从飞行员的第一资源的角度)包括第一航班航段的具有第一资源需求310a的第一子任务120a,该第一资源需求大于第二航班航段的第二子任务120b的第二资源需求310b。因此,被指派给第一子任务120a的资源不能全部被指派给第二子任务120b,而相反地,一些资源可以保持空闲、由附加资源补充、被指派给不同的子任务、及其组合;由此拆分初始的已指派资源集。
53.在各个方面,当拆分被指派给第一子任务120a的初始资源集时,组队优化器寻求跨子任务和不同任务维持尽可能多的初始资源集。因此,第一资源需求310a与第二资源需求310b之间的差异可以导致形成针对不同任务维持的资源子团队。例如,可以将第一资源到第四资源经由相应的工作时间表110a至110d指派给作为第一任务的、包括第一子任务
120a和第二子任务120b的任务,而可以将第五资源和第六资源经由相应的工作时间表110e至110f指派给包括第一子任务120a和第三子任务120c的任务。
54.在图3c所例示的示例中,第一资源到第四资源跨第一子任务120a和第二子任务120b仍保持组队,并且第五资源和第六资源跨第一子任务120a和第三子任务120c仍保持组队,尽管在不同的方面可能有各种拆分布置。
55.图3d例示了根据本公开的方面的跨子任务的扩充组队场景。当资源需求从任务中的初始子任务增加至后续子任务时,可以从不同的任务重新指派各种资源。在各个方面,组队优化器尝试基于单独子任务的最低资源需求,将很少的团队与其它任务拆开(break apart),或者跨任务维持连贯的资源团队。
56.例如,在由多个航段(即,被调度为从第一机场出发并到达第二机场的单独航班)组成的航班旅程的任务中,资源需求可以跨不同的航班改变。如图3d所示,第一旅程(从飞行员的第一资源的角度)包括第一航班航段的具有第一资源需求310a的第一子任务120a,该第一资源需求小于第二航班航段的第二子任务120b的第二资源需求310b。因此,被指派给第一子任务120a的资源需要进行扩充或者符合第二子任务120b的第二资源需求310b,从而潜在地使一些资源空闲、利用空闲或者被指派给不同子任务的附加资源补充初始资源、及其组合;由此利用新资源扩充初始的已指派资源集。
57.当扩充被指派给第一子任务120a的初始资源集时,组队优化器寻求跨子任务和不同任务维持尽可能多的初始资源集。因此,第一资源需求310a与第二资源需求310b之间的差异可以导致识别可以从一个任务移除并且作为团队被重新指派给新的子任务的子团队。例如,可以将第一资源到第四资源经由相应的工作时间表110a至110d指派给作为第一任务的、包括第一子任务120a和第二子任务120b的任务,为了扩充第一资源到第四资源以满足第二资源需求310b,组队优化器将第五资源和第六资源(经由关联的工作时间表110d至110e)从第三子任务120c指派给第二子任务120b。
58.通过将第五资源和第六资源指派给第二子任务120b,而不是指派给与第七资源和第八资源的工作时间表110g至110h共享的任务,组队优化器可以拆开由第五资源到第八资源组成的团队。在各个方面,组队优化器可以为由多个资源类组成的团队、为维持较大的团队比对较小的团队、或者为团队的特定组成(makeup)指派不同的优先级。例如,如果组队优化器忽略跨资源类型的组队,则与空勤组资源分开地指派空乘组资源可能不被认为是划分资源“团队”。在另一示例中,如果组队优化器将“团队”维持为成对资源(例如,高级机组成员与初级机组成员),则图3d的示例将例示维持(至少)四个团队(例如,第一资源和第二资源、第三资源和第四资源、第五资源和第六资源、以及(可能地)第七资源和第八资源)。
59.图4例示了根据本公开的各方面的由组队优化器处理为输入的状态考虑事项。将各种资源与作为“住所(home)”状态或“本部(base)”状态的不同状态相关联,并且在各个方面,组队优化器在任务过程中对使用资源进行优先化,使得资源在给定状态下开始和结束任务。各种状态可以包括各个方面中的各种度量,诸如但不限于:空勤组的操作基础、处理器核的热水平、水库的水位等。
60.例如,当指派用于服务电负载(作为任务)的电池(作为资源)时,这些电池的荷电状态可以开始于初始荷电水平并结束于最终荷电水平(作为例如0%、20%、50%、100%的荷电状态),并且组队优化器可以管理充电/放电子任务,使得在服务电负载结束时,电池返
回至初始荷电水平(例如,为下一任务作准备)。
61.在另一示例中,当指派空勤组(作为资源)以用于对航班旅程(作为任务)进行人员配备时,组队优化器可以跟踪机组成员所位于的机场来作为机组成员的状态(例如,在机场a、机场b、机场c等)。因此,组队优化器可以管理与单独航段相关联的到达和出发,使得机组成员被指派给离开那些机组成员的本部机场的初始航段,并且在航班旅程结束时返回至该本部机场,而不管机组成员在旅程期间具有哪些中间状态。
62.图4示出了五个状态410a至410e,它们具有指示哪些资源与各个状态相关联的对应资源名单420a至420e(总体上或共同地,名单420)。例如,第一资源名单420a指示与第一状态410a相关联的资源、第二资源名单420b指示与第二状态410b相关联的资源、等等。在各个方面,所述资源名单中的一些资源名单可以是空的或者指示没有资源与对应的状态相关联。例如,航空公司可以在充当机组的本部的多个枢纽机场之外操作,但是可以服务多个非枢纽机场,并由此枢纽(作为第一状态410a到第三状态410c)与指示基于那些机场的单独机组成员的名单420a至420c相关联,而非枢纽(作为第四状态410d和第五状态410e)与没有列出资源的名单420d至420e相关联。
63.继续该示例,因为航空公司通常想要组织旅程(作为任务),使得机组因任务的结束而返回至从中发起旅程的枢纽,所以将组队优化器配置成,对任务在同一机场开始和结束进行优先化,而不管该旅程的单独航段(作为子任务)在何处派遣机组。因此,组队优化器将选择开始于相同初始状态并且返回至该初始状态的资源组队在一起进行优先化,但是可以为与不同状态相关联的资源提供不同的开始/结束点。
64.例如,组队优化器从第一名单420a中选择基于机场a的第一团队(例如,第一状态410a),并且可以设计到机场b(例如,第二状态410b)、到机场d(例如,第四状态410d)、以及返回至机场a的旅程。在同一旅程优化示例期间,组队优化器可以为第二旅程(例如,在不同时间或者以不同的次序到机场b、d以及a,或者到不同的机场群)选择基于机场a的第二团队,并且为在机场c开始和结束的第三旅程选择基于机场c的第三团队(例如,第三状态410c)。
65.尽管组队优化器进行优先化以避免在任务结束时将资源留在除关联的状态以外的其它状态,或者指派资源以除关联的状态以外的其它状态开始任务,但是在一些情况下,孤立或空头(dead-headed)指派(例如,在任务结束时将资源留在非本部状态或者要求资源以非本部状态开始的子任务)可能是必要的。因此,当需要时,组队优化器可以将从第一名单420a选择的资源指派给具有不在第一状态410a开始的初始子任务、具有不在第一状态410a结束的最终子任务或其组合的任务。例如,可以将与机场a相关联的飞行员指派给从机场b出发的第一航班作为空头指派。在另一示例中,与给定水位相关联的水库可以被指派以不同于初始水位的水位结束的最终子任务(例如,通过水电厂比水流流入更快地排放)作为孤立指派。
66.在各个方面,组队优化器可以包括允许将资源指派为在与资源相关联的不同状态下仅开始、仅结束或者开始和结束两者的规则。类似地,组队优化器可以遵循这样的规则,即,该规则指定:可以将给定资源指派成以该资源的关联的状态(若不是的话)开始或结束任务的那些状态(例如,飞行员可以在飞行员的本部的x公里内的机场或在枢纽机场结束任务)。
67.图5a至图5c例示了根据本公开的各方面的组队评估。当组队优化器将潜在的任务指派评估为要被指派给任务的资源集时,各种组队布置可以被赋予不同的正或负权重,以将潜在的任务指派针对彼此进行比较。组队优化器可以在各个方面不同地加权组队度量510的不同要素,以鼓励或阻拦劝阻资源指派,并且组队度量510可以是被用于选择经优化的资源到任务指派集的多个度量之一。
68.例如,当向航班任务指派空勤组资源时,组队优化器在航班航段经过国际机场时,更加着重于形成用于连接组队(或全程组队(whole trip teaming))的较大团队,而在航班航段完全处于国内时,着重点较低。在另一示例中,航空公司可以指示与偏好度量相比,团队度量510具有更高或更低的优先级,使得组合优化器可以根据团队度量,选择是否以与在所指派的路线上维持连贯的空勤组团队相比更高或更低的着重点,来对给定路线指派的机组偏好进行评价。
69.尽管通常被描述为惩罚不希望的指派,但是组队优化器可以代之以奖励希望的指派,或者应用罚分(penalty)和加分(bonus)的组合来惩罚和奖励不同的指派特征。因此,图5a至图5c所例示的组队度量510被示为具有负着重点(被例示为x)或正着重点(被例示为o)的各种评估,这些评估可以在不同方面与不同的值(正、负或中性)相关联。
70.图5a例示了第一组队布置,其中,相应的第一资源到第三资源的第一工作时间表110a到第三工作时间表110c被示出有针对任务的部分组队。如图所示,第一子任务120a、第二子任务120b以及第三子任务120c均被指派给第一工作时间表110a和第二工作时间表110b,而第四子任务120d和第五子任务120e被指派给第一工作时间表110a和第三工作时间表110c两者。所例示的组队度量510包括与所评估的任务的五个子任务120a至120e相对应的五个子任务评估520a至520e(总体上或共同地,子任务评估520)。当仅针对整体任务组队进行评估时,因为跨组成该任务的子任务集没有指派连贯的资源团队,所以各个子任务评估520a至520e被赋予负权重(例如,去优先化),尽管在该任务的各个节段中是部分组队的。
71.在其中组队优化器将附加罚分或加分应用于被评估任务的各个子任务评估520的方面,对于缺少整体任务组队,具有更多数量的子任务的任务可以经历比具有更少数量的子任务的任务更大的总罚分(或更低的总加分),尽管(潜在地)具有更多的单独成对的子任务。在各个方面,罚分/加分的附加性质优先化或着重具有更多子任务的任务的整体任务组队,而不是针对具有更少子任务的任务的整体任务组队。在其它方面,罚分/加分的附加性质是不希望的或者仅希望达到阈值,并且组队优化器可以归一化或者加上限于被指派给组队度量510的罚分或加分,以约束任务中的子任务的数量对基于整体任务组队指派的总罚分/加分的影响。
72.图5b例示了第二组队布置,其中,对应的第一资源和第二资源的第一工作时间表110a和第二工作时间表110b被示出有针对任务的全组队,但是具有用于初始子任务和最终子任务的指派的状态不匹配。如图所示,第一子任务120a、第二子任务120b、第三子任务120c、以及第四子任务120d均被指派给第一工作时间表110a和第二工作时间表110b,由此显示整体任务组队。第一子任务120a到第四子任务120d表示该示例中的任务的所有子任务,并且所例示的组队度量510包括与所评估的任务的四个子任务120a至120d相对应的四个子任务评估520a至520d,所有子任务评估均指示组队布置的正着重点。
73.然而,组队优化器还可以与针对任务的资源之间的组队分析分开地或联合地,来
评估所指派的资源是以各个资源的关联的状态开始该任务还是结束该任务。例如,当将飞行员和副飞行员(作为已组队资源)指派给旅程(作为任务)上的一组航班航段(作为子任务)时,组队优化器可以评估单独机组成员是否在本部机场开始和结束该旅程(作为资源的关联的状态)。
74.如第二工作时间表110b所示,第二资源在未关联的状态下开始任务,并且第一状态评估530a指示由于第二资源与第一子任务120a的初始状态之间的状态不匹配(例如,副飞行员被调度用于来自机场的第一航班航段,而不是该副飞行员所基于的地方)而造成的该指派的负着重点。
75.类似地,如第一工作时间表110a和第二工作时间表110b所示,第一资源和第二资源都在未关联的状态中结束任务,并且由于状态不匹配,组队优化器在第二状态评估530b中为该指派指派否定评估。
76.在各个方面,组队优化器可以对在未关联的状态下开始或结束任务的至少一个资源应用固定(flat)罚分(例如,预定义的、不可变的罚分),或者可以对被指派以在未关联的状态下开始或结束任务的各个资源应用累积罚分。例如,当组队优化器为图5b中的不匹配状态指派固定罚分时,组队优化器可以向第一状态评估530a指派与第二状态评估530b相同的(负的)值,而不管与任务中的开始状态和结束状态不匹配的不同数量的资源。当组队优化器为图5b中的不匹配状态指派累积罚分时,组队优化器可以为第一状态评估530a指派比第二状态评估530b更低(负得更少)的值(例如,对一个资源到状态不匹配的罚分进行相加、相乘或者以其它方式向上增加,以反映对更多数量的资源到状态不匹配的更高罚分)。
77.在各个方面,组队优化器还可以基于不匹配的方向或幅度、资源的优先级、不匹配是发生在任务的开始还是结束、及其组合,来增减(scale)在状态评估530a至530b中指派的罚分。
78.例如,当评估电池(作为资源)的荷电水平(作为状态)时,通过抢先对电池进行过充电或放电,可以在与电池的基本状态不同的状态下开始任务,并且组队优化器可以为放电比对过充电指派较低的罚分,并且为较小的过充电/放电比对较大的过充电/放电指派较低的罚分。因此,组队优化器可以提供用于以容量的2%抢先对电池进行放电的第一罚分、用于以容量的2%抢先进行过充电的第二罚分、以及用于以10%抢先对电池进行放电的第三罚分,其中,第一罚分小于第二罚分并且第二罚分小于第三罚分。在另一示例中,航空公司可以配置组队优化器,以便为从未关联的机场(作为状态)开始旅程(作为任务)的飞行员(作为资源)指派比为在未关联的机场结束旅程所指派罚分高的罚分,但是为被指派给未关联的机场的更高级飞行员指派比更低级飞行员更高的罚分。
79.图5c例示了第三组队布置,其中,相应的第一资源到第三资源的第一工作时间表110a到第三工作时间表110c被示出有针对包括休息时段210的任务的部分组队。如图所示,第一子任务120a、第二子任务120b、第三子任务120c、以及第四子任务120d均被指派给第一工作时间表110a和第二工作时间表110b,而第第三120c被指派给第一工作时间表110a和第三工作时间表110c两者。所例示的组队度量510包括与所评估的任务的四个子任务120a至120d相对应的四个子任务评估520a至520d。
80.类似于图5a,当仅针对整体任务组队进行评估时,各个子任务评估520a至520d被赋予负着重点,尽管在该任务的各个节段中是部分组队的。然而,组队优化器可以提供对组
队度量510中的部分组队的附加分析,以着重或去着重任务中的组队确实存在或不存在的特定子部分。例如,组队优化器可以在组队度量510中包括第一工作时段评估540a和第二工作时段评估540b,以评估任务的单独工作时段(例如,对于按照图2b的工作时段组队),使得如果组队存在于任务中的一些(但不是全部)工作时段中,则将部分组队反映在总体评估中。在另一示例中,组队优化器可以包括跨时段评估550,以评估组队是否跨休息时段210存在,但并非跨所有子任务(例如,对于按照图2c的跨时段组队)存在,从而在总体评估中反映部分组队。
81.图6a至图6c例示了根据本公开的各方面的供组队优化器使用的候选切片选择。为了评估如何将任务指派给资源的工作时间表110a至110d,使得资源进行组队来符合任务集中的各个子任务120的资源需求310,组队优化器将资源划分成切片以进行评估。如图6a至图6c中的切片表所例示的,组队优化器将资源指派划分成“切片”,其中,各个资源以对应的列进行例示,使得可以在相应切片表的行中看到资源的组合。根据组队优化器的计算优先级,被选择用于分析的切片(即,可用切片中的“候选”切片)可以包括资源的可用组合中的一些或全部组合。
82.在图6a中,穷举切片表610对应于具有针对第一资源之一、第二资源之一、第三资源之一、以及第四资源之一(例如,飞行员、副飞行员、事务长、以及航班乘务员)的工作职责的资源需求310的子任务120。对应的穷举切片表610是“穷举的”,这是因为其中包括了每一个潜在的资源组合。全组队切片620表示符合关联的子任务120的资源需求310的资源组合(例如,1/1/1/1),并且包括用于满足关联的子任务120的资源需求310的节段的对应资源(例如,1/0/0/0、0/1/0/0、0/0/1/0、以及0/0/0/1)的单独指派的四个单资源切片630a至630d(总体上或共同地,单资源切片630)。
83.穷举切片表610中的剩余切片是部分组队切片640a至640j,其中,实施资源之间的一些组队,但是在不与另一部分组队切片640或者一个或更多个单资源切片630进行组合的情况下,不足以完全满足子任务120的资源需求310。例如,第一部分组队切片640a可以与第二部分组队切片640b进行组合(例如,1/1/0/0 0/0/1/1=1/1/1/1)或者与第三单资源切片630c和第四单资源切片630d进行组合(例如,1/1/0/0 0/0/1/0 0/0/0/1=1/1/1/1),以符合资源需求310。然而,第二部分组队切片640b不能与任何其它切片集进行组合,因为这样做将导致至少一个资源的过剩。
84.共同地,可以将全组队切片620和部分组队切片640称为“预组队切片”,以定义要在资源指派期间评估的预制团队。
85.另外或者另选地,对于穷举切片表610,当可以将资源划分成多个类时,组队优化器可以使用类特定切片表650a至650b(总体上或共同地,类特定切片表650),其中,各个类特定切片表650皆表示由单个资源类的资源形成的组合。例如,如果第一资源和第二资源属于第一类,并且第三资源和第四资源属于第二类(例如,作为空勤组的飞行员和副飞行员,以及作为空乘组的事务长和航班乘务员),则可以为第一类形成第一类特定切片表620a,并且形成第二类特定切片表620b。类似于穷举切片表610,各个类特定切片表650皆包括从关联的资源类收集的全组队切片620、单资源切片集630、以及部分组队切片640(若有的话)的一些或全部。
86.例如,第一类特定切片表650a可以对应于空勤组资源(例如,飞行员和副飞行员),
而第二类特定切片表650b可以对应于空乘组资源(例如,事务长和航班乘务员),从而允许组队优化器分解如何通过单独资源类将资源指派给任务。当使用类特定切片表650时,组队优化器对各个类执行单独的组队分析(诸如关于图7所描述的),但是使用较小的总候选切片集来进行分析(将来自第一类特定切片表650a和第二类特定切片表650b的总共六个切片与来自穷举切片表610的十五个切片进行比较,以指派相同的四个资源)。然而,通过对照相应的组队度量,单独评估各个类的候选切片,组队优化器轮流(trade off)分析全组队指派(例如,1/1/1/1指派)和跨类组队指派(例如,1/0/1/0),以提高分析速度。
87.在图6b中,穷举切片表610对应于具有针对第一资源之一、第二资源之一、第三资源之二、以及第四资源之二(例如,飞行员、副飞行员、两名事务长、以及两名航班乘务员)的工作职责的资源需求310的子任务120。对应的穷举切片表610包括三十五个条目(而不是六十三个),这是因为工作时间表110用于资源配置,而并非资源本身。因此,当子任务120包括同一资源(例如,两名事务长、两名航班乘务员、两个gpu)的多个配置时,被指派给配置的实际资源是可互换的。例如,在图6b的子任务120中,无论将事务长a指派给第三工作时间表110c并且将事务长b指派给第四工作时间表110d还是将事务长a指派给第四工作时间表110d并且将事务长b指派给第三工作时间表110c都是无关紧要的。因此,穷举切片表610不需要包括用于“类型a的第一资源”和“类型a的第二资源”的单独条目,而相反包括用于“类型a的资源的零个”、“类型a的资源的一个”、“类型a的资源的两个”等的组队可能性。
88.例如,在图6b中,表示用于事务长的配置的列(例如,包括三角形标志的第三列)可以包括:零个配置(如在具有第一单资源切片630a的行中)、两个配置(如在具有第二部分组队切片640b的行中包括资源类型的两个配置)、或者一个配置(如在具有第三单资源切片630c的行中包括第三工作时间表110c或者第四工作时间表110d中的一个)。因此,穷举切片表610包括:一个全组队切片620、四个单资源切片630a至630d(各个单资源切片皆对应于子任务120所请求的各个资源类型)、以及三十个部分组队切片640a至640ad。
89.在图6c中,经策划(curated)切片表660对应于具有针对第一资源之一、第二资源之一、第三资源之二、以及第四资源之二(例如,飞行员、副飞行员、两名事务长、以及两名航班乘务员)的工作职责的资源需求310的子任务120,这类似于图6b所示。对应的经策划切片表660是“经策划的”,这是因为穷举潜在资源组合的子集被选择为包括在其中。经策划切片表660包括从穷举集合中选择的切片,其包括表示符合关联的子任务120的资源需求310的资源组合(例如,1/1/2/2)的全组队切片620,以及用于关联的子任务120的单资源切片630和部分组队切片640中的一些或全部。
90.在各个方面,当穷举切片表610或单独类特定切片表650中的切片数超过阈值数时,组队优化器使用经策划切片表660。组队优化器在经策划切片表660中包括的切片的数量小于阈值数,这相应地降低了在分析较低数量的候选切片时的计算复杂性,但是优先化了某些关注切片。图6c所示的经策划切片表660包括十三个条目,而用于四个不同配置类的相同数量的工作时间表110a至110f和关联的资源的穷举切片表将包含三十五个条目(例如,如图6b所示)。
91.在各个方面,被包括在经策划切片表660中的总条目数可以等于或小于触发组队优化器使用经策划切片表660的阈值数,并且可以使用各种规则来包括或排除来自经策划切片表660的特定切片。例如,如图6c所示,部分组队切片640a至640h包括第一部分组队切
片640a到第四部分组队切片640d,其配对资源(例如,1/1/0/0、0/0/2/0、0/0/0/2、以及0/0/1/1),但是从穷举组队切片表中排除一些配对(例如,1,0,1,0和0,1,0,1)。经策划部分组队切片640可以包括由操作员选择的各种团队组成,这些团队组成对于跨任务维持特别重要或有用。被用于选择切片以组成经策划切片表660的各种规则可包括:资源的类或类型(例如,包括用于类似资源的切片和在包括相异资源的切片之前的资源类)、待包括在各个切片中的资源的数量(例如,优选偶数超过奇数)、资源的资历或年龄(例如,优选将较老/更高级资源与较年轻/更低级资源分组在一起比对将较老的资源分组在一起或者将较年轻的资源分组在一起)、资源在资源池中的常见程度(例如,将较常见资源配对在一起比对将较不常见资源与更常见资源组队在一起)等。
92.图7是根据本公开的各方面的在组队优化器中进行组队优先化的方法700的流程图。组队优化器执行方法700来提供资源规划解决方案,其通过组成任务的多个子任务来优先化将资源“团队”保持在一起,同时遵守各种指派规则并且避免与组合资源规划相关联的时间或计算资源的大量支出。
93.方法700开始于框710,其中,组队优化器识别任务集,该任务集由多个子任务组成,而资源要被指派给这些子任务。在各个方面,任务集中的各个任务皆可以包括彼此不同数量的子任务,但是至少包括在关联的状态开始的初始子任务和在关联的状态结束的最终子任务。任务集中的各个任务的关联的状态可以在任务之间改变,使得第一任务在第一状态开始和结束,而第二任务在第二状态开始和结束。例如,可以将航班旅程集(作为任务)划分成在各个机场开始和结束的多个航班航段(作为子任务)。航班旅程在一个机场(作为关联的状态)开始和结束,并且需要各种机组(作为资源)来对那些单独的航班航段进行人员配备。
94.在各个方面,组队优化器从任务数据库中识别任务集,该任务数据库识别构成各个任务的各种子任务以及各个子任务的关联的状态。除了子任务之外,各种任务还可以包括任务中的各种工作时段之间的休息时段。在一些方面,组队优化器可以将所有资源考虑为在这种休息时段期间“组队的”,而在其它方面,组队优化器可以评估休息时段期间的资源的状态,以确定资源是否在休息时段期间进行组队(例如,将休息时段视为子任务)。例如,当航班计划中包括两天航班任务之间的休息时段时,组队优化器可以分析初始工作时段的最后航班航段和后续工作时段的第一航班航段,以确定飞行员和副飞行员(或其它机组成员)在休息时段内是否仍保持组队。在另一示例中,组队优化器可以分析在休息时段以及初始工作时段的最后航班航段和后续工作时段的第一航班航段期间飞行员和副飞行员是否都被指派给同一旅馆,以确定在休息时段内是否维持组队。
95.在框720处,组队优化器识别被包括在任务集中的所述多个子任务中的各个子任务的资源需求。组队优化器可以从规则数据库中识别资源需求,该规则数据库指示给定子任务需要什么资源,以及那些资源可以如何在各种子任务中和跨各种子任务使用。资源需求可以在任务的子任务之间改变或者在各个方面仍保持恒定。在各个方面,资源需求可以与在不同资源之间改变的各种规则相关联,这些规则可以影响给定资源被允许使用多长时间、是否需要备份或冗余资源、第一资源是否可以被替换为第二资源等。
96.在框730处,组队优化器将资源集划分成多个候选切片,以符合所述多个子任务的资源需求。在一些方面,所述多个切片是跨类或特定单独类的穷举潜在资源组合集。在各个
方面,所述多个切片是来自多个类或特定单独类的经策划的潜在组合集。例如,组队优化器可以基于资源类来划分资源集,以至少生成第一候选切片类和第二候选切片类,以用于对各个资源类进行单独分析(按框740)。
97.在另一示例中,当候选切片数超过阈值切片数时,组队优化器通过选择经策划的切片集,来选择小于穷举候选切片数的候选切片数。在一些方面,组队优化器可以通过从穷举集中选择多个切片来生成经策划的切片集,使得全组队切片和基于优先级的其它候选切片子集(例如,按图6a至图6c的单资源切片630和部分组队切片640中的一些或全部)优先化各种资源组,以在缩减大小的切片集(例如,所有单资源切片630、所有成对的部分组队切片640、包括类型a的资源的所有部分组队切片640等)中加以考虑。
98.在框740处,组队优化器在符合跨任务集的资源需求方面,对候选资源切片的组合进行评估。组队优化器尝试跨各种任务和子任务的候选切片的各种组合,并且形成满足任务的资源需求的多个不同组合。组队优化器根据资源的指派规则集创建组合,使得违反规则或者未实现资源需求的任何组合被组队优化器拒绝(或者不形成)。
99.为了彼此有针对地评估有效组合中的各个有效组合,组队优化器为跨给定任务的各种组队情形指派分得分。例如,组队优化器可以为向以下这样的任务指派资源而指派各种罚分,即,不在与该资源相关联的状态开始或结束的任务(例如,指派飞行员在除该飞行员的本部之外的其它机场开始或结束旅程)。在另一示例中,组队优化器可以为这样的组合指派加分(或减轻罚分),即,该组合包括在单独的工作时段中或者跨休息时段而不是跨整个任务的组队。另外或者另选地,在一些方面,组队优化器基于被指派给任务的资源数、任务中的子任务数、任务的优先级水平等,来对给定任务的组队度量进行加权或增减。
100.当按框740来评估候选资源切片组合时,组队优化器彼此有针对地分析不同的组合,以优化跨任务集的共同组队度量,而不是优化给定任务。优化及其变体通常指的是选择一些已识别的特征或约束的某一改进(若改进是可用的话)的问题的数学表述,并且不暗示该特征或约束的绝对或全局最优改进(因为该术语可以更通俗地使用)。因此,在一些情形中,优化可以确定最小值,其中,该最小值可以是给定值的局部最小值而不是该值的全局最小值。
101.例如,为跨三个任务的集合的整体任务组队而优化的第一资源指派可以导致多个组合,这些组合导致所有三个任务具有整体任务组队、三个任务中的两个任务具有整体任务组队、三个任务中仅一个任务具有整体任务组队、或者没有任务具有整体任务组队。相对于使较少数量的任务具有整体任务组队,使较多数量的任务具有整体任务组队显示了组队度量的优化。在各个方面,用于整体任务组队的优化解决方案跨集合中的任务可能行不通的,组队优化器因此尝试提供具有最大数量的整体任务组队指派的解决方案。在一些方面,可以使用其它的优先化方案来区分具有整体任务组队的相等量度的组合,包括部分任务组队、基于偏好的指派等。
102.在另一示例中,针对组队和资源指派偏好而优化的第二资源指派可以展示出比仅针对整体任务组队而优化的情况下更低的组队得分,以及比仅针对资源指派偏好而优化的情况下更低的偏好得分,但是展示出比针对其它单度量优化的组合得分更高的组合整体任务组队和资源偏好得分。因此,创建优化设计,以改进一个或更多个主动指定的约束和/或目标的总体度量,并且可以表示优化的各种优先级中的多个分层设计考虑。
103.一致地,组队优化器使用组队度量来优化或者以其它方式优先化这样的组合,即,在任务集内,与导致较少数量的经组队任务的组合相比,所述组合导致较多数量的整体组队的任务,即使这样做可能导致具有较低组队的给定任务。
104.在框750处,组队优化器将具有针对任务集的组队度量的最高评估的组合指派给针对资源的工作时间表,这表示针对跨任务集的组队而优化的资源指派。在各个方面,可以根据不同的优化标准来将组队分析与进一步的优化相结合。
105.图8例示了根据本公开的各方面的诸如可以被用于提供组队优化器的计算装置。图8例示了可以被用于提供本公开中描述的组合优化器的计算装置800或其它处理系统的示例计算组件。
106.计算装置800包括:处理器810、存储器820以及接口830。处理器810和存储器820提供计算功能以运行相应的计算装置800的各种程序和/或操作,包括本文所描述的各种数据的存储和检索以及组队优化器880的操作。
107.处理器810(其可以是能够执行本文所描述的功能的任何计算机处理器)基于从用户接收到的输入以及从接口830接收到的数据来执行命令。从接口830接收到的数据可以包括为组队优化器880从与问题空间相关的各种数据库(例如,规则数据库840、偏好数据库850、识别资源及其关联的本部状态的名单数据库860、识别具有要由资源满足的资源需求的任务和子任务的任务数据库870)接收的各种数据,并且输出给用户或其它计算装置以供进一步分析。
108.接口830将计算装置800连接至外部装置,举例来说,如外部存储器装置、外部计算装置、电源、无线发送器等,并且可以包括各种连接端口(例如,通用串行总线(usb)、火线(firewire)、以太网、同轴插座)以及线缆连接。将接口830用于在计算装置800之间进行发送和接收,并且用于向终端用户传送指派以及从终端用户接收输入。
109.存储器820是通常包括各种处理器可执行指令的存储器存储装置,该可执行指令在由处理器810执行时,执行与本文所讨论的组合优化相关的各种功能。尽管另选实现可以具有不同的功能和/或功能的组合,但是通常可以将处理器可执行指令描述或组织成存储器820中的各种“应用”或“模块”。存储器820通常还包括数据结构,该数据结构存储供各种应用或模块使用或者由各种应用或模块输出的信息。在本公开中,存储器820至少包括用于操作系统821以及一个或更多个应用422的指令。存储器820可以是一个或更多个存储器装置,举例来说,如随机存取存储器(ram)、只读存储器(rom)、闪速存储器或者包括处理器810可以执行的指令的任何其它类型的易失性或非易失性存储介质。
110.当计算装置800提供本文所描述的组合优化器的功能时,存储器820包括处理器可执行指令以提供在本公开中描述的utd的功能。在一些方面,存储器820包括用于本地缓存数据的数据库,该数据包括识别资源、任务、规则集、优先级列表、偏好等的列表或数据库。
111.参照下列带编号的条款来提供对本公开的各方面中的至少一些方面的进一步理解,其中:
112.条款1:一种方法,所述方法包括以下步骤:识别任务集,其中,所述任务集中的各个任务皆包括多个子任务,所述多个子任务包括以给定状态开始的初始子任务以及返回至所述给定状态的最终子任务;识别所述多个子任务中的各个子任务的资源需求;将资源集划分成多个候选切片,以符合所述多个子任务的资源需求;从所述多个候选切片形成多个
组合,以满足所述资源需求;从所述多个组合中识别具有跨所述任务集的最高组队度量的给定组合;以及为所述任务集指派所述给定组合。
113.条款2:根据条款1所述的方法,其中,所述组队度量被配置成,使在所述任务集中导致展现整体任务组队的较高任务数的组合优先于导致展现整体任务组队的较低任务数的组合。
114.条款3:根据条款1所述的方法,其中,所述组队度量被配置成,惩罚其中被指派给所述任务集中的所述任务的给定资源未与所述给定状态相关联的组合。
115.条款4:根据条款1至3中的任一条款所述的方法,其中,将资源集至少划分成第一候选切片类和第二候选切片类,所述方法还包括以下步骤:对照组队度量,彼此分离地评估第一候选切片类和第二候选切片类。
116.条款5:根据条款1至4中的任一条款所述的方法,其中,当给定任务的穷举候选切片数超过阈值数时,将给定任务的候选切片数设定为小于所述穷举候选切片数。
117.条款6:根据条款1至5中的任一条款所述的方法,所述方法还包括以下步骤;从穷举候选切片集中选择多至阈值数的候选切片,以包括来自穷举候选切片集的基于优先级的候选切片子集。
118.条款7:根据条款1至6中的任一条款所述的方法,其中,所述任务集中的给定任务包括关联子任务,该关联子任务横跨被考虑为所有资源进行组队的休息时段。
119.条款8:根据条款1至7中的任一条款所述的方法,所述方法还包括以下步骤;根据所述资源的指派规则集来生成所述多个组合。
120.条款9:根据条款1至8中的任一条款所述的方法,其中:所述任务集中的第一任务与作为所述给定状态的第一状态相关联;被指派给所述第一任务的第一资源与所述第一状态相关联;所述任务集中的第二任务与作为所述给定状态的第二状态相关联,所述第二状态不同于所述第一状态;以及被指派给所述第二任务的第二资源与所述第二状态相关联。
121.条款10:根据条款1至9中的任一条款所述的方法,其中:所述任务集是航班旅程;所述多个子任务是航班航段;所述给定状态指定机场;所述资源识别所述航班航段的机组配置;并且所述组队度量被配置成,跨所述任务集优化整体任务组队。
122.条款11:一种系统,该系统包括:存储器,所述存储器存储计算机可执行指令;以及处理器,所述处理器被配置成,执行所述计算机可执行指令,并且使所述系统执行根据条款1至10中的任一条款所述的方法。
123.条款12:一种包括计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在由计算系统的处理器执行时,使所述计算系统执行根据条款1至10中的任一条款所述的方法。
124.条款13.一种在计算机可读存储介质上具体实施的计算机程序产品,所述计算机程序产品包括用于执行根据条款1至10中的任一条款所述的方法的代码。
125.在当前的公开中,对各方面进行了说明。然而,应理解,本公开不限于具体描述的方面。而相反,以下特征和要素的任意组合无论是否与不同的方面有关都可以被设想成实现和实践本文所提供的教导。另外,当以“a和b中的至少一个”的形式来描述各方面的要素时,将理解,排它地包括要素a、排它地包括要素b以及包括要素a和b的各方面皆可加以考虑。而且,尽管一些方面可以实现超过其它可能解决方案和/或超过现有技术的优点,但是
无论是否由给定方面实现特定优点都不限制本公开。因此,本文所公开的方面、特征、方面以及优点仅是例示性的,并且除非在权利要求中进行了明确陈述,否则不视为所附权利要求的要素或限制。同样地,对“本发明”的引用不应被解释为本文所公开的任何发明主题的归纳,并且除非在权利要求中进行了明确陈述,否则不应被视为所附权利要求的要素或限制。
126.如本领域技术人员应意识到,可以将本文所描述的各方面具体实施为系统、方法或者计算机程序产品。因此,各方面可以采取本文可以完全通称为“电路”、“模块”或“系统”的全部硬件方面、全部软件方面(包括固件、驻留软件、微代码等)或者组合软件和硬件方面的方面的形式。而且,本文所描述的各方面可以采取在其上具体实施有计算机可读程序代码的一个或更多个计算机可读存储介质中具体实施的计算机程序产品的形式。
127.在计算机可读存储介质上具体实施的程序代码可以使用任何适当的介质进行传输,包括但不限于,无线、有线、光缆、rf等,或者前述任何合适组合。
128.用于执行本公开的各方面的操作的计算机程序代码可以以一种或更多种编程语言的任何组合进行编写,包括面向对象的编程语言(诸如java、smalltalk、c 等)以及常规过程化编程语言(诸如“c”编程语言或类似的编程语言)。程序代码可以全部在用户的计算机上执行、部分地在用户的计算机上执行、作为独立的软件包执行、部分地在用户的计算机上且部分地在远程计算机上执行、或者全部在远程计算机或服务器上执行。在后一种场景中,可以将远程计算机通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户的计算机,或者可以与外部计算机建立连接(例如,通过使用互联网服务提供商的互联网)。
129.本文参照根据本公开的各方面的方法、设备(系统)以及计算机程序产品的流程图例示和/或框图描述了本公开的各方面。应理解,可以通过计算机程序指令来实现流程图例示和/或框图中的各个框以及该流程图例示和/或框图中的框的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机或者用于生成机器的其它可编程数据处理设备的处理器,使得经由该计算机或其它可编程数据处理设备的处理器执行的这些指令创建用于实现在该流程图例示或框图的框中指定的功能/行为的装置(means)。
130.这些计算机程序指令还可以存储在计算机可读介质中,该计算机程序指令可以指导计算机、其它可编程数据处理设备或者其它装置以特定方式起作用,使得存储在计算机可读介质中的指令生成包括实现在该流程图例示和/或框图的框中指定的功能/行为的指令的制品。
131.该计算机程序指令还可以加载到计算机、其它可编程数据处理设备或者其它装置上,使得在该计算机、其它可编程设备或者其它装置上执行一系列可操作步骤,来生成计算机实现处理,使得在该计算机、其它可编程数据处理设备或者其它装置上执行的这些指令提供用于实现在该流程图例示和/或框图的框中指定的功能/行为的处理。
132.附图中的流程图例示和框图例示了根据本公开的各方面的系统、方法以及计算机程序产品的可能实现的架构、功能以及操作。在这点上,所述流程图例示或框图中的各个框皆可以表示包括用于实现所指定的逻辑功能的一个或更多个可执行指令的模块、程序段或代码部分。还应注意,在一些另选实现中,该框中提到的功能可以出现在图中所提到的次序之外。例如,根据所涉及功能,接连示出的两个框事实上可以大致同时执行,或者这些框有时可以按逆序或者无序执行。还应注意,框图和/或流程图例示中的各个框,以及框图和/或
流程图例示中的框的组合可以通过执行指定功能或行为的基于专用硬件的系统或者专用硬件与计算机指令的组合来实现。
133.虽然前述内容是针对本公开的各方面的,但是可以在不脱离本公开的基本范围的情况下,设想本公开的其它和进一步的方面,并且本公开的范围通过所附权利要求来确定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献