一种基于物联网技术的关键链计划调度软件算法
技术领域
本发明涉及计划调度
技术领域
,尤其是一种基于物联网技术的关键链计划调度软件算法。背景技术
目前国内外项目管理软件存在以下问题:1.缺少多维度的资源管控,目前大部分项目管理软件在资源管理上往往只涉及人力资源,特别是在产品研发新产品导入过程中,机电软一体化的产品,其试制/试产进度往往与供应链、关键制造、测试设备存在着密切关系;
2.缺少关键设备资源实时的设备状态、排期和生产能力的动态更新,导致计划不能反馈真实的进度,甚至项目启动前的排程就是在不可获得的资源情况下计算出的项目周期和任务时间排期;
3.缺乏科学的计算方法在资源受限时优化调度计划,项目执行过程中,当前的项目管理软件不能通过资源分析和平衡,实时完成计划调度与项目变更预测;
4.缺失多项目维度的资源冲突识别,导致计划编制过程中对关键资源的利用估计不足,引起计划不可达;
5.缺乏在后墙不倒的情况下,即项目完成时间不可更改的情况,如何结合项目的各个维度完成资源平衡。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种基于物联网技术的关键链计划调度软件算法,能自动排程防止资源冲突且利用物联网技术实时获取关键设备资源状态和产能,动态调整计划周期,通过缓冲机制减少项目延期风险。
为实现上述目的,本发明所采用的技术方案为:
一种基于物联网技术的关键链计划调度软件算法,包括以下步骤:
S1:遍历任务列表,添加任务,任务的属性包括工时、技能、资源以及依赖关系;
S2:对所有任务进行拓扑排序,计算最早开始时间和最晚开始时间,求得基本的关键路径,记录关键路径天数,并添加关键任务标记,关键任务取最早开始时间,非关键任务取最晚开始时间;
S3:根据每个任务的工时和标准日历换算成真实日期;
S4:按照被指派的技能遍历其所有任务,根据技能列表校验冲突,若存在冲突,添加任务依赖关系,非关键任务让步关键任务,重置上述步骤得到的日期和时间,重复执行步骤S1和步骤S2,直到不存在技能冲突;
S5:按照以被指派的资源遍历其所有任务,校验是否存在资源冲突,若存在冲突,添加任务依赖关系,非关键任务让步关键任务,重置上述步骤得到的日期和时间,重复执行步骤S1和步骤S2,直到不存在资源冲突,最后得到的关键路径就是关键链;
S6:根据关键链添加项目缓冲和接驳缓冲;
最后输出结果为各任务的计划开始日期和计划结束日期。
作为优选,针对步骤S6中,按百分比缩短任务工期后多出的裕量作为项目缓冲和接驳缓冲。
作为优选,按照任务的最晚开始时间,根据任务完工所需要的时间,首先安排任务的最后一个工作,然后再确定其次工作、长期工作,最后安排任务的起始工作,整个工作安排采用逆推法,由任务的结束向前进行安排,把项目缓冲安排在任务工期的最后阶段。
作为优选,针对步骤S6中,接驳缓冲设置于关键任务之后。
作为优选,针对步骤S5中,得到关键链之后检验后墙,若超过后墙,则所有任务时间段按相同比例缩短。
作为优选,针对任务所依赖的资源设置可用日历,当资源不可用或被其他任务独占时,它将不能再被新的任务使用。
作为优选,定义不同资源的技能类别和描述,当某一资源某一时间不可获得时,系统可推荐具备相同技能的可用资源供任务选择。
作为优选,在任务关键资源发生变化时,对任务进度进行调整和预警。
作为优选,通过物联网技术连接设备资源,实时获取设备状态、排期和实时的生产能力,将其适配到计划中,动态预测和推荐计划,动态真实的反应计划进度。
与现有技术相比,本发明的有益效果是:
本基于物联网技术的关键链计划调度软件算法,完成对计划的多维度建模,建立计划排程过程中的优先启发式规则,生成工期最短的近优项目计划,保证计划准确排期;
识别计划中的资源冲突,通过优先规则迭代优化计划排程,解决项目在受约束的条件下,通过关键链算法服务计算出合理的项目计划,并在项目关键资源发生变化时,对项目进度进行调整和预警;
利用缓冲机制完成工期压缩与资源调度,减少项目延期风险,引入关键链的接驳任务和项目缓冲,动态调整项目计划,保证后墙不倒,保证计划在非确定资源环境下受控并稳定执行;
通过物联网技术连接设备资源,实时获取设备状态、排期和实时的生产能力,将其适配到计划中,动态预测和推荐计划,动态真实的反应计划进度,动态调整计划周期,提升项目执行效率。
附图说明
图1为本发明的整体框图。
图2为设置可用日历的示例。
图3为定义不同资源的技能类别和描述的示例。
图4为自动排程后得到关键链示例。
图5为缩短任务工期示例。
图6为添加项目缓冲和接驳缓冲示例。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-6,本发明提供一种技术方案:一种基于物联网技术的关键链计划调度软件算法,包括以下步骤:
步骤一:遍历任务列表,添加任务,任务的属性包括工时、技能、资源以及依赖关系;
步骤二:对所有任务进行拓扑排序,计算最早开始时间和最晚开始时间,通过图论识别计划关键路径,记录关键路径天数,并添加关键任务标记,关键任务取最早开始时间,非关键任务取最晚开始时间;
步骤三:根据每个任务的工时(单位:小时)和标准日历(指派了资源时依据对应的个别日历)换算成真实日期;
步骤四:按照被指派的技能遍历其所有任务,根据技能列表校验冲突,若存在冲突,添加任务依赖关系,非关键任务让步关键任务,重置上述步骤得到的日期和时间,重复执行步骤一和步骤二,直到不存在技能冲突;
步骤五:按照以被指派的资源遍历其所有任务,校验是否存在资源冲突,若存在冲突,添加任务依赖关系,非关键任务让步关键任务,重置上述步骤得到的日期和时间,重复执行步骤一和步骤二,直到不存在资源冲突,最后得到的关键路径就是关键链,检验后墙(即锁定项目预估结束时间),在不可更改的情况下,若超过后墙,则所有任务时间段按相同比例缩短;
步骤六:按百分比缩短任务工期后多出的裕量作为项目缓冲和接驳缓冲,将项目缓冲和接驳缓冲添加到关键链中,且接驳缓冲设置于关键任务之后,按照任务的最晚开始时间,根据任务完工所需要的时间,首先安排任务的最后一个工作,然后再确定其次工作、长期工作,最后安排任务的起始工作,整个工作安排采用逆推法,由任务的结束向前进行安排,把项目缓冲安排在任务工期的最后阶段;
最后输出结果为各任务的计划开始日期和计划结束日期。
针对任务所依赖的资源设置可用日历,当资源不可用或被其他任务独占时,它将不能再被新的任务使用,定义不同资源的技能类别和描述,当某一资源某一时间不可获得时,系统可推荐具备相同技能的可用资源供任务选择;如资源为风扇和空调,其技能均包括送风,当风扇不可获得时,系统可推荐使用空调。
在任务关键资源发生变化时,对任务进度进行调整和预警,通过物联网技术连接设备资源,实时获取设备状态、排期和实时的生产能力,将其适配到计划中,动态预测和推荐计划,动态真实的反应计划进度。
优先规则用来确定任务执行的优先顺序,根据一定的调度法则,为可行任务集合中的每一个任务都赋予一个权重,在选择任务时,根据法则的需要确定这个权重是取最大化还是最小化,如果多个任务存在相同权重,则根据摆脱平局的方法来选择,摆脱平局最简单的方式是选择一个标号最小的任务,或采用简单随机方式进行选择。并通过启发规则解决缺乏普适性、寻优能力有限的特点,最终实现简单、适用、计算效率高的优点。
以资源约束的三种自动排程为例
实施例一:任务一、任务二和任务三中均依次需要第一资源、第二资源和第三资源,所以任务一、任务二和任务三需错开进行,其中任务一和任务二依次被标记为关键任务,所以第一资源、第二资源和第三资源均依次从任务一、任务二和任务三中使用。
实施例二:任务一、任务二和任务三中均依次需要第一资源、第二资源和第三资源,所以任务一、任务二和任务三需错开进行,其中任务一和任务三依次被标记为关键任务,所以第一资源、第二资源和第三资源均依次从任务一、任务三和任务二中使用。
实施例三:任务一、任务二和任务三中均依次需要第一资源、第二资源和第三资源,所以任务一、任务二和任务三需错开进行,其中任务二和任务三依次被标记为关键任务,所以第一资源、第二资源和第三资源均依次从任务二、任务三和任务一中使用。
最后应说明的是:以上所述仅为本发明的优选实例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种硫代乙酸泄漏应急处理的管理方法及系统