小玩批量作業排程演算法

2021-08-04 14:56:40 字數 1033 閱讀 9177

給定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 中只有乙個作業佇列,被提交的作業按照先後順序在作業佇列中排隊,新來的作業插入到隊尾。乙個作業執行完後,總是從隊首取下乙個作業執行。這種排程策略的優點是簡單 易於實現,同時也減...