多機排程問題

2021-08-30 02:45:02 字數 763 閱讀 9310

多機排程問題要求給出一種作業排程方案,使所給的

n個作業在盡可能短的時間內由

m臺機器加工處理完成。

約定:每個作業均可在任何一台機器上加工處理,但未完工前不允許中斷處理。作業不能拆分成更小的子作業。

這個問題是

np完全問題,到目前為止還沒有有效的解法。對於這一類問題,用

貪心選擇策略有時可以設計出較好的近似演算法。 採用

最長處理時間作業優先的貪心選擇策略可以設計出解多機排程問題的較好的近似演算法。

按此策略,當

[0, ti]

時間區間分配給作業

i即可,演算法只需要

o(1)時間。

當n個作業依其所需的處理時間從大到小排序。然後依此順序將作業分配給空閒的處理機。演算法所需的計算時間為

o(nlogn)

#include#include#include#includeusing namespace std;

int a[1005],b[1005];

bool cmp(int a,int b)

int main()

cout<

貪心演算法 多機排程問題C

1.問題 要求給出一種作業排程方案,使所給的n個作業在盡可能短的時間內由m臺機器加工處理完成。約定,每個作業均可在任何一台機器上加工處理,但未完工前不允許中斷處理。作業不能拆分成更小的子作業。2.演算法解析 此演算法的貪心策略主要在於sort排序演算法,按照作業時間從大到小進行排序。然後再考慮機器數...

排程機任務排程問題

題目描述 假設有乙個 排程機,有n個任務相同的任務需要排程到m臺伺服器上執行,由於每台伺服器的配置不一樣,因此,伺服器執行乙個任務所花費的時間也不同。現在假設第i個伺服器執行乙個任務需要的時間為t i 假如,有2個執行機a與b,執行乙個任務分別需要7min和10min,有6個任務待排程。如果平分這6...

貪心之多機排程問題

題目來自洛谷1190 學校裡有乙個水房,水房裡一共裝有 m 個龍頭可供同學們開啟水,每個龍頭每秒鐘的 供水量相等,均為 1。現在有 n 名同學準備接水,他們的初始接水順序已經確定。將這些同學按接水順序從 1到 n 編號,i 號同學的接水量為 wi。接水開始時,1 到 m 號同學各佔乙個水龍頭,並同時...