Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 带截止期的单机调度_Algorithm_Greedy - Fatal编程技术网

Algorithm 带截止期的单机调度

Algorithm 带截止期的单机调度,algorithm,greedy,Algorithm,Greedy,我在寻找一个好的算法来解决作业的排列,如果作业是按这个顺序处理的,那么每个作业都会在截止日期前完成。 给出了n个作业的集合{j1,j2,…,jn},以及每个作业的处理时间t和截止日期d。你能推荐一些可能的算法吗 在您的情况下,最佳调度算法是最早的截止日期优先。因此,您可以按截止日期对工作进行排序,并从最早的开始到最远的开始。事实证明,如果存在一个不违反截止日期的可行时间表,EDF会找到它 如果您的作业具有优先级权重,则遵循类似的算法。参见最大利润计划 这是MPS的实现:。这是CS任务吗?如果是这

我在寻找一个好的算法来解决作业的排列,如果作业是按这个顺序处理的,那么每个作业都会在截止日期前完成。
给出了n个作业的集合{j1,j2,…,jn},以及每个作业的处理时间t和截止日期d。你能推荐一些可能的算法吗

在您的情况下,最佳调度算法是最早的截止日期优先。因此,您可以按截止日期对工作进行排序,并从最早的开始到最远的开始。事实证明,如果存在一个不违反截止日期的可行时间表,EDF会找到它

如果您的作业具有优先级权重,则遵循类似的算法。参见最大利润计划


这是MPS的实现:。

这是CS任务吗?如果是这样,你应该向你的导师寻求帮助。但无论如何,第一直觉是贪婪的,从有最新截止日期的工作开始。安排时间,以便在截止日期前完成。第二个最新作业也是如此,但也不会与先前计划的作业重叠。如果你不能安排一项工作,那么这个问题就没有时间表。由于排序的原因,复杂性应该是n log n。按截止日期排序是什么意思?它们已经按到达时间排序了??