CN114862065A - 社工任务规划方法、装置、电子设备及存储介质 - Google Patents
社工任务规划方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114862065A CN114862065A CN202210780898.3A CN202210780898A CN114862065A CN 114862065 A CN114862065 A CN 114862065A CN 202210780898 A CN202210780898 A CN 202210780898A CN 114862065 A CN114862065 A CN 114862065A
- Authority
- CN
- China
- Prior art keywords
- task
- subtask
- tasks
- sequence
- preset
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 95
- 238000000137 annealing Methods 0.000 claims abstract description 23
- 241000257303 Hymenoptera Species 0.000 claims description 62
- 239000003016 pheromone Substances 0.000 claims description 29
- 238000012163 sequencing technique Methods 0.000 claims description 26
- 238000009826 distribution Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 238000005457 optimization Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000002068 genetic effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002354 daily effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003340 mental effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000003245 working effect Effects 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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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/06316—Sequencing of tasks or work
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Entrepreneurship & Innovation (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Marketing (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Physiology (AREA)
- Genetics & Genomics (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为本申请实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
在本申请中,除非另有明确的规定和限定,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包含至少一个特征。在本发明中的描述中,“多个”的含义是至少两个,例如两个、三个,除非另有明确具体的限定。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
社工在社区建设中扮演着越来越重要的角色,社区工作复杂多变,每个社区每日都有来源于不同业务条线的大量事项任务,如何把整个社区的任务合理地拆分成社工个人的任务集并和社工个人相匹配较为困难。此外,受社工数量的影响以及每个社工个人任务集数量的影响,若社工数量不足或者社工个人任务集中、任务过多时,如果仅靠社工个人经验来安排自己每天的任务执行情况(包括任务执行时间和路径规划),可能会出现任务来不及完成或者大量时间浪费于路程往返的情况。除此之外,社工工作中还可能存在突发情况,不同任务也有优先级(例如完成时间的优先级、完成次序的优先级等)和完成时间的限制。以上种种都决定了社区以及社工很难依靠个人脑力来合理、高效地规划并按时完成任务。
近年来,对于求解大任务集的最优方法,主要使用分治法(Divide-and-ConquerAlgorithm)来解决问题。分治法将一个复杂的问题分解成多组相同或类似的子问题,然后对这些子问题再分直到最后的子问题可以进行简单求解。但是对于上述的社区任务集生成问题不能简单地使用一分再分的方法,因为从现实情况来看,社区任务集的划分只能进行一次,而且社区的任务有时间窗口的限制。此外,分治算法作为一种穷尽算法,当任务数量很大时通常会耗费大量的时间得到结果。因此如何将分治的算法思想应用到社区子任务集的生成问题上仍值得商榷。
对于子任务集的分配算法,已经有诸如回溯法、分支界限法、匈牙利算法等许多成熟的方法,这些算法假设每个人完成所有任务的代价已知,然后通过各自的算法得到最优的总代价。易见任务代价是这些算法中不可或缺的因素,然而在社工的任务分配问题上并没有现成的方法去计算个人对于任务的代价,此外计算出上述代价的关联因素繁多,如何从中选取一些关键因素也是一个挑战。
社工个人的路径规划问题实际上是TSP(Traveling Salesman Problem,旅行商)问题,通过动态规划、遗传算法、分支界限法等都能高效地得到某种程度上的最优解,但是这些算法容易陷入局部最优解。同时原始的旅行商问题各个节点是没有权重,但社工的任务有着不同的权重,简单的把解决TSP问题的算法用的社工的路径规划上势必会导致很多问题,甚至可能严重降低原有算法的性能。
针对目前依靠调度人员脑力决策很难实现合理、高效的任务划分、分配与路径规划的问题,本申请实施例提供了多种可能的实现方式,以实现对任务的合理划分、分配与路径规划。如下结合附图通过多个示例进行解释说明。图1为本申请一实施例提供的一种社工任务规划方法的流程图,该社工任务规划方法可由运行有上述社工任务规划方法的电子设备实现,该电子设备例如可以为终端设备,也可以为服务器。如图1所示,该方法包括:
步骤101:根据预设社区的任务集中各任务的属性,采用蚁群算法,将任务集划分为多个子任务集。
需要说明的是,近几年,启发式算法已经广泛应用到解决现实生活中的各种问题。比如在国防现代化、控制工程、经济调度、机械加工等领域都存在大量的优化问题,一些实际工程优化问题往往是多极值点的复杂优化问题,求取全局最优点的启发式算法已经成为了焦点。本申请所要解决的社工问题实际上也是一种最优化问题,由此,本申请通过蚁群算法对任务集进行划分,进而得到全局最优的子任务集。蚁群算法(Ant ClonyOptimization, ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agent)通过相互协作而表现出智能行为,从而为求解复杂问题提供了一个新的可能性。
在一种可能的实现方式中,预设社区的任务集中各任务的属性代表的是各个任务的性质和/或任务集中各个任务之间的关系,该属性例如可以为任务的地点、任务的时间、任务执行的方式等,本申请对此不做限定;此外,每个任务还可以包括多个属性,本申请对属性的具体类型、数量等也不做限定,只要该属性可以通过蚁群算法,辅助进行子任务集划分即可。
在另一种可能的实现方式中,可以基于其他各类的启发式算法,例如遗传算法通过设定特定完成任务的代价,每次繁衍迭代向着更小的完成代价变化,最终得出子任务的划分解,或是基于已有数据与经验用传统编程实现子任务集的初始化,在后续的路径规划中实时调整。
步骤102:根据子任务集中各任务的属性以及预设社区内多个社工的属性,将子任务集分配至对应的目标社工。
通过步骤101得到多个子任务集之后,需要将每个子任务集与社工进行匹配,即为每个子任务集分配对应的目标社工。
在一种可能的实现方式中,可以通过子任务集中各任务的属性以及预设社区内多个社工的属性实现对子任务集的分配,其中,子任务集中各任务的属性表征的是子任务集的性质和/或该子任务集中各个任务之间的关系,该子任务集中各任务的属性例如可以为以下一项或多项:子任务集中的任务数、子任务集的平均任务消耗时间、子任务集的平均任务权重、子任务集中每种条线任务的数量、子任务集中每种类型任务的数量等,本申请对子任务集中各任务的属性包括的具体属性类型、数量等不做限定。
在另一种可能的实现方式中,可以采用自适应任务算法实现子任务集的分配;也可以使用神经网络、启发式算法(如蚁群算法、遗传算法、动态规划算法)等解决方法。但是在使用神经网络、启发式算法(如蚁群算法、遗传算法、动态规划算法)等算法时,需要一个比较明确的优化目标(例如最小的耗时,最小的路径等)。而针对于社工子任务集合的分配而言,从适合性角度上来衡量,很难有一个较为量化的指标。因此可以通过统计学的方式,根据先验知识获取社工任务信息与社工能力信息的关联性适应性权重来衡量每个社工子任务集与社工的适合度。上述仅为示例说明,在实际实现中,还可以有其他子任务集分配算法的可能实现方式,本申请对此不做限定。
步骤103:采用退火算法,对子任务集中的任务进行路径规划,得到子任务集对应的任务完成路径,任务完成路径用于指示目标社工执行子任务集中任务的先后次序。
为了合理规划社工在执行一个子任务集任务时的执行路径,本申请采用了退火算法对子任务集中的任务进行路径规划,得到子任务集对应的任务完成路径。
需要说明的是,子任务集中的任务进行路径规划实际上是一个旅行商问题,由于本申请针对社工任务的使用场景,在完成所有的子任务集中的任务后,不需要回到起点,因此不能简单的套用目前在旅行商问题中常用的蚁群算法、遗传算法、动态规划算法等算法;其次,使用退火算法相较于神经网络等方法而言,不需要耗费大量的数据和精力训练模型(事实上,在项目初期很缺乏数据,无法进行模型训练),且神经网络训练得到的模型庞大且不易迁移到软件开发中;进一步地,本申请的退火算法还可以使用带权路径规划算法,从而更好地实现对社工子任务集的路径规划。
综上,本申请实施例提供一种社工任务规划方法,首先根据预设社区的任务集中各任务的属性,采用蚁群算法,将任务集划分为多个子任务集;其后,根据子任务集中各任务的属性以及预设社区内多个社工的属性,将子任务集分配至对应的目标社工;再采用退火算法,对子任务集中的任务进行路径规划,得到子任务集对应的任务完成路径。本申请以蚁群算法为基础,设计了一种子任务集划分方法,将任务集划分为多个子任务集,解决了凭借社工很难合理有效进行任务划分的困难;在此基础上,根据社工的属性以及子任务集中各任务的属性,为每个子任务集匹配合适的社工,使得社工能够发挥自身实力,提高工作效率;最后,通过退火算法为每个社工规划处适合的路径,解决了社工在进行任务处理时由于路径规划不当导致的时间浪费或者其他处理问题。综上,本申请的社工任务规划方法的架构能够很好地帮助社区实现切合实际且高效的子任务集划分、匹配,以及路径规划,为社工的日常工作提供更大的便利。
可选的,在上述图1的基础上,本申请还提供一种社工任务规划方法的可能实现方式,任务集中各任务的属性包括:任务集中各任务的时间窗口;图2为本申请又一实施例提供的一种社工任务规划方法的流程图;如图2所示,步骤101:根据预设社区的任务集中各任务的属性,采用蚁群算法,将任务集划分为多个子任务集,包括:
步骤201:根据时间窗口,采用预设的蚁群算法的多个蚂蚁,分别在任务集中搜索,得到多个蚂蚁对应的任务搜索路径,每个蚂蚁对应到的任务搜索路径覆盖了任务集中的所有任务。
需要说明的是,任务集中各任务的属性包括:任务集中各任务的时间窗口,时间窗口是该任务对应的完成时间。例如假设任务j的时间窗口为[,],其中、代表的是一个具体时间点(比如某年某月某日某时某分),时间窗口指的是任务j需要在、之间的时间完成(若任务j需要的任务花费时间为,则应当包含在与之间,即任务j的开始时间和完成时间要在[,]这个范围内)。一般地,可以时间窗的两端的时间可以在同一天,也可以在不同天,本申请对此不做限定。由于任务j的开始时间与完成时间在[,]范围之内,其开始时间较越远,则开始时间越宽松,当发生突发时间时,调整的灵活度越大,同理,其完成时间较越远,则完成时间约宽松,灵活度越大。本申请对每个任务的时间窗具体的设定方法不做限定,用户可以根据实际需要进行设定,也可以通过相关算法进行计算(例如使用算法根据任务的权重、紧急程度等计算时间窗)等。
根据时间窗口,采用多个蚂蚁在任务集中进行搜索,每只蚂蚁都不重复地完成对任务集中所有任务的搜索,并得到了每只蚂蚁对应的任务搜索路径。在一种具体的实现方式中,可以基于社工工作的性质(社工在非任务状态时通常在统一的地点工作),可以规定所有蚂蚁初始位置都在同一个地点(例如可以设置起始位置为配送中心、社工活动大厅等),所有路径上信息素含量相同,每只蚂蚁从起点出发后,可以选择自己的下一个移动地点,并使用禁忌表记录每一只蚂蚁经过地点的顺序,从而避免蚂蚁重复进入同一地点。
步骤202:根据多个蚂蚁对应的任务搜索路径上任务之间的距离,从多个蚂蚁对应的任务搜索路径中确定最优任务搜索路径,并更新最优任务搜索路径上任务之间的信息素浓度。
根据上述每个蚂蚁对应的任务搜索路径,以及该任务搜索路径上相邻任务之间的距离,可以得到每个蚂蚁对应的任务搜索路径上任务之间的距离,即该任务搜索路径相邻任务之间的距离之和(总距离),从这些距离中,可以确定一个最优的搜索路径,这个最优搜索路径是任务搜索路径上任务之间的距离最短的一条路径,确定这条最优任务搜索路径之后,根据该最优任务搜索路径,对最优任务搜索路径上任务之间的信息素浓度进行更新。
在另一种可能的实现方式中,确定这条最优任务搜索路径之后,比较该最优任务搜索路径与前一次得到的最优任务搜索路径,若该最优任务搜索路径优于前一次得到的最优任务搜索路径,则根据该最优任务搜索路径进行信息素浓度更新;若该最优任务搜索路径不优于前一次得到的最优任务搜索路径,则根据该最优任务搜索路径不进行信息素浓度更新或者进行零更新,通过上述方式,在多次迭代之后可以得到全局最优的最优任务搜索路径。
在又一种可能的实现方式中,在多个蚂蚁构建完任务搜索路径,并从中选出最优任务搜索路径(或者全局最优任务搜索路径)后,可以根据如下公式对最优任务搜索路径任务之间的信息素浓度进行更新:
在此基础上,若按照上述方法中寻找全局最优任务搜索路径的方式进行信息素更新时,若该最优任务搜索路径不优于前一次得到的最优任务搜索路径,则根据该任务搜索路径不进行信息素浓度更新或者进行零更新。
在一种具体的实现方式中,可以根据任务集中的任务数量建立信息素矩阵,例如任务数为10,那么τ是11×11的信息素矩阵,矩阵中的任意一个数据对应的是该行对应的任务与该列对应的任务之间的信息素浓度。由此,上述公式中的为更新之前的信息素浓度矩阵,为更新后的信息素浓度矩阵,上述仅为更新方式的示例性说明,在实际实现中,还可以有其他的更新形式,本申请对此不做限定。
步骤203:重新采用多个蚂蚁,在任务集中搜索,得到多个蚂蚁对应的新的任务搜索路径,直至达到预设迭代停止条件。
通常地,需要多次重复上述步骤并不断对信息素浓度进行跟新,从而得到期望的最优任务搜索路径,因此可以通过设置预设迭代停止条件对整体的执行次数进行限定。
在一种可能的实现方式中,在第一次采用预设的蚁群算法的多个蚂蚁时,可以初始化迭代次数Iter,并设置一个迭代最大次数Maxiter,例如初始化令Iter=0,在完成步骤202的更新信息素浓度后,认为完成了一次迭代,增加迭代次数,例如令Iter=Iter+1。其后,比较Iter与Maxiter,若,则认为未达到预设迭代停止条件,重新采用多个蚂蚁,执行上述步骤201和步骤202,并增加迭代次数,直到时,认为达到预设迭代停止条件,此时更新后信息素浓度所指示的最优路径即为目标最优任务搜索路径,并可以由此得到当前最短路径bestcost(即当前最优任务搜索路径的距离)。
在一种具体的实现方式中,若每次对当次的最优任务搜索路径与前一次的最优任务搜索路径进行对比后根据上述全局最优任务搜索路径的方式进行信息素更新时,可以通过对比达到预设迭代停止条件前得到的最优任务搜索路径与前一次最优任务搜索路径相比,即可得到目标最优任务搜索路径。上述仅为示例说明,在实际实现中,还可以有其他的实现方式,本申请对此不做限定。
步骤204:对达到预设迭代停止条件时的目标最优任务搜索路径进行解码,得到多个子任务集。
得到达到预设迭代停止条件时的目标最优任务搜索路径后,对该目标最优任务搜索路径进行解码,即可得到多个子任务集。
在一种可能的实现方式中,可以通过数量、距离、时间等约束条件对目标最优任务搜索路径进行解码,本申请对具体的解码方式不做限定。
通过上述方法,以蚁群算法为基础,通过设定时间窗口,设计了一种适用于社区子任务集划分的算法,凭借此算法可以在下述预设任务约束条件的基础上,以最小的时间和路径代价把一个社区所有的任务划分成分配给个人的任务子集,解决了凭借社工很难合理有效派发任务的困难。
可选的,在上述图2的基础上,任务集中各任务的属性还包括:地理坐标;本申请还提供一种社工任务规划方法的可能实现方式,图3为本申请另一实施例提供的一种社工任务规划方法的流程图;如图3所示,根据时间窗口,采用预设的蚁群算法的多个蚂蚁,分别在任务集中搜索,得到多个蚂蚁对应的任务搜索路径之前,方法还包括:
步骤301:根据地理坐标,计算任务集中每两个任务之间的距离。
在一种可能的实现方式中,任务地点的地理坐标可以用二维平面坐标表示,例如每个任务的任务地点的地理坐标为和起始位置的地理坐标,按照任务搜索路径的顺序,可以计算得到每个蚂蚁对应的任务搜索路径上各个任务之间的距离,并以此得到每个任务搜索路径的距离。上述仅为示例说明,在实际实现中,地理坐标也可以是经纬度坐标、地图坐标、三维坐标等,本申请对此不做限定。
获得上述每个蚂蚁对应的任务搜索路径后,由于每个任务都有对应的任务地点,通过任务地点之间的距离即可确定每个蚂蚁对应的任务搜索路径上任务之间的距离,即该任务搜索路径对应的距离之和,从而得到了多个蚂蚁对应的多个任务路径的距离。
在一种具体的实现方式中,可以将每个任务地点的地理坐标转换成间的距离矩阵,从而便于后续对距离的使用处理等。
步骤302:根据时间窗口和地理坐标,计算从预设初始位置到达各任务的等待时间。
根据地理坐标可以计算出任务i与任务j之间的距离,根据可以计算得到社工到达任务j的时间为(例如可以通过距离除以平均速度或者设定速度的方式进行计算),任务j的左右时间窗口,通过任务j的左右时间窗口以及社工到达任务j的时间为,可以计算得到从预设初始位置到达各任务的等待时间,例如任务j的等待时间。上述仅为示例说明,在实际实现中,还可以通过其他的公式进行计算,本申请对此不做限定。
根据时间窗口,采用预设的蚁群算法的多个蚂蚁,分别在任务集中搜索,得到多个蚂蚁对应的任务搜索路径,包括:
步骤303:根据每两个任务之间的距离、等待时间和时间窗口,采用多个蚂蚁,分别在任务集中搜索,得到多个蚂蚁对应的任务搜索路径。
在一种具体的实现方式中,蚂蚁可以根据当前地点面对的各条路径上的信息素浓度,选择下一个移动的地点。在蚁群算法中,大的信息素浓度代表着更优解;能见度越大表示两个任务之间的距离越小;蚂蚁在单个任务的等待时间越长整体优化效果越差;任务时间窗宽度越窄,该任务的需求越急迫;任务时间窗宽度越宽,则完成任务的选择余地越大。因此我们综合考虑信息素浓度、能见度、等待时间和时间窗口来为在i点的蚂蚁ant_k确定下一个前进的点j提供依据,其具体的选择公式为:
此外,上述公式(3)、(4)中还包括如下常量:γ为任务时间窗的影响因子、δ为任务等待时间的影响因子、β为当前任务能见度影响因子、α为信息素浓度影响因子。上述常量可以根据实际使用环境进行设置,例如可以示例性地设置如下:
α=1,β=3,δ=3,γ=2, ,本申请对此不做限定。
在又一种具体的实现方式中,记录每只蚂蚁前进的路径直至为空集合或者当蚂蚁从初始位置出发完成的任务数量大于(为单个蚂蚁能完成的任务数上限)时,此时蚂蚁必须返回初始位置,然后再次从初始位置出发按照上述公式访问未到达的地点,循环往复,直到所有顾客都被服务完毕,这样一只蚂蚁的任务搜索路径才算构建完毕。
在另一种具体的实现方式中,每只蚂蚁每次选择,都可以产生一个(0,1)之间的随机数并且比较其和轮盘赌法界限值的大小,设为轮盘赌法界限值,是一个超参数,需要人为设定(具体方法是根据经验设定一个初始值,再根据最后结果调整它的大小直至达到一个比较好的效果),例如可以设,若则从中Q选出最大的,对应的j点作为蚂蚁下一个前进的点;若则算出中每个地点j在轮盘赌算法中被选中的概率,然后进行轮盘赌算法选择蚂蚁下一个前进地点。上述仅为一种蚂蚁前进方向确定的可能实现方式,在具体实现中,还可以有其他的实现方式,本申请对此不做限定。
可选的,在上述图2的基础上,本申请还提供一种社工任务规划方法的可能实现方式,步骤204:对达到预设迭代停止条件时的目标最优任务搜索路径进行解码,得到多个子任务集,包括:
根据预设任务约束条件,从目标最优任务搜索路径中依次取出任务,生成多个子任务集,每个子任务集满足预设任务约束条件。
得到目标最优任务搜索路径之后,需要将任务集根据目标最优任务搜索路径进行子任务集的划分,划分后的每个子任务集对应的是一个社工的任务。因此,由于单个社工的工作时间、工作能力等限制,在进行子任务集划分时,需要对子任务集中的任务数量,或者任务时长,或者任务难度等进行限制,即设置预设任务约束条件。
在一种可能的实现方式中,预设任务约束条件可以是对单个子任务集中任务数量的限制,也可以是对单个子任务集中任务平均难度的限制,还可以是对单个子任务集中任务累计时间的限制等,本申请对预设任务约束条件的具体条件内容不做限定,用户可以根据实际使用需要进行灵活设置。
利用预设任务约束条件作为约束条件,根据目标最优任务搜索路径指示的顺序生成多个子任务集,使得生成的每个子任务集满足预设任务约束条件的要求,从而实现对子任务集的合理划分。
可选的,在上述实施例的基础上,本申请还提供一种社工任务规划方法的可能实现方式,图4为本申请再一实施例提供的一种社工任务规划方法的流程图;如图4所示,根据预设任务约束条件,从目标最优任务搜索路径中依次取出任务,生成多个子任务集,包括:
步骤401:从目标最优任务搜索路径中取出任务,并将取出的任务预加入一个子任务集中。
一方面,由于目标最优任务搜索路径包括全部任务路径,需要进行进一步解码,才能确定每个子任务集中包括的任务;另一方面,若蚂蚁从初始位置出发完成的任务数量大于时,蚂蚁必须返回初始位置,然后再次从初始位置出发按照上述公式访问未到达的地点。在此过程中,蚂蚁会不定时返回初始位置,因此得到的目标最优任务搜索路径并不能直接作为子任务集,需要对目标最优任务搜索路径进行解码。
需要说明的是,目标最优任务搜索路径按照从起始位置开始到目标最优任务搜索路径最后一个任务为止,形成了一个有顺序的路径序列(该序列中可能不包括起始位置)。上述步骤中从目标最优任务搜索路径中取出的第一个任务是按照上述顺序第一个可取出的任务。例如在进行第一个子任务集的生成时,第一个任务是起始位置之后的一个任务;在进行第i+1(i>0)个子任务集的生成时,第一个任务是最后一个加入第i个子任务集的任务之后的一个任务。
步骤402:若预加入任务后的一个子任务集满足预设任务约束条件,则继续从目标最优任务搜索路径中取出任务,直至取出的任务预加入一个子任务集后不满足预设任务约束条件,并确定预加入任务之前的子任务集为一个目标任务集。
检查加入预加入任务后,该子任务集是否满足预设任务约束条件,若满足预设任务约束条件,则把该任务真正加入子任务集中,更新子任务集;再次从目标最优任务搜索路径中按顺序取出下一个任务并预加入该子任务集中,重复步骤402的判断,直到在一次判断中发现某个任务预加入该子任务集后,该子任务集不满足预设任务约束条件,则不把该任务加入任务集中,此时该子任务集生成结束,确定该子任务集为一个目标子任务集,另,并开始进行下一个子任务集的选取。
在一种可能的实现方式中,预设任务约束条件可以是任务承载能力约束或者时间窗约束,任务承载能力约束表示的是每个社工可以承载的最大任务数量,时间窗约束表示的是每个社工可以执行任务的时间。
步骤403:继续从目标最优任务搜索路径中取出任务,直至目标最优任务搜索路径中的任务被取完,并确定任务取完时得到的所有目标子任务集为多个子任务集。
重复上述步骤,直到目标最优任务搜索路径中的任务被取完,并得到任务取完时得到的所有目标子任务集为多个子任务集。
在一种可能的实现方式中,还可以由此获得多个子任务集的子任务集数量。
在一种具体的实现方式中,假设V为社工集,社工集,其中m为社工数量,每个子任务集的任务承载能力为Q;任务集中共有n个任务,任务集,i=0时为起始位置;任务i的需求为;任务i允许完成时间窗口为;从任务i到任务j总花费时间为,中包括通勤时间和一些额外的时间(例如浮动时间等,浮动时间是在平均行驶时间的基础上,根据实际情况进行的浮动,一般地,可以设置);设为社工k到达任务i的时间,则。
若设:
则任务集划分问题的目标函数为:
预设任务约束条件为:
其中,公式(7) 表示任务集中每个任务被完成且仅完成一次;
公式(8)表示社工任务数量不超过任务承载能力,即每个子任务集中的数量不超过任务承载能力的数量;
公式(9)(10)(11)表示每个社工都从起始位置出发,完成若干不重复的任务后,最后返回分配中心;
公式(13)表示时间窗口的约束。
在另一种具体的实现方式中,假设目标最优任务搜索路径为351426(每个数字代表一个任务),从头依次进行解码。
首先将任务3预先添加到第一子任务集中,此时第一子任务集只有任务3,检查第一子任务集是否满足预设任务约束条件,检查完若确定其满足预设任务约束条件,则将任务3添加到第一个子任务集中,更新子任务集1,即为[3];
然后再将任务5预先添加到第一子任务集中,此时第一子任务集为[3,5],检查是否满足预设任务约束条件,若确定满足预设任务约束条件,则更新第一子任务集,即为[3,5];
然后再将任务1预先添加到第一子任务集中,此时第一子任务集为[3,5,1],检查是否满足预设任务约束条件,若确定满足预设任务约束条件,则更新第一任务集1,即为[3,5,1];
然后再将任务4预先添加到第一子任务集中,此时第一子任务集为[3,5,1,4],检查是否满足预设任务约束条件,若确定其不满足预设任务约束条件,则第一子任务集解码完毕。
同理继续依次将剩余的426进行解码。
最终解码出的子任务集划分方案为(0起始位置):
第一子任务集:0->3->5->1;
第二子任务集:0->4->2->6。
可选的,在上述图1的基础上,本申请还提供一种社工任务规划方法的可能实现方式,图5为本申请再二实施例提供的一种社工任务规划方法的流程图;如图5所示,根据子任务集中各任务的属性以及预设社区内多个社工的属性,将子任务集分配至对应的目标社工,包括:
步骤501:根据子任务集中各任务的属性,计算子任务集的平均消耗时间、平均任务权重以及对子任务集中的任务进行分类后的任务数量。
需要说明的是,子任务集中各任务的属性表示的是子任务集中各个任务的性质,在各任务的属性中例如可以包括任务的消耗时间、任务权重、任务分类等。其中,任务权重指的是该任务的紧急程度。举例来说,任务权重可以按照紧急程度分为0~9共10个等级,其中权重0表示必须完成的任务,权重9表示处置时间较为宽裕的任务,以此类推。
根据子任务集中各任务的属性,计算子任务集的平均消耗时间(子任务集中每个任务消耗时间的平均值)、平均任务权重(子任务集中每个任务的任务权重的平均值),以及根据分类信息进行任务进行分类后的每个类型任务的任务数量。
在一种可能的实现方式中,任务分类可以为任务类型分类,例如可以将任务分为以下4个类型:巡查任务,走访任务,核对任务,事件处置任务。任务类型分类和社工的相关性不是很强,粒度粗但是便于管理,因此使用此任务类型分类作为任务的分类依据是能够实现后续的任务分配的;任务分类也可以为任务条线分类,条线就类似与社工的职责或类型,例如可以将任务分为以下任务条线:社会救助、退役军人事务、计划生育、老龄、残联、就业创业、退管服务等,利用任务条线进行分类和社工的相关性更强,但粒度更细。
在另一种可能的实现方式中,子任务集中各任务可以有以下属性中的一种或多种,假设共有m个子任务集,对应m个社工(子任务集的数量和社工的数量可以不相等,在此以相等为例进行说明),子任务集的任务数集合为;单个子任务集的任务消耗时间为,的单位为小时。单个子任务集的任务权重为;共有d个分类,单个社区子任务集的分类(分类例如可以为任务类型或任务条线中的一种)为,Z为整数。上述属性可以以向量的形式进行保存,根据上述属性可以计算得到子任务集的平均消耗时间、平均任务权重以及对子任务集中的任务进行分类后的任务数量:
步骤502:根据平均消耗时间、平均任务权重、任务数量以及每个社工的属性,计算每个社工针对子任务集的适合程度。
在一种可能的实现方式中,每个社工的属性表示的是每个社工的性质,每个社工的属性例如可以包括以下一项或多项:年龄、受教育程度、性别、等级、能力标签;在进行处理时,可以按照以下方式对多个社工的属性进行整合。
社工的年龄集合,此集合可以是真实年龄,也可以根据社工的年龄,划分为4个等级:青壮年、壮年、中年和其他共计四类,分别用1~4表示;社工的受教育程度集合,此集合可以是社工的受教育程度,也可以根据社工的受教育程度:初中、高中、大学、硕士、博士,其他共6个阶段,分别用1~6表示;社工性别,此集合可以根据社工性别:女性、男性共计两类,分别用0、1进行表示;每个社工针对每类任务每类标签的能力:
可以通过如下方法计算每个社工针对每个子任务集的适合程度:
上述仅为示例说明,在实际实现中,还可以有其他的适合程度计算方法,本申请对此不做限定。
步骤503:根据任务数量,对多个子任务集进行第一排序。
完成上述计算后,根据每个子任务集中的任务数量,对多个子任务集进行第一排序,第一排序后,该序列可以是任务数量由少到多,也可以是任务数量由多到少,本申请对此不做限定。
步骤504:根据平均消耗时间,对第一排序后的多个子任务集中任务数量相同的子任务集进行第二排序。
在完成第一排序后,可以根据平均消耗时间对第一排序后子任务集中任务数量相同的子任务集进行第二排序,若在第一排序中子任务集中的任务数量越多的排序在前,则在第二排序中平均消耗时间长的子任务集排序在前。若在第一排序中子任务集中的任务数量越多的排序在后,则在第二排序中平均消耗时间长的子任务集排序在后,由此得到了排序后的多个子任务集。
步骤505:根据多个社工对子任务集的适合程度,依次为第二排序后的多个子任务集,确定适合程度最高的社工为子任务集对应的目标社工。
计算出每个社工对每个子任务集的适合程度之后,根据第二排序后得到的多个子任务集的顺序,依次为每个子任务集确定适合程度最高的社工。在此,需要依照第二排序后的多个子任务集的意义在于优先为任务数更多、任务更难完成的子任务集分配合适的社工,因此,若第二排序后的子任务集中任务数越多,相同任务数的任务中越难的任务排序越靠前时,则根据由前到后的顺序依次为每个子任务集确定适合程度最高的社工;若第二排序后的子任务集中任务数越多,相同任务数的任务中越难的任务排序越靠后时,则根据由后到前的顺序依次为每个子任务集确定适合程度最高的社工。上述仅为示例说明,在实际实现中,用户可以根据具体的子任务集排序情况灵活设定子任务集分配的方向,本申请对此不做设定。
在一种具体的实现方式中,可以通过建立矩阵的方式实现对子任务集对应的目标社工的选择。例如以每个社工为行索引,以每个子任务集为列索引建立矩阵,矩阵中每个数字为该行对应的子任务集与该列对应的社工的适合程度,例如(0,0)代表0号子任务集与0号社工的合适程度。为方便后续说明,将此矩阵命名为矩阵,在根据多个社工对子任务集的适合程度,依次为子任务集确定目标社工时,可以根据第二排序后的多个子任务集的排序情况,将矩阵的行向量进行对应的排序,根据排序情况(例如子任务集中任务数越多,相同任务数的任务中越难的任务排序越靠上),自上至下依次查找矩阵行向量中的最大值,作为该子任务集的分配社工。
在另一种具体的实现方式中,在矩阵中为每个子任务集分配合适的社工时,为了充分利用社工资源,避免人力资源的浪费,根据第二排序后的多个子任务集,为一个子任务集分配到适合度后,在对后续的子任务集进行社工分配时,仅考虑或者优先考虑目前没有分配到子任务集的社工。
可选的,在上述图1基础上,本申请还提供一种社工任务规划方法的可能实现方式,图6为本申请再三实施例提供的一种社工任务规划方法的流程图;如图6所示,采用退火算法,对子任务集中的任务进行路径规划,得到子任务集对应的任务完成路径,包括:
步骤601:在预设系统温度下,根据子任务集的非优先级任务序列和子任务集的优先级任务序列,生成子任务集的当前任务完成序列,并计算当前任务完成序列的路径长度作为当前最短路径;其中,当前任务完成序列包括:优先级任务序列中的优先级任务,以及非优先级任务序列中无优先级任务,且,当前任务完成序列中优先级任务的排序和优先级任务序列中的任务排序一致。
需要说明的是,由于有序在进行迭代时,预设系统温度可能发生变化,在第一次执行此步骤时预设系统温度表示的是开始退火的初始温度,对该温度的具体数值,用户可以根据实际情况进行设定,例如可以用表示开始退火的初始温度,用T表示预设系统温度,则在第一次执行此步骤时,例如可以设置。
还需要说明的是,根据子任务集的非优先级任务序列和子任务集的优先级任务序列生成子任务集的当前任务完成序列,当前任务完成序列以优先级任务序列的优先级顺序为基础,在其中随机插入非优先级序列的任务生成的序列。因此,当前任务完成序列中包括:优先级任务序列中的全部优先级任务,以及非优先级任务序列中的全部无优先级任务。此外,当前任务完成序列中优先级任务的排序与优先级任务序列中的任务排序一致。
此外,还需要说明的是,子任务集的非优先级任务序列中的所有任务,与子任务集的优先级任务序列中的所有任务之和即为子任务集的全部任务,子任务集中的任何一个任务属于上述两个序列中的任何一个序列。
步骤602:对优先级任务序列和非优先级任务序列分别进行迭代,生成新的优先级任务序列和新的非优先级任务序列。
接下来需要利用新的当前任务完成序列再次进行当前最优路径、当前最短路径的计算,因此首先需要对优先级任务序列和非优先级任务序列分别进行迭代,即对优先级任务序列和非优先级任务序列分别进行打乱。
上述仅为示例说明,在实际实现中,还可以有其他的迭代生成新的优先级任务序列和新的非优先级任务序列的方式,本申请对此不做限定。
步骤603:重新根据新的非优先级任务序列和新的优先级任务序列,得到子任务集的新的任务完成序列,并计算新的任务完成序列的路径长度。
在一种可能的实现方式中,可以对新的优先级任务序列根据上述步骤702中的另一种具体实现方式的逆置方法,生成新的,再将新的中的任务按顺序取出,并随机填充到新的的X位置上,将未填充到X位置上的剩余的中的任务加到填充后的末端,得到新的任务完成序列,针对新的,计算其路径长度。
步骤604:根据当前最短路径和新的任务完成序列的路径长度,确定迭代后的目标最短路径,直至预设系统温度下内循环满足预设内循环迭代停止条件。
根据当前最短路径和新的任务完成序列的路径长度,确定迭代后的目标最短路径。例如可以通过比较当前最短路径和新的任务完成序列的路径长度的具体数值,确定数值较小的一个为目标最短路径;再例如,为了避免上述方法可能导致的局部最优解,若比较后的新的任务完成序列的路径长度更小,也可以选择概率接收其为目标最短路径,上述仅为示例说明,在实际实现中,还可以有其他的实现方式,本申请对此不做限定。
在一种具体的实现方式中,在步骤601之前,预设内循环迭代停止条件例如可以为当前内循环迭代次数达到预设内循环阈值。具体的,可以设置初始化当前内循环迭代次数和内循环阈值,例如设置,在每次完成步骤604的根据当前最短路径和新的任务完成序列的路径长度,确定迭代后的目标最短路径之后,令内循环迭代次数,并比较当前内循环迭代次数和内循环阈值,若,则重新执行步骤602-步骤604,直到时,满足预设系统温度下的预设内循环迭代停止条件。
步骤605:更新预设系统温度。
达到预设系统温度下的预设内循环迭代停止条件后,需要对预设系统温度进行调整,从而在新的预设系统温度下重新进行上述内循环的步骤。
在一种可能的实现方式中,可以通过如下方法更新预设系统温度:
在另一种可能的实现方式中,也可以通过设置温度差值,通过每次在预设系统温度的基础上减去温度差值,得到新的预设系统的温度。
上述仅为示例说明,在实际实现中,还可以有其他的新的预设系统的温度的设置方式,本申请对此不做限定。
步骤606:在更新后的系统温度下,重新确定目标最短路径,直至更新后的系统温度下的内循环满足预设内循环迭代停止条件,且达到预设外循环迭代停止条件。
在更新后的系统温度下,重新执行上述步骤602-605,并确定目标最短路径。在更新后的系统温度下的内循环满足预设内循环迭代停止条件,且达到预设外循环迭代停止条件之后,停止循环。
在一种可能的实现方式中,步骤605之后还包括对预设外循环迭代停止条件进行判断,当满足预设外循环迭代停止条件时,不再执行步骤605;当不满足预设外循环迭代停止条件时,更新系统温度。上述对预设外循环迭代停止条件进行判断也可以在步骤605之前进行,用户可以通过对参数的调整实现,本申请在此不再赘述。
在一种具体的实现方式中,预设外循环迭代停止条件例如可以为当前外循环迭代次数达到预设外循环阈值。具体的,可以初始化当前外循环迭代次数和外循环阈值,例如设置,在每次完成步骤605之后,令外循环迭代次数,并比较当前外循环迭代次数和外循环阈值,若,则重新执行步骤602-步骤604,直到时,满足预设系统温度下的预设外循环迭代停止条件。
在另一种具体的实现方式中,预设外循环迭代停止条件例如可以为更新后的系统温度小于预设温度阈值。具体的,可以初始化预设温度阈值,例如设置,在每次完成步骤605之后,比较更新后的系统温度和预设温度阈值,若,则重新执行步骤602-步骤604,直到时,满足预设系统温度下的预设外循环迭代停止条件。
上述仅为示例说明,在实际实现中,还可以有其他的外循环终止条件设置方式,本申请对此不做限定。
步骤607:确定达到外循环迭代停止条件时确定的任务完成序列为子任务集对应的任务完成路径。
达到外循环停止条件时,确定的目标最优路径对应的任务完成序列即为子任务集对应的任务完成路径。
本申请以退火算法为基础,设计了一种带权社工路径规划问题,凭借这个可以在很短时间内计算出最小的路程代价,并帮助社工按照任务的优先级去完成所有任务,解决了社工完成任务时浪费大量时间以及任务有优先级的困难。
可选的,在上述图6基础上,本申请还提供一种社工任务规划方法的可能实现方式,图7为本申请再四实施例提供的一种社工任务规划方法的流程图;如图7所示,在预设系统温度下,根据子任务集的非优先级任务序列和子任务集的优先级任务序列,生成子任务集的当前任务完成序列,包括:
步骤701:在预设系统温度下,根据优先级任务序列中优先级任务的权重等级以及预设的等级条件,确定优先级任务的目标位置以及对应的目标空缺位置。
需要说明的是,子任务集中任务属于非优先级任务序列或者优先级任务序列取决于该任务的权重,例如根据每个任务的权重,通过划定权重范围,可以将任务分为四个等级(0级,1级,2级,3级),其中数字越小优先级越高,3级对应的是没有优先级。由此子任务集的优先级任务序列是在子任务集中任务的优先级的基础上经过处理得到的序列,需要说明的是,对同一优先级的多个任务可能存在也可能不存在进一步的优先级排序划分,本申请对此不做限定。
在一种具体的实现方式中,优先级任务序列可以通过如下方式生成。规定对于优先级等级为i(0≤i<3)的任务,其接下来执行的i+1个任务中它必出现一次,但是具体出现的位置随机,对于没有出现的位置用X代替,即X表示目标空缺位置,确定优先级任务的目标位置以及对应的目标空缺位置。例如对于一个子任务集全部任务,分别找出优先级等级为0,1,2的任务并按照优先级由高到低排序。举例来说,若当前子任务集中存在三个优先级等级分别为0,1,2的2号任务、4号任务、5号任务,根据上述规则可以产生优先级任务序列(2X4XX5),从而确定优先级任务的目标位置以及对应的目标空缺位置。
步骤702:将优先级任务序列中的优先级任务插入至对应的目标位置,将非优先级序列中的无优先级任务插入目标空缺位置,得到当前任务完成序列。
在上述步骤701的基础上,将优先级任务序列中的优先级任务插入至对应的目标位置,将非优先级任务序列中的任务按顺序取出,并随机填充到X的位置上,将未填充到X位置上的非优先级任务序列的任务加到填充后的优先级任务末端,得到当前任务完成序列。
在另一种具体实现方式中,在产生上述具体实现方式中优先级任务序列的基础上,还可以使用随机打乱序列的方法生成当前完成序列。生成优先级任务序列后,根据优先级任务序列中的任务总数n(若优先级任务序列中包括X,则n为任务数+X数量的总和)生成两个随机整数,其中。然后将优先级任务序列中第个任务到第个任务之间的元素(任务,或者任务和X)逆置,得到逆置后的优先级任务序列,对此序列中X按照上述具体实现方式中的非优先级任务序列的填充的方法进行填充,得到当前任务完成序列。
上述仅为示例说明,在实际实现中,还可以有其他的当前任务完成序列的生成方式,本申请对此不做限定。
可选的,在上述图6基础上,本申请还提供一种社工任务规划方法的可能实现方式,图8为本申请再五实施例提供的一种社工任务规划方法的流程图;如图8所示,对优先级任务序列和非优先级任务序列分别进行迭代,生成新的优先级任务序列和新的非优先级任务序列,包括:
步骤801:将优先级任务序列中的相同权重等级的任务进行随机打乱,生成新的优先级任务序列。
步骤802:将非优先级任务序列中的任务进行随机打乱,生成新的非优先级任务序列。
可选的,在上述图6基础上,本申请还提供一种社工任务规划方法的可能实现方式,图9为本申请再六实施例提供的一种社工任务规划方法的流程图;如图9所示,根据当前最短路径和新的任务完成序列的路径长度,确定迭代后的目标最短路径,包括:
步骤901:计算当前最短路径和新的任务完成序列的路径差值。
步骤902:若路径差值满足第一条件,则确定新的任务完成序列为目标最短路径。
步骤903:若路径差值满足第二条件,则从当前最短路径和新的任务完成序列中随机确定目标最短路径。
其中,T为当前采用的预设系统温度。
若路径差值满足第二条件,即时,从当前最短路径和新的任务完成序列中随机确定目标最短路径,例如可以通过上述公式计算出概率值,再根据该概率值概率决定确定目标最短路径。也就是说,退火算法不立刻认定此没有意义,而是以的概率更新当前的和。
上述方式的优点在于避免退火算法在迭代过程陷入局部最优解,在算法优化没有明确“方向”的时候,当前非最优的情况下在其基础上进行改进(特别是通过本申请中随机逆置过程)可能会得到最优。在迭代开始的时候得到最优的可能性越大,对应的是中的T变量,迭代次数越少,的值越接近1;迭代次数越多,的值越接近0。
上述仅为示例说明,在实际实现中,还可以有其他的若路径差值满足第二条件时,从当前最短路径和新的任务完成序列中随机确定目标最短路径的方式,本申请对此不做限定。
综上,本申请的方法能够很好地帮助社区划分任务、匹配任务以及帮助社工很好地完成自己的任务,并可以推广应用到更多的类似场景中。
下述对用以执行本申请所提供的社工任务规划装置、电子设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
本申请实施例提供一种社工任务规划装置的可能实现示例,能够执行上述实施例提供的社工任务规划方法。图10为本申请一实施例提供的一种社工任务规划装置的示意图。如图10所示,上述社工任务规划装置100,包括:任务划分模块11、任务分配模块13、路径规划模块15;
任务划分模块11,用于根据预设社区的任务集中各任务的属性,采用蚁群算法,将任务集划分为多个子任务集;
任务分配模块13,用于根据子任务集中各任务的属性以及预设社区内多个社工的属性,将子任务集分配至对应的目标社工;
路径规划模块15,用于采用退火算法,对子任务集中的任务进行路径规划,得到子任务集对应的任务完成路径,任务完成路径用于指示目标社工执行子任务集中任务的先后次序。
可选的,任务集中各任务的属性包括:任务集中各任务的时间窗口;任务划分模块11,用于根据时间窗口,采用预设的蚁群算法的多个蚂蚁,分别在任务集中搜索,得到多个蚂蚁对应的任务搜索路径,每个蚂蚁对应到的任务搜索路径覆盖了任务集中的所有任务;根据多个蚂蚁对应的任务搜索路径上任务之间的距离,从多个蚂蚁对应的任务搜索路径中确定最优任务搜索路径,并更新最优任务搜索路径上任务之间的信息素浓度;重新采用多个蚂蚁,在任务集中搜索,得到多个蚂蚁对应的新的任务搜索路径,直至达到预设迭代停止条件;对达到预设迭代停止条件时的目标最优任务搜索路径进行解码,得到多个子任务集。
可选的,任务集中各任务的属性还包括:地理坐标;任务划分模块11,用于根据地理坐标,计算任务集中每两个任务之间的距离;根据时间窗口和地理坐标,计算从预设初始位置到达各任务的等待时间;
根据时间窗口,采用预设的蚁群算法的多个蚂蚁,分别在任务集中搜索,得到多个蚂蚁对应的任务搜索路径,包括:根据每两个任务之间的距离、等待时间和时间窗口,采用多个蚂蚁,分别在任务集中搜索,得到多个蚂蚁对应的任务搜索路径。
可选的,任务划分模块11,用于根据预设任务约束条件,从目标最优任务搜索路径中依次取出任务,生成多个子任务集,每个子任务集满足预设任务约束条件。
可选的,任务划分模块11,用于从目标最优任务搜索路径中取出任务,并将取出的任务预加入一个子任务集中;若预加入任务后的一个子任务集满足预设任务约束条件,则继续从目标最优任务搜索路径中取出任务,直至取出的任务预加入一个子任务集后不满足预设任务约束条件,并确定预加入任务之前的子任务集为一个目标任务集;继续从目标最优任务搜索路径中取出任务,直至目标最优任务搜索路径中的任务被取完,并确定任务取完时得到的所有目标子任务集为多个子任务集。
可选的,任务分配模块13,用于根据子任务集中各任务的属性,计算子任务集的平均消耗时间、平均任务权重以及对子任务集中的任务进行分类后的任务数量;根据平均消耗时间、平均任务权重、任务数量以及每个社工的属性,计算每个社工针对子任务集的适合程度;根据任务数量,对多个子任务集进行第一排序;根据平均消耗时间,对第一排序后的多个子任务集中任务数量相同的子任务集进行第二排序;根据多个社工对子任务集的适合程度,依次为第二排序后的多个子任务集,确定适合程度最高的社工为子任务集对应的目标社工。
可选的,路径规划模块15,用于在预设系统温度下,根据子任务集的非优先级任务序列和子任务集的优先级任务序列,生成子任务集的当前任务完成序列,并计算当前任务完成序列的路径长度作为当前最短路径;其中,当前任务完成序列包括:优先级任务序列中的优先级任务,以及非优先级任务序列中无优先级任务,且,当前任务完成序列中优先级任务的排序和优先级任务序列中的任务排序一致;对优先级任务序列和非优先级任务序列分别进行迭代,生成新的优先级任务序列和新的非优先级任务序列;重新根据新的非优先级任务序列和新的优先级任务序列,得到子任务集的新的任务完成序列,并计算新的任务完成序列的路径长度;根据当前最短路径和新的任务完成序列的路径长度,确定迭代后的目标最短路径,直至预设系统温度下内循环满足预设内循环迭代停止条件;更新预设系统温度;在更新后的系统温度下,重新确定目标最短路径,直至更新后的系统温度下的内循环满足预设内循环迭代停止条件,且达到预设外循环迭代停止条件;确定达到外循环迭代停止条件时确定的任务完成序列为子任务集对应的任务完成路径。
可选的,路径规划模块15,用于在预设系统温度下,根据优先级任务序列中优先级任务的权重等级以及预设的等级条件,确定优先级任务的目标位置以及对应的目标空缺位置;将优先级任务序列中的优先级任务插入至对应的目标位置,将非优先级序列中的无优先级任务插入目标空缺位置,得到当前任务完成序列。
可选的,路径规划模块15,用于将优先级任务序列中的相同权重等级的任务进行随机打乱,生成新的优先级任务序列;将非优先级任务序列中的任务进行随机打乱,生成新的非优先级任务序列。
可选的,路径规划模块15,用于计算当前最短路径和新的任务完成序列的路径差值;若路径差值满足第一条件,则确定新的任务完成序列为目标最短路径;若路径差值满足第二条件,则从当前最短路径和新的任务完成序列中随机确定目标最短路径。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
本申请实施例提供一种电子设备的可能实现示例,能够执行上述实施例提供的社工任务规划方法。图11为本申请实施例提供的一种电子设备的示意图,该设备可以集成于终端设备或者终端设备的芯片,该终端可以是具备数据处理功能的计算设备。
该电子设备包括:处理器1101、存储介质1102和总线,存储介质存储有处理器可执行的程序指令,当控制设备运行时,处理器与存储介质之间通过总线通信,处理器执行程序指令,以执行时执行上述社工任务规划方法的步骤。具体实现方式和技术效果类似,这里不再赘述。
本申请实施例提供一种计算机可读存储介质的可能实现示例,能够执行上述实施例提供的社工任务规划方法,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述社工任务规划方法的步骤。
存储在一个存储介质中的计算机程序,可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种社工任务规划方法,其特征在于,包括:
根据预设社区的任务集中各任务的属性,采用蚁群算法,将所述任务集划分为多个子任务集;
根据所述子任务集中各任务的属性以及所述预设社区内多个社工的属性,将所述子任务集分配至对应的目标社工;
采用退火算法,对所述子任务集中的任务进行路径规划,得到所述子任务集对应的任务完成路径,所述任务完成路径用于指示所述目标社工执行所述子任务集中任务的先后次序。
2.根据权利要求1所述的方法,其特征在于,所述任务集中各任务的属性包括:所述任务集中各任务的时间窗口;
所述根据预设社区的任务集中各任务的属性,采用蚁群算法,将所述任务集划分为多个子任务集,包括:
根据所述时间窗口,采用预设的所述蚁群算法的多个蚂蚁,分别在所述任务集中搜索,得到所述多个蚂蚁对应的任务搜索路径,每个蚂蚁对应到的任务搜索路径覆盖了所述任务集中的所有任务;
根据所述多个蚂蚁对应的任务搜索路径上任务之间的距离,从所述多个蚂蚁对应的任务搜索路径中确定最优任务搜索路径,并更新所述最优任务搜索路径上任务之间的信息素浓度;
重新采用所述多个蚂蚁,在所述任务集中搜索,得到所述多个蚂蚁对应的新的任务搜索路径,直至达到预设迭代停止条件;
对达到所述预设迭代停止条件时的目标最优任务搜索路径进行解码,得到所述多个子任务集。
3.如权利要求2所述的方法,其特征在于,所述任务集中各任务的属性还包括:地理坐标;所述根据所述时间窗口,采用预设的所述蚁群算法的多个蚂蚁,分别在所述任务集中搜索,得到所述多个蚂蚁对应的任务搜索路径之前,所述方法还包括:
根据所述地理坐标,计算所述任务集中每两个任务之间的距离;
根据所述时间窗口和所述地理坐标,计算从预设初始位置到达各任务的等待时间;
所述根据所述时间窗口,采用预设的所述蚁群算法的多个蚂蚁,分别在所述任务集中搜索,得到所述多个蚂蚁对应的任务搜索路径,包括:
根据所述每两个任务之间的距离、所述等待时间和所述时间窗口,采用所述多个蚂蚁,分别在所述任务集中搜索,得到所述多个蚂蚁对应的任务搜索路径。
4.根据权利要求2所述的方法,其特征在于,所述对达到所述预设迭代停止条件时的目标最优任务搜索路径进行解码,得到所述多个子任务集,包括:
根据预设任务约束条件,从所述目标最优任务搜索路径中依次取出任务,生成所述多个子任务集,每个子任务集满足所述预设任务约束条件。
5.根据权利要求4所述的方法,其特征在于,所述根据预设任务约束条件,从所述目标最优任务搜索路径中依次取出任务,生成所述多个子任务集,包括:
从所述目标最优任务搜索路径中取出任务,并将取出的任务预加入一个子任务集中;
若预加入任务后的一个子任务集满足所述预设任务约束条件,则继续从所述目标最优任务搜索路径中取出任务,直至取出的任务预加入所述一个子任务集后不满足所述预设任务约束条件,并确定预加入任务之前的子任务集为一个目标任务集;
继续从所述目标最优任务搜索路径中取出任务,直至所述目标最优任务搜索路径中的任务被取完,并确定任务取完时得到的所有目标子任务集为所述多个子任务集。
6.根据权利要求1所述的方法,其特征在于,所述根据所述子任务集中各任务的属性以及所述预设社区内多个社工的属性,将所述子任务集分配至对应的目标社工,包括:
根据所述子任务集中各任务的属性,计算所述子任务集的平均消耗时间、平均任务权重以及对所述子任务集中的任务进行分类后的任务数量;
根据所述平均消耗时间、所述平均任务权重、所述任务数量以及每个社工的属性,计算所述每个社工针对所述子任务集的适合程度;
根据所述任务数量,对多个所述子任务集进行第一排序;
根据所述平均消耗时间,对第一排序后的多个所述子任务集中任务数量相同的子任务集进行第二排序;
根据所述多个社工对所述子任务集的适合程度,依次为第二排序后的多个所述子任务集,确定适合程度最高的社工为所述子任务集对应的目标社工。
7.根据权利要求1所述的方法,其特征在于,所述采用退火算法,对所述子任务集中的任务进行路径规划,得到所述子任务集对应的任务完成路径,包括:
在预设系统温度下,根据所述子任务集的非优先级任务序列和所述子任务集的优先级任务序列,生成所述子任务集的当前任务完成序列,并计算所述当前任务完成序列的路径长度作为当前最短路径;其中,所述当前任务完成序列包括:所述优先级任务序列中的优先级任务,以及所述非优先级任务序列中无优先级任务,且,所述当前任务完成序列中所述优先级任务的排序和所述优先级任务序列中的任务排序一致;
对所述优先级任务序列和所述非优先级任务序列分别进行迭代,生成新的优先级任务序列和新的非优先级任务序列;
重新根据所述新的非优先级任务序列和所述新的优先级任务序列,得到所述子任务集的新的任务完成序列,并计算所述新的任务完成序列的路径长度;
根据所述当前最短路径和所述新的任务完成序列的路径长度,确定迭代后的目标最短路径,直至所述预设系统温度下内循环满足预设内循环迭代停止条件;
更新所述预设系统温度;
在更新后的系统温度下,重新确定目标最短路径,直至所述更新后的系统温度下的内循环满足所述预设内循环迭代停止条件,且达到预设外循环迭代停止条件;
确定达到所述外循环迭代停止条件时确定的任务完成序列为所述子任务集对应的任务完成路径。
8.根据权利要求7所述的方法,其特征在于,所述在预设系统温度下,根据所述子任务集的非优先级任务序列和所述子任务集的优先级任务序列,生成所述子任务集的当前任务完成序列,包括:
在所述预设系统温度下,根据所述优先级任务序列中所述优先级任务的权重等级以及预设的等级条件,确定所述优先级任务的目标位置以及对应的目标空缺位置;
将所述优先级任务序列中的优先级任务插入至对应的所述目标位置,将所述非优先级任务序列中的无优先级任务插入所述目标空缺位置,得到所述当前任务完成序列。
9.根据权利要求7所述的方法,其特征在于,所述对所述优先级任务序列和所述非优先级任务序列分别进行迭代,生成新的优先级任务序列和新的非优先级任务序列,包括:
将所述优先级任务序列中的相同权重等级的任务进行随机打乱,生成所述新的优先级任务序列;
将所述非优先级任务序列中的任务进行随机打乱,生成所述新的非优先级任务序列。
10.根据权利要求7所述的方法,其特征在于,所述根据所述当前最短路径和所述新的任务完成序列的路径长度,确定迭代后的目标最短路径,包括:
计算所述当前最短路径和所述新的任务完成序列的路径差值;
若所述路径差值满足第一条件,则确定所述新的任务完成序列为所述目标最短路径;
若所述路径差值满足第二条件,则从所述当前最短路径和所述新的任务完成序列中随机确定所述目标最短路径。
11.一种社工任务规划装置,其特征在于,包括:任务划分模块、任务分配模块、路径规划模块;
所述任务划分模块,用于根据预设社区的任务集中各任务的属性,采用蚁群算法,将所述任务集划分为多个子任务集;
所述任务分配模块,用于根据所述子任务集中各任务的属性以及所述预设社区内多个社工的属性,将所述子任务集分配至对应的目标社工;
所述路径规划模块,用于采用退火算法,对所述子任务集中的任务进行路径规划,得到所述子任务集对应的任务完成路径,所述任务完成路径用于指示所述目标社工执行所述子任务集中任务的先后次序。
12.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至10任一所述的任务规划方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至10任一所述的任务规划方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210780898.3A CN114862065B (zh) | 2022-07-05 | 2022-07-05 | 社工任务规划方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210780898.3A CN114862065B (zh) | 2022-07-05 | 2022-07-05 | 社工任务规划方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114862065A true CN114862065A (zh) | 2022-08-05 |
CN114862065B CN114862065B (zh) | 2022-09-23 |
Family
ID=82627001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210780898.3A Active CN114862065B (zh) | 2022-07-05 | 2022-07-05 | 社工任务规划方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114862065B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703016A (zh) * | 2023-04-28 | 2023-09-05 | 北京大数据先进技术研究院 | 一种运输任务路径的存储、使用方法及装置 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160034840A1 (en) * | 2014-07-31 | 2016-02-04 | Microsoft Corporation | Adaptive Task Assignment |
CN107025363A (zh) * | 2017-05-08 | 2017-08-08 | 中国人民解放军国防科学技术大学 | 一种面向敏捷卫星调度的自适应大邻域搜索方法 |
CN108416493A (zh) * | 2018-01-29 | 2018-08-17 | 南京航空航天大学 | 一种考虑偏流角约束的敏捷成像卫星任务规划方法 |
CN109191004A (zh) * | 2018-09-25 | 2019-01-11 | 中国人民解放军空军工程大学 | 一种多无人机测绘任务分配方法和装置 |
CN109726863A (zh) * | 2018-12-26 | 2019-05-07 | 深圳市北斗智能科技有限公司 | 一种多目标优化的物流方法和系统 |
CN110319829A (zh) * | 2019-07-08 | 2019-10-11 | 河北科技大学 | 基于自适应多态融合蚁群算法的无人机航迹规划方法 |
CN110941263A (zh) * | 2019-10-25 | 2020-03-31 | 华南理工大学 | 一种自主水下航行器路径规划方法和装置 |
CN111176807A (zh) * | 2019-12-09 | 2020-05-19 | 中国空间技术研究院 | 一种多星协同任务规划方法 |
US20200201677A1 (en) * | 2018-04-11 | 2020-06-25 | Shenzhen University | Cloud computing task allocation method and device, apparatus, and storage medium |
CN111639811A (zh) * | 2020-06-01 | 2020-09-08 | 中国农业大学 | 基于改进蚁群算法的多农机协同作业远程管理调度方法 |
CN112099931A (zh) * | 2020-10-09 | 2020-12-18 | 海南大学 | 任务调度方法及装置 |
CN112766813A (zh) * | 2021-02-05 | 2021-05-07 | 中国人民解放军国防科技大学 | 一种空天协同观测复杂任务调度方法及系统 |
WO2021260312A1 (fr) * | 2020-06-22 | 2021-12-30 | Orange | Procédé d'ordonnancement de tâches dans un système de traitement, dispositif d'ordonnancement associé |
CN114331381A (zh) * | 2021-12-31 | 2022-04-12 | 讯飞智元信息科技有限公司 | 一种任务调度方法、装置、设备及存储介质 |
-
2022
- 2022-07-05 CN CN202210780898.3A patent/CN114862065B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160034840A1 (en) * | 2014-07-31 | 2016-02-04 | Microsoft Corporation | Adaptive Task Assignment |
CN107025363A (zh) * | 2017-05-08 | 2017-08-08 | 中国人民解放军国防科学技术大学 | 一种面向敏捷卫星调度的自适应大邻域搜索方法 |
CN108416493A (zh) * | 2018-01-29 | 2018-08-17 | 南京航空航天大学 | 一种考虑偏流角约束的敏捷成像卫星任务规划方法 |
US20200201677A1 (en) * | 2018-04-11 | 2020-06-25 | Shenzhen University | Cloud computing task allocation method and device, apparatus, and storage medium |
CN109191004A (zh) * | 2018-09-25 | 2019-01-11 | 中国人民解放军空军工程大学 | 一种多无人机测绘任务分配方法和装置 |
CN109726863A (zh) * | 2018-12-26 | 2019-05-07 | 深圳市北斗智能科技有限公司 | 一种多目标优化的物流方法和系统 |
CN110319829A (zh) * | 2019-07-08 | 2019-10-11 | 河北科技大学 | 基于自适应多态融合蚁群算法的无人机航迹规划方法 |
CN110941263A (zh) * | 2019-10-25 | 2020-03-31 | 华南理工大学 | 一种自主水下航行器路径规划方法和装置 |
CN111176807A (zh) * | 2019-12-09 | 2020-05-19 | 中国空间技术研究院 | 一种多星协同任务规划方法 |
CN111639811A (zh) * | 2020-06-01 | 2020-09-08 | 中国农业大学 | 基于改进蚁群算法的多农机协同作业远程管理调度方法 |
WO2021260312A1 (fr) * | 2020-06-22 | 2021-12-30 | Orange | Procédé d'ordonnancement de tâches dans un système de traitement, dispositif d'ordonnancement associé |
CN112099931A (zh) * | 2020-10-09 | 2020-12-18 | 海南大学 | 任务调度方法及装置 |
CN112766813A (zh) * | 2021-02-05 | 2021-05-07 | 中国人民解放军国防科技大学 | 一种空天协同观测复杂任务调度方法及系统 |
CN114331381A (zh) * | 2021-12-31 | 2022-04-12 | 讯飞智元信息科技有限公司 | 一种任务调度方法、装置、设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
YUNFENG FAN: "Multi-robot Task Allocation and Path Planning System Design", 《2020 39TH CHINESE CONTROL CONFERENCE (CCC)》 * |
余伶俐等: "均分点蚁群算法在群集机器人任务规划中的应用与研究", 《高技术通讯》 * |
柴伟杰等: "基于图论的多星综合任务规划双蚁群算法", 《无线电工程》 * |
齐小刚等: "多约束下多无人机的任务规划研究综述", 《智能系统学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703016A (zh) * | 2023-04-28 | 2023-09-05 | 北京大数据先进技术研究院 | 一种运输任务路径的存储、使用方法及装置 |
CN116703016B (zh) * | 2023-04-28 | 2023-12-26 | 北京大数据先进技术研究院 | 一种运输任务路径的存储、使用方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114862065B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220366268A1 (en) | Progressive Objective Addition in Multi-objective Heuristic Systems and Methods | |
Jia et al. | A dynamic logistic dispatching system with set-based particle swarm optimization | |
Braekers et al. | A bi-objective home care scheduling problem: Analyzing the trade-off between costs and client inconvenience | |
Moon et al. | Vehicle routing problem with time windows considering overtime and outsourcing vehicles | |
US20170169353A1 (en) | Systems and Methods for Multi-Objective Evolutionary Algorithms with Soft Constraints | |
Boysen et al. | Scheduling aircraft landings to balance workload of ground staff | |
CN109345091A (zh) | 基于蚁群算法的整车物流调度方法及装置、存储介质、终端 | |
CN109214756A (zh) | 基于蚁群算法和分层优化的整车物流调度方法及装置、存储介质、终端 | |
Asadi et al. | A Markov decision process approach for managing medical drone deliveries | |
CN109934372A (zh) | 一种路径规划方法、装置及设备 | |
CN114862065B (zh) | 社工任务规划方法、装置、电子设备及存储介质 | |
CN111861017A (zh) | 一种基于现网数据的充电站网络优化方法 | |
Yu et al. | Risk-averse flexible policy on ambulance allocation in humanitarian operations under uncertainty | |
Yang et al. | Exploring deep reinforcement learning for task dispatching in autonomous on-demand services | |
CN110633784B (zh) | 一种多规则人工蜂群改进算法 | |
CN116341781A (zh) | 基于大规模邻域搜索算法的路径规划方法及存储介质 | |
CN109460490B (zh) | 社交网络中中心顶点的确定方法、装置、设备及存储介质 | |
Vonolfen et al. | Structural synthesis of dispatching rules for dynamic dial-a-ride problems | |
Ekiz et al. | Route first-cluster second method for personal service routing problem | |
CN110175296B (zh) | 网络图中的节点推荐方法和服务器以及存储介质 | |
CN113129098A (zh) | 一种订单分配方法及装置 | |
Kang et al. | Promoting Two-sided Fairness in Dynamic Vehicle Routing Problem | |
CN111859115A (zh) | 用户分配方法和系统、数据处理设备及用户分配设备 | |
US20240028990A1 (en) | Multi-depot vehicle scheduling | |
KR20150061324A (ko) | 차량 쉐어링 시스템에서 유전 알고리즘을 이용한 차량 재배치를 스케쥴링하는 방법 및 장치 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |