dp 流水作業排程問題

2021-08-10 07:51:23 字數 659 閱讀 6611

#include using namespace std;

struct task;

void flowshop(struct task t,int *x,int n,int &time)//引數分別是乙個結構體陣列,x返回任務的執行順序的id,n為任務個數,time返回總時間,這裡time為c++裡面的引用型別

/*對n2中的任務按time_m2非遞增排序*/

for(int i=0;ik2)//如果第i個任務的time_m1加上已有的k1比下面的k2大,那麼任務i在m2上面開始執行的時間應該是k1+t[x[i]-1].time_m1

else//如果第i個任務的time_m1加上已有的k1比下面的k2小,那麼任務i在m2上面開始執行的時間應該是k2+t[x[i]-1].time_m1

流水作業排程問題

流水作業排程問題 n個作業在2 臺機器上m1和 m2組成的流水線上完成加工。每個作業加工的順序都是先在 m1上加工,後在 m2上加工。在兩台機器上加工的時間分別為ai和 bi。解 流水作業排程 根據johnson法則 使用結構體陣列f1 j 存放a i 使用結構體陣列f2 k 存放a i b i 的...

流水作業排程問題

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上加工完成所需的時間最...