CN111612411A - 一种目标任务检测方法、系统、装置及存储介质 - Google Patents

一种目标任务检测方法、系统、装置及存储介质 Download PDF

Info

Publication number
CN111612411A
CN111612411A CN202010255957.6A CN202010255957A CN111612411A CN 111612411 A CN111612411 A CN 111612411A CN 202010255957 A CN202010255957 A CN 202010255957A CN 111612411 A CN111612411 A CN 111612411A
Authority
CN
China
Prior art keywords
task
target
path
days
acquiring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010255957.6A
Other languages
English (en)
Other versions
CN111612411B (zh
Inventor
梁延研
周铭威
冀肖榆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boyan Technology Zhuhai Co ltd
Original Assignee
China Energy International Construction Investment Group Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Energy International Construction Investment Group Co ltd filed Critical China Energy International Construction Investment Group Co ltd
Priority to CN202010255957.6A priority Critical patent/CN111612411B/zh
Publication of CN111612411A publication Critical patent/CN111612411A/zh
Application granted granted Critical
Publication of CN111612411B publication Critical patent/CN111612411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

本发明公开了一种目标任务检测方法、系统、装置及存储介质。所述目标任务检测方法能够根据所述路径的长度排序、任务的工时排序和目标天数,检测出目标任务,所述目标任务为缩减时间代价最小的任务,本发明能够通过算法检测出缩减代价最小的任务,从而能够修改项目中任务的进度,所述算法能够在非常短的时间内精确地判断出需要修改的任务,从而能够快速准确地获取最佳修改方案,以对项目中的任务进行优化。本发明广泛运用于计算机算法领域。

Description

一种目标任务检测方法、系统、装置及存储介质
技术领域
本发明涉及计算机算法领域,尤其涉及一种目标任务检测方法、系统、装置及存储介质。
背景技术
在一个大项目中,常常会有许多个小项目,而每个小项目之间的联系不尽相同,每一个小项目又会被细分为很多个小任务,这样就会造成在一个完整的大项目中,至少会有几百甚至成千上万个任务。这些任务都隶属于一些小项目,而这些小项目有时会平行互不干扰,有时会有先后顺序,更多时候是交叉。这就导致了如果有一个小项目中的一个小任务需要改动,就会“牵一发而动全身”,影响了整个大任务。在以前,因为任务是人为地去编排,因而也是人为作出改动,人是靠记忆力和经验去作出改动,很多时候不能做到完美;在一些工程里面,有时候需要对某一些日期区间内的流程的工期进行缩减,却因为流程太多,不能很精确地对缩减时间代价最小的流程进行缩减。
发明内容
针对上述至少一个技术问题,本发明的目的在于提供一种目标任务检测方法、系统、装置及存储介质。
本发明所采取的技术方案是:一方面,本发明实施例包括一种目标任务检测方法,包括:
读取项目工程流程表;
选择需要优化的日期区间;
获取在所述日期区间内的所有工程流程的路径集合;
获取各个所述路径的长度排序;
读取各个所述工程流程中的所有任务;
获取各个所述任务的工时排序;
获取目标天数,所述目标天数为需要缩减的工时时长;
根据所述路径的长度排序、任务的工时排序和目标天数,检测出目标任务,所述目标任务为缩减时间代价最小的任务。
进一步地,所述获取在所述日期期间内的所有工程流程的路径集合这一步骤,包括:
提取在所述日期区间内的所有任务,并制成任务列表;
遍历所述任务列表,获取每个任务的工期和工期延期量,并生成第一邻接矩阵;
遍历所述第一邻接矩阵,获取源点任务和汇点任务,所述源点任务为只有后续任务的任务,所述汇点任务为只有前置任务的任务;
将所述第一邻接矩阵的值更改为总工期以更新为第二邻接矩阵,所述总工期为工期与工期延期量的和;
使用Dijkstra算法获取每一个源点任务到每一个汇点任务的所有路径,获取在所述日期期间内的所有工程流程的路径集合。
进一步地,所述根据所述路径的长度排序、任务的工时排序和目标天数,检测出目标任务,所述目标任务为缩减时间代价最小的任务这一步骤,包括:
根据所述路径的长度排序,获取第一路径和第二路径,所述第一路径为工时长度最长的路径,所述第二路径为工时长度第二长的路径;
获取第一工时差,所述第一工时差为所述第一路径与所述第二路径的工时差;
判断第一路径是否唯一,并判断所述第一工时差与目标天数的大小;
根据判断结果,检测出目标任务,所述目标任务为缩减时间代价最小的任务。
进一步地,所述根据判断结果,检测出目标任务,所述目标任务为缩减时间代价最小的任务这一步骤,包括:
若所述第一路径唯一且所述第一工时差大于所述目标天数,提取所述第一路径中各个任务的工时排序并制作成第一降序列表;
根据所述第一降序列表,获取目标任务,并依次缩减目标任务的工时时长至目标天数。
进一步地,所述根据判断结果,检测出目标任务,所述目标任务为缩减时间代价最小的任务这一步骤,还包括:
若所述第一工时差不大于所述目标天数,计算在所述日期期间内每一天所有任务的缩减代价,并进行排序;
按照缩减代价从小到大的顺序制作任务升序列表;
根据所述任务升序列表,获取目标任务,并依次缩减目标任务的工时时长至目标天数。
进一步地,所述若所述第一工时差不大于所述目标天数,计算在所述日期期间内每一天所有任务的缩减代价,并进行排序这一步骤,包括:
遍历目标当天所有工程流程中的所有任务,所述目标当天为所述日期期间内的任意一天;
所述所有任务的工时时长加一天后与目标当天第一路径中的所有任务的工时时长总和比较;
提取第一目标任务,所述第一目标任务为工时时长加一天后大于目标当天第一路径中的所有任务的工时时长总和的任务;
计算缩减所述第一目标任务工时时长1天的代价;
遍历每一天所有工程流程中的所有任务;
按照计算第一目标任务缩减代价的方法计算在所述日期期间内每一天所有任务的缩减代价。
进一步地,计算缩减所述第一目标任务工时时长1天的代价是由以下公式执行的:
缩减代价=1/第一目标任务的工时时长。
另一方面,本发明实施例还包括一种目标任务检测系统,包括:
第一读取模块,用于读取项目工程流程表;
选择模块,用于选择需要优化的日期区间;
第一获取模块,用于获取在所述日期区间内的所有工程流程的路径集合;
第二获取模块,用于获取各个所述路径的长度排序;
第二读取模块,用于读取各个所述工程流程中的所有任务;
第三获取模块,用于获取各个所述任务的工时排序;
第四获取模块,用于获取目标天数,所述目标天数为需要缩减的工时时长;
制定模块,用于根据所述路径的长度排序、任务的工时排序和目标天数,检测出目标任务,所述目标任务为缩减时间代价最小的任务。
另一方面,本发明实施例还包括一种目标任务检测的装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行所述目标任务检测的方法。
另一方面,本发明实施例还包括一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述目标任务检测的方法。
本发明的有益效果是:本发明提供了一种目标任务检测方法,能够通过算法检测出缩减代价最小的任务,从而能够修改项目中任务的进度,所述算法能够在非常短的时间内精确地判断出需要修改的任务,从而能够快速准确地获取最佳修改方案,以对项目中的任务进行优化。
附图说明
图1为实施例所述目标任务检测的步骤流程图;
图2为实施例所述搜索源点任务的算法框图;
图3为实施例所述搜索汇点任务的算法框图;
图4为实施例所述获取新的邻接矩阵的算法框图;
图5为实施例所述的堆优化的Dijkstra算法框图;
图6为实施例所述的获取所有最佳路径的算法框图;
图7为实施例所述的获取关键路径的算法框图;
图8为实施例所述的只缩减关键路径上的任务工时时长的优化算法框图;
图9为实施例所述的缩减每一天缩减代价最少的任务工时时长的优化算法框图。
具体实施方式
如图1所示,本实施例包括一种目标任务检测方法,其具体包括以下步骤:
S1.读取项目工程流程表;
S2.选择需要优化的日期区间;
S3.获取在所述日期区间内的所有工程流程的路径集合;
S4.获取各个所述路径的长度排序;
S5.读取各个所述工程流程中的所有任务;
S6.获取各个所述任务的工时排序;
S7.获取目标天数,所述目标天数为需要缩减的工时时长;
S8.根据所述路径的长度排序、任务的工时排序和目标天数,检测出目标任务,所述目标任务为缩减时间代价最小的任务。
步骤S1中,一个项目里面有多个工程流程,一个工程流程里面又有多个任务,任务是最小的单位,即项目》流程》任务。
步骤S2,也就是选择需要优化的日期区间,因为程序是可视化程序,因此可以通过界面从日期部件中选择需要优化的日期区间,比如,想优化的任务是在6月1日到8月31日这段时间里面的,因此可从计算机界面选取的需要的优化日期区间为6月1日至8月31日;而在此区间内,如果一共有两个流程,分别是流程1和流程2,流程1中的有一个任务A从6月1日开始了,经过任务B、C、D,到E,E的结束日期是8月31日;其中任务A、B、C、D和E又各自有其工时时长,即完成任务A所需要的时间长度,完成任务B所需要的时间长度,完成任务C所需要的时间长度,完成任务D所需要的时间长度和完成任务E所需要的时间长度;同样地,如果流程2的开始任务X也从6月1日开始了,从任务X->B->Y->Z结束,Z的结束日期是8月1日;那么这个时间区间内流程1的路径为:A->B->C->D->E,流程2的路径为:X->B->Y->Z。
具体地,获取在所述日期区间内的所有工程流程,也就是步骤S3,包括以下步骤:
S301.提取在所述日期区间内的所有任务,并制成任务列表;
S302.遍历所述任务列表,获取每个任务的工期和工期延期量,并生成第一邻接矩阵;
S303.遍历所述第一邻接矩阵,获取源点任务和汇点任务,所述源点任务为只有后续任务的任务,所述汇点任务为只有前置任务的任务;
S304.将所述第一邻接矩阵的值更改为总工期以更新为第二邻接矩阵,所述总工期为工期与工期延期量的和;
S305.使用Dijkstra算法获取每一个源点任务到每一个汇点任务的所有路径,获取在所述日期期间内的所有工程流程的路径集合。
关于步骤S301,本实施例中,选定需要优化的日期期间后,通过读取项目工程流程表,可提取在需要优化的日期期间内的所有任务,比如优化区间为6月1日至8月31日,在此区间有任务A、B、C、D、E,将提取出来的任务制成任务列表,其中每个任务有其相应的任务ID、名称、开始日期、结束日期、工期延期量、前置任务和后续任务等。任务的结束日期与开始日期的差值可得到任务的工期,而工期延期量可直接从任务列表中读取,以lag表示工期延期量。关于步骤S302,生成第一邻接矩阵的具体方式如下:
(1)建立一个n*n的零矩阵,其中n为任务数;
(2)遍历所述任务的列表,把任务的工期、工期延期量(lag)填入零矩阵中(零矩阵的纵坐标为任务ID,横坐标为后续任务的ID),邻接矩阵的值为(工期^lag)类型为string,后期可以用split(“^”)分离。
具体地,关于步骤S303,在零矩阵里面,行和列都分别代表不同的任务ID,比如在一个流程中有一个任务,ID为10,这个任务的后续任务的ID为13,工期为2天,工期延期量为10天,那么就把2^10这个字符串填入零矩阵里面第10行第13列的位置。
进一步地,通过遍历所述第一邻接矩阵的每一行,可获取所有任务中的有后续任务的任务ID,并编写为CSV文件3.1;遍历所述第一邻接矩阵的每一列,可获取所有任务中的有前置任务的任务ID,并编写为CSV文件3.2;同时将所述第一邻接矩阵编写为CSV文件3.3;读取CSV文件3.1、CSV文件3.2和CSV文件3.3,将其转换成计算机程序设计语言(Python),以获取源点任务和汇点任务,所述源点任务为只有后续任务的任务,所述汇点任务为只有前置任务的任务;所谓的前置任务(predecessor)和后续任务(successors)都是从工程师制作的工程流程表中读取出来的,比如,一个流程里面有三个任务,分别是A->B->C,那么对于任务B来说任务A就是前置任务,任务C就是后续任务。其中,搜索源点任务的具体算法如图2所示,搜索汇点任务的具体算法如图3所示。搜索源点任务与汇点任务的算法一样,区别在于读取的CSV文件不一样,搜索源点任务的算法需要读取的是CSV文件3.1,搜索汇点任务的算法需要读取的时CSV文件3.2。
本实施例中,由于第一邻接矩阵中的值为工期^lag,不便于计算,因此需要新建一个新的邻接矩阵作为计算,即需要将所述第一邻接矩阵的值更改为总工期以更新为第二邻接矩阵,所述总工期为工期与工期延期量的和,也就是需要实行步骤S304。在此过程中,任务的工期指的是一个流程中的小任务的工期,工期由successors和lag组成,successors指原本需要的工期长度,不过因为任务工期有可以松动的地方,因此制作工程流程表的工程师会为每个任务添加一个延期量(lag),表示这个任务可以推迟或者提前。因此successors有两种形式:一种是只有数字(也就是下一项任务是什么),另一种是XFS+/-Yd(X代表下一项任务,FS代表Finish-start,Y表示延期量是多少天,如果是+Y就是往后推迟,如果是-Y就是提前多少天,这个+Y、-Y就是lag,比如3FS+10d就是完成本任务之后的10天后就要开始任务ID为3的任务)。工期^lag表示这个任务原本的工期和lag,^只是单纯一个分隔两个数字的符号,便于之后把两个量分开,没有其他任何的数学意义。而总工期为工期+lag,当lag<0时,总工期的值为原本需要的工期长度(successors)。所述新的邻接矩阵为所述第二邻接矩阵,获取新的邻接矩阵的具体算法如图4所示,其中,第一邻接矩阵的类型为string,用split分离出工期和lag,更新后得到的新邻接矩阵,也就是第二邻接矩阵的类型为int。
关于步骤S305,本实施例中,获取源点任务和汇点任务之后,可使用Dijkstra算法计算出每一个源点任务到每一个汇点任务的路径,也就是找出在需要优化日期区间中所有的路径,获取路径集合。其具体实施方式如下:
(1)构造一个黑盒子,只需要输入源点任务、汇点任务、图,就能输出路径,其中,黑盒子使用堆优化的Dijkstra算法;
(2)通过遍历源点任务集合,调用黑盒子,获取每一个源点任务到每一个汇点任务的路径,得到所有最佳路径集合
本过程中,所述输入源点任务和汇点任务只需输入源点任务的ID和汇点任务的ID,得到的所有最佳路径集合为在需要优化的日期期间内的所有流程,比如,需要的优化日期区间为6月1日至8月31日;而在此区间内,通过算法一共得到两个流程,分别是流程1和流程2,而堆优化的Dijkstra算法如图5所示,而获取所有最佳路径的具体算法如图6所示。
进一步,通过遍历path集合,利用寻找最值的算法,可得到长度最长的关键路径,其具体算法如图7所示。在此所述的关键路径为第一路径,也工时长度最长的流程。比如需要优化的日期区间是6月1日到8月31日,这个时间区间内一共有两个流程,分别是流程1和流程2,流程1中的有一个任务A从6月1日开始了,经过B、C、D,到E,E的结束日期是8月31日。流程2的开始任务X也从6月1日开始了,从任务X->B->Y->Z结束,Z的结束日期是8月1日,那么这个时间区间内有路径A->B->C->D->E,和路径X->B->Y->Z。流程1用时92天,流程2用时62天,那么流程1的路径就是最长的路径为所述第一路径,在这个路径里面缩减所需要的时间代价在所有路径之中最小。而修改这个路径里面的任务时长最长的任务所需要的时间代价最小。
进一步,获取需要缩减的工时时长,即目标天数,比如用户需要在6月1日到8月31日这段时间的任务缩减为6月1日到8月28日,那就是要缩减3天,这3天即为目标天数。
进一步,步骤S8,也就是根据所述路径的长度排序、任务的工时排序和目标天数,检测出目标任务,所述目标任务为缩减时间代价最小的任务这一步骤,包括以下步骤:
S801.根据所述路径的长度排序,获取第一路径和第二路径,所述第一路径为工时长度最长的路径,所述第二路径为工时长度第二长的路径;
S802.获取第一工时差,所述第一工时差为所述第一路劲与所述第二路径的工时差;
S803.判断第一路径是否唯一,并判断所述第一工时差与目标天数的大小;
S804.根据判断结果,检测出目标任务,所述目标任务为缩减时间代价最小的任务。
本实施例中,根据判断结果,可检测出目标任务,并分为三种情况进行任务优化:
情况1:只缩减关键路径上的任务时长
最长流程唯一且长度与第二长的流程长度差值大于需要被优化的天数,即第一路径唯一且第一路径与第二路径的工时差大于目标天数,则只缩减第一路径所属流程中的任务。比如:需求是整个项目需要减5天,即目标天数为5天,而流程1比流程2总的工时时长长了6天,就说明5天都可从流程1中优化出来。具体的优化方式为:提取流程1中的所有任务,比如流程1中含有任务A、B、C,根据任务的工时排序依次缩减任务工时时长至目标天数,比如所有任务的工时排序为A>B>C,则从任务A开始依次缩减直至缩减5天为止;在此过程中,如果任务A的工时(工期时长)大于5天,则只在任务A中缩减5天即可,如果任务A的工时为3天(小于5天),则在任务A中缩减3天,后2天剩余的任务B和C中缩减,若任务B的工时为2天,则只在任务B中缩减后2天,若任务B的工时为1天,则在任务B中缩减1天,继续在任务C中缩减1天。其具体的优化算法参照图8,在此过程中,算法步骤具体如下:
(1)在关键路径上对每一个任务进行排序,所述关键路径为第一路径,把任务最长的作为结果输出,在工时相同的任务当中,用延期量(lag)的长度再进行一次排序,排序结果作为输出(结果不唯一);
(2)如果结果数不够,则把结果中的任务长度-1,然后再重复步骤(1),直到结果数大于等于缩减目标天数。
情况2:缩减每一天缩减代价最少的任务时长
最长流程不唯一或唯一但长度与第二长的流程长度差值小于等于需要被优化的天数,即第一路径不唯一或第一路径与第二路径的工时差不大于目标天数。则计算每一天的总代价,进行排序,把代价最小的任务作为输出,输出结果数大于等于缩减目标天数。比如:需求是整个工程需要减5天,而流程1比流程2总时长长了4天,就说明前4天都是从流程1中优化出来,且前4天在流程1中的优化和情况1一样,第5天需要比较流程1或者流程2再作出优化。其具体的优化算法参照图9,在此过程中,算法步骤具体如下:
(1)遍历每一天的任务,所有任务+1天后与关键路径比长度,如果是大于关键路径则能缩减这条路线,小于等于则不能缩减,找到这条路径后,把这条路径的所有任务都找出来,把每个任务所在的每一天也找出来,然后遍历每一天,把这天的所有任务缩减一天的代价(1/工期)相加,得到的总代价进行排序;
(2)排序得到的结果作为输出,并比较结果数与目标天数,如果结果数大于等于目标天数则直接输出,如果少于则进行情况3的优化步骤。
情况3:在情况2之后最长流程的长度与第二长的流程长度差值还是小于等于需要被优化的天数,即在情况2之后,第一路径不唯一或第一路径与第二路径的工时差不大于目标天数。比如:需求是整个工程需要减5天,而流程1比流程2总时长长了2天,就说明前2天都是从流程1中优化出来,第3天需要比较流程1或者流程2再作出优化(到此为止是情况2),第4天需要重新计算一次总的工程流程表再优化,优化了之后,第5天需要像第4天那样再重新计算、优化。其具体的算法步骤如下:
(1)经过情况2之后,结果数少于目标天数,则需要把结果中的任务天数-1,然后更新第二邻接矩阵中的值。如果在同一天里面有多个缩减的选择,则只选择第一个,即只选取第一种情况进行更新;
(2)更新完所述第二邻接矩阵的值后需要重新计算每一个源点到每一个汇点的路径,获取在所述日期期间内的所有工程流程的路径集合;然后计算所有路径的长度,得到关键路径,长度最长的就是关键路径;此时再利用与情况2相同的算法进行处理,直到结果数大于目标天数,然后输出结果。
情况3是对情况2的补充,其算法与情况2相同,但是需要更新前面用过的所有变量,包括第二邻接矩阵、路径集合、路径长度、延期量(lag)、每天任务,更新后的值再输入如图9所示的算法中进行处理。
本实施例中所述的优化情况1、情况2和情况3中的算法,最终输出的结果为缩减时间代价最小任务,输出的结果任务的ID需要全部+1,因为Python读CSV文件的时候,所有任务ID都-1,所以这里要+1。同时,输出的结果还可写入到CSV文件中,然后让C语言部分去读取,并将结果输出,结果格式应该是“第N天应该缩减的任务是(From A ID->To B ID)”,也就是说,从输出结果可以清楚地知道每一天应该缩减哪个任务所付出的代价最小,从而可制定出最佳目标任务检测方案。
本发明提供的算法除了能够对项目中的任务进度进行优化之外,在其他领域也同样适用,比如,在道路交通系统中,要到达一个目的地通常要通过很多条道路,“条条大路通罗马”,这些道路在现实中错综复杂,但又都能到达目的地。可是每条路径的通过时间是不一样的,人们总想要最短时间到达目的地,因此选择一条用时最短的路径就非常的必要了。这个算法能够快速运算出最佳的路径,从时间的角度上,用最短的时间到达目的地是最佳的路径,从道路拥堵的角度上,最流畅的道路是最佳路径。无论是从哪个角度出发,这个算法都能提供最佳路径的方案。
同样地,在游戏里面,很多时候要控制游戏任务的行走,而最通常的操作就是点击目的地,游戏人物就会选取最短的路到达目的地,本算法也能实现这种功能。类似地,也能基于本算法开发出在景区里面的导游系统,通过计算得出适合游客的最佳游玩路线。利用计算机最大的优点在于能够快速和准确地制定出最佳优化方案,无论是项目进度优化,交通路径优化,还是导游系统的优化,其实在现实中也能够人为地得出结果,不过这个结果有可能不是最优的,而且需要花费很长的时间,但使用了计算机就能在几十秒甚至几秒钟之内得出结果。因此能够用最短的时间得出最优的结果,从而能够呈现出很好的辅助效果。
综上所述,本发明实施例中所述目标任务检测方法具有以下优点:
本发明提供了一种目标任务检测方法,能够通过算法检测出缩减代价最小的任务,从而能够修改项目中任务的进度,所述算法能够在非常短的时间内精确地判断出需要修改的任务,从而能够快速准确地获取最佳修改方案,以对项目中的任务进行优化。
另一方面,本实施例还包括一种目标任务检测系统,包括:
第一读取模块,用于读取项目工程流程表;
选择模块,用于选择需要优化的日期区间;
第一获取模块,用于获取在所述日期区间内的所有工程流程的路径集合;
第二获取模块,用于获取各个所述路径的长度排序;
第二读取模块,用于读取各个所述工程流程中的所有任务;
第三获取模块,用于获取各个所述任务的工时排序;
第四获取模块,用于获取目标天数,所述目标天数为需要缩减的工时时长;
制定模块,用于根据所述路径的长度排序、任务的工时排序和目标天数,确定需要修改的任务
另一方面,本实施例还包括一种目标任务检测的装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行所述目标任务检测的方法。
另一方面,本实施例还包括一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述目标任务检测的方法。
所述系统可以是服务器或者个人计算机等设备,通过将所述目标任务检测的方法编写成计算机程序并写入服务器或者个人计算机中,可以得到所述目标任务检测系统,通过运行该系统,可以实现与所述目标任务检测方法相同的技术效果。
本实施例中,所述目标任务检测的装置包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行实施例所述目标任务检测方法。
所述存储器还可以单独生产出来,并用于存储与所述目标任务检测的方法相应的计算机程序。当这个存储器与处理器连接时,其存储的计算机程序将被处理器读取出来并执行,从而实施所述目标任务检测方法,达到实施例中所述的技术效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本实施例所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本实施例说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本实施例所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本实施例所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本实施例描述的过程的操作,除非本实施例另外指示或以其他方式明显地与上下文矛盾。本实施例描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本实施例所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本实施例所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (10)

1.一种目标任务检测方法,其特征在于,包括:
读取项目工程流程表;
选择需要优化的日期区间;
获取在所述日期区间内的所有工程流程的路径集合;
获取各个所述路径的长度排序;
读取各个所述工程流程中的所有任务;
获取各个所述任务的工时排序;
获取目标天数,所述目标天数为需要缩减的工时时长;
根据所述路径的长度排序、任务的工时排序和目标天数,检测出目标任务,所述目标任务为缩减时间代价最小的任务。
2.根据权利要求1所述的一种目标任务检测方法,其特征在于,所述获取在所述日期期间内的所有工程流程的路径集合这一步骤,包括:
提取在所述日期区间内的所有任务,并制成任务列表;
遍历所述任务列表,获取每个任务的工期和工期延期量,并生成第一邻接矩阵;
遍历所述第一邻接矩阵,获取源点任务和汇点任务,所述源点任务为只有后续任务的任务,所述汇点任务为只有前置任务的任务;
将所述第一邻接矩阵的值更改为总工期以更新为第二邻接矩阵,所述总工期为工期与工期延期量的和;
使用Dijkstra算法获取每一个源点任务到每一个汇点任务的所有路径,获取在所述日期期间内的所有工程流程的路径集合。
3.根据权利要求1所述的一种目标任务检测方法,其特征在于,所述根据所述路径的长度排序、任务的工时排序和目标天数,检测出目标任务,所述目标任务为缩减时间代价最小的任务这一步骤,包括:
根据所述路径的长度排序,获取第一路径和第二路径,所述第一路径为工时长度最长的路径,所述第二路径为工时长度第二长的路径;
获取第一工时差,所述第一工时差为所述第一路径与所述第二路径的工时差;
判断第一路径是否唯一,并判断所述第一工时差与目标天数的大小;
根据判断结果,检测出目标任务,所述目标任务为缩减时间代价最小的任务。
4.根据权利要求3所述的一种目标任务检测方法,其特征在于,所述根据判断结果,检测出目标任务,所述目标任务为缩减时间代价最小的任务这一步骤,包括:
若所述第一路径唯一且所述第一工时差大于所述目标天数,提取所述第一路径中各个任务的工时排序并制作成第一降序列表;
根据所述第一降序列表,获取目标任务,并依次缩减目标任务的工时时长至目标天数。
5.根据权利要求4所述的一种目标任务检测方法,其特征在于,所述根据判断结果,检测出目标任务,所述目标任务为缩减时间代价最小的任务这一步骤,还包括:
若所述第一工时差不大于所述目标天数,计算在所述日期期间内每一天所有任务的缩减代价,并进行排序;
按照缩减代价从小到大的顺序制作任务升序列表;
根据所述任务升序列表,获取目标任务,并依次缩减目标任务的工时时长至目标天数。
6.根据权利要求5所述的一种目标任务检测方法,其特征在于,所述若所述第一工时差不大于所述目标天数,计算在所述日期期间内每一天所有任务的缩减代价,并进行排序这一步骤,包括:
遍历目标当天所有工程流程中的所有任务,所述目标当天为所述日期期间内的任意一天;
所有任务的工时时长加一天后与目标当天第一路径中的所有任务的工时时长总和比较;
提取第一目标任务,所述第一目标任务为工时时长加一天后大于目标当天第一路径中的所有任务的工时时长总和的任务;
计算缩减所述第一目标任务工时时长1天的代价;
遍历每一天所有工程流程中的所有任务;
按照计算第一目标任务缩减代价的方法计算在所述日期期间内每一天所有任务的缩减代价。
7.根据权利要求6所述的一种目标任务检测方法,其特征在于,计算缩减所述第一目标任务工时时长1天的代价是由以下公式执行的:
缩减代价=1/第一目标任务的工时时长。
8.一种目标任务检测系统,其特征在于,包括:
第一读取模块,用于读取项目工程流程表;
选择模块,用于选择需要优化的日期区间;
第一获取模块,用于获取在所述日期区间内的所有工程流程的路径集合;
第二获取模块,用于获取各个所述路径的长度排序;
第二读取模块,用于读取各个所述工程流程中的所有任务;
第三获取模块,用于获取各个所述任务的工时排序;
第四获取模块,用于获取目标天数,所述目标天数为需要缩减的工时时长;
制定模块,用于根据所述路径的长度排序、任务的工时排序和目标天数,检测出目标任务,所述目标任务为缩减时间代价最小的任务。
9.一种目标任务检测的装置,其特征在于,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行权利要求1-7任一项所述的方法。
10.一种存储介质,其中存储有处理器可执行的指令,其特征在于,所述处理器可执行的指令在由处理器执行时用于执行如权利要求1-7任一项所述的方法。
CN202010255957.6A 2020-04-02 2020-04-02 一种目标任务检测方法、系统、装置及存储介质 Active CN111612411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010255957.6A CN111612411B (zh) 2020-04-02 2020-04-02 一种目标任务检测方法、系统、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010255957.6A CN111612411B (zh) 2020-04-02 2020-04-02 一种目标任务检测方法、系统、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111612411A true CN111612411A (zh) 2020-09-01
CN111612411B CN111612411B (zh) 2023-05-30

Family

ID=72201646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010255957.6A Active CN111612411B (zh) 2020-04-02 2020-04-02 一种目标任务检测方法、系统、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111612411B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023109269A1 (zh) * 2021-12-15 2023-06-22 深圳前海微众银行股份有限公司 项目数据处理方法、装置、设备、介质及程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992007318A1 (en) * 1990-10-12 1992-04-30 Iex Corporation Method and system for planning, scheduling and managing personnel
CN101655940A (zh) * 2009-09-23 2010-02-24 用友软件股份有限公司 一种对任务信息进行调整的方法和装置
CN104820872A (zh) * 2015-05-06 2015-08-05 华北电力大学 工程项目中利用潜在反关键工序进行项目工期优化的方法
CN106934537A (zh) * 2017-03-02 2017-07-07 北京工业大学 基于反向工作流调度的子期限获取优化方法
CN110334830A (zh) * 2019-03-26 2019-10-15 济南森坤企业管理咨询有限公司 一种统筹法各类项目组织计划定性工期成本优化应用方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992007318A1 (en) * 1990-10-12 1992-04-30 Iex Corporation Method and system for planning, scheduling and managing personnel
CN101655940A (zh) * 2009-09-23 2010-02-24 用友软件股份有限公司 一种对任务信息进行调整的方法和装置
CN104820872A (zh) * 2015-05-06 2015-08-05 华北电力大学 工程项目中利用潜在反关键工序进行项目工期优化的方法
CN106934537A (zh) * 2017-03-02 2017-07-07 北京工业大学 基于反向工作流调度的子期限获取优化方法
CN110334830A (zh) * 2019-03-26 2019-10-15 济南森坤企业管理咨询有限公司 一种统筹法各类项目组织计划定性工期成本优化应用方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023109269A1 (zh) * 2021-12-15 2023-06-22 深圳前海微众银行股份有限公司 项目数据处理方法、装置、设备、介质及程序产品

Also Published As

Publication number Publication date
CN111612411B (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
CN111063030B (zh) 一种基于Dynamo的BIM参数化建模方法及装置
JP4977064B2 (ja) 保守計画支援システム
US8639481B2 (en) Automated interactive multi-objective optimization-based system design tool
EP3502814A1 (en) Processing loads balancing of control and monitoring functions
US20090055142A1 (en) Method and apparatus for estimating man-hours
US20040236709A1 (en) System and method for representing and incorporating available information into uncertainty-based forecasts
CN109313435B (zh) 用于构型用于生产由多个子产品组装的产品的生产过程的方法和设备
US11017335B1 (en) Graphical schedule risk analyzer
WO2002023371A2 (en) Method and apparatus for analytical problem solving
EP2375297A1 (en) Manufacturing plan drawing-up system and method
CN113268229B (zh) 一种代码生成方法和代码生成装置
CN111652453A (zh) 用于零件设计、仿真和制造的智能工作流程顾问
CN111612411B (zh) 一种目标任务检测方法、系统、装置及存储介质
CN113190905B (zh) 一种建筑模型的分析方法、装置及存储介质
JP3805776B2 (ja) グラフィカルプログラミング装置及びプログラマブル表示器
KR101512293B1 (ko) 건설공사용 개략견적산출 시스템
JP6415786B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
WO2016039011A1 (ja) シミュレーションシステム、シミュレーション方法及びシミュレーションプログラム
JP2005242844A (ja) 工程計画作成処理装置およびプログラム
JP4922644B2 (ja) 時系列分析プログラム、時系列分析システム、およびそれに用いられる時系列分析装置
JP6854982B1 (ja) プログラミング支援プログラム、プログラミング支援装置およびプログラミング支援方法
KR19980026933A (ko) 캐드 기반 공정상황 가시화에 의한 공정 계획 방법.
JP7070713B2 (ja) 情報処理装置、段取り作業修正方法、および段取り作業修正プログラム
JP2007004391A (ja) 生産・物流スケジュール作成装置及び方法、生産・物流プロセス制御装置及び方法、コンピュータプログラム、並びにコンピュータ読み取り可能な記録媒体
Zaeri et al. An ACD diagram developed for simulating a Bridge construction operation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liang Yanyan

Inventor after: Zhou Mingwei

Inventor after: Ji Xiaoyu

Inventor after: Yu Chuntao

Inventor after: Yang Linlin

Inventor before: Liang Yanyan

Inventor before: Zhou Mingwei

Inventor before: Ji Xiaoyu

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Tower C, 7 / F, Jinlong center, 105 xianxinghai Road, new port, Macau, China

Applicant after: China Energy International Development Investment Group Co.,Ltd.

Address before: Tower C, 7 / F, Jinlong center, 105 xianxinghai Road, new port, Macau, China

Applicant before: China Energy International Construction Investment Group Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230419

Address after: A18, Jinlong Center, 105 Xianxinghai Road, New Port, Macau, China

Applicant after: China Energy International High tech Research Institute Co.,Ltd.

Address before: Tower C, 7 / F, Jinlong center, 105 xianxinghai Road, new port, Macau, China

Applicant before: China Energy International Development Investment Group Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240408

Address after: Room 4202, Building 2, No. 522 Duhui Road, Hengqin New District, Zhuhai City, Guangdong Province

Patentee after: Boyan Technology (Zhuhai) Co.,Ltd.

Country or region after: China

Address before: A18, Jinlong Center, 105 Xianxinghai Road, New Port, Macau, China

Patentee before: China Energy International High tech Research Institute Co.,Ltd.

Country or region before: ????