对于任务x(a, b)如果a > b,按a的大小排
对于任务y(a, b)如果a <= b,按b的大小排
这两个规则应该没争议吧。
现在考虑任务x(a, b), y(c, d),不妨设a > b, c <= d,总的延迟值记为S
则如果x排在y前面有
S0 = a - b + max(0, a+c - d)
y排在x前面
S1 = 0 + (a+c - b)
1、假设a+c > d, 则S0 = a - b + a + c - d = a + c - b + a - d,
S0 <= S1 ===> a - d <= 0 ====> a <= d
2、假设a+c <= d ===> a <= d,则S0 = a-b,显然S0 <= S1
也就是说对于两个任务x(a,b), y(c,d),一个满足a>b, 另一个满足c<=d,如果要使得延迟值最小,
则当a <= d时,x排在y前面
否则,y排在x前面。