精华内容
下载资源
问答
  • 一年级上册aoe图文PPT学习教案.pptx
  • AOV图-AOE图

    万次阅读 2016-02-18 11:35:58
    一般用来表示网络关系,当描述事务之间有纵横交错的关系时,可用结点表示事务、用边表示事务之间  的关系以及伴随这些关系的信息,从而形成一个描述事务之间网络关系的,而...二、AOE-(Activity on Edge )例题:

      一般用图来表示网络关系,当描述事务之间有纵横交错的关系时,可用结点表示事务、用边表示事务之间

     的关系以及伴随这些关系的信息,从而形成一个描述事务之间网络关系的图,而问题的解决就相当于发现图中的路。

      一、AOV-(Activity on Vertices)例题:



      


    二、AOE-(Activity on Edge )例题:







    小结:

    ① AOV网不能有有向环


    ② AOV AOE两者关系


    其实AOV网与工作流网(AOE)在模型结构上其实是很相似的,它们都是以节点表示活动,有向边表示流程的流向,

    所不同的是AOV网的有向边仅仅只表示活动的前后次序,也可以说是流程中的流程流向,而工作流网中的

    有向边却不仅如此,它还可以在每条边上设置不同的条件来决定活动的下一环节是什么,它的出度就不一定

    是所有有向边了。因此,AOV网其实是工作流网的一种特例,是一种全入全出的有向无环工作流网。

    AOE网的定义:在带权有向图中若以顶点表示事件,有向边表示活动,边上的权值表示该活动持续的时间,

    这样的图简称为AOE网。

    从定义上来看,很容易看出两种网的不同,AOV网的活动以顶点表示,而AOE网的活动以有向边来表示,

    AOV网的有向边仅仅表示活动的先后次序。纵观这两种网图,其实它们总体网络结构是一样的,仅仅是

    活动所表示的方式不同,因此可以猜想从AOV网转换成AOE网应该是可行的。


    通常AOE网都是和关键路径联系在一起的,在AOE网中我们可以通过关键路径法来计算影响

    整个工期的关键路径,达到缩短工期的目的。在传统的AOV网中是没有表示活动时间的权值的,

    因此传统的AOV网无法估算工期,但是如果我们在AOV网中的活动结点上都标上时间属性,

    那么AOV网就可以完全转换为AOE网,并且也可以采用关键路径法来估算工时,又鉴于工作

    流网与AOV网的相似性,那么基于AOV网的工作流网关键路径算法指日可待。


       

    展开全文
  • 我想知道第一问这个要怎么画图,怎么看它这个表格![图片](https://img-ask.csdn.net/upload/201710/27/1509092335_989598.jpg)
  • AOE图和关键路径的求解

    千次阅读 2019-10-24 00:02:21
    AOE网和关键路径 本文算是相对知识密度较大的文章,建议看的时候仔细一点,并在迷惑的地方搜索其他文章。 文章目录AOE网和关键路径AOE网和AOV网一些概念关键路径关键路径相关量工程规划工程规划 AOE网和AOV网 ...

    AOE网和关键路径

    本文算是相对知识密度较大的文章,建议看的时候慢一点,并在迷惑的地方搜索其他文章。


    AOE网和AOV网

    一些概念

    拓扑结构:拓扑本是地理上的概念,指只考虑物体间的位置关系而不考虑它们的形状和大小。拓扑结构就是某些东西之间有位置关系。

    拓扑排序:给一个局部有序的拓扑结构排序。如:吃饭->睡觉,睡觉->打豆豆。在拓扑排序后则变成:吃饭->睡觉->打豆豆,这样的拓扑序列。

    Activity On Vertex:用顶点表示活动,用弧表示活动间的优先关系的有向图。

    活动:如吃饭睡觉打豆豆等,在企鹅的一天这个工程中都是活动。

    事件:类似于里程碑,标志着之前的某些活动都已经完成。如:顶点5标志活动a4,a5已完成,a7,a8可以开始了。(a7的先序活动为a4或a5)

    Activity On Edge:是一个带权的有向无环图,其中,顶点表示事件(Event),弧表示活动,权表示活动持续的时间。 入度为零的顶点成为源点,出度为零的顶点称为汇点
    AOE图示例
    AOE网可以求解:

    1. 完成整个工期的时间。
    2. 为缩短工期,应加快哪些活动。

    关系:AOV网常用来拓扑排序,AOE网用来规划工程计划。

    关键路径

    从源点到汇点具有最大长度的路径,关键路径上的所以活动都称作关键活动

    关键活动序列具有最长的总工期并决定了整个项目的最短完成时间,任何元素的延迟将直接影响项目的预期完成时间。

    关键路径相关量

    其中,v:vertex,e:early,l:late。

    以下可以在‘最’字前加上“可以”,便于理解。如:事件可以的最早发生事件。

    1. 事件的最早发生时间:ve[k]

    从源点开始到顶点Vk的最大路径长度(即权值的和)。

    这个长度决定了从顶点Vk发出的活动能够开工的最早时间。

    如:顶点5标志着活动a4、a5已完成,则以a4、a5为前序活动的a7、a8则可以开始进行。

    求解:

    ve[0] = 0;

    ve[k] = max{ve[j] + len<Vj, Vk>}

    即:从上个顶点Vj开始,ve[k]加上从该顶点到Vk顶点路径的最大值。

    1. 事件的最迟发生时间:vl[k]

    指在不推迟整个工期的前提下,事件Vk允许的最晚发生事件。

    vl[n] = ve[n]

    vl[k] = min{vl[j] - len<Vk, Vj>}

    即:从它的下一个顶点Vj开始,vl[j]减去该顶点到Vk顶点路径的最小值。

    注:上述两个相关量求解时总是为最大或最小值,是因为某个顶点的前一个顶点或后一个顶点可能有多个。我们所说的“Vk的前一个顶点”指的是与Vk有弧,且弧头指向Vk的顶点。

    1. 活动的最早开始时间:e[i]

    字面意思。

    e[i] = ve[k]

    即:e[i]等于该弧的弧尾所在顶点的ve[k]的值。

    1. 活动的最迟开始时间:l[i]

    l[i] = vl[j] - len<Vk, Vj>

    即:该弧的弧头所在顶点对应的vl[k]减去该弧的权值。

    然后就可计算各个活动的时间余量(l[k] - e[k] ),时间余量为0者为关键活动。

    工程规划

    在求出关键路径和各个活动的时间余量后,便可做出规划:

    若要保证工程完成工期较短,则关键活动必须要马不停蹄的完成。

    而时间余量不为零的那些活动,则可以拖延相应的时间。

    关键活动。

    工程规划

    在求出关键路径和各个活动的时间余量后,便可做出规划:

    若要保证工程完成工期较短,则关键活动必须要马不停蹄的完成。

    而时间余量不为零的那些活动,则可以拖延相应的时间。

    也可通过上面求得的关键路径相关量,计算安排每个活动开始的时间范围,和整个工程的最短工期。

    展开全文
  • AOE图-关键活动

    千次阅读 2018-07-02 23:07:56
    用顶点表示事件,用弧表示活动,弧的权值表示活动所需要的时间,用这种方式构造的有向无环叫做边表示活动的网(Activity On Edge Network),简称AOE-网在AOE-网中存在惟一的、入度为0的顶点,叫做源点;...

    用顶点表示事件,用弧表示活动,弧的权值表示活动所需要的时间,用这种方式构造的有向无环图叫做 边表示活动的网(Activity On Edge Network),简称 AOE-网
    在AOE-网中存在惟一的、入度为0的顶点,叫做 源点;存在惟一的、出度为0的顶点,叫做 汇点。从源点的汇点的最长路径的长度即为完成整个
    工程任务所需的时间,该路径叫做 关键路径。关键路径上的活动叫做 关键活动。这些活动的 任意一项活动未能按期完成,则整个工程的完成时间
    就要推迟。相反,如果能够加快关键活动的进度,则整个工程就能够提前完成。
    用顶点表示事件,用弧表示活动,弧的权值表示活动所需要的时间,用这种方式构造的有向无环图叫做 边表示活动的网(Activity On Edge Network),简称 AOE-网
    在AOE-网中存在惟一的、入度为0的顶点,叫做 源点;存在惟一的、出度为0的顶点,叫做 汇点。从源点的汇点的最长路径的长度即为完成整个
    工程任务所需的时间,该路径叫做 关键路径。关键路径上的活动叫做 关键活动。这些活动的 任意一项活动未能按期完成,则整个工程的完成时间
    就要推迟。相反,如果能够加快关键活动的进度,则整个工程就能够提前完成。

    未完...

    展开全文
  • 数据结构之---C语言实现关键路径AOE图//关键路径AOE//杨鑫#include #include #include //定义邻接表typedef struct node{int adjvex;int w;struct node *nextedge;}edgenode;//定义边集typedef struct{char data;int...

    数据结构之---C语言实现关键路径AOE图

    //关键路径AOE

    //杨鑫

    #include

    #include

    #include

    //定义邻接表

    typedef struct node

    {

    int adjvex;

    int w;

    struct node *nextedge;

    }edgenode;

    //定义边集

    typedef struct

    {

    char data;

    int id;

    edgenode *firstedge;

    }vexnode;

    void CreateGraph(vexnode* Graph,int vexnumber,int arcnumber)

    {

    int i = 0, j = 0, k = 0;

    int begin,end,duttem;

    char ch;

    edgenode *p;

    for(i=0;i

    {

    Graph[i].id =0;

    Graph[i].firstedge =NULL;

    }

    printf("请输入这个图中的各个顶点的值:\n");

    for(i=0;i

    {

    scanf("%s",&ch);

    Graph[i].data=ch;

    }

    printf("请输入图中弧的起始点及权值:其格式为\n");

    for(k=0;k

    {

    scanf("%d,%d,%d",&begin,&end,&duttem);

    p=(edgenode*)malloc(sizeof(edgenode));

    p->adjvex =end-1;

    p->w =duttem;

    Graph[end-1].id ++;

    p->nextedge =Graph[begin-1].firstedge ;

    Graph[begin-1].firstedge =p;

    }

    }

    int SearchMapPath(vexnode* Graph,int vexnumber,int arcnumber)

    {

    int totaltime=0;

    int m=0;

    int i,j,k,t;

    char sv[100];

    int front,rear;

    int *topology_queue,*vl,*ve,*el,*ee;

    front=rear=-1;

    t=0;

    topology_queue=(int*)malloc(vexnumber*sizeof(int));

    vl=(int*)malloc(vexnumber*sizeof(int));

    ve=(int*)malloc(vexnumber*sizeof(int));

    el=(int*)malloc(arcnumber*sizeof(int));

    ee=(int*)malloc(arcnumber*sizeof(int));

    edgenode *p;

    for(i=0;i

    ve[i]=0;

    for(i=0;i

    {

    if(Graph[i].id==0)

    topology_queue[++rear]=i;

    m++;

    }

    while(front!=rear)

    {

    front++;

    j=topology_queue[front];

    m++;

    p=Graph[j].firstedge ;

    while(p)

    {

    k=p->adjvex ;

    Graph[k].id --;

    if(ve[j]+p->w >ve[k])

    ve[k]=ve[j]+p->w ;

    if(Graph[k].id ==0)

    topology_queue[++rear]=k;

    p=p->nextedge ;

    }

    }

    if(m

    {

    printf("\n本程序所建立的图有回路不可计算出关键路径\n");

    printf("将退出本程序\n");

    return 0;

    }

    totaltime=ve[vexnumber-1];

    for(i=0;i

    vl[i]=totaltime;

    for(i=vexnumber-2;i>=0;i--)

    {

    j=topology_queue[i];

    p=Graph[j].firstedge;

    while(p)

    {

    k=p->adjvex ;

    if((vl[k]-p->w )

    vl[j]=vl[k]-p->w;

    p=p->nextedge;

    }

    }

    printf("| 起点 | 终点 | 最早开始时间 | 最迟开始时间 | 差值 | 是否为关键路径 \n");

    i=0;

    for(j=0;j

    {

    p=Graph[j].firstedge;

    while(p)

    {

    k=p->adjvex;

    ee[++i]=ve[j];

    el[i]=vl[k]-p->w;

    printf("| %4c | %4c | %12d | %12d | %4d |",Graph[j].data ,Graph[k].data ,ee[i],el[i],el[i]-ee[i]);

    if(el[i]==ee[i])

    {

    printf(" 此弧为关键活动 ");

    sv[t]=Graph[j].data;t++;

    }

    printf("\n");

    p=p->nextedge;

    }

    }

    printf("关键路径节点为:");

    sv[t]=Graph[vexnumber-1].data;

    for(i=0;i<=t;i++)

    {

    printf("%c",sv[i]);

    if(sv[i]!=Graph[vexnumber-1].data)

    printf("--->");

    }

    printf("\n");

    printf("关键路径长度为:%d个单位时间\n",totaltime);

    return 1;

    }

    int main( )

    {

    int vexnumber,arcnumber,totaltime=0;

    printf("请输入这个图中的节点数:");

    scanf("%d",&vexnumber);

    printf("请输入这个图中的弧数:");

    scanf("%d",&arcnumber);

    vexnode* Graph=(vexnode*)malloc(vexnumber*sizeof(vexnode));

    CreateGraph(Graph,vexnumber,arcnumber);

    SearchMapPath(Graph,vexnumber,arcnumber);

    return 0;

    }

    结果:

    093521444.jpg

    版权声明:本文为博主原创文章,未经博主允许不得转载。

    展开全文
  • 数据结构之---C语言实现关键路径AOE图
  • AOE图及拓扑排序

    千次阅读 2017-01-07 17:00:45
    有向无环通常来表示活动之间的先后关系,AOV中顶点表示活动,有向的边表示活动间的先后关系,例如边表示活动u是获得v发生的前提,很明显,这种不应该存在环()即不应该某活动以自身为先决条件。 如是一...
  • 点到直线的最短距离 /// <summary> /// 三角函数法求x到直线x0为起点,u为单位向量的垂直最短距离平方 /// </summary> /// <param name="x0">起点</param> /// <.../param&
  • AOE图的关键路径

    千次阅读 2012-11-26 14:48:37
    啥是关键路径?啥是事件,啥事活动? 1. 活动即路径。 2.事件为顶点。 3.关键路径就是最长的那条。...1.事件最早时间:从出发向终点走,每个事件(顶点)都求最长的。...3.活动最早时间:路径的起始点的事
  • 拓扑排序与AOE图关键路径

    千次阅读 2016-07-17 23:52:34
    AOE网我们使用点表示事(活动开始与结束),使用边表示活动,权值表示活动的性质(时间) 注意性质: 有以下性质: ① 只有在某顶点所代表的事件发生后,从该顶点出发的各有向边所代表的活动才能开始。 ...
  • 这是一个AOE图,其中v1、v2、v3、v4、v5、v6为结点,a1、a2、a3、a4、a5、a6为边上的权值。   最早发生时间 v1 v2 v3 v4 v5 v6 0 3 2 6 6 8 ...
  • 文章目录 1.AOE图: 2.AOE图邻接链表存储结构: 3.代码实现 3.1.实体及参数初始化 3.2.代码实现 3.3.输出 1.AOE图: 2.AOE图邻接链表存储结构: 3.代码实现 3.1.实体及参数初始化 //邻接表的链表节点 @Data public ...
  • 我们直接举例,假设你和朋友约好去看电影,V7是你们约定到达地点的时间,v1节点是大家一起从各自家里出发的时间,其中的v2,v3,v4,v5,v6是各自坐交通工具到达换乘地点的时间,其中边的权值为你需要花费的...中就是v...
  • 代码实现 #include #include #include #define MAX 100 //这里我们要建立aoe图,它与拓扑排序中的aov图不同的地方在于他的顶点表示事件,线表示活动 //如组装车要造零件后再瓶装 //AOE图:起始点——零件造完——拼装...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,737
精华内容 1,894
关键字:

aoe图