?? gettimes.m
字號:
% 函數功能:求出當前作業序列下,各個作業在每臺機器上的開始時間、完成時間和等待時間
function [out_tComplete] = getTimes(in_tProcess, in_jobSeq); % out_tStart, , out_tWait
% 輸入參數
% |-- in_tProcess: 處理時間,(machCount × jobCount)維
% |-- in_jobSeq: 待計算的作業序列,(11 × relJobCount)維
% 輸出參數
% |-- out_tStart: 開始時間,(machCount × jobCount)維
% |-- out_tComplete: 完成時間,(machCount × jobCount)維
% |-- out_tWait: 等待時間,(machCount × jobCount)維
[macCount, jobCount] = size(in_tProcess);
[relJobCount] = size(in_jobSeq, 2);
% 初始化
out_tStart = -100 * ones(macCount, jobCount);
out_tComplete = -100 * ones(macCount, jobCount);
% out_tWait = -100 * ones(macCount, jobCount);
% 第一個作業在m臺機器上的各項時間
firstJob = in_jobSeq(1);
out_tComplete(1, firstJob) = in_tProcess(1, firstJob);
out_tStart(1, firstJob) = 0;
% out_tWait(1, firstJob) = 0;
for (iMac = 2: macCount)
out_tStart(iMac, firstJob) = out_tComplete(iMac - 1, firstJob);
out_tComplete(iMac, firstJob) = out_tStart(iMac, firstJob) + in_tProcess(iMac, firstJob);
% out_tWait(iMac, firstJob) = out_tComplete(iMac - 1, firstJob);
end
% out_tWait(:, firstJob) = 0;
% 各個作業在第一臺機器上的各項時間
for (kJob = 2 : relJobCount)
curJob = in_jobSeq(kJob);
out_tStart(1, curJob) = out_tComplete(1, in_jobSeq(kJob - 1));
out_tComplete(1, curJob) = out_tStart(1, curJob) + in_tProcess(1, curJob);
% out_tWait(1 , curJob) = 0;
end
for (iMac = 2 : macCount)
for (kJob = 2 : relJobCount)
%%max(out_tComplete(iMac, kJob - 1), out_tComplete(iMac - 1, kJob))
curJob = in_jobSeq(kJob);
% maxTCom = max(out_tComplete(iMac, in_jobSeq(kJob - 1)), out_tComplete(iMac - 1, curJob));
out_tStart(iMac, curJob) = max(out_tComplete(iMac, in_jobSeq(kJob - 1)), out_tComplete(iMac - 1, curJob)) ;
out_tComplete(iMac, curJob) = out_tStart(iMac, curJob) + in_tProcess(iMac, curJob);
% % % 如果在該機器上的前一個作業完成時間 大于 該作業在前一臺機器上的完成時間,則等待
% % if (out_tComplete(iMac, in_jobSeq(kJob - 1)) > out_tComplete(iMac - 1, curJob))
% % out_tWait(iMac, curJob) = out_tComplete(iMac, in_jobSeq(kJob - 1)) - out_tComplete(iMac - 1, curJob);
% % else
% % out_tWait(iMac, curJob) = 0;
% % end
end
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -