作业车间调度的约翰逊算法解决了2台机器和N个作业的情况
作业 Pi 有两个操作,持续时间为 Pi1,Pi2,要按顺序在机器 M1,M2 上完成。
Step 1. List A = { 1, 2, …, N }, List L1 = {}, List L2 = {}.
Step 2. From all available operation durations, pick the minimum.
If the minimum belongs to Pk1,
Remove K from list A; Add K to end of List L1.
If minimum belongs to Pk2,
Remove K from list A; Add K to beginning of List L2.
Step 3. Repeat Step 2 until List A is empty.
Step 4. Join List L1, List L2. This is the optimum sequence.
我不明白为什么这是给出“最佳”答案。这是维基百科链接
我认为这是一个反例:
工作组:
(2,3);(4,5);(6,7)
算法给出的最终答案是机器 1 上的 J1,J2,J3(2,4,6),而机器 2 一直处于空闲状态。相反,如果我们将 J1、J2 安排在机器 1 上,将 J3 安排在机器 2 上,那么我们可以早点完成
谁能解释我做错了什么。