📄 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 + -