基于循环神经网络与强化学习的动态二分图分配长度决策方法技术

技术编号:30893398 阅读:12 留言:0更新日期:2021-11-22 23:35
本发明专利技术公开了一种基于循环神经网络与强化学习的动态二分图分配长度决策方法,包括:S1:判断当前时刻是否有工人或任务到达;S2:若到达的是工人则将其加入可用工人集;S3:根据时间信息获取当前可用的工人集和可用的任务集;S4:读取工人集和任务集的参数信息;S5:将工人参数和任务参数输入至强化学习网络中;S6:若不进行分配,则直接跳至S8,若分配则进行S7;S7:使用匈牙利算法对当前可用工人集和可用任务集进行任务分配,并记录分配奖励;S8:将过期的工人和任务从可用工人集W与可用任务集T中除去,并记录过期惩罚;S9:根据得到的奖励与惩罚训练强化学习网络并进入下一时刻,返回至S1等待新到达的工人或任务。至S1等待新到达的工人或任务。至S1等待新到达的工人或任务。

【技术实现步骤摘要】
基于循环神经网络与强化学习的动态二分图分配长度决策方法


[0001]本专利技术涉及动态任务分配
,尤其涉及一种基于循环神经网络与强化学习的动态二分图分配长度决策方法。

技术介绍

[0002]动态二分图在匹配过程中需要对分配长度进行决策的原因是:在动态情况下工人和任务随机到达、离开,并且任务有不同难度,工人有不同能力使用工人能力与任务难度计算任务完成率;如果贪婪地在工人或任务到达时就直接分配难以最大化总完成率,而如果等待工人和任务达到固定的数量再进行分配可能导致工人和任务大量过期影响结果。
[0003]目前最接近的技术为Wang Y等
[1]于2019年提出的基于Q learning的RQL(Restricted Q

learning)方法于动态二分图情况下对分配长度进行动态决策。具体方法为根据当前工人任务状态选择不同动作得到的奖励使用贝尔曼方程持续更新Q值,将这些Q值保存到一个Q表上。在某一状态下Q值最大的动作即为当前最优动作。对状态于动作的定义如下:状态为工人和任务的时间和难度、能力等信息,但这样会使状态空间大到Q表无法记录的程度,因此减小状态空间,使用当前工人、任务各自的数量组成二元组作为当前的状态。动作即为目标分配长度,在当前工人任务达到目标分配长度时进行分配。分配的奖励为使用匈牙利算法进行分配得到的总完成率作为奖励。状态转移,当前状态加上下一个时刻到达的工人任务的数量。
[0004]使用以往的方法可以进行分配长度决策,但还存在许多的不足:工人和任务有时间约束,超过则会过期,但很少有研究能够直接有效地将其应用到动态二分图匹配中。在RQL方法中计算奖励时没有考虑过期工人任务应该对奖励计算进行惩罚以防止过长的分配长度。此外只考虑工人、任务且没有过期惩罚的情况下,该方法在可选的分配长度范围内会更倾向于选择较长的分配长度,难以对不同的情况做出动态的决策。
[0005]工人能力与任务难度参数只应用于确定进行分配后使用匈牙利算法分配的阶段,而实际上在进行分配长度的决策过程中工人能力与任务难度同样有很大的影响。考虑在一种情况下,工人任务距离过期时间较长,此使工人能力普遍较低而任务难度普遍较高,这种情况下如果进行分配其总完成率明显会较低,因此分配长度应当加长。

技术实现思路

[0006]根据现有技术存在的问题,本专利技术公开了一种基于循环神经网络与强化学习的动态二分图分配长度决策方法,具体包括如下步骤:
[0007]S1:判断当前时刻是否有工人或任务到达,如果没有则直接结束,如果有则进入S2;
[0008]S2:若到达的是工人则将其加入可用工人集W,如果是任务则将其加入可用任务集T;
[0009]S3:根据时间信息获取当前可用的工人集W={w1,w2,...,w
n
}和可用的任务集T={t1,t2,...,t
m
};
[0010]S4:读取工人集和任务集的参数信息;
[0011]其中工人集参数为包含所有工人能力和剩余时间的紧迫程度(紧迫程度公式剩余时间比持续时间);
[0012]任务集参数为包含所用任务的难度和剩余时间紧迫程度(紧迫程度公式);
[0013]S5:将工人参数和任务参数输入至强化学习网络中,所述强化学习网络输出分配Q值和不分配Q值,选择其中较大的Q值对应的动作在当前时刻进行动作执行;
[0014]S6:若不进行分配,则直接跳至S8,若分配则进行S7;
[0015]S7:使用匈牙利算法对当前可用工人集W={w1,w2,...,w
n
}和可用任务集T={t1,t2,...,t
m
}进行任务分配,并记录分配奖励;
[0016]S8:将过期的工人和任务从可用工人集W与可用任务集T中除去,并记录过期惩罚;
[0017]S9:根据得到的奖励与惩罚训练强化学习网络并进入下一时刻,返回至S1等待新到达的工人或任务。
[0018]进一步的,判断是否有新工人和新众包任务到达,读取工人和众包任务信息,将一个工人采用一个四元组w=<l
w
,s
w
,e
w
,a
w
>描述,其中l
w
表示工人位置,s
w
表示工人到达的时间,e
w
表示工人的离开时间,a
w
表示工人的能力,一个众包任务采用五元组t=<l
t
,r
t
,s
t
,e
t
,d
t
>描述,其中l
t
表示任务的位置,s
t
表示任务开始的时间,e
t
表示任务的截止时间,r
t
表示任务分配范围,当距离在此范围内的工人才能执行该任务,d
t
表示任务的难度同时也是完成任务的奖励;
[0019]设当前时刻为c,若s
w
≤c<e
w
则将该工人或任务在当前时刻可用,当c≥e
w
则工人或任务过期不可分配。同理,若s
t
≤c<e
t
则该任务在当前时刻可用,当c≥e
t
则任务过期不可分配
[0020]在每个时刻判断是否有工人或任务到达,如果没有则结束,若到达的实体为工人到达则加入可用工人集,否则加入可用任务集,设当前的可用工人集记为W={w1,w2,...,w
n
},当前的可用任务集记为T={t1,t2,...,t
m
};
[0021]每个时刻进行分配长度的决策,具体方法为根据可用工人集与可用任务集的数据,采用强化学习网络决策是否在当前时刻进行分配,其中决策的目标为最大化总完成率并最小化工人任务过期数量,若在当前时刻进行分配则使用匈牙利算法对当前可用工人任务集进行分配最大化总完成率;
[0022]根据工人任务集构建二分图B=<T,W,E>,E代表边,表示可进行分配的工人任务对,边的权值为完成率,采用p
ij
表示,公式如下:
[0023][0024]当完成分配后记录奖励并除去过期工人任务与分配掉的工人任务进入下一时刻。
[0025]进一步的,所述强化学习网络的交互环境为MDP模型、所述MDP模型包括环境存在
的状态网络选取的动作执行动作后返回的奖励执行动作后状态的转移函数
[0026]其中状态定义为目前可用任务集参数与可用工人集参数其中u
w
、u
t
表示时间紧迫程度,计算方法如下
[0027]动作定义为2个不同的动作,1表示进行分配,0表示不进行分配;
[0028]奖励其计算公式如下:
[0029][00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于循环神经网络与强化学习的动态二分图分配长度决策方法,其特征在于包括:S1:判断当前时刻是否有工人或任务到达,如果没有则直接结束,如果有则进入S2;S2:若到达的是工人则将其加入可用工人集W,如果是任务则将其加入可用任务集T;S3:根据时间信息获取当前可用的工人集W={w1,w2,...,w
n
}和可用的任务集T={t1,t2,...,t
m
};S4:读取工人集和任务集的参数信息;其中工人集参数为包含所有工人能力和剩余时间的紧迫程度;任务集参数为包含所用任务的难度和剩余时间紧迫程度;S5:将工人参数和任务参数输入至强化学习网络中,所述强化学习网络输出分配Q值和不分配Q值,选择其中较大的Q值对应的动作在当前时刻进行动作执行;S6:若不进行分配,则直接跳至S8,若分配则进行S7;S7:使用匈牙利算法对当前可用工人集W={w1,w2,...,w
n
}和可用任务集T={t1,t2,...,t
m
}进行任务分配,并记录分配奖励;S8:将过期的工人和任务从可用工人集W与可用任务集T中除去,并记录过期惩罚;S9:根据得到的奖励与惩罚训练强化学习网络并进入下一时刻,返回至S1等待新到达的工人或任务。2.根据权利要求1所述的动态二分图分配长度决策方法,其特征在于:判断是否有新工人和新众包任务到达,读取工人和众包任务信息,将一个工人采用一个四元组w=<l
w
,s
w
,e
w
,a
w
>描述,其中l
w
表示工人位置,s
w
表示工人到达的时间,e
w
表示工人的离开时间,a
w
表示工人的能力,一个众包任务采用五元组t=<l
t
,r
t
,s
t
,e
t
,d
t
>描述,其中l
t
表示任务的位置,s
t
表示任务开始的时间,e
t
表示任务的截止时间,r
t
表示任务分配范围,当距离在此范围内的工...

【专利技术属性】
技术研发人员:陈荣刘岳
申请(专利权)人:大连海事大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1