并行计算在流水车间调度问题中的应用
1. 引言
排列流水车间问题(F∗||Cmax)是经典的调度问题,尽管其公式简单且解的集合有限,但属于强NP难问题。多年来,众多学者围绕该问题展开研究,包括基于迭代改进的非精确求解算法。近年来,生物启发式元启发式方法也备受关注。随着处理器核心数量和计算机系统中处理器数量的增加,并行算法在解决调度问题中展现出了新的潜力,如减少计算时间、提高收敛能力和获得更好的解。
2. 排列流水车间问题
2.1 问题定义
设 $J = {1, 2, …, n}$ 为 $n$ 个作业的集合,$M = {1, 2, …, m}$ 为 $m$ 台机器的集合。每个作业 $j$ 由 $m$ 个操作 $O_{1j}, O_{2j}, …, O_{mj}$ 组成,操作 $O_{ij}$ 需要在机器 $i$ 上不间断地处理 $p_{ij}$ 时间。作业 $j$ 在机器 $i > 1$ 上的处理必须在该作业在机器 $i - 1$ 上处理完成后才能开始。
2.2 解决方案表示
解决方案是作业处理调度,可表示为作业开始时间矩阵 $S = (S_1, S_2, …, S_n)$ 和完成时间矩阵 $C = (C_1, C_2, …, C_n)$,其中 $S_j = (S_{1j}, S_{2j}, …, S_{mj})$,$C_j = (C_{1j}, C_{2j}, …, C_{mj})$。实际上,由于 $C_{ij} = S_{ij} + p_{ij}$,只需一个矩阵即可确定调度。
2.3 目标函数
目标是最小化最大完工时间 $C_{max}$,即:
$
超级会员免费看
订阅专栏 解锁全文
1208

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



