流水作業排程johnson法則

2021-09-25 12:34:53 字數 966 閱讀 1965

問題描述:

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

源**:

public class 流水作業排程 ;//第一台機器工作時間

int b= ;//第二台機器工作時間

int n1=new int[5];

int n2=new int[5];

int n1ln,n2ln;

//分組保留陣列有效長度

n1ln=n1_n2(a,b,n1,n2);//二機器工作時長大於一機器工作時長的陣列有效長度

n2ln=a.length-n1ln;//一機器工作時長大於二機器工作時長陣列有效長度

//將二機器工作時長大於一機器工作時長的陣列按照在一機器的工作時長公升序排列

bubblesort(n1,n1ln,a);

system.out.println

("將二機器工作時長大於一機器工作時長的陣列按照在一機器的工作時長公升序排列:");

show(n1,n1ln);

//將一機器工作時長大於二機器工作時長的陣列按照在二機器的工作時長公升序排列

bubblesort(n2,n2ln,b);

system.out.println

("將二機器工作時長大於二機器工作時長的陣列按照在二機器的工作時長公升序排列:");

show(n2,n2ln);

//兩陣列拼接合併到n1陣列中

for(int i=n2ln-1;i>=0;i--) n1[n1ln++]=n2[i];//合併

system.out.println("最優演算法為:");

show(n1,5);//列印

//計算最優選擇下的用時}

}

流水作業排程的Johnson 演算法

如果作業i和j滿足,則稱作業i和j滿足johnson不等式。如果作業i和j不滿足johnson不等式,則交換作業i和j的加工次序後,作業i和j滿足johnson不等式。流水作業排程的johnson 演算法 bool compare jobtype a,jobtype b sort使用 按照johns...

流水作業排程

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

流水作業排程

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