CN112990624A - 一种任务分配方法、装置、设备及存储介质 - Google Patents
一种任务分配方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112990624A CN112990624A CN201911284481.2A CN201911284481A CN112990624A CN 112990624 A CN112990624 A CN 112990624A CN 201911284481 A CN201911284481 A CN 201911284481A CN 112990624 A CN112990624 A CN 112990624A
- Authority
- CN
- China
- Prior art keywords
- task
- target
- shift
- time periods
- equipment
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000005457 optimization Methods 0.000 claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 43
- 230000006870 function Effects 0.000 claims description 26
- 238000009826 distribution Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 13
- 230000001960 triggered effect Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000003203 everyday effect Effects 0.000 description 5
- 239000002699 waste material Substances 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- 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/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种任务分配方法、装置、计算机设备及存储介质,涉及数据处理技术领域。其中,方法包括:获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,根据历史输入任务数量,通过预设的任务优化模型优化未来多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量,并根据处理任务的设备数量和每个设备的设备效能,将目标任务数量分配至设备上。本发明实施例提前对未来需处理的目标任务数量进行优化,提前对每个设备上需处理的目标任务数量进行布局,提高了对任务分配的效率和合理性,也提高了对每个设备需处理的目标任务数量布局的效率和合理性。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种任务分配方法、装置、计算机设备及存储介质。
背景技术
随着物流行业的发展,物流行业中的很多操作越来越高效化。如物流车的调度摒弃了人工调度的方式,实现了自动调度。对包裹进行分拣,也无需人工进行分拣,设备可实现自动对包裹进行分拣。然而,当有多台设备,且有多个任务类型的分拣任务时,若使用人工分配的方式对每个设备上处理的分拣任务进行分配,即将分拣任务分配到对应的设备上,需要耗费大量的人力,同时也不能保证分拣任务的分配、设备的调度等是否合理,以及是否高效。
发明内容
本发明实施例提供一种任务分配方法、装置、计算机设备及存储介质,可提高任务分配的合理性和效率。
本发明实施例提供了一种任务分配方法,包括:
获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,其中,每个任务类型对应有多个班次,每个班次对应多个时间段;
根据所述历史输入任务数量,通过预设的任务优化模型优化未来所述多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量;
获取处理任务的设备数量以及每个设备的设备效能;
根据所述设备数量和所述设备效能,将所述多个任务类型对应的每个班次中的多个时间段需处理的所述目标任务数量,分配至所述设备上。
本发明实施例还提供了一种任务分配装置,包括:
任务获取单元,用于获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,其中,每个任务类型对应有多个班次,每个班次对应多个时间段;
优化单元,用于根据所述历史输入任务数量,通过预设的任务优化模型优化未来所述多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量;
设备获取单元,用于获取处理任务的设备数量以及每个设备的设备效能;
分配单元,用于根据所述设备数量和所述设备效能,将所述多个任务类型对应的每个班次中的多个时间段需处理的所述目标任务数量,分配至所述设备上。
本发明实施例还提供了一种计算机设备,所述计算机设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中所述处理器和所述存储器相连接,所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述任一项所述的任务分配方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行上述任一项所述的任务分配方法。
本发明实施例通过获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,并根据历史输入任务数量,通过预设的任务优化模型来优化未来所述多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量,并根据处理任务的设备数量和每个设备的设备效能,将目标任务数量分配至设备上。本发明实施例可根据历史输入任务数量对未来进行优化,以根据历史输入任务数据来确定在未来每个设备上所需处理的目标任务数量,即提前对未来需处理的目标任务数量进行优化,提前对每个设备上需处理的目标任务数量进行布局,提高了对任务分配的效率和合理性,也提高了对每个设备需处理的目标任务数量布局的效率和合理性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的任务分配方法的流程示意图;
图2是本发明实施例提供的任务分配方法的子流程示意图;
图3是本发明实施例提供的任务分配方法的子流程示意图;
图4是本发明实施例提供的任务分配方法的另一流程示意图;
图5是本发明实施例提供的任务分配方法的子流程示意图;
图6是本发明实施例提供的任务分配之后设备调度的示意图;
图7是本发明实施例提供的任务分配装置的示意性框图;
图8是本发明实施例提供的优化单元的示意性框图;
图9是本发明实施例提供的任务分配装置的另一示意性框图;
图10是本发明实施例提供的分配单元的示意性框图;
图11是本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。另外,“第一”、“第二”这些术语用来将多个元素彼此区分开。例如,在不脱离本发明范围的前提下,第一预设时间可以被称为第二预设时间,并且类似地,第二预设时间可以被称为第一预设时间。第一预设时间和第二预设时间均为预设时间,但它们并非同一预设时间。
在本发明中,“示例性”一词用来表示“用作例子、例证或说明”。本发明中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本发明所公开的原理和特征的最广范围相一致。
本发明实施例提供一种任务分配方法、装置、计算机设备及存储介质。该任务分配方法运行于设备中,该设备可以是服务器,也可以是终端,如手机、Pad、台式电脑等设备。以下分别进行详细说明。
以下内容中,当使用于分拣场景时,任务可以指分拣任务,设备可以指分拣设备。还可以指其他场景下的对应的任务和设备。
图1是本发明实施例提供的任务分配方法的流程示意图,该任务分配方法主要包括下列步骤101~104,具体如下:
101,获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,其中,每个任务类型对应有多个班次,每个班次对应多个时间段。
多个任务类型包括集货初分、集货初分2、集货初分3、......、散货初分、散货初分2、散货初分3、......等。其中,集货指本城市/地区收集的将要发往其他城市/地区的快递件(货运产品);散货指从其他城市/地区到达本城市/地区的快递件(货运产品),如将快递件从中转场散发到各个网点,从网点散发到客户手中等。对于每个不同任务类型,每天对应有多个班次。例如,每天0:00-1:00、8:00-10:00、11:00-12:00、14:00-15:00等时间段对应散货初分的班次,可依次记为散货初分的班次0、班次1、班次2、班次3。其中,每个不同任务类型的班次可以相同,也可以不相同。每个班次对应分为多个时间段,例如,0:00-1:00的班次,所对应的多个时间段为0:00-0:10、0:10-0:20、0:20-0:30、0:30-0:40、0:40-0:50、0:50-1:00。或者也可以用一个班次中的多个时间点来表示该班次中的多个时间段,例如,0:00-1:00的班次,所对应的多个时间点分别是:0:10、0:20、0:30、0:40、0:50、1:00,分别表示0:00-0:10、0:10-0:20、0:20-0:30、0:30-0:40、0:40-0:50、0:50-1:00等时间段。任务数量可以指快递件的件量。历史输入任务数量可以理解为实际到达的快递件的件量(需全部处理)。
历史可以指过去一天,也可以指过去一段时间内,其中,一段时间可以是过去几天,过去一周,过去一个月,过去一年等。对应地,历史输入任务数量可以是历史某一天内的任务数量数据,也可以是历史一段时间内每天的任务数量数据。当历史输入任务数量是一段时间内每天的任务数量数据时,则将一段时间内每天的对应任务数量数据进行平均后,得到平均处理任务数据。如获取每天的某个任务类型某班次中的某个时间段内的历史输入任务数量,将一段时间内每天的该历史输入任务数量进行平均,以得到该任务类型该班次该时间段内的平均处理任务数量,将该平均处理任务数量作为最终的历史输入任务数量。在一些情况下,可将一段时间内每天的对应任务数量数据按照工作日和周末分别进行平均后,以分别得到该时间段内的工作日的平均处理任务数量和周末的平均处理任务数量,将该时间段内的工作日的平均处理任务数量和周末的平均处理任务数量作为最终的历史输入任务数量。可以理解地,工作日和周末的处理任务数量可能会存在较大的不同。如此,利用历史工作日的平均处理任务数量来优化未来工作日的需处理的目标任务数量,利用历史周末的平均处理任务数量来优化未来周末的需处理的目标任务数量。
在一些情况下,获取的多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,可以是历史某一天内的任务数量数据,也可以是历史一段时间内的平均处理任务数量数据。可以理解地,如果是一段时间内的任务数量数据,则直接获取平均处理任务数量数据作为历史输入任务数量。
具体地,步骤101,包括:获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量;将所获取的多个任务类型对应的每个班次中的多个时间段的历史输入任务数量保存至预设的数据结构中。
其中,可获取前一天中的多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,也可以获取前一段时间内的多个任务类型对应的每个班次中的多个时间段的历史输入任务数量。如表1所示,是所获取的三个任务类型对应的一个班次中的多个时间段的历史输入任务数量的数据,该历史输入任务数量的数据理解为历史三个任务类型的一个班次中的多个时间段的平均实际到达任务数量的数据。其中,历史输入任务数量中包括小数,可以理解为是对历史输入任务数量进行平均计算后的所得。
表1历史输入任务数量的数据示例
时间点 | 任务类型 | 历史输入任务数量 | 所属班次 |
0:10 | 集货初分 | 2386.6 | 1 |
0:20 | 集货初分 | 667.4 | 1 |
0:30 | 集货初分 | 782.6 | 1 |
0:40 | 集货初分 | 1487.6 | 1 |
0:50 | 集货初分 | 2254 | 1 |
1:00 | 集货初分 | 1687.2 | 1 |
0:10 | 集货初分2 | 251.8 | 1 |
0:20 | 集货初分2 | 77.8 | 1 |
0:30 | 集货初分2 | 100.4 | 1 |
0:40 | 集货初分2 | 120.2 | 1 |
0:50 | 集货初分2 | 143.8 | 1 |
1:00 | 集货初分2 | 108 | 1 |
0:10 | 集货初分3 | 699.2 | 1 |
0:20 | 集货初分3 | 210.4 | 1 |
0:30 | 集货初分3 | 261 | 1 |
0:40 | 集货初分3 | 333.2 | 1 |
0:50 | 集货初分3 | 426 | 1 |
1:00 | 集货初分3 | 288.8 | 1 |
获取了对应的如表1所示的多个任务类型对应的每个班次中的多个时间段的历史输入任务数量的数据后,将所获取的数据保存至预设的数据结构中。
其中,预设的数据结构可以为数组、dictionary/map。其中,dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值),键必须是唯一的,而值不需要唯一的;键和值都可以是任何类型。例如,将任务类型、班次等信息进行编号,将多个任务类型的每个班次的多个时间段的历史输入任务数量保存至多个数组中等。需要说明的是,这些历史输入任务数量的数据原先是以DataFrame形式保存。现将所获取的历史输入任务数量的数据保存预设的数据结构中。对应于表1的数据,将任务类型编号、每个任务类型每个班次、每个班次对应的多个时间段和历史输入任务数量,以及每台设备的设备效能等数据保存预设的数据结构中,分别如下:
每个任务类型的编号:
task_to_no={“集货初分”:0,“集货初分2”:1,“集货初分3”:2}
其中,每个任务类型的编号采用dictionary的数据结构进行存储。
每个任务类型在该班次中的多个时间段的任务数量:
其中,task_amount中的0对应表示集货初分,1对应表示集货初分2,2对应表示集货初分3;task_amount中的[]中的数据即为多个时间段的任务数量,采用数组的方式存储。
每个任务类型中的每个班次对应的时间:
其中,time_of_taskTurn中的(0,1)表示(集货初分,班次1),(1,1)表示(集货初分2,班次1),(2,1)表示(集货初分3,班次1),time_of_taskTurn中的(0,1):[0:10,0:20,0:30,0:40,0:50,1:00]表示集货初分在班次1中,也就是在0:00-1:00时间段的任务数量(集货初分类型在班次1中的快递件的件量)需要处理完,然后装载发车。
每台设备的设备效能:
其中,machine_capacity中的1:15000表示设备1的设备效能是15000件/小时,2:10000表示设备2的设备效能是10000件/小时。
需要说明的是,将历史输入任务数量的数据以DataFrame形式(跟表1中的形式类似)保存,若需要对数据进行查询、修改或者获取数据,会导致查询、修改或者获取数据的速度较慢。因此,本发明实施例中,将以DataFrame形式保存的数据进行拆分,以多个数组的数据结构保存,基于数组的数据结构保存的数据,查询数据或者修改数据或者获取数据,会大大加快速度。
另外,还需要说明的是,历史输入任务数量按照每个班次的数据进行保存,是因为后续步骤中进行目标任务数量的优化时,是以每个班次进行优化的。因此,大大提高了获取每个班次的历史输入任务数量的速度,加快了优化的效率。
102,根据历史输入任务数量,通过预设的任务优化模型优化未来多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量。
预设的任务优化模型可以是预设的线性规划模型。即优化未来该任务类型所对应的该班次的多个时间段需处理的目标任务数量可采用线性规划的方法来进行优化。还可以使用其他的任务优化模型等。可以理解地,实际生产中,不是每个班次(假设半个小时)内到达了多少任务数量,就得处理多少任务数量,每半个小时实际需要处理多少任务数量是可以自由安排的,只要保证在截止时间前(该半个小时的最后一刻)处理完所有的任务数量即可,预设的任务优化模型就是根据历史输入任务数量,进行优化,得到实际生产中该班次中每个时间段建议(计划)处理的目标任务数量。
具体地,如图2所示,步骤102包括以下步骤1021~1028。
1021,根据历史输入任务数量确定未来多个任务类型对应的每个班次中的多个时间段的输入任务数量。
可以理解地,未来的输入任务数量(未来到达的快递件的件量)与历史输入任务数量(历史实际到达的快递件的件量)相差不大。将历史输入任务数量作为未来对应的输入任务数量,以根据该输入任务数量进行优化,得到目标任务数量。
可以理解地,如表1所示,在一个任务类型的一个班次的多个时间段中,每个时间段所对应的输入任务数量是不相同的,差异非常大。若直接按照这些输入任务数量进行分配,则很容易会导致任务分配不合理,设备调度不合理。因此,不能直接按照这些输入任务数量进行分配,而需要进一步对输入任务数量进行优化,得到该任务类型该班次中多个时间段建议(计划)处理的目标任务数量。
1022,获取一个任务类型对应的一个班次中的多个时间段的输入任务数量,作为目标输入任务数量。
如可以按照该任务类型所对应的班次的时间先后顺序,从多个班次中获取该任务类型对应的一个班次。
1023,根据目标输入任务数量,通过预设的任务优化模型优化未来该任务类型所对应的该班次的多个时间段需处理的目标任务数量。
任务分配方法,还包括:构建预设的任务优化模型。当预设的任务优化模型是预设的线性规划模型时,构建预设的任务优化模型,即为构建预设的线性规划模型。具体地,可在使用预设的任务优化模型之前,构建预设的任务优化模型。进一步地,可在步骤1023之前,构建预设的任务优化模型。如图3所示,构建预设的任务优化模型(预设的线性规划模型)可通过如下步骤1023a~1023f来进行构建。
1023a,设置一个任务类型对应的一个班次中的多个时间段所对应的目标输入任务数量参数,并设置优化后的多个时间段所对应的需处理的目标任务数量参数。
其中,一个任务类型对应的一个班次中的多个时间段所对应的目标输入任务数量参数用Qi表示。
Qi,第i个时间段的目标输入任务数量,可以理解为第i个时间段到达的任务数量;
I,一个班次中的多个时间段的集合,可以用{0,1,2,3,4,.......,n}表示。其中,Qi和I都是已知的。
优化后多个时间段所对应的需处理的目标任务数量参数用xi来表示。
xi,第i个时间段需处理的目标任务数量(应该分拣的目标任务数量),其中,xi是未知的,是需要优化计算得到的;xi也可以理解为决策变量。
1023b,根据目标任务数量参数,设置目标函数。
具体地,步骤1023b包括:根据目标任务数量参数,最小化多个时间段内每个时间段需处理的目标任务数量的峰值;根据目标任务数量参数,最小化多个时间段内需处理的目标任务数量的极差;根据最小化的峰值和最小化的极差,设置目标函数。
其中,每个时间段需处理的目标任务数量的峰值用max来表示,根据目标任务数量参数,最小化多个时间段内每个时间段需处理的目标任务数量的峰值,具体地,可以用公式表示,如公式(1)所示。
min maxi∈Ixi 公式(1)
其中,极差指的是极值的差值,极值包括极大值和极小值;根据目标任务数量参数,最小化多个时间段内需处理的目标任务数量的极差,具体地,可以用公式表示,如公式(2)所示。
min(maxi∈Ixi-mixi∈Ixi) 公式(2)
其中,最小化多个时间段内需处理的目标任务数量的极差,是为了使多个时间段内的目标任务数量尽可能均匀。最后设置的目标函数如公式(1)和公式(2)所示。
1023c,根据目标输入任务数量参数和目标任务数量参数,设置目标函数的约束条件。
具体地,步骤1023c包括:
1、根据目标输入任务数量参数和目标任务数量参数,设置第i个时间段之前需处理的目标任务数量之和不超过第i个时间段之前目标输入任务数量之和。可以理解地,需处理的目标任务数量不超过到达的目标输入任务数量。具体地,可以用公式表示,如公式(3)所示。
2、根据目标输入任务数量参数和目标任务数量参数,设置在多个时间段中需处理的目标任务数量之和大于或者等于该多个时间段内的目标输入任务数量之和。也即在该多个时间段最后结束时间的时候需处理的目标任务数量之和要大于或者等于该多个时间段内实际到达的目标输入任务数量之和。也可以简单理解为,该班次所对应的多个时间段内的目标输入任务数量需要被分拣完。具体地,可以用公式表示,如公式(4)所示。
3、根据目标任务数量参数,设置多个时间段中前一个时间段对应的需处理的目标任务数量不超过后一个时间段对应的需处理的目标任务数量。可以理解地,由于设备和人力在一开始就投入进入,需要在班次结束后下一个班次开始才能重新投入,因此,如果前一个时间段需处理的目标任务数量是1000,后一个时间段需处理的目标任务数量是500,就会造成资源浪费,采用前一个时间段需处理的目标任务数量是750,后一个时间段需处理的目标任务数量是750才是较为合理的安排。具体地,用公式表示如公式(5)所示。
xi≤xi+1 公式(5)
1023d,根据目标函数和约束条件构建预设的任务优化模型。
该预设的任务优化模型中包括两个不同的目标函数,如公式(1)和公式(2)所示,以及三个不同的约束条件,如公式(3)、公式(4)、公式(5)所示。根据该两个不同的目标函数和三个不同的约束条件构建预设的任务优化模型。
通过以上步骤1023a~1023d来构建预设的任务优化模型,后续以利用构建的预设的任务优化模型来对目标输入任务数量进行优化,以得到目标任务数量,即对一个任务类型一个班次中的多个时间段的输入任务数量进行优化,得到该任务类型该班次中多个时间段建议(计划)处理的目标任务数量。
假设一个任务类型对应的一个班次的多个时间段分别为21:00:00、21:10:00、21:20:00、21:30:00、21:40:00、21:50:00,该任务类型对应的该班次的多个时间段的目标输入任务数量分别为1000、3500、3500、500、400、1000,使用预设的任务优化模型得到的目标任务数量分别为:1000、1680、1680、1680、1680、1680。具体地,如下表2所示。
表2目标输入任务数量与目标任务数量的数据示例图
21:00:00 | 21:10:00 | 21:20:00 | 21:30:00 | 21:40:00 | 21:50:00 | |
目标输入任务数量 | 1000 | 3500 | 3500 | 500 | 400 | 1000 |
目标任务数量 | 1000 | 1680 | 1680 | 1680 | 1680 | 1680 |
从表2中可以看出,该任务类型对应的该班次中的多个时间段的目标输入任务数量是不相同的,有的时间段对应的目标输入任务数量很大,而有些时间段对应的目标输入任务数量很小,若直接按照对应的目标输入任务数量开始进行设备人力资源的分配,则会造成人力、设备等资源的浪费。如对于21:00-21:10的时间段,目标输入任务数量为3500,若直接按照3500进行处理,假设每个设备的效能为1500/h,则这个时间段需要开启多个设备(如3个设备),每个设备对应需要分配相应的人力进行管理;对于21:20-21:30的时间段,目标输入任务数量为500,则这个时间段无需开启跟21:00-21:10的时间段相同数量的设备,也无需分配那么多的人力进行管理。如此,造成人力、设备资源的浪费;另外,设备在开启、关闭的过程中,也会造成设备磨损。若按照目标任务数量对未来该任务类型对应的该班次的任务进行处理,则由于每个时间段的目标任务数量相对平均,则开启的设备可以得到充分利用,也不会造成人力资源的浪费。例如进行优化后,目标任务数量的峰值为1680,仅需要开启2条设备,并配置对应的工作人员即可。同时由于目标任务数量和需要安排的工作人员数量基本成线性关系,所以通过对任务数量的优化,间接实现对人力数量的优化,避免了引入更多变量参数(人力变量参数),减少了模型规模,优化速度大大加快。
利用预设的线性规划模型来优化目标任务数量,提高了优化的速度,优化后的每个时间段的目标任务数量相对平均,使得开启的设备可以得到充分利用,也不会造成人力资源的浪费,即提高了设备的利用率,节约了成本。
1024,检测该任务类型所对应的所有班次是否已完成优化。
若该任务类型所对应的所有班次未完成优化,则执行1025;若该任务类型所对应的所有班次已完成优化,则执行步骤1026。
1025,获取该任务类型所对应的下一个班次的多个时间段的输入任务数量,作为目标输入任务数量。接着执行步骤1023。
1026,检测所有任务类型对应的所有班次的目标任务数量是否已完成优化。
若所有任务类型所对应的所有班次已完成目标任务数量的优化,则结束;若还存在任务类型所对应的班次未完成目标任务数量的优化,则执行步骤1027。
1027,获取下一个任务类型对应的一个班次的多个时间段的输入任务数量,作为目标输入任务数量,接着执行步骤1023。
根据一个任务类型对应的一个班次的多个时间段的输入任务数量,优化未来该类型该班次所对应的多个时间段的目标任务数量,如步骤1023所示。如此,以得到多个类型所对应的每个班次所的多个时间段的目标任务数量。
103,获取处理任务的设备数量以及每个设备的设备效能。
其中,处理任务的设备包括交叉带1、交叉带2、交叉带3、交叉带4......等。处理任务的设备数量包括交叉带1、交叉带2、交叉带3和交叉带4......的设备数量之和。
104,根据设备数量和设备效能,将多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量,分配至设备上。
具体地,获取设备数量和设备效能;获取一个任务类型,作为当前任务类型;获取该当前任务类型对应的一个班次作为当前班次;获取当前班次的多个时间段需处理的目标任务数量;根据设备数量和设备效能,将该目标任务数量分配至设备上;获取该当前任务类型对应的下一个班次作为当前班次,并执行获取当前班次的多个时间段需处理的目标任务数量的步骤,直至该当前任务类型对应的每个班次的多个时间段需处理的目标任务数量都已完成分配;获取下一个任务类型,将该下一个任务类型作为当前任务类型;并执行获取该当前任务类型对应的一个班次作为当前班次的步骤,直至所有任务类型对应的每个班次的多个时间段需处理的目标任务数量都已完成分配。
其中,获取一个任务类型,可以是随机获取的一个任务类型,也可以是按照任务类型的输入顺序获取的一个任务类型,还可以是按照任务类型的任务优先级获取的一个任务类型,还可以是按照其他顺序获取的一个任务类型。获取下一个任务类型,也是按照对应的获取方式来获取;例如,第一个任务类型是随机获取的,那么下一个任务类型也是随机获取的除第一个任务类型之外的一个任务类型;第一个任务类型是按照输入顺序获取的,那么紧接着下一个任务类型也是按照输入顺序获取,......,以此类推。获取当前任务类型对应的一个班次,可以是按照班次在一天中的时间先后排列顺序获取,还可以是随机获取,还可以是按照班次的输入顺序获取,还可以是按照其他顺序获取。获取当前任务类型对应的下一个班次,也是按照对应的获取方式来获取。
其中,根据设备数量和设备效能,将该目标任务数量分配至设备上,包括:获取一个时间段需处理的目标任务数量,将该目标任务数量分配至一个设备上;判断该设备的设备效能是否满足该目标任务数量;若不满足,则将剩余目标任务数量分配至下一个设备上,直至目标任务数量分配完毕;若设备的设备总效能低于目标任务数量,则计算剩余任务数量;将剩余任务数量加入到当前任务类型的下一个班次中,如将剩余任务数量加入到当前任务类型的下一个班次的第一个时间段上;获取该班次的下一个时间段的目标任务数量,将该目标任务数量分配至设备上,直至该班次的所有时间段的目标任务数量分配完毕。
将该目标任务数量分配至一个设备上,该设备可以是随机确定的设备,也可以是按照设备优先级顺序确定的设备,还可以是根据设备效能,按照设备效能从高到底的顺序确定的设备,还可以是根据其他方式确定的设备。下一个设备的确定,也是按照对应的确定方式来确定;例如,第一个设备是随机确定的设备,那么紧接着下一个设备,也是随机确定的除了第一个设备之外的设备;第一个设备是按照设备优先级顺序从高到底来确定的第一个设备,则紧接着下一个设备,也是按照设备优先级顺序从高到底来确定的下一个设备;.......,以此类推。
另外,在将该目标任务数量分配至设备上的过程中,还包括:检测是否接收到当前任务类型的目标任务数量的停止分配指令;若是,则重置当前任务类型所对应的当前班次的设备分配状态;将当前任务类型作为最后一个处理的任务类型,并将当前任务的当前班次的多个时间段的目标任务数量移至下一个班次,并把当前任务类型的下一个班次以及下一个班次之后的班次作为最后一个处理的任务类型所对应的班次。例如,散货初分的班次包括班次1、班次2、班次3、班次4、班次5、班次6。当执行到散货初分(当前任务类型)的班次3(当前班次)时,接收到当前任务类型的目标任务数量的停止分配指令,则将班次3中多个时间段需处理的目标任务数量移至班次4,例如,将班次3中的多个时间段需处理的目标任务数量相加,移至班次4中的第一个时间段上,将散货初分作为最后一个处理的任务类型,将散货初分的班次4、班次5、班次6作为最后一个处理的任务类型所对应的班次。当分配散货初分的任务类型时,需要分配散货初分的班次4、班次5、班次6的所有时间段的目标任务数量。
如此,可按照用户的需求来暂停某个任务类型的任务的分配和处理。例如,在某个高峰时间段停掉一些可延后处理的任务,保证在尽量少的使用现有设备和人力资源的情况去完成现阶段需完成的任务,提高了鲁棒性。
需要说明的是,按照任务类型进行分配而不按照班次进行分配的原因是:每个任务类型所对应的班次可能存在不同,因此,不适合按照单一班次集合,在每个班次中对每个任务类型进行分配。
图4是本发明实施例提供的任务分配方法的另一流程示意图。如图4所示,该任务分配方法主要包括下列步骤201~206,具体如下:
201,获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,其中,每个任务类型对应有多个班次,每个班次对应多个时间段。
202,根据历史输入任务数量,通过预设的任务优化模型优化未来多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量。
203,获取处理任务的设备数量以及每个设备的设备效能。
以上步骤201~203与上文中的步骤101~103一一对应,具体请参看上文中的对应描述,在此不再赘述。
204,确定多个任务类型所对应的使用设备的设备优先级。
对于每个任务类型,所对应的设备优先级(使用设备偏好顺序)也存在差异。如可根据设备的设备效能来确定设备优先级(例如集货初分由于任务数量较大,所以集货初分最优先的设备一般是设备效能最高的设备),还可以接收用户的优先级设置来确定设备优先级,还可以通过其他方式来确定设备优先级。所确定的每个任务类型的设备优先级,可以理解为该任务类型默认的使用设备的设备优先级,即默认的使用设备的优先顺序。
如下表3所示,为例举的部分任务类型对应的使用设备的设备优先级的数据。
表3部分任务类型对应的使用设备的设备优先级的数据
任务类型 | 设备优先级 |
集货初分 | 交叉带1,交叉带2,交叉带3,交叉带4 |
集货初分2 | 交叉带2,交叉带3,交叉带4,交叉带1 |
集货初分3 | 交叉带2,交叉带3,交叉带4,交叉带1 |
集货初分4 | 交叉带3,交叉带4,交叉带2,交叉带1 |
其中,设备优先级从左到右的顺序表示设备优先级从高到底。
对每个任务类型确定使用设备的设备优先级,按照设备优先级对目标任务数量进行分配,以实现将同一任务类型尽可能的分配到同一个设备上,提高了在实际生产中任务分配以及调度的效率,且便于统一管理,降低了人工成本。
205,将多个任务类型进行任务优先级排序,以得到排序后的多个任务类型。
一般分拣场景的优先级是集货高于散货(可理解为发往其他城市/地区的快递件一般高于从其他城市/地区散发到客户手中的快递),初分高于细分。任务类型的优先级可根据实际情况进行修改。
例如,对于集货的分拣场景中的任务类型:集货初分、集货初分2、集货初分3、集货初分4等。进行任务优先级排序后,优先级从高到低分别是:集货初分>集货初分2>集货初分3>集货初分4。表示,集货初分的优先级最高,集货初分4的优先级最低。
其中,步骤203、步骤204、步骤205可并行同步处理,也可串行异步处理。当串行异步处理时,步骤203、步骤204、步骤205的执行顺序不做限定,例如,也可以先执行步骤205,再执行步骤204、步骤203;可以先执行步骤204,再执行步骤203、步骤205等。
将任务类型进行任务优先级排序,以先处理任务优先级高的任务。
通过引入用户可配置的任务分配的任务优先级,使用设备的设备优先级,避免了随机的大范围搜索,使得某个任务类型基本在某个设备上连续分配并执行。而且每次用户进行任务分配和设备调度时,只要不改动任务优先级和设备优先级,同一任务被安排到的设备会和上一次的保持一致,这更加有利于现场生产操作。可以理解地,同一个任务类型被安排到同一个设备,而非第一时间段安排到设备1,第二时间段安排到设备2(导致现场生产操作难以操控),如此更有利于现场生产操作。
206,根据设备数量、设备效能和设备优先级,将排序后的多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量,分配至设备上。
具体地,如图5所示,步骤206包括以下步骤2061~2068。
2061,获取排序后的一个任务类型作为当前任务类型,并获取设备数量、设备效能和当前任务类型所对应的使用设备的设备优先级。
可按照排序后的任务优先级从高到底的顺序来获取任务类型。一般情况下,当前任务类型所对应的使用设备的设备优先级指的是该任务类型所对应的默认的使用设备的设备优先级。然而,当默认的设备优先级中优先级较高的设备已经被占用,则需要结合设备已经被占用的情况,更新设备的设备优先级,即更新设备的使用优先顺序。该处的获取当前任务类型所对应的使用设备的设备优先级,在无更新的情况下,则指的是默认的使用设备的设备优先级,在有更新的情况下,指的是更新后的使用设备的设备优先级。具体地,更新的方案如下:获取当前任务类型所对应的默认的使用设备的设备优先级,确定该默认的设备优先级中优先级较高的设备是否是占用的状态,若是占用的状态,则将占用的优先级较高的设备的优先级降低(例如,将占用的最高优先级的设备的优先级降到最低),将未占用的优先级较低的设备的优先级升高(例如,将未占用的优先级最高的设备的优先级升到最高)。如此以尽量将该任务类型分配至较少的设备上执行。例如,任务类型为集货初分、集货初分2、集货初分3,所对应的使用设备的设备优先级分别是交叉带1、交叉带2、交叉带3,交叉带1、交叉带2、交叉带3,交叉带1、交叉带2、交叉带3,当分配了集货初分的任务类型之后,分配集货初分2的任务类型时,发现交叉带1已经是占用的状态、交叉带2、交叉带3是未占用的状态,则更新集货初分2的任务类型的使用设备的设备优先级为:交叉带2、交叉带3、交叉带1。以使得在集货初分2的任务尽量在交叉带2上执行,而不必在穿插在交叉带1上执行一部分,在交叉带2上又执行另一部分。
2062,获取当前任务类型对应的一个班次作为当前班次。可按照班次的时间先后顺序获取当前任务类型对应的班次。
2063,获取当前班次的多个时间段的目标任务数量。
2064,根据设备数量、设备效能和设备优先级,将目标任务数量分配至设备上。
具体地,步骤2064,包括:获取当前任务类型对应的当前班次的第一个时间段的目标任务数量;将该目标任务数量分配至设备上(具体地,将该目标任务数量分配至设备优先级中的第一个设备上,即分配至对应的优先级第一的设备上;判断第一个设备的效能是否满足该目标任务数量;若不满足,则将剩余目标任务数量分配至设备优先级中的下一个设备上,即分配至对应的优先级第二的设备上,直至目标任务数量分配完毕;若设备的总效能低于目标任务数量,则计算剩余任务数量;将剩余任务数量加入到当前任务类型的下一个班次中,如将剩余任务数量加入到当前任务类型的下一个班次的第一个时间段上);获取当前班次的下一个时间段的目标任务数量,将该目标任务数量分配至设备上,直至当前班次的所有时间段的目标任务数量分配完毕。
具体地,在执行步骤2064的过程中,还包括:检测是否接收到当前任务类型的目标任务数量的停止分配指令;若是,重置当前任务类型所对应的当前班次的设备分配状态;将当前任务类型的任务优先级设置为最低优先级,并将当前任务类型的当前班次的多个时间段的目标任务数量移至下一个班次,将当前任务类型的下一个班次以及下一个班次之后的班次作为最低优先级的任务类型所对应的班次。
例如,散货初分的班次包括班次1、班次2、班次3、班次4、班次5、班次6。当执行到散货初分(当前任务类型)的班次3(当前班次)时,接收到当前任务类型的目标任务数量的停止分配指令,则将班次3中多个时间段需处理的目标任务数量移至班次4,例如,将班次3中的多个时间段需处理的目标任务数量相加,移至班次4中的第一个时间段上,将散货初分作为最低优先级的任务类型,将散货初分的班次4、班次5、班次6作为最低优先级的任务类型所对应的班次。当将散货初分的任务类型的目标任务数量分配至设备上时,需要将散货初分的班次4、班次5、班次6的所有时间段的目标任务数量分配至设备上。
如此,可按照用户的需求来暂停某个任务类型的任务的分配和处理。例如,在某个高峰时间段停掉一些可延后处理的任务,保证在尽量少的使用现有设备和人力资源的情况去完成现阶段需完成的任务,提高了鲁棒性。
2065,检测当前任务类型对应的所有班次中的多个时间段的目标任务数量是否都已分配完毕。
若当前任务类型对应的所有班次中的多个时间段的目标任务数量未分配完毕,执行步骤2066;若当前任务类型对应的所有班次中的多个时间段的目标任务数量已分配完毕,则执行步骤2067。
2066,获取当前任务类型对应的下一个班次作为当前任务类型的当前班次。接着执行2063。
2067,检测所有任务类型的目标任务数量是否都已分配完毕。
若所有任务类型的目标任务数量都已分配完毕,结束;若还有任务类型的目标任务数量未分配,则执行步骤2068。
2068,获取下一个任务类型作为当前任务类型,并获取设备数量、设备效能和当前任务类型所对应的使用设备的设备优先级,接着执行步骤2062。
根据以上步骤,将目标任务数量分配至设备上之后,以得到最终的设备调度的情况,具体地,最终得到的设备调度的方案示例图如图6所示。该最终得到的设备调度的方案是根据历史输入任务数量计算获得,可以理解地,该设备调度的方案是计划的调度方案。实际的设备调度方案可按照该计划的调度方案执行。
从图6中可以看出,交叉带4在该班次中并没有使用。因此,通过该方案可进一步确定分拣任务所需要使用的设备数量信息,以方便进一步在新场地上进行设备数量评估。
需要说明的是,按照任务类型进行分配的原因是:首先,每个任务类型所对应的班次可能存在不同,因此,不适合按照班次对每个任务类型进行分配,即不适合按照班次对多个任务类型进行分配;第二,按照任务类型、设备优先级进行目标任务数量分配时,可使得每天分配的同一任务类型的设备尽可能一致,如此,可实现一段时间内某个设备只处理某一个任务类型的任务,避免了将某一个任务类型的任务分配到不同的设备上进行处理,也避免了在短时间内将不同任务类型的任务分配到一个设备上进行处理。其中,尤其是短时间内(如一个小时)将多个不同任务类型的任务先后分配到一个设备上进行处理,在实际调度中难以实现。如此,提高了任务分配以及调度的效率,降低出错率。第三,每天的某段时间内,在一个设备上都是统一处理某一个任务类型的任务的话,便于统一管理,降低了人力成本。例如,员工已经期望任务1在设备1上处理,任务2在设备2上处理,如此维持一个月或者更长时间,形成习惯,避免了每天都需要重新记忆哪个任务在哪个设备上处理,容易出错。或者可以理解地,若在一个设备上处理多个任务类型的任务,则需要相关人员对该多个任务类型的任务都要了解,而且了解多个不同任务类型的调度情况,相对于一个设备上处理较少任务类型的任务来说,便于统一管理,降低了人力成本。
上述方法实施例,首先获取多个任务类型对应的每个班次的多个时间段的历史输入任务数量;再根据历史输入任务数量,来优化多个任务类型对应的每个班次的多个时间段的目标任务数量。确定每个任务类型的设备优先级,以及将任务类型进行优先级排序,最后,根据设备的效能、每个任务类型的设备优先级,将排序后的多个任务类型对应的多个班次的多个时间段的目标任务数量分配至设备上。将任务类型进行优先级排序,以先处理优先级高的任务;对每个任务类型确定设备优先级,以及按照设备优先级和任务类型对目标任务数量进行分配,以实现将同一任务类型尽可能的分配到同一个设备上,提高了任务分配以及调度的效率,且便于统一管理,降低了人工成本。
本发明实施例可根据历史输入任务数量对未来输入任务数量进行优化,具体地,根据历史输入任务数据来确定在未来每个设备上所需处理的目标任务数量,即提前对未来需处理的目标任务数量进行优化,提前对每个设备上需处理的目标任务数量进行布局,提高了对任务分配的效率和合理性,也提高了对每个设备需处理的目标任务数量布局的效率和合理性。
为了更好实施本发明实施例中任务分配方法,在任务分配方法基础之上,本发明实施例中还提供一种任务分配装置。该任务分配装置集成于设备中,该设备可以是服务器,也可以是终端,如手机、Pad、台式电脑等设备。
图7是本发明实施例提供的任务分配装置的示意性框图,该任务分配装置包括任务获取单元301、优化单元302、设备获取单元303以及分配单元304。
任务获取单元301,用于获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,其中,每个任务类型对应有多个班次,每个班次对应多个时间段。
获取的多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,可以是历史某一天内的任务数量数据,也可以是历史一段时间内的每天的任务数据数据。当历史输入任务数量是一段时间内每天的任务数量数据时,则将一段时间内每天的对应任务数量数据进行平均后,得到平均处理任务数据,将该平均处理任务数量作为最终的历史输入任务数量。
也可将一段时间内每天的对应任务数量数据按照工作日和周末分别进行平均后,以分别得到该时间段内的工作日的平均处理任务数量和周末的平均处理任务数量,将该时间段内的工作日的平均处理任务数量和周末的平均处理任务数量作为最终的历史输入任务数量。
获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量;将所获取的多个任务类型对应的每个班次中的多个时间段的历史输入任务数量保存至预设的数据结构中。
优化单元302,用于根据历史输入任务数量,通过预设的任务优化模型优化未来多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量。
具体地,如图8所示,优化单元302包括未来确定单元3021、输入获取单元3022、数量优化单元3023以及第一检测单元3024。
其中,未来确定单元3021,用于根据历史输入任务数量确定未来多个任务类型对应的每个班次中的多个时间段的输入任务数量。
输入获取单元3022,用于获取一个任务类型对应的一个班次中的多个时间段的输入任务数量,作为目标输入任务数量。
数量优化单元3023,用于根据目标输入任务数量,通过预设的任务优化模型优化未来该任务类型所对应的该班次的多个时间段需处理的目标任务数量。其中,预设的任务优化模型可以是预设的线性规划模型。
进一步地,任务分配装置还包括构建单元。在一种情况下,可在优化单元302中,添加构建单元,即优化单元302还包括构建单元3025。构建单元3025,用于构建预设的任务优化模型,具体地,例如构建预设的线性规划模型。构建单元3025,具体用于设置一个任务类型对应的一个班次中的多个时间段所对应的目标输入任务数量参数,并设置优化后的多个时间段所对应的需处理的目标任务数量参数;根据目标任务数量参数,设置目标函数;根据目标输入任务数量参数和目标任务数量参数,设置目标函数的约束条件;根据目标函数和约束条件构建预设的线性规划模型。
其中,根据目标任务数量参数,设置目标函数,包括:根据目标任务数量参数,最小化多个时间段内每个时间段需处理的目标任务数量的峰值;根据目标任务数量参数,最小化多个时间段内需处理的目标任务数量的极差;根据最小化的峰值和最小化的极差,设置目标函数。
其中,根据目标输入任务数量参数和目标任务数量参数,设置目标函数的约束条件,包括:根据目标输入任务数量参数和目标任务数量参数,设置每个时间段之前需处理的目标任务数量之和不超过该时间段之前目标输入任务数量之和;根据目标输入任务数量参数和目标任务数量参数,设置在多个时间段中需处理的目标任务数量之和大于或者等于该多个时间段内的目标输入任务数量之和;根据目标任务数量参数,设置多个时间段中前一个时间段对应的需处理的目标任务数量不超过后一个时间段对应的需处理的目标任务数量;将上述三个条件作为目标函数的约束条件。
第一检测单元3024,用于检测该任务类型所对应的所有班次是否已完成优化。
若该任务类型所对应的所有班次未完成优化,触发输入获取单元3022,以用于获取该任务类型所对应的下一个班次的多个时间段的输入任务数量,作为目标输入任务数量,接着触发数量优化单元3023。若该任务类型所对应的所有班次已完成优化,触发第一检测单元3024,以用于检测所有任务类型所对应的所有班次是否已完成优化。若所有任务类型所对应的所有班次未完成优化,接着触发输入获取单元3022,以用于获取下一个任务类型的一个班次的多个时间段的输入任务数量,作为目标输入任务数量,接着触发数量优化单元3023。
设备获取单元303,用于获取处理任务的设备数量以及每个设备的设备效能。
分配单元304,用于根据设备数量和设备效能,将多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量,分配至设备上。
分配单元304,具体用于获取设备数量和设备效能;获取一个任务类型,作为当前任务类型;获取该当前任务类型对应的一个班次作为当前班次;获取当前班次的多个时间段需处理的目标任务数量;根据设备数量和设备效能,将该目标任务数量分配至设备上;获取该当前任务类型对应的下一个班次作为当前班次,并执行获取当前班次的多个时间段需处理的目标任务数量的步骤,直至该当前任务类型对应的每个班次的多个时间段需处理的目标任务数量都已完成分配;获取下一个任务类型,将该下一个任务类型作为当前任务类型;并执行获取该当前任务类型对应的一个班次作为当前班次的步骤,直至所有任务类型对应的每个班次的多个时间段需处理的目标任务数量都已完成分配。
图9是本发明实施例提供的任务分配装置的示意性框图,该任务分配装置包括任务获取单元301、优化单元302、设备获取单元303、优先级确定单元305、排序单元306以及分配单元304。其中,任务获取单元301、优化单元302、设备获取单元303与上文中描述的一致,在此不再赘述。下面将说明优先级确定单元305、排序单元306。
优先级确定单元305,用于确定多个任务类型所对应的使用设备的设备优先级。
对于每个任务类型,所对应的设备优先级(使用设备偏好顺序)也存在差异。如可根据设备的设备效能来确定设备优先级,还可以接收用户的优先级设置来确定设备优先级,还可以通过其他方式来确定设备优先级。
排序单元306,用于将多个任务类型进行任务优先级排序,以得到排序后的多个任务类型。
一般分拣场景的优先级是集货高于散货(可理解为要尽快将要发送的快递装车以及运输),初分高于细分。任务类型的优先级可根据实际情况进行修改。
分配单元304,用于根据设备数量、设备效能和设备优先级,将排序后的多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量,分配至设备上。
具体地,如图10所示,分配单元304包括任务班次获取单元3041、数量获取单元3042、任务分配单元3043以及第二检测单元3044。
设备任务获取单元3041,用于获取排序后的一个任务类型作为当前任务类型,并获取设备数量、设备效能和当前任务类型所对应的使用设备的设备优先级。可按照排序后的任务优先级从高到底的顺序来获取任务类型。
班次获取单元2042,用于获取当前任务类型的一个班次作为当前班次。可按照班次的时间先后顺序获取当前任务类型的班次。
数量获取单元3043,用于获取当前班次所对应的多个时间段的目标任务数量。
任务分配单元3044,用于根据设备数量、设备效能和设备优先级,将目标任务数量分配至设备上。
进一步地,任务分配单元3044,具体用于获取当前任务类型的当前班次的第一个时间段的目标任务数量;将该目标任务数量分配至设备上(具体地,将该目标任务数量分配至设备优先级中的第一个设备上,即分配至对应的优先级第一的设备上;判断第一个设备的效能是否满足该目标任务数量;若不满足,则将剩余目标任务数量分配至设备优先级中的下一个设备上,即分配至对应的优先级第二的设备上,直至目标任务数量分配完毕;若设备的总效能低于目标任务数量,则计算剩余任务数量;将剩余任务数量加入到当前任务类型的下一个班次中,如将剩余任务数量加入到当前任务类型的下一个班次的第一个时间段上);获取当前班次的下一个时间段的目标任务数量,将该目标任务数量分配至设备上,直至当前班次的所有时间段的目标任务数量分配完毕。
第二检测单元3045,用于检测当前任务类型的所有班次中的多个时间段的目标任务数量是否都已分配完毕。
若当前任务类型的所有班次中的多个时间段的目标任务数量未分配完毕,接着触发班次获取单元3042,以用于获取当前任务类型的下一个班次作为当前任务类型的当前班次,接着触发数量获取单元3043。若当前任务类型的所有班次中的多个时间段的目标任务数量已分配完毕,接着触发第二检测单元3044,以用于检测所有任务类型的目标任务数量是否都已分配完毕。若还有任务类型的目标任务数量未分配,接着触发设备任务获取单元3041,以用于获取下一个任务类型作为当前任务类型,并获取设备数量、设备效能和当前任务类型所对应的使用设备的设备优先级,接着触发班次获取单元3042,以用于获取当前任务类型的一个班次作为当前班次。
进一步地,分配单元304,还包括停止单元3046。其中,停止单元3046,用于检测是否接收到当前任务类型的目标任务数量的停止分配指令;若是,重置当前任务类型所对应的当前班次的设备分配状态;将当前任务类型的任务优先级设置为最低优先级,并将当前任务类型的当前班次的多个时间段的目标任务数量移至下一个班次,将当前任务类型的下一个班次以及下一个班次之后的班次作为最低优先级的任务类型所对应的班次。接着触发任务班次获取单元3041,以用于获取下一个任务类型作为当前任务类型,并获取设备数量、设备效能和当前任务类型所对应的使用设备的设备优先级。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
本发明实施例还提供一种计算机设备,其集成了本发明实施例所提供的任一种任务分配装置,所述计算机设备包括:
一个或多个处理器;存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述任一实施例中所述的任务分配方法中的步骤。
如图11所示,其示出了本发明实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器301、一个或一个以上计算机可读存储介质的存储器302、电源303和输入单元304等部件。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器301是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,其中,每个任务类型对应有多个班次,每个班次对应多个时间段;
根据所述历史输入任务数量,通过预设的任务优化模型优化未来所述多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量;
获取处理任务的设备数量以及每个设备的设备效能;
根据所述设备数量和所述设备效能,将所述多个任务类型对应的每个班次中的多个时间段需处理的所述目标任务数量,分配至所述设备上。
该计算机设备可以实现本发明实施例所提供的任务分配方法任一实施例中的步骤,因此,可以实现本发明实施例所提供的任一任务分配方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种任务分配方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,其中,每个任务类型对应有多个班次,每个班次对应多个时间段;
根据所述历史输入任务数量,通过预设的任务优化模型优化未来所述多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量;
获取处理任务的设备数量以及每个设备的设备效能;
根据所述设备数量和所述设备效能,将所述多个任务类型对应的每个班次中的多个时间段需处理的所述目标任务数量,分配至所述设备上。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种任务分配方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种任务分配方法,其特征在于,包括:
获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,其中,每个任务类型对应有多个班次,每个班次对应多个时间段;
根据所述历史输入任务数量,通过预设的任务优化模型优化未来所述多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量;
获取处理任务的设备数量以及每个设备的设备效能;
根据所述设备数量和所述设备效能,将所述多个任务类型对应的每个班次中的多个时间段需处理的所述目标任务数量,分配至所述设备上。
2.如权利要求1所述的任务分配方法,其特征在于,所述根据所述历史输入任务数量,通过预设的任务优化模型优化未来所述多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量,包括:
步骤1021,根据所述历史输入任务数量确定未来所述多个任务类型对应的每个班次中的多个时间段的输入任务数量;
步骤1022,获取一个任务类型对应的一个班次中的多个时间段的输入任务数量,作为目标输入任务数量;
步骤1023,根据所述目标输入任务数量,通过预设的任务优化模型优化未来所述任务类型所对应所述班次的多个时间段需处理的目标任务数量;
重复步骤1022~1023,直至多个任务类型对应的每个班次的多个时间段需处理的目标任务数量都已优化完成。
3.如权利要求1或者2所述的任务分配方法,其特征在于,预设的任务优化模型,通过以下步骤构建:
设置一个任务类型对应的一个班次中的多个时间段所对应的目标输入任务数量参数,并设置优化后的多个时间段所对应的需处理的目标任务数量参数;
根据所述目标任务数量参数,设置目标函数;
根据所述目标输入任务数量参数和所述目标任务数量参数,设置所述目标函数的约束条件;
根据所述目标函数和所述约束条件构建所述预设的任务优化模型。
4.如权利要求3所示的任务分配方法,其特征在于,所述根据所述目标任务数量参数,设置目标函数的步骤,包括:
根据所述目标任务数量参数,最小化多个时间段内每个时间段需处理的目标任务数量的峰值;
根据所述目标任务数量参数,最小化多个时间段内需处理的目标任务数量的极差;
根据最小化的所述峰值和最小化的所述极差,构建目标函数。
5.如权利要求1所述的任务分配方法,其特征在于,在所述根据所述设备数量和所述设备效能,将所述多个任务类型对应的每个班次中的多个时间段需处理的所述目标任务数量,分配至所述设备上的步骤之前,还包括:
确定所述多个任务类型所对应的使用设备的设备优先级;
将所述多个任务类型进行任务优先级排序,以得到排序后的所述多个任务类型;
所述根据所述设备数量和所述设备效能,将所述多个任务类型对应的每个班次中的多个时间段需处理的所述目标任务数量,分配至所述设备上,包括:根据所述设备数量、所述设备效能和所述设备优先级,将排序后的所述多个任务类型对应的每个班次中的多个时间段需处理的所述目标任务数量,分配至所述设备上。
6.如权利要求5所述的任务分配方法,其特征在于,所述根据所述设备数量、所述设备效能,和所述设备优先级,将排序后的所述多个任务类型对应的每个班次中的多个时间段需处理的所述目标任务数量,分配至所述设备上,包括:
2061,获取排序后的一个任务类型作为当前任务类型,并获取所述设备数量、所述设备效能和当前任务类型所对应的使用设备的设备优先级,
2062,获取所述当前任务类型对应的一个班次作为当前班次;
2063,获取所述当前班次的多个时间段的目标任务数量;
2064,根据所述设备数量、所述设备效能和所述设备优先级,将所述目标任务数量分配至设备上;
重复执行步骤2062~2064,直至当前任务类型对应的每个班次中的多个时间段的目标任务数量都已分配完毕;
重复执行步骤2061~2064,直至所有任务类型对应的每个班次中的多个时间段的目标任务数量都已分配完毕。
7.如权利要求1所述的任务分配方法,其特征在于,在执行所述根据所述设备数量、所述设备效能和所述设备优先级,将所述目标任务数量分配至设备上的步骤的过程中,还包括:
检测是否接收到所述当前任务类型的所述目标任务数量的停止分配指令;
若是,重置所述当前任务类型所对应的当前班次的设备分配状态;
将所述当前任务类型的任务优先级设置为最低优先级,并将所述当前任务类型的当前班次的多个时间段的目标任务数量移至下一个班次,将所述当前任务类型的下一个班次以及下一个班次之后的班次作为所述最低优先级的任务类型所对应的班次。
8.一种任务分配装置,其特征在于,包括:
任务获取单元,用于获取多个任务类型对应的每个班次中的多个时间段的历史输入任务数量,其中,每个任务类型对应有多个班次,每个班次对应多个时间段;
优化单元,用于根据所述历史输入任务数量,通过预设的任务优化模型优化未来所述多个任务类型对应的每个班次中的多个时间段需处理的目标任务数量;
设备获取单元,用于获取处理任务的设备数量以及每个设备的设备效能;
分配单元,用于根据所述设备数量和所述设备效能,将所述多个任务类型对应的每个班次中的多个时间段需处理的所述目标任务数量,分配至所述设备上。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;存储器;以及一个或多个应用程序,其中所述处理器和所述存储器相连接,所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至7中任一项所述的任务分配方法。
10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的任务分配方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911284481.2A CN112990624A (zh) | 2019-12-13 | 2019-12-13 | 一种任务分配方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911284481.2A CN112990624A (zh) | 2019-12-13 | 2019-12-13 | 一种任务分配方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112990624A true CN112990624A (zh) | 2021-06-18 |
Family
ID=76341936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911284481.2A Pending CN112990624A (zh) | 2019-12-13 | 2019-12-13 | 一种任务分配方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112990624A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342535A (zh) * | 2021-06-30 | 2021-09-03 | 中国工商银行股份有限公司 | 任务数据分配方法及装置 |
CN117093364A (zh) * | 2023-08-08 | 2023-11-21 | 国网湖南省电力有限公司 | 实时量测数据的并行处理方法及系统、电子设备、介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268349A1 (en) * | 2003-06-30 | 2004-12-30 | Sabre Inc. | Systems, methods and computer program products for assigning at least one task to at least one shift |
CN105427021A (zh) * | 2015-10-30 | 2016-03-23 | 江苏云道信息技术有限公司 | 一种服装智能排产方法 |
CN108230049A (zh) * | 2018-02-09 | 2018-06-29 | 新智数字科技有限公司 | 订单的预测方法及系统 |
CN108564247A (zh) * | 2018-03-02 | 2018-09-21 | 阿里巴巴集团控股有限公司 | 数据调整方法、装置及服务器 |
CN109165871A (zh) * | 2018-09-18 | 2019-01-08 | 龙岩烟草工业有限责任公司 | 自动排产方法、装置及计算机可读存储介质 |
-
2019
- 2019-12-13 CN CN201911284481.2A patent/CN112990624A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268349A1 (en) * | 2003-06-30 | 2004-12-30 | Sabre Inc. | Systems, methods and computer program products for assigning at least one task to at least one shift |
CN105427021A (zh) * | 2015-10-30 | 2016-03-23 | 江苏云道信息技术有限公司 | 一种服装智能排产方法 |
CN108230049A (zh) * | 2018-02-09 | 2018-06-29 | 新智数字科技有限公司 | 订单的预测方法及系统 |
CN108564247A (zh) * | 2018-03-02 | 2018-09-21 | 阿里巴巴集团控股有限公司 | 数据调整方法、装置及服务器 |
CN109165871A (zh) * | 2018-09-18 | 2019-01-08 | 龙岩烟草工业有限责任公司 | 自动排产方法、装置及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
阎俊爱: "《城市智能型防洪减灾决策支持系统研究》", 31 March 2005, 中国科学技术出版社, pages: 139 - 140 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342535A (zh) * | 2021-06-30 | 2021-09-03 | 中国工商银行股份有限公司 | 任务数据分配方法及装置 |
CN117093364A (zh) * | 2023-08-08 | 2023-11-21 | 国网湖南省电力有限公司 | 实时量测数据的并行处理方法及系统、电子设备、介质 |
CN117093364B (zh) * | 2023-08-08 | 2024-04-02 | 国网湖南省电力有限公司 | 实时量测数据的并行处理方法及系统、电子设备、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ma et al. | Optimized rescheduling of multiple production lines for flowshop production of reinforced precast concrete components | |
JP7006682B2 (ja) | 作業管理装置、作業管理方法およびプログラム | |
CN108846623A (zh) | 基于多目标蚁群算法的整车物流调度方法及装置、存储介质、终端 | |
Urban et al. | Designing energy-efficient serial production lines: The unpaced synchronous line-balancing problem | |
CN109284895A (zh) | 项目任务分配方法、装置、计算机设备及存储介质 | |
Selcuk et al. | The effect of updating lead times on the performance of hierarchical planning systems | |
CN112990624A (zh) | 一种任务分配方法、装置、设备及存储介质 | |
CN112396362A (zh) | 行驶目的地的确定方法、装置及存储介质 | |
CN113935586A (zh) | 基于深度强化学习的云订单动态接受与调度方法 | |
CN115239223A (zh) | 分拨中心任务调度方法、装置、设备及存储介质 | |
CN112101831A (zh) | 货物的出库方法、装置、介质及电子设备 | |
CN112149925A (zh) | 仓储任务自动分拨方法和装置、仓储管理方法和系统 | |
CN111105133B (zh) | 生产调度方法、计算机设备以及存储介质 | |
Biele et al. | Decomposition methods for cost and tardiness reduction in aircraft manufacturing flow lines | |
Ferretti et al. | Batch energy scheduling problem with no-wait/blocking constraints for the general flow-shop problem | |
CN112416596A (zh) | 一种节点调度方法、装置及设备 | |
CN112801484A (zh) | 一种考虑配料误差的物料配送调度方法和系统 | |
Rabbani et al. | A new AATP model with considering supply chain lead-times and resources and scheduling of the orders in flowshop production systems: A graph-theoretic view | |
CN112990628A (zh) | 分拣设备调度方法、装置及计算机可读存储介质 | |
CN115730888A (zh) | 货品库存分配方法及装置 | |
CN112801437A (zh) | 分拣设备调度方法、装置、电子设备及存储介质 | |
CN113343166A (zh) | 一种基于离散事件仿真的物流库存管理系统 | |
Erhun et al. | Interaction of design and operational parameters in periodic review kanban systems | |
JP7135326B2 (ja) | リソース割当最適化システム、リソース割当最適化方法およびリソース割当最適化プログラム | |
CN113537673A (zh) | 分拣设备调度方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |