[发明专利]基于多级网络计划的进度计算方法及其算法实现有效
申请号: | 201410032701.3 | 申请日: | 2014-01-24 |
公开(公告)号: | CN103729748B | 公开(公告)日: | 2017-03-29 |
发明(设计)人: | 单承方;王志庆;李琳;杨鸽 | 申请(专利权)人: | 北京神舟航天软件技术有限公司 |
主分类号: | G06Q10/06 | 分类号: | G06Q10/06 |
代理公司: | 北京世誉鑫诚专利代理事务所(普通合伙)11368 | 代理人: | 孙国栋 |
地址: | 100094*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于多级网络计划的进度计算方法与算法实现,其特征在于所述进度计算通常包含4个步骤,分别是正向计算、反向计算、最终计算和计算关键路径;(1)、正向计算;(2)、反向计算;(3)、最终计算;(4)、计算关键路径,计算得到了每个任务最早开始、完成时间,最晚开始、完成时间,开始、完成时间,根据关键任务的定义计算得出关键任务,关键任务组成的路径即为关键路径。本发明包含任务依赖关系和任务限制类型约束的进度计算方法和易于计算机软件实现的算法描述,旨在解决用计算机软件编写进度计划、优化进度安排的技术问题。 | ||
搜索关键词: | 基于 多级 网络 计划 进度 计算方法 及其 算法 实现 | ||
【主权项】:
一种基于多级网络计划的进度计算方法,其特征在于:所述进度计算包含4个步骤,分别是:正向计算、反向计算、最终计算和计算关键路径;(1)、正向计算最早开始时间和最早完成时间是通过一个正向计算得出的;(2)、反向计算最晚开始时间、最晚完成时间是通过一个反向计算得出的;(3)、最终计算开始时间和完成时间是通过最终计算过程计算得出的;(4)、计算关键路径在(1)、(2)、(3)三个步骤中,计算得到了每个任务最早开始、完成时间,最晚开始、完成时间,开始、完成时间,根据关键任务的定义计算得出关键任务,关键任务组成的路径即为关键路径;所述正向计算包括正向计算算法、calculateTask函数、getTimeByFowardTasks函数和getTimeByParentFowardTasks函数;正向计算算法用于根据项目中任务之间的依赖关系,由前向后正推,计算项目各个任务的最早开始时间和最早完成时间;calculateTask函数用于计算指定任务的最早开始、完成时间;getTimeByFowardTasks函数用于根据指定任务的前置任务计算得出该任务的候选最早开始时间;getTimeByParentFowardTasks函数用于据指定任务的父任务或祖先任务的前置任务计算得出的该任务的候选最早开始时间;所述反向计算包括反向计算算法、calculateLastTime函数、getTimeBySubsequenceTasks函数、getTimeByParentSubsequenceTasks函数;反向计算算法用于根据项目中任务之间的依赖关系,由后向前逆推,计算项目各个任务的最晚开始时间和最晚完成时间;calculateLastTime函数用于计算指定任务的最晚开始时间和最晚完成时间;getTimeBySubsequenceTasks函数用于根据指定任务的后置任务计算得出该任务的候选最晚开始时间;getTimeByParentSubsequenceTasks函数用于根据指定任务的父或祖先的后置任务计算得出的该任务的候选最晚开始时间;所述最终计算包括最终计算算法和calculateExpectTask函数,最终计算算法用于根据项目中任务之间的依赖关系,由前向后正推,利用正向计算和反向计算的结果计算项目各个任务的最终的开始时间和完成时间;calculateExpectTask函数用于计算指定任务的开始时间、完成时间;所述关键路径包括关键路径算法,关键路径算法用于根据项目中任务的最早开始、完成时间,最晚开始、完成时间,开始、完成时间来确定关键任务;正向计算算法过程描述:(1)通过项目的唯一标识,提取和收集数据,得到集合fRMap、childMap、parentMap、dataMap;(2)遍历该项目所包含的所有任务;(3)若nodeMap中不包含遍历的当前任务,执行函数calculateTask(nodeMap,fRMap,childMap,parentMap,dataMap,iid,calendarid),其中iid是指当前任务的唯一标识,nodeMap是指完成正向计算的任务节点的集合,fRMap是指前置关系的集合,childMap是指子任务map,parentMap是指父任务map,dataMap是指任务的集合,calendarid是指项目日历id,否则,不做操作,继续下一个遍历;(4)遍历过项目所有任务,结束遍历;返回计算结果;反向计算算法过程描述:(1)通过项目的唯一标识,提取和收集数据,得到集合sRMap、childMap、parentMap、dataMap;其中,sRMap为后置关系的集合;(2)获得项目的完成时间,即正向计算算法中计算得出的所有任务中最早完成时间的最大值,记为maxTime;(3)寻找最早完成时间等于maxTime的作业任务,并用其最早开始时间初始化其最晚开始时间,用最早完成时间初始化其最晚完成时间,将此计划对象放入lastMap;其中,lastMap为完成反向计算的任务节点的集合;(4)遍历该项目所包含的所有任务;(5)若lastMap中不包含遍历的当前任务,执行函数calculateLastTime(lastMap,sRMap,childMap,parentMap,dataMap,iid,maxTime,calendarid),其中iid是指当前任务的唯一标识,maxTime为项目结束时间,calendarid为项目日历id;否则,不做操作,继续下一个遍历;(6)遍历过项目所有任务,结束遍历;(7)返回计算结果;最终计算算法过程描述:(1)通过项目的唯一标识,提取和收集数据,得到集合fRMap、childMap、parentMap、dataMap;(2)遍历该项目所包含的所有任务;(3)若computeMap中不包含遍历的当前任务,执行函数calculateExpectTask(computeMap,fRMap,childMap,parentMap,dataMap,iid,calendarid),其中iid是指当前任务的唯一标识,calendarid为项目日历id;否则,不做操作,继续下一个遍历;其中,computeMap为完成最终计算的任务节点的集合;(4)遍历过项目所有任务,结束遍历;(5)返回计算结果;关键路径算法过程描述:(1)遍历指定项目简单任务对象集合dataMap;(2)获得简单对象task,若task为作业任务,并且其最晚开始时间小于或等于开始时间,将它标记为关键任务;否则,将它标记为非关键任务;(3)结束遍历;(4)返回做了标记的简单任务对象集合。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神舟航天软件技术有限公司,未经北京神舟航天软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410032701.3/,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06 计算;推算;计数
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理