问题描述:
设有n个任务由k个可并行工作的机器来完成,完成任务i需要时间t_i,试设计算法找出这n个任务的最佳调度,使完成全部任务的时间最早
要求:随机生成n(n>=20)个任务的所需时间,由k(取3~10)个机器完成,分别给出对应于每个k值的最佳任务调度方案,以及完成全部任务的时间
算法思想:
每个任务有K个选择所要在的机器,即解空间树是一颗满K叉树,同时也是一棵子集树。采用深度优先搜索(回溯算法)搜索解。
解空间的表示:一个深度为N的K叉树。
基本思路:搜索从开始结点(根结点)出发,以DFS搜索整个解空间。每搜索完一条路径则记录下besttime 和bestx[]序列

该博客探讨了如何运用回溯算法解决最佳调度问题,涉及n个任务在k台可并行工作的机器上的分配,以最小化完成所有任务的总时间。通过随机生成任务时间和机器数量,算法采用深度优先搜索策略遍历解空间树,寻找最优任务分配方案。在搜索过程中,算法不断扩展节点并记录最优解,当无法继续扩展时进行回溯操作,直至找到所有可能的解或最优解。
2003

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



