之前一直想实现一个智能派工的小demo。
在写小demo的过程中想到以下几点:
1 按照之前的讨论的结果,给第一个资源分配好工作包后,开始给第二个资源分配工作包,直到资源用完或者工作包用完。
2 在进行1之前,先对各个工作包进行了综合紧急度和维修时长的考量,用fitness_sorted进行了排序。
3 如果按照1的算法进行排序,则会导致fitness_sorted排列靠前的工作包都分配给了第一个人,这样显得不合理。
4 如果按照1中的算法进行,考虑可以根据工作包总时长先确定所需资源数,然后按照fitness_sorted把工作包均匀分配给各个资源。
以上4点均未考虑机器学习方法,只是普通算法。而且效果肯定很一般,所以就没有继续写下去的必要了。
在上一周的资料查找中发现,VRP(vehicle routing problem)的模型和智能派工很相似,有借鉴的可能。
尤其是动态VRP问题更是非常符合目前想要解决的动态智能派工。
接下来的任务是先实现静态的VRP的demo,然后再解决动态VRP。
在google官方文档中,发现本次的静态方案就是CVRP问题。可以把需求Demands视为工作包维修时长,容量Capacity看作是资源每天的工作时长。
Demands:Each location has ademandcorrespondingto the quantity—for example, weight or volume—of the item to be picked up.
Capacity constraints:the vehicles need topick up items at each location they visit, but have a maximum carrying capacity.
刚开始,运行VRP的程序会报错,看了google官方文档后,发现有以下不同的地方:
不同之处之前出错的程序中,没有manage这一步骤。现在可以正常运行了:
结果
网友评论