贪心算法求解多机调度问题:7个作业的最佳调度方案
贪心算法的思路是每次选择最优的策略,以期望能得到全局最优解。对于多机调度问题,一种常用的贪心策略是将作业按照处理时间从大到小排序,然后依次将作业分配给当前处理时间最短的机器。\n\n按照这个策略,我们可以进行如下的步骤:\n\n1. 将作业按照处理时间从大到小排序:j4(16),j2(14),j5(6),j6(5),j3(4),j7(3),j1(2)。\n\n2. 创建三个列表分别用于记录每台机器的当前处理时间:machine1,machine2,machine3。\n\n3. 依次将作业分配给当前处理时间最短的机器。具体步骤如下:\n - 将j4分配给machine1,machine1的当前处理时间变为16。\n - 将j2分配给machine2,machine2的当前处理时间变为14。\n - 将j5分配给machine3,machine3的当前处理时间变为6。\n - 将j6分配给machine3,machine3的当前处理时间变为11。\n - 将j3分配给machine3,machine3的当前处理时间变为15。\n - 将j7分配给machine2,machine2的当前处理时间变为17。\n - 将j1分配给machine1,machine1的当前处理时间变为18。\n\n4. 最后,三台机器的最长处理时间即为总的完成时间。在这个例子中,最长处理时间为18,因此7个作业调度到三台机器后的最短完成时间为18。\n\n需要注意的是,这个贪心算法并不能保证一定得到全局最优解,只能得到一个近似的解。要想得到全局最优解,需要使用其他算法,如动态规划。
原文地址: https://www.cveoy.top/t/topic/pqD3 著作权归作者所有。请勿转载和采集!