AOV网络求关键路径

如下网络图,A表示活动节点,0表示经过计算节点总时差为0。此处省略时差计算方式。参考单代号网络图计算总时差


 S表示栈结构,从起始节点O开始,O为虚拟节点,无工时属性,仅为方便计算关键路径。也就是说A,B,C均同时开始。与O节点开始时间一致。

理论上D,H节点不可能总时差为0此处只作为计算考虑。

[[]]表示存储关键路径的数组,因为关键路径有可能有多条。因此用二维数组表示。

从此图也可看出,关键路径应有4条。

如下为关键路径计算步骤:

STEP 1

S:[O]

[[]]

后继总时差0节点:O->A,B,C

[

    [O]

    [O]

    [O]

]

S:[A,B,C]

STEP 2

S:[B,C]

A->O

[

    [O,A]

    [O]

    [O]

]

A->D

S:[D,B,C]

STEP 3

S:[B,C]

D->A

[

    [O,A,D]

    [O]

    [O]

]

D->H

S:[H,B,C]

STEP 4

S:[B,C]

H->D

[

    [O,A,D,H]

    [O]

    [O]

]

H->NO_ZERO

[

    [O]

    [O]

]

S:[B,C]

STEP 5

S:[C]

B->O

[

    [O,B]

    [O]

]

B->F

S:[F,C]

STEP 6

S:[C]

F->B,C

[

    [O,B,F]

    [O]

]

F->I,J

[

    [O,B,F]

    [O,B,F]

    [O]

]

S:[I,J,C]

STEP 7

S:[J,C]

I->F

[

    [O,B,F,I]

    [O,B,F]

    [O]

]

I->L

S:[L,J,C]

STEP 8

S:[J,C]

L->I,J

[

    [O,B,F,I,L]

    [O,B,F]

    [O]

]

L->M

S:[M,J,C]

STEP 9

S:[J,C]

M->L

[

    [O,B,F,I,L,M]

    [O,B,F]

    [O]

]

M->END

S:[J,C]

STEP 10

S:[C]

J->F

[

    [O,B,F,I,L,M]

    [O,B,F,J]

    [O]

]

J->L

S:[L,C]

STEP 11

S:[C]

L->I,L->J

[

    [O,B,F,I,L,M]

    [O,B,F,J,L]

    [O]

]

L->M

S:[M,C]

STEP 12

S:[C]

M->L

[

    [O,B,F,I,L,M]

    [O,B,F,J,L,M]

    [O]

]

M->END

STEP 13

S:[C]

C->O

[

    [O,B,F,I,L,M]

    [O,B,F,J,L,M]

    [O,C]

]

C->F

S:[F]

STEP 14

S:[]

F->C

[

    [O,B,F,I,L,M]

    [O,B,F,J,L,M]

    [O,C,F]

]

F->I,J

S:[I,J]

STEP 15

S:[J]

I->F

[

    [O,B,F,I,L,M]

    [O,B,F,J,L,M]

    [O,C,F,I]

    [O,C,F]

]

I->L

S:[L,J]

STEP 16

S:[J]

L->I,J

[

    [O,B,F,I,L,M]

    [O,B,F,J,L,M]

    [O,C,F,I,L]

    [O,C,F]

]

L->M

S:[M,J]

STEP 17

S:[J]

M->L

[

    [O,B,F,I,L,M]

    [O,B,F,J,L,M]

    [O,C,F,I,L,M]

    [O,C,F]

]

M->END

S:[J]

STEP 18

S:[]

J->F

[

    [O,B,F,I,L,M]

    [O,B,F,J,L,M]

    [O,C,F,I,L,M]

    [O,C,F,J]

]

J->L

S:[L]

STEP 19

S:[]

L->I,J

[

    [O,B,F,I,L,M]

    [O,B,F,J,L,M]

    [O,C,F,I,L,M]

    [O,C,F,J,L]

]

L->M

S:[M]

STEP 20

S:[]

M->L

[

    [O,B,F,I,L,M]

    [O,B,F,J,L,M]

    [O,C,F,I,L,M]

    [O,C,F,J,L,M]

]

M->END

S:[]

::END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
关键路径是指在一个有向无环图中,从源点到汇点的所有路径中,耗时最长的路径。关键路径需要用到AOV网和拓扑排序,其数据结构的逻辑结构如下: 1. AOV网:即活动(Activity)- 操作(On)- 网络(Vertex)的缩写,是一种用来描述工程进度计划的网络图。AOV网中,用顶点表示活动,用弧表示活动之间的先后关系,即弧尾表示活动的起点,弧头表示活动的终点。 2. 拓扑排序:拓扑排序是对AOV网进行排序的过程,使得所有的活动都按照其先后关系排列在一个序列中。拓扑排序可以用来判断AOV网是否有环,如果有环则说明该工程无法完成。 3. 关键路径关键路径是指在一个有向无环图中,从源点到汇点的所有路径中,耗时最长的路径。关键路径需要用到AOV网和拓扑排序,首先对AOV网进行拓扑排序,然后计算每个活动的最早开始时间和最晚开始时间,最后根据这些时间计算出关键路径。 以下是关键路径的步骤: 1. 对AOV网进行拓扑排序,得到每个活动的拓扑序号。 2. 计算每个活动的最早开始时间(EST),即该活动的所有前驱活动中最晚完成时间加上该活动的持续时间。 3. 计算每个活动的最晚开始时间(LST),即该活动的所有后继活动中最早开始时间减去该活动的持续时间。 4. 计算每个活动的总时差(TF),即LST减去EST。 5. 找出所有总时差为0的活动,这些活动就是关键路径上的活动。 6. 将关键路径上的活动按照拓扑序号排序,得到关键路径
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值