1.問題描述
用2 臺處理機a 和b 處理n個作業。設第i 個作業交給機器a 處理時需要時間ai,若由機器b來處理,則需要時間bi。由於各作業的特點和機器的效能關係,很可能對於某些i,有ai>=bi,而對於某些j,j≠i,有aj研究乙個例項:
(a1,a2,a3,a4,a5,a6)=(2,5,7,10,5,2);
(b1,b2,b3,b4,b5,b6)=(3,8,4,11,3,4)。
2.程式設計任務
對於給定的2 臺處理機a 和b處理n個作業,找出乙個最優排程方案,使2臺機器處理完這n個作業的時間最短。
3.實驗提示
(1)首先計算出 (日圖貼不上)
(2)設布林量p(i,j,k)表示前k個作業可以在處理機a用時不超過i且處理機b用時不超過j時間內完成。用動態規劃演算法計算下面的式子
(3)由(2)的結果可以計算最短處理時間為:
輸入檔案示例 輸出檔案示例
input.txt output.txt
6 15
2 5 7 10 5 2
3 8 4 11 3 4
獨立任務最優排程問題
題目 用2 臺處理機a 和b 處理n 個作業。設第i 個作業交給機器a 處理時需要時間i a 若由機器b 來處理,則需要時間i b 由於各作業的特點和機器的效能關係,很可能對於某些i,有ai bi,而對於某些j,j i,有aj bj 既不能將乙個作業分開由2 臺機器處理,也沒有一台機器能同時處理2 ...
獨立任務最優排程問題
用2臺處理機a和b處理n個作業。設第i個作業交給機器a處理時需要時間ai,若由機器b來處理,則需要時間bi。由於各作業的特點和機器的效能關係,很可能對於某些i,有ai bi,而對於某些j,j不等於i,有aj第一行是乙個正整數n,表示要處理n個作業。在接下來的兩行中,每行有n個正整數,分別表示處理機a...
獨立任務最優排程
include using namespace std int main int b int sum 0 for int i 0 i n i int m new int n m為b機器的使用時間,i為第幾個工作入隊,j為a機器使用時間 for int i 0 i n i for int i 0 i ...