給定n個作業的集合。每個作業必須先由機器1處理,然後由機器2處理。作業ji需要機器j的處理時間為tji。對於乙個確定的作業排程,設fji是作業i在機器j上完成處理的時間。所有作業在機器2上完成處理的時間和稱為該作業排程的完成時間和。
批處理作業排程問題要求對於給定的n個作業,制定最佳作業排程方案,使其完成時間和達到最小。
這3個作業的6種可能的排程方案是1,2,3;1,3,2;2,1,3;2,3,1;3,1,2;3,2,1;它們所相應的完成時間和分別是19,18,20,21,19,19。易見,最佳排程方案是1,3,2,其完成時間和為18。解空間:排列樹
private
static
void
backtrack(int i)
else
for (int j = i; j <= n; j++)
f1-=m[x[j]][1];
f-=f2[i];}}
public
class flowshop
static
int n, // 作業數
f1, // 機器1完成處理時間
f, // 完成時間和
bestf; // 當前最優值
static
int m; // 各作業所需的處理時間
static
int x; // 當前作業排程
static
int bestx; // 當前最優作業排程
static
int f2; // 機器2完成處理時間
作業排程演算法
1.先來先服務fcfs first come first serve 是最簡單的排程演算法,按先後順序進行排程。按照作業提交或程序變為就緒狀態的先後次序,分派cpu 當前作業或程序占用cpu,直到執行完或阻塞,才出讓cpu 非搶占方式 在作業或程序喚醒後 如i o完成 並不立即恢復執行,通常等到當前...
作業排程演算法
一 先來先服務 根據作業到達的先後次序安排作業的執行順序,最先到達的作業最先執行,該演算法操作最簡單,同時看起來也是最公平,因此在系統中都有應用,但是它沒有考慮作業執行時間的長短,如果最先到達的作業需要較長的時間,而稍後到達的作業只需要很短的執行時間,就會導致短作業的長時間等待,使短作業的帶權周轉的...
Hadoop作業排程演算法
hadoop集群中有三種作業排程演算法,分別為 fifo 公平排程演算法和計算能力排程演算法 fifo比較簡單,hadoop 中只有乙個作業佇列,被提交的作業按照先後順序在作業佇列中排隊,新來的作業插入到隊尾。乙個作業執行完後,總是從隊首取下乙個作業執行。這種排程策略的優點是簡單 易於實現,同時也減...