算法设计与分析——回溯法——批处理作业调度
問題描述:給定n個作業(yè)的集合{J1,J2,…,Jn}。每個作業(yè)必須先由機器1處理,然后由機器2處理。作業(yè)Ji需要機器j的處理時間為tji。對于一個確定的作業(yè)調(diào)度,設(shè)Fji是作業(yè)i在機器j上完成處理的時間。所有作業(yè)在機器2上完成處理的時間和稱為該作業(yè)調(diào)度的完成時間和。
批處理作業(yè)調(diào)度問題要求對于給定的n個作業(yè),制定最佳作業(yè)調(diào)度方案,使其完成時間和達到最小。
這3個作業(yè)的6種可能的調(diào)度方案是1,2,3;1,3,2;2,1,3;2,3,1;3,1,2;3,2,1;它們所相應(yīng)的完成時間和分別是19,18,20,21,19,19。易見,最佳調(diào)度方案是1,3,2,其完成時間和為18。
以1,2,3為例:
作業(yè)1在機器1上完成的時間為2,在機器2上完成的時間為3
作業(yè)2在機器1上完成的時間為5,在機器2上完成的時間為6
作業(yè)3在機器1上完成的時間為7,在機器2上完成的時間為10
3+6+10=19,所以時間和為19。
以1,3,2為例:
作業(yè)1在機器1上完成的時間為2,在機器2上完成的時間為3
作業(yè)3在機器1上完成的時間為4,在機器2上完成的時間為7
作業(yè)2在機器1上完成的時間為7,在機器2上完成的時間為8
3+7+8=18,所以時間和為18。
批處理作業(yè)調(diào)度問題要從n個作業(yè)的所有排列中找出具有最小完成時間和的作業(yè)調(diào)度,所以如圖,批處理作業(yè)調(diào)度問題的解空間是一顆排列樹。按照回溯法搜索排列樹的算法框架,設(shè)開始時x=[1,2,……n]是所給的n個作業(yè),則相應(yīng)的排列樹由x[1:n]的所有排列構(gòu)成。
算法分析:
算法的時間復(fù)雜度為O(n!)
總結(jié)
以上是生活随笔為你收集整理的算法设计与分析——回溯法——批处理作业调度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iQOO 12 系列燃途版机型线上开售:
- 下一篇: 算法设计与分析——回溯法——装载问题