流水作业调度的一个小问题的证明。

招RD和QA 2014-06-24 06:48:46
是个2机器的流水作业调度的问题,就是说N个作业T1,T2,...,TN,每个作业分成2个任务A和B,机器P1和P2分别执行A和B,证明如果机器P2上的作业执行顺序和P1上的不一致,只能增加作业时间。也就是说P2和P1执行作业的顺序一致,才能使整个作业时间最小。


想了一段时间,没什么思路,请大侠指点下。
...全文
321 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
招RD和QA 2014-07-02
  • 打赏
  • 举报
回复
楼上,对于作业 i 和 j , P2的顺序和P1的不一样,时间就会变大,不一样已经包含了不相邻的那部分,中间如果有作业 k,时间只可能更大。这个无需证明的。
yyfhz 2014-07-02
  • 打赏
  • 举报
回复
应该还需要证明一点:对于序列P2和序列P1,如果P2的次序和P1不同,那么总能找到两个相邻的位置i和i+1以及j和j+1,使得P1[i],P2[j+1]是属于一个作业Ta,而P1[i+1]和P2[j]是属于一个作业Tb。
招RD和QA 2014-06-27
  • 打赏
  • 举报
回复
打错 了,应该是 如果P2的执行顺序与P1相反,是bj和bi, 那么有...
引用 3 楼 Viper 的回复:
自己想了想,整理一下。 假设集合S包含了需要执行的作业,每个作业包含任务A和B,i和j是其中的2个作业,其执行时间记为ai,bi,aj和bj, 当P1开始执行ai的时候,P2需要等待t才能开始,如果P2执行的顺序与P1一样,即执行aj,bj,那么i和j作业的时间会有重叠的部分(if t<ai+aj), 如果P2的执行顺序与P1相反,是bj和aj,那么有i和j作业的时间有 1. ai+aj+bi+bj (if t<ai+aj) 2. t+bi+bj (if t>ai+aj) 对于t>ai+aj的情况,2种结果时间一样,但如果t<ai+aj的情况,第1种的时间小于第2种的,因为有重叠的部分,而第2种没有。因为剩下的集合是相同的,而P2的时间在后者中更长,所以得证。
招RD和QA 2014-06-27
  • 打赏
  • 举报
回复
自己想了想,整理一下。
假设集合S包含了需要执行的作业,每个作业包含任务A和B,i和j是其中的2个作业,其执行时间记为ai,bi,aj和bj,
当P1开始执行ai的时候,P2需要等待t才能开始,如果P2执行的顺序与P1一样,即执行aj,bj,那么i和j作业的时间会有重叠的部分(if t<ai+aj),

如果P2的执行顺序与P1相反,是bj和aj,那么有i和j作业的时间有
1. ai+aj+bi+bj (if t<ai+aj)
2. t+bi+bj (if t>ai+aj)

对于t>ai+aj的情况,2种结果时间一样,但如果t<ai+aj的情况,第1种的时间小于第2种的,因为有重叠的部分,而第2种没有。因为剩下的集合是相同的,而P2的时间在后者中更长,所以得证。
招RD和QA 2014-06-25
  • 打赏
  • 举报
回复
对于某个作业来说,B任务必须在A任务完成后完成。
你怎么了熊吉 2014-06-25
  • 打赏
  • 举报
回复
B必须在A执行完后才能执行吗?

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧