计算能影响整个计划完成时间的关键活动试题解析.docxVIP

计算能影响整个计划完成时间的关键活动试题解析.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

【题23】计算能影响整个计划完成时间的关键活动

工厂的工程计划用一张有向图表示,有向图的结点表示事件,有向边表示活动,边上的权标明一项活动需要的时间。结点所表示的事件实际上就是它入边代表的活动均已完成,出边代表的活动可以开始这样一种状态。例如

上图含11项活动、9个事件。其中事件v表示开始时活动a、a、a并行实施;事件v代表活动a、a

1 1 2 3 5 4 5

已经完成,活动a、a可以开始。V表示整个计划完成。活动依事件的顺序要求进行。例如活动a、a、

7 8 9 4 5

a只有当事件v、v、v分别发生后才能进行,而它们的完成又标志事件v、v的发生。当活动a10、a11

6 2 3 4 5 6

完成后,整个计划完成。

上述有向图存在唯一的入度为0的开始结点v

1

,表明整个计划从该事件开始;存在唯一的出度为0的

完成结点v,表明该事件完成后,整个计划结束。

n

现在的问题是,整个计划完成至少需要多少时间,为提前完成计划应该加快哪些活动的速度。

输入:

n(事件数,1≤n≤100)e(活动数,1≤e≤4000)

以下为e行,每行为连接两个事件的序号以及活动需要的时间

输出:

完成整个计划的最少时间

以下k行,每行为一个关键活动(i,j)和目前花费的时间w,加快该活动的速度能提前完成计划

ij

⑴关键路径的由来

如果有向图的结点表示活动,有向边表示活动间的优先关系,那么我们通过拓扑排序将图中的结点排成一个满足活动先后顺序要求的线性序列。如果有向有权图满足下述条件

⑴存在唯一的入度为0的结点和唯一的出度为0的结点;

⑵可通过拓扑排序将图中的结点排成一个满足活动先后顺序要求的线性序列(即有向图没有回路)则称该有向有权图为AOV网(活动结点网络)。

由于前面已经给出了拓扑排序的算法,因此这里不再赘述。如果本题给出的有向有权图是一个AOV网,则利用AOV网可以估算出整个计划完成至少需要多少时间,为提前完成计划应该加快哪些活动的速度等问题。解决这些问题有一种有效的方法——求关键路径方法。由于AOV网中的活动可以并行进行,

因此完成整个计划的最少时间是从开始结点v到完成结点v的最长路径长度(路径上各边权的和)。具有

1 n

最大长度的路径称作关键路径。在上图中v→v→v→v→v是一条关键路径,长度为18。换句话说,整

1 2 5 8 9

个计划至少需要18个时间单位完成。关键路径上的活动又称关键活动。如果不能按期完成这些活动会贻

误整个计划。找出关键活动后就可以适当调度,集中力量于关键活动,以保证计划如期或提前完成。

⑵关键路径的计算

为了找出关键活动,我们先定义几个变量:

n—AOV网的结点数; m—AOV网的有向边数;

ee[i]—v事件可能发生的最早时间,即从开始结点v至结点v的最长路径长度;

i 1 i

le[i]—在保证完成结点v所代表的事件在ee[n]时刻发生的前提下,事件v允许发生的最晚时 间,即

n i

le[i]=ee(n)-v至v

最长路径长度;

i n

e[k]—活动a(对应边v,v)可能的最早开始时间,即等于事件v

的可能的最早发生时间ee[i];

k i j i

l[k]—活动ak(对应边vi,vj)允许的最晚完成时间,即等于事件vj允许最晚发生时间le[j];

(1≤i,j≤n,1≤k≤m)]

显然活动a的最大可利用时间是l[k]-e[k]。若最大可利用时间等于a边所带的权w(即为计划时间),则a

k k k k

是关键活动。a延期,则整个计划将顺延。若最大可利用时间大于w,则a不是关键活动,a的完成时间

k k k k

允许超过w。只要不超过最大可利用时间,无妨于整个计划完成的进度。我们可以采取以下步骤,计算上

k

面定义的几个变量值,从而找到关键活动:

⑴首先令ee[1]=0,然后向前递推ee[j]

ee[j]=max{ee[i]+w

} 2≤j≤n, (i,j)∈以j为头的弧集

显然,ee[j]的计算必须在v

j

ij

的所有前趋结点的最早发生时间都已求得前提下进行;

⑵从le[n]=ee[n]起向后倒推le[i]

le[i]=min{le[j]-w} i=n-1‥1, (i,j)∈以i为尾的弧集

ij

显然,le[i]的计算必须在v的所有后继结点的最晚发生时间都已求得的前提下进行。由⑴、⑵可以看出结

i

点序列v‥v必须是拓扑序列。

1 n

⑶对于每一条边a=v,v(1≤k≤m),求e[k]和l[k]

k i j

e[k]←ee[i], l[k

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档