- 7
- 0
- 约3.7千字
- 约 7页
- 2019-11-06 发布于广东
- 举报
实验目的:
理解回溯法的原理,掌握调度问题的处理方法,实现最佳调度问题的回溯解 决。
问题定义
输入:
任务数N
机器数M
随机序列长度t[i],其中t[i]=x表示第i个任务完成需要时间单位X, 输出:
开销时间besttime,表示最佳调度需要时间单位
最佳调度序列bestx[],其屮bestx[i]=x,表示将第i个任务分配给 第x个机器执行。
实验思想
解空间的表示:
一个深度为N的M叉树。
基本思路:搜索从开始结点(根结点)出发,以DFS搜索整个解空间。
毎搜索完一条路径则记录下besttime和bestx[]序列
开始结点就成为一个活结点,同时也成为当前的扩展结点。在当前的扩展结 点处向纵深方向移至一个新结点,并成为一个新的活结点,也成为当前扩展结点。
如果在当前的扩展结点处不能再向纵深方向扩展,则当前扩展结点就成为死 结点。
此时,应往回移动(回溯)至最近的一个活结点处,并使这个活结点成为当 前的扩展结点;直至找到一个解或全部解。
测试数据及结果
本测试的硬件以及软件环境如下
CPU: PM 1.5G;内存:768M;操作系统:windows xp sp2;软件平台:JDK2.5;开 发环境:eclipse
如图1所示:即为求任务数为10机器数为5的最佳调度的算法结果。
j BestSchedule. java
■qio BestSchedule2. class
Jj
原创力文档

文档评论(0)