首页 > 试题广场 >

现有如下任务需要安排在若干机器上并行完成,每个任务都有开始时

[填空题]

现有如下任务需要安排在若干机器上并行完成,每个任务都有开始时间和结束时间(开始和结束时间都包括在任务执行时间内)的要求

任务名称      开始时间     结束时间
a             1       7
b             8       9
c             2       5
d             7      11
e             3       6
f             7        9
g             10      13

 

则最少需要使用的机器数目为1

1-7这段时间内有a,c,e,三个任务,故1-7需要三台机器,7-9有b,d,f,9-13有g和d,可得出至少需要三台机器,但我的答案3是错的,应该是(1) 3
发表于 2019-10-15 11:40:19 回复(4)
第一个机器1~7 8~9 10~13 第二个机器2~5 7~9 第三个机器3~6 7~11 由于时间不能冲突,所以最少三个机器
发表于 2019-10-15 11:33:36 回复(0)

有木有大佬给分析分析

发表于 2019-10-15 09:18:37 回复(0)
1. 首先分析任务的时间安排: - 我们可以将每个任务看作是一个时间段,任务之间可能存在重叠。 - 为了使使用的机器数目最少,我们要尽量让任务在不同的时间段并行执行。 2. 然后对任务进行排序和分析: - 按照任务开始时间对任务进行排序: - a: 1 - 7 - c: 2 - 5 - e: 3 - 6 - b: 8 - 9 - d: 7 - 11 - f: 7 - 9 - g: 10 - 13 - 从开始时间最早的任务a开始分析: - 任务a在1 - 7时间段执行,在此期间任务c(2 - 5)和任务e(3 - 6)也在执行,所以这三个任务需要3台机器。 - 当任务a结束后,任务d从7开始,与任务b(8 - 9)和任务f(7 - 9)有重叠,这三个任务又需要3台机器(此时机器数累计到6台,但实际上不需要这么多,因为前面执行a、c、e的机器有空闲可以利用)。 - 任务g从10开始,此时前面执行任务的机器有空闲可以安排任务g执行。 3. 最后确定最少需要的机器数目: - 综合分析,在任务执行过程中,最多同时有3个任务重叠,所以最少需要使用的机器数目为3。 答案是3。
发表于 2024-10-26 09:43:00 回复(0)
奶奶的,我还以为并行完成是所有任务在通过一时间点同步完成呢
发表于 2023-10-09 22:12:39 回复(0)
第一台:1~7,8~9,10~13
第二台:2~5,7~11
第三台:3~6,7~9
发表于 2020-10-09 19:21:17 回复(0)
这种类型的题怎么编程实现?
发表于 2020-08-25 21:44:05 回复(1)
一台就搞定了,多线程并行运行。
发表于 2019-12-06 21:06:31 回复(0)
为什么写3是错的,一定要(1)3??
发表于 2019-10-16 11:08:08 回复(0)
a,c,e分别从第一秒,第二秒和第三秒开始,时间冲突,所以肯定由三台机器执行,假设为分别由X,Y,Z三台机器执行
b,d,f时间也冲突肯定也得由三台机器执行
a(1-7)b(8-9)时间不冲突,所以X机器把a执行完可以执行b
c(2-5)d(7-11)时间不冲突,所以Y机器c执行完可以执行d
e(3-6)f(7-9)时间不冲突,所以Z机器执行完e可以执行f
b(8-9)和g(10-13)时间不冲突,所以X机器执行完b还可以执行g
因此做少需要3台就可以执行完
编辑于 2019-10-16 10:21:24 回复(0)
这个应该怎么分析
发表于 2019-10-15 21:29:36 回复(1)