Algorithm 贪婪调度算法?
当问题的运行时间(如5分钟、10分钟、非开始和结束时间)给定且您有m个进程运行时,调度问题的贪婪解决方案是什么?那么最短时间是多少?Algorithm 贪婪调度算法?,algorithm,computer-science,greedy,Algorithm,Computer Science,Greedy,当问题的运行时间(如5分钟、10分钟、非开始和结束时间)给定且您有m个进程运行时,调度问题的贪婪解决方案是什么?那么最短时间是多少? 假设我有九个作业(3,5,6,10,11,14,15,18,20分钟)和三个过程,那么解决方案是 第一个进程句柄-->20+14 第二个进程句柄-->18+11+5 第三进程句柄-->15+10+6+3 最小时间为34分钟鉴于问题是NP难问题(),不太可能存在多项式时间算法在所有情况下都能给出精确解。首先,请参阅维基百科页面: 从文章的第一部分开始: 贪婪算法是一
假设我有九个作业(3,5,6,10,11,14,15,18,20分钟)和三个过程,那么解决方案是 第一个进程句柄-->20+14 第二个进程句柄-->18+11+5 第三进程句柄-->15+10+6+3
最小时间为34分钟鉴于问题是NP难问题(),不太可能存在多项式时间算法在所有情况下都能给出精确解。首先,请参阅维基百科页面: 从文章的第一部分开始: 贪婪算法是一种遵循问题求解启发式的算法,在每个阶段进行局部最优选择,希望找到全局最优。在许多问题中,贪婪策略通常不会产生最优解 这里有两个要点需要强调:
这两种方法都是贪婪算法。这里的一个大假设是,问题只是处理所有任务。如果问题是在尽可能短的时间内处理所有任务,那么(如评论中所述)没有贪婪算法可以解决此问题。您似乎刚刚发布了一个包含您自己问题答案的编辑。你能澄清你的问题吗?我想要一个贪婪算法来解决这类问题。当任务仍然存在时,将最长的任务添加到当前运行时间最短的进程中。从上面的解释中可以看出,它不起作用。贪婪算法不是最优的,它们只是很容易实现,执行时间短。所以答案是35,而不是34。这就是你为贪婪付出的代价。