贪心法——多机调度问题
问题:
设有n个独立的作业{1, 2, … , n},由m台相同的机器进行加工处理,作业i的处理时间为ti,任何作业不可以拆分为更小作业,且作业未完工前不允许中断处理。
多机调度问题要求给出一种作业调度方案,使所给的n个作业在尽可能短的时间内由m台机器加工处理完成。
分析:
这个问题是NP完全问题,到目前为止还没有有效的解法。对于这一类问题,用贪心选择策略有时可以设计出较好的近似算法——贪心得不到最优解的情形,但是可以得到近似最优解(即一种较优的解)。
采用可以设计出解多机调度问题的较好的近似算法:按最长处理时间作业优先的贪心选择策略。
当n<m时,只要将机器i的[0, ti]时间区间分配给作业i即可,算法只需要O(1)时间。
当n>m时,首先将n个作业依其所需的处理时间从大到小排序。然后依此顺序将作业分配给空闲的处理机。算法所需的计算时间为O(nlogn)。

1198

被折叠的 条评论
为什么被折叠?



