流水作業排程問題

2021-07-25 19:17:18 字數 755 閱讀 4755

流水作業排程問題

n個作業在2

臺機器上m1和

m2組成的流水線上完成加工。每個作業加工的順序都是先在

m1上加工,後在

m2上加工。在兩台機器上加工的時間分別為ai和

bi。解:流水作業排程:

根據johnson法則

使用結構體陣列f1[j] 存放a[i]使用結構體陣列f2[k] 存放a[i]>=b[i]的作業

對f1[j]根據a[j]進行公升序排列 

對f2[k]根據b[k]進行降序排列。

遍歷兩個結構體陣列,依次求時間

取兩個機器執行時間的較大值作為作業用時。 

#include #include using namespace std;

struct node;

bool cmp1(node p,node q)

int main() }

sort(f1,f1+j,cmp1);//公升序

sort(f2,f2+k,cmp2);//降序

int first=0;//機器a作業

int secend=0;//機器b作業

for(i=0;isecend?first:secend)+f1[i].b;//兩個機器作業取大值 }

for(i=0;isecend?first:secend)+f2[i].b;

} printf("%d\n",secend);

}

流水作業排程問題

n個作業在2臺機器上m1和m2組成的流水線上完成加工。每個作業加工的順序都是先在m1上加工,後在m2上加工。在兩台機器上加工的時間分別為ai和bi。目標 確定這n個作業的加工順序,使得從第一台作業開始加工,到最後乙個作業完成加工所需要的時間最少。假設要對集合s中的作業進行加工,當m1開始加工時,假設...

流水作業排程問題

n個作業要在由2臺機器m1和m2組成的流水線上完成加工。每個作業加工的順序都是先在m1上加工,然後在m2上加工。m1和m2加工作業i所需的時間分別為a i 和b i 流水作業排程問題要求確定這n個作業的最優加工順序,使得從第乙個作業在機器m1上開始加工,到最後乙個作業在機器m2上加工完成所需的時間最...

流水作業排程問題

有n個作業要在兩台機器m1和m2組成的流水線上完成加工。每個作業i 都必須先花時間ai 在m1上加工,然後花時間bi 在m2上加工。求解n個作業的加工順序,使得總的加工時間最短。最優排程 讓m1沒有空閒,m2的空閒時間盡量短。設s1 為 a b的作業集合,s2為 a b 的作業集合,將s1的作業按a...