集配运输系统的模块控制方法_5

文档序号:9235815阅读:来源:国知局
st,其输出结果存入FS_list,它首先取出节点数组中的第一个 节点,如果该节点已经处理过,则取出下一个节点,直到取出一个未处理节点,对该未处理 节点,首先标记为已处理节点,再把它所有的子节点存取数据new_node_array,然后递归调 用函数 DFS_search 佑 node_a;rray, FS_list),当 DFS_search 佑 node_a;rray, FS_list)结 束时,把其对应的未处理节点放在FS_list的前面,再接着处理对应节点数组中的下一个 节点,直至递归结束。
[0160] 第四阶段;货物运输拓扑排序对物流运输非常重要,最主要的是它给出了事件的 执行顺序,如果事件执行顺序与拓扑排序相矛盾,货物运输将出现错误。拓扑排序对物流管 理、物流软件设计和优化物流运输起着根本性的指导作用。比如拓扑排序中显示"发送"电 子收货单事件先于"卸货前呼叫事件"发生,如果"卸货前呼叫事件"先于"发送电子收货单 事件"发生,可能发生货物送达但运费不能收回的情况,又比如拓扑排序中显示待运货物信 息预报事件和空载运力信息预报事件不关联,该两个事件会独立执行。
[0161] 事件之间的简单路径数量表示事件之间的关系复杂程度,可应用事件之间的简单 路径数量分析关键路径、关键节点和控制事件,该些都是优化物流运输不可或缺的条件,图 6计算了事件之间的简单路径数量的算法流程。
[0162] path_number是求解简单路径数量的函数,输入参数为有向无环图G,输出为任意 节点与G的拓扑排序的最后节点之间的简单路径数量,其过程是首先调用topological_ sod佑),并把其结果存入链表V。假设图G的全部节点数为t,再产生一个大小为t的数组 arr,并设arr[t]的初始值为1,然后设定arr[t-l]的值为0,取出链表t-1位置的节点, 把t-1节点所有子节点所对应的存于arr中的值相加并存入arr [t-1],再取出链表t-2位 置的节点,把t-2节点所有子节点所对应的存于arr中的值相加并存于arr[t-3],重复上 述过程,直到处理完链表的第一个值,arr [j] (j = 1,...,t)中的数值即表示节点j到节点 t之间的路径数,如果计算任意两节点之间的简单路径数,可修改算法中的循环下限和子节 点范围得到两节点之间的路径数。
[0163] 在一具体的实施例中,本发明采用拓扑排序的方法对模块的执行顺序进行规范和 管理,拓扑排序算法参照图2所示,包括W下内容:
[0164] 由A0V网构造拓扑序列的拓扑排序算法主要是循环执行W下两步,直到不存在入 度为0的顶点为止。
[0165] (1)选择一个入度为0的顶点并输出之;
[0166] (2)从网中删除此顶点及所有出边。
[0167] 循环结束后,若输出的顶点数小于网中的顶点数,则输出"有回路"信息,否则输出 的顶点序列就是一种拓扑序列。
[0168] 本发明采用拓扑排序的方法把集配运输系统中的所有模块进行了整理,并且所述 拓扑排序对模块间的执行顺序进行管理,亦即决定了执行货物运输事件的先后顺序,从而 保证货物运输的顺利执行。
[0169] W上所述是本发明的优选实施方式,应当指出,对于本技术领域的中高级技术用 户来说,在不脱离本发明所述原理的前提下,还可W作出若干改进和润饰,该些改进和润饰 是在我们发明上的必然前展结果,也应视为本发明的保护范围。
【主权项】
1. 一种集配运输系统的模块控制方法,具体包括以下步骤: (1) 对集配运输系统中的模块接口信息进行整理和处理; (2) 依据所述集配运输系统中的模块关系,得到模块间的有向无环图; (3) 根据拓扑排序算法,对形成的模块间的有向无环图进行拓扑排序; (4) 依据模块执行次序,利用拓扑排序控制模块间的执行顺序。2. 根据权利要求1所述的集配运输系统的模块控制方法,其特征在于,所述步骤(1)对 集配运输系统中的模块接口信息进行整理和处理,具体包括: 分解集配运输系统的流程工程为一系列模块,各个模块下包括不同的接口信息,对所 述接口信息进行拓扑排序,形成一次完整的集配运输工程过程;各个模块包括不同的事件; 所述集配运输系统中的模块主要有:会员发展模块、交易模块、保险模块、结算模块、银行业 务模块。3. 根据权利要求2所述的集配运输系统的模块控制方法,其特征在于,所述步骤(1)对 集配运输系统中的模块接口信息进行整理和处理,还包括: 依据以下方式形成拓扑序列:若事件之间的关系是驱动与被驱动关系,驱动事件必须 先执行;若事件之间的关系是并行关系时,可按照任意顺序执行。4. 根据权利要求2所述的集配运输系统的模块控制方法,其特征在于,所述步骤(2)依 据所述集配运输系统中的模块关系,得到模块间的有向无环图,具体包括: 所述事件之间的驱动关系用有向无环图表示,该有向无环图的所有定点的拓扑排序为 一个线性序列,所述线性序列使得所述有向无环图的所有有向边均从左指向右。5. 根据权利要求1所述的集配运输系统的模块控制方法,其特征在于,所述步骤⑶根 据拓扑排序算法,对形成的模块间的有向无环图进行拓扑排序,具体包括: (31) 在有向无环图中选一个没有直接前驱的顶点,并输出之; (32) 从图中删去该顶点,同时删去所有它发出的有向边; 重复以上步骤(31)~(32),直到全部顶点均已输出,形成拓扑有序序列,拓扑排序完 成;或图中还有未输出的顶点,但已跳出处理循环。6. 根据权利要求5所述的集配运输系统的模块控制方法,其特征在于,所述步骤⑶根 据拓扑排序算法,对形成的模块间的有向无环图进行拓扑排序,建立在深度优先基础上,具 体方式为: 建立拓扑排序函数,其输入参数为有向无环图,输出为拓扑排序,其具体操作是首先把 有向无环图的所有根节点形成根节点数组,再产生一个空链表,然后运行遍历函数把拓扑 排序存入所述链表里,即完成拓扑排序的工作;所述遍历函数的输入参数为有向无环图,节 点数组和链表,其输出结果存入所述链表。7. 根据权利要求6所述的集配运输系统的模块控制方法,其特征在于,所述遍历函数 的具体操作为: 首先取出节点数组中的第一个节点,如果该节点已经处理过,则取出下一个节点,直到 取出一个未处理节点;对该未处理节点,首先标记为已处理节点,再把它所有的子节点数组 进行数据存取,然后递归调用所述遍历函数,当所述遍历函数结束时,把其对应的未处理节 点放在所述链表的前面,再接着处理对应节点数组中的下一个节点,直至递归结束。8. 根据权利要求6所述的集配运输系统的模块控制方法,其特征在于,所述步骤⑶根 据拓扑排序算法,对形成的模块间的有向无环图进行拓扑排序,还包括: 使用事件之间的简单路径数量分析关键路径、关键节点和控制事件,具体方式为:建立 求解简单路径数量的简单路径函数,输入参数为有向无环图,输出为任意节点与有向无环 图的拓扑排序的最后节点之间的简单路径数量,其具体操作是: 首先调用拓扑排序函数,并把其结果存入链表V ;再产生一个大小为t的数组arr,并设 arr[t]的初始值为1,然后设定arr[t-l]的值为0,取出链表t-1位置的节点,把t-1节点 所有子节点所对应的存于arr中的值相加并存入arr [t-1],再取出链表t-2位置的节点,把 t-2节点所有子节点所对应的存于arr中的值相加并存于arr [t-3];重复上述过程,直到处 理完链表的第一个值,arr[j] (j = 1,. . .,t)中的数值即表示节点j到节点t之间的路径 数;其中,t为有向无环图的全部节点数。9.根据权利要求1所述的集配运输系统的模块控制方法,其特征在于,所述步骤(4)依 据模块执行次序,利用拓扑排序控制模块间的执行顺序,具体包括: 所述集配运输系统通过触发一系列事件完成各个功能,事件的优先次序通过拓扑排序 建立,依据拓扑排序决定执行集配事件的先后顺序。
【专利摘要】本发明提出一种集配运输系统的模块控制方法,可应用于集配运输系统,随着集配运输系统规模的增大和复杂性的增加,模块之间的依赖关系、执行先后顺序变得非常复杂,本发明利用拓扑排序方法将所有模块在一条水平线上展示出来,包括以下步骤:对集配运输系统中的模块接口信息进行整理和处理;依据所述集配运输系统中的模块关系,得到模块间的有向无环图;根据拓扑排序算法,对形成的模块间的有向无环图进行拓扑排序;模块执行是需要按照一定次序的,利用拓扑排序控制模块间的执行顺序。本发明采用拓扑排序方法把集配运输系统中的所有模块进行整理,并通过拓扑排序方式对模块间的执行顺序进行管理,亦即决定了执行事件的先后顺序,保证集配顺利执行。
【IPC分类】G06Q30/00, G06Q50/28, G06Q10/08
【公开号】CN104951919
【申请号】CN201510414043
【发明人】施文进, 阎九吉, 吴青, 王飞
【申请人】惠龙易通国际物流股份有限公司, 镇江惠龙长江港务有限公司, 江苏惠银科技股份有限公司
【公开日】2015年9月30日
【申请日】2015年7月14日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1