我正在尝试为作业调度问题创建动态编程算法。我有一组n
个职位,每个职位i
的开始时间为s(i)
,结束时间为f(i)
。开始总是在完成之前,您可以同时拥有两个工作。我如何创建算法以最大化资源忙碌的时间?
答案 0 :(得分:1)
您必须决定每个点要跟踪的状态。一种选择是跟踪当前正在运行的作业的完成时间,在这种情况下,您可以大致计算最大可能的繁忙时间如下。
到目前为止,从一组完成时间到繁忙时间创建一个地图。将其初始化为{null set} - > 0
对于按开始时间递增顺序的每项工作:
最后,地图中的最大值是最大可能的繁忙时间。如果你继续回溯我没有提到的信息,你可以追溯到找出工作的选择。