批處理作業排程問題

2021-09-30 14:39:59 字數 981 閱讀 9567

/*

name: 批處理作業排程問題

author: 巧若拙

date: 17-07-17 14:12

description:

問題描述:

給定n個作業,集合j=(j1,j2,j3)。每乙個作業ji都有兩項任務分別在2臺機器上完成。每個作業必須先有機器1處理,然後再由機器2處理。

作業ji需要機器j的處理時間為tji。對於乙個確定的作業排程,設fji是作業i在機器j上完成處理時間。

則所有作業在機器2上完成處理時間和f=f2i,稱為該作業排程的完成時間和。

簡單描述:

對於給定的n個作業,指定最佳作業排程方案,使其完成時間和達到最小。

*/#include#includeusing namespace std;

const int n = 3; //作業的個數

int map[n+1][2] = ,,,};//記錄作業時間安排表

int p[n+1], bestp[n+1];//分別儲存當前作業排程和最優排程

int f2[n+1];//機器2依次完成每項作業的時間

int f1, f, bestf; //分別儲存機器1完成作業時間,機器2完成作業總用時和當前最優時間值

void backtrace(int t); //遞迴回溯

int main()

backtrace(1);

cout << bestf << endl;

for (int i=1; i<=n; i++)

cout << endl;

// system("pause");

return 0;

}void backtrace(int t) //遞迴回溯,t表示第t號作業

bestf = f;

}else

f1 -= map[p[i]][0];

f -= f2[t];}}

}

批處理作業排程問題

給定n個作業的集合j 每乙個作業有兩項任務分別在兩台機器上完成。每個作業必須先由機器1處理,再由機器2處理。作業ji需要機器j的處理時間為tji,i 1,2,n,j 1,2。對於乙個確定的作業排程,設fji是作業i在機器j上完成處理的時間。則所有作業在機器2上完成處理的時間和f f21 f22 f2...

批處理作業排程

tji 機器1機器2 作業12 1作業231 作業32 3 這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。void flowsho...

回溯法 批處理作業排程 回溯法 批處理作業排程

問題描述 給定n個作業的集合j j1,j2,jn 每乙個作業ji都有兩項任務分別在2臺機器上完成。每個作業必須先有機器1處理,然後再由機器2處理。作業ji需要機器j的處理時間為tji。對於乙個確定的作業排程,設fji是作業i在機器j上完成處理時間。則所有作業在機器2上完成處理時間和f f2i,稱為該...