CN104166903B - 基于工序划分的任务规划方法及系统 - Google Patents
基于工序划分的任务规划方法及系统 Download PDFInfo
- Publication number
- CN104166903B CN104166903B CN201410407852.2A CN201410407852A CN104166903B CN 104166903 B CN104166903 B CN 104166903B CN 201410407852 A CN201410407852 A CN 201410407852A CN 104166903 B CN104166903 B CN 104166903B
- Authority
- CN
- China
- Prior art keywords
- chromosome
- priority
- subtask
- target
- sequence
- 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.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及任务规划领域,提供一种基于工序划分的任务规划方法及系统,用于解决现有技术中任务规划问题求解难度大、通过人工进行任务规划工作量大而且不具备智能化特点的问题。所述任务规划系统包括数据管理模块、任务分析模块、任务规划模块、规划结果输出模块和人工调整模块,所述任务规划模块用于选取不同的约束条件和优化目标,并采用启发式算法确定工作人员的规划方案。本发明采用的方法具有步骤简单、易于实现、具备智能化的优点。
Description
技术领域
本发明涉及任务规划领域,特别涉及一种基于工序划分的任务规划方法及系统。
背景技术
任务规划是指在一定时间内把一定量的任务按照一定的方法安排给规定的人员完成。在计算机科学和工业领域中,任务规划问题有着广泛的应用背景,例如批量物资转运、大型实验工作准备等,对任务规划问题的研究都是焦点。
从资源排布角度看,任务规划是将有限资源安排给不同的工作,最终设法达到预定的优化目标。具体地,任务下达方下达工作任务后,同时确定工作资源(包括人员、时间等)并明确工作对象(如物资、工具等),同时,根据任务类型和相关输入,确定任务约束和优化目标,并根据上述几方面的内容,经过优化和决策,输出规划结果。
从计算复杂性理论来讲,任务规划问题一般是NP完全问题,是优化问题中最难的一类组合优化问题,其求解难度随着问题规模的增大和约束的增多而成几何级增长,绝大多数算法很难求得其精确解。
在任务规划问题中,通常组成任务的各项工作之间相互影响、相互作用,每项工作又要考虑它的操作步骤、工作难度等因素,因而相当复杂。例如一项物资转运任务包括物资打包、物资装车、物资转运、物资卸车等几个步骤,零件生产又根据零件类型的不同具有不同的工序和生产时间,因此任务规划需要考虑的因素很多。同时,任务规划中又有很多随机因素,例如实际工作的执行时间。目前主要采用人工方式进行任务规划,但是人工规划主要是依靠经验进行人工推理,由于这种规划方式没有合理的理论依据支撑,而且在分配资源中不可避免地会受到主观意识影响,此外,面对大规模任务的规划问题,人工规划的工作量大而且不够智能。
发明内容
本发明提供一种基于工序划分的任务规划方法及系统,用于解决现有技术中任务规划问题求解难度大、通过人工进行任务规划工作量大而且不具备智能化特点的问题。
为了解决以上的技术问题,本发明的第一个方面是提供一种基于工序划分的任务规划方法,所述方法包括如下步骤:
步骤A:创建任务规划所需的基础数据,所述基础数据至少包括工作人员、工作对象和工作任务,数据管理模块将基础数据保存至系统数据库;
步骤B:将所述工作任务划分为多个子任务,其中每个子任务包含多个工序,对工序进行工作量估计以获取工序工作量;
步骤C:选取约束条件和优化目标,并采用启发式算法确定规划方案,所述规划方案至少包括工作人员执行的工序和执行工序的顺序。
在第一个方面的第一种可能实现方式中,其特征在于步骤C之后还包括:
步骤D:显示所述规划方案;
步骤E:通过对所述规划方案进行手工拖动以调整规划方案。
在第一个方面的第二种可能实现方式中,所述步骤C中采用启发式算法确定规划方案的步骤为:
步骤C1:为各个子任务和各个工作对象分配初始优先级,将该优先级作为初始种群中的初始染色体,通过采用对所述初始染色体交换子任务优先级和工作对象优先级的方式生成初始种群;
步骤C2:判断是否已经生成了满足约束条件和优化目标的染色体,如果生成了则执行步骤C4,如果未生成则执行步骤C3;
步骤C3:选择种群中的染色体执行交叉运算和/或变异运算,运算完毕后执行步骤C2;
步骤C4:根据满足约束条件和优化目标的染色体生成规划方案,并输出所述规划方案。
在第一个方面的第三种可能实现方式中,所述步骤C1具体包括:
步骤C11:将所有子任务随机进行排序,生成一个子任务列表;
步骤C12:对所述子任务列表中的子任务依次赋予优先级,得到与子任务列表相对应的子任务优先级序列;
步骤C13:将所有工作对象随机进行排序,生成一个工作对象列表;
步骤C14:对所述工作对象列表中的工作对象依次赋予优先级,得到与工作对象列表相对应的工作对象优先级序列;
步骤C15:将所述子任务优先级序列和所述工作对象优先级序列组合成为初始染色体;
步骤C16:随机选择所述子任务列表中的两个子任务,交换这两个子任务的优先级,得到新的子任务优先级序列;
步骤C17:随机选择工作对象列表中的两个工作对象,交换这两个工作对象的优先级,得到新的工作对象优先级序列;
步骤C18:将步骤C16得到的新的子任务优先级序列与步骤C17得到的新的工作对象优先级序列组合成为新生成的染色体,将所述新生成的染色体保存至初始种群;
步骤C19:假设初始种群需要包含N个染色体,则将步骤C16至步骤C18重复N-1次,得到N-1个新生成的染色体,所述N-1个新生成的染色体与所述初始染色体构成初始种群中的N个染色体。
在第一个方面的第四种可能实现方式中,所述步骤C2具体包括:
步骤C21:选择当前种群中的一个染色体,根据所选择的染色体获取子任务优先级序列和工作对象优先级序列;
步骤C22:根据步骤B中获取的工序工作量确定总工序数T,初始化t=1并设置所有工序为未排工序;
步骤C23:选择优先级最高的子任务,从该子任务对应的工作对象集合中选择优先级最高的工作对象,并从所选择的工作对象的工序集合中选择一个满足约束条件的工序;
步骤C24:从工作人员集合中选出可以操作步骤C23中选定的工序的工作人员,并根据工序工作量和工作人员可安排的工作时间确定有足够时间完成工序的工作人员,若满足条件的工作人员数目大于1,则根据工作人员优先级选择工作人员;
步骤C25:将步骤C23中所选择的工序设置为已排工序;
步骤C26:令t=t+1,若t小于等于T,则转到步骤C23,若t大于T,则执行步骤C27;
步骤C27:判断所有已排工序组成的排定工序是否满足优化目标,若满足优化目标则执行步骤C4,若不满足优化目标则执行步骤C28;
步骤C28:如果种群中的所有染色体都已经被选择,则执行步骤C3,反之则返回步骤C21。
在第一个方面的第五种可能实现方式中,所述步骤C3执行交叉运算的具体方法为:
步骤C311:为当前种群中的每个染色体生成一个0至1之间的随机数作为染色体标识;
步骤C312:随机选择两个染色体标识小于交叉概率的染色体;
步骤C313:获取所选择的两个染色体的子任务优先级序列和工作对象优先级序列;
步骤C314:将其中一个染色体的工作对象优先级序列与另一个染色体的工作对象优先级序列交换;
步骤C315:保存交换优先级序列后的染色体到当前种群。
在第一个方面的第六种可能实现方式中,所述步骤C3执行变异运算的具体方法为:
步骤C321:为当前种群中的每个染色体生成一个0至1之间的随机数作为第一染色体标识,将第一染色体标识小于变异概率的染色体组成染色体集合;
步骤C322:为所述染色体集合中的每个染色体重新生成一个0至1之间的随机数作为第二染色体标识;
步骤C323:从所述染色体集合中选择一个染色体,判断所选择的染色体的第二染色体标识是否小于子任务交换概率,若小于则执行步骤324,反之则执行步骤325;
步骤C324:获取步骤C323所选择的染色体的子任务优先级序列,随机交换所述子任务优先级序列中的两个子任务的优先级,执行步骤326;
步骤C325:获取步骤C323所选择染色体的工作对象优先级序列,随机交换所述工作对象优先级序列中的两个工作对象的优先级;
步骤C326:保存交换优先级列表后的染色体为子代染色体;
步骤C327:重复执行步骤C323至步骤C326,直至所述染色体集合中的染色体都已经被选择。
在第一个方面的第七种可能实现方式中,所述约束条件至少包括:整个工作任务在给定时间内完成、各个子任务在给定时间窗口内完成。
在第一个方面的第八种可能实现方式中,所述优化目标至少包括:总的工作时间最短、各个工作人员的工作量差距最小。
本发明的第二个方面是提供一种用于执行上述基于工序划分的任务规划方法的系统,所述系统包括数据管理模块、任务分析模块、任务规划模块、规划结果输出模块和人工调整模块,
所述数据管理模块用于将基础数据保存至系统数据库,所述基础数据至少包括工作人员、工作对象和工作任务;
所述任务分析模块用于将工作任务划分为多个子任务,并对每个子任务包含的所有工序进行工作量估计以获取估计工作量;
所述任务规划模块用于选取不同的约束条件和优化目标,并采用启发式算法确定工作人员的规划方案,所述规划方案至少包括工作人员执行的工序和执行工序的顺序;
所述规划结果输出模块用于显示规划方案;
所述人工调整模块用于对规划方案进行手工拖动以调整规划方案。
下面对上述发明内容中涉及到的基本概念进行详细说明。
本发明所述的工序划分为三级划分,具体地,将工作任务划分为任务、子任务和工序三个等级,任务由任务下达方制定下发,指需在一段时间内完成的针对一个或多个工作对象的操作,例如在物资转运中,转运一批物资可以作为一个任务;子任务由任务分解得到,指需在一段时间内完成的针对一个工作对象的操作,特殊情况下,也可以设置不操作工作对象的子任务,子任务包括前置子任务、后置子任务和普通子任务,前置子任务在任务开始时首先执行,后置子任务在任务结束前最后执行,普通子任务在前置子任务和后置子任务之间的时段任意执行,例如在物资转运中,转运一个物资可以作为一个子任务;工序是由子任务分解得到的针对一个工作对象的一个不可再分解的操作,同一个子任务分解得到的工序是串行的,例如在物资转运中,包含物资打包、物资装车、物资转运、物资卸车等几个工序。
本发明提出的三级划分方法满足如下假设:
(1)一个工作对象不能同时由几个工作人员处理;
(2)一个工作人员在某一时刻只能执行一个工序,一个工序完成之后才能开始另一个工序;
(3)一个工序可以由一个或多个工作人员执行;
(4)一个工作对象一旦开始处理必须一直进行到完成,不得中途停止插入其它对象,如一个物资的打包操作必须一次完成;
(5)工作对象在处理过程中采取平行移动方式,只有上个工序完成之后才能进入下一工序,如物资只有打包完成后才能装车;
(6)若工作人员空闲,工作对象在上个工序完工后立即进入下个工序;
(7)工序执行时间已知且执行时间与执行顺序无关;
(8)允许工作对象在工序之间等待,允许工作人员在工作对象未到达时处于空闲状态,例如工作人员A打包物资,工作人员B装车物资,则工作人员A打包的物资可以等待工作人员B装车,工作人员B在工作人员A还没打包物资时可以等待;
(9)所有工作人员准备就绪可以随时行动。
本发明所采用的启发式算法是一个基于直观或经验构造的算法,在可接受的花费(时间、占用空间等)下给出待解决组合优化问题的每一个实例的一个可行解。在任务规划过程中,动态因素较多,各种优化条件约束随时可能改变,这使传统的生产调度优化理论在应用于任务规划问题时存在很大局限,如建模困难、求解复杂等。启发式算法因其易于实现、计算复杂度低等优点,目前应用得最为广泛。
启发式算法是在按照时间进程逐次为每个工作人员安排一个工作对象时,利用预先定义好的优先规则作为启发条件,从候选的等待工作对象中选取优先级最高的工作对象处理,如果无法满足任务时间要求,则通过调整优先级,重新进行排序,经过若干次反馈就可以得到优化的排序结果。
设定子任务的优先级是基于启发式算法进行作业排序的基础,一般来说,子任务的工作时间窗口要求比较严格,所以将工作时间窗口视为优先级设定的重要因素。除了子任务优先级外,还要给工作对象设定优先级,工作对象优先级是根据实际情况和经验数据人为设定的,例如可将处理难度大的工作对象设置为高优先级。此外,还需要给工作人员设定优先级,工作人员优先级是为了均衡工作人员负荷,按工作量最少选择工作人员。本发明所使用的遗传算法是启发式算法的一种。
从以上发明内容以及发明内容的详细说明可以看出,本发明具有以下优点:
(1)针对任务规划这种NP完全问题,本发明所采用的基于三级工序划分和启发式算法进行任务规划的方法与现有规划方法相比具有步骤简单、易于实现的优点;
(2)本发明方法采用计算机进行任务规划,与传统的人工规划方法相比具备更加智能的特点。
附图说明
图1为本发明实施例一提供的基于工序划分的任务规划系统的结构框图;
图2A为本发明实施例二提供的基于工序划分的任务规划方法的流程图;
图2B为本发明实施例二提供的终止条件判断方法的流程图;
图2C为本发明实施例二提供的变异运算的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图,对本发明的具体实施方式进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例,也不是对本发明的限制。基于本发明的实施例,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
图1为本发明实施例一提供的基于工序划分的任务规划系统的结构框图,如图1所示,该任务规划系统包括数据管理模块101、任务分析模块102、任务规划模块103、规划结果输出模块104和人工调整模块105,
数据管理模块101用于建立系统数据库,其中系统数据库中包含工作人员、工作对象、工作任务;
任务分析模块102用于将工作任务划分多个子任务,并对每个子任务包含的所有工序进行工作量估计以获取估计工作量;
任务规划模块103用于选取不同的约束条件和优化目标,并采用启发式算法确定工作人员的规划方案,其中规划方案包括工作人员执行的工序和执行工序的顺序;
规划结果输出模块104用于显示规划方案;
人工调整模块105用于对规划方案进行手工拖动以调整规划方案。
采用实施例一所提供的任务规划系统,进行任务规划的方法可以参考下述具体方法实施例。
图2A、图2B、图2C为本发明实施例二提供的基于工序划分的任务规划方法流程图,其中图2A为整个任务规划方法的流程图,图2B和图2C为任务规划方法中的具体步骤,其中图2B所示的方法用于判断是否已经生成了满足终止条件的染色体,图2C所示的方法用于执行交叉运算,如图2A所示,基于工序划分的任务规划方法包括步骤21至步骤29,下面对每个步骤进行详细描述。
步骤21:创建任务规划所需的基础数据。
其中基础数据包括工作人员、工作对象和工作任务,这些基础数据存储在系统数据库。
步骤22:划分工作任务。
具体地,将工作任务划分为多个子任务,通过子任务处理工作对象,每个子任务又包含多个工序,每个工序指定一个可以执行该工序的工作人员集合,对每个子任务的所有工序进行工作量估计以获取工序工作量。
步骤23:选取约束条件和优化目标。
具体地,约束条件包括:整个工作任务在给定时间内完成、各个子任务在给定时间窗口内完成;优化目标包括:总的工作时间最短、各个工作人员的工作量差距最小。
步骤24:初始化操作。
步骤24用于初始化启发式算法的初始种群,首先为各个子任务和各个工作对象分配初始优先级,将该优先级作为初始种群中的初始染色体,具体包括:将所有子任务随机进行排序,生成一个子任务列表;对子任务列表中的子任务依次赋予优先级,得到与子任务列表相对应的子任务优先级序列;将所有工作对象进行排序,生成一个工作对象列表;对工作对象列表中的工作对象依次赋予优先级,得到与工作对象列表相对应的工作对象优先级序列;将子任务优先级序列和工作对象优先级序列组合成为初始染色体。
然后通过采用对初始染色体交换子任务优先级和工作对象优先级的方式生成初始种群,假设初始种群需要包含N个染色体,则具体步骤为:
随机选择所述子任务列表中的两个子任务,交换这两个子任务的优先级,得到新的子任务优先级序列;随机选择工作对象列表中的两个工作对象,交换这两个工作对象的优先级,得到新的工作对象优先级序列;将新的子任务优先级序列与新的工作对象优先级序列组合成为新生成的染色体,将新生成的染色体保存至初始种群;重复上述步骤N-1次,得到N-1个新生成的染色体,N-1个新生成的染色体与初始染色体构成初始种群中的N个染色体。
需要说明,步骤24中,为各个子任务和各个工作对象分配初始优先级的方式可以采用上述的方法随机分配初始优先级,也可以采用其他的方法具体指定初始优先级。
步骤25:判断是否已经生成了满足终止条件的染色体,如果生成了则执行步骤28,如果未生成则执行步骤26。
步骤25用于判断是否已经产生了满足终止条件的染色体,其中终止条件包括约束条件和优化目标,如果产生了则执行步骤28,如果未产生,则进行后续交叉和变异运算。如图2B所示,具体步骤包括:
步骤251:选择当前种群中的一个染色体,根据所选择的染色体获取子任务优先级序列和工作对象优先级序列;
步骤252:根据步骤22中获得的工序工作量确定总工序数T,初始化t=1并设置所有工序为未排工序;
步骤253:选择优先级最高的子任务,从该子任务对应的工作对象集合中选择优先级最高的工作对象,并从所选择的工作对象的工序集合中选择一个满足约束条件的工序;
步骤254:从工作人员集合中选出可以操作步骤253中选定的工序的工作人员,并根据工序工作量和工作人员可安排的工作时间确定有足够时间完成工序的工作人员,若满足条件的工作人员数目大于1,则根据工作人员优先级选择工作人员;
步骤255:将步骤253中所选择的工序设置为已排工序;
步骤256:令t=t+1,若t小于等于T,则转到步骤253,若t大于T,则执行步骤257;
步骤257:判断所有已排工序组成的排定工序是否满足优化目标,若满足优化目标则执行步骤28,若不满足优化目标则执行步骤258;
步骤258:判断是否种群中的所有染色体都已经被选择,如果是则执行步骤26,反之则返回步骤251。
通过步骤24和步骤25,如果未生成满足终止条件的染色体,则执行下述的交叉运算和变异运算。
步骤26:执行交叉运算。
此步骤用于把当前种群中的两个染色体的部分结构加以替换重组而生成新的染色体,其输入为父代的两个染色体,输出为子代的两个染色体。采用随机方式选择需要交叉的染色体,具体染色体的交叉采用普通遗传算法中常用的一点交叉。具体步骤为:
首先为当前种群中的每个染色体生成一个0至1之间的随机数作为染色体标识;随机选择两个染色体标识小于交叉概率的染色体;获取所选择的两个染色体的子任务优先级序列和工作对象优先级序列;将其中一个染色体的工作对象优先级序列与另一个染色体的工作对象优先级序列交换;保存交换优先级序列后的染色体到当前种群。
步骤27:执行变异运算,执行完后再次执行步骤25。
步骤27主要用于将种群中的染色体串的某些基因座上的基因值作变动,从而输出一个新的子代染色体,采用随机方式选择需要变异染色体,具体染色体的变异操作可以采用随机交换两个子任务的优先级或两个工作对象的优先级来实现,具体包括以下步骤:
步骤271:首先为当前种群中的每个染色体生成一个0至1之间的随机数作为第一染色体标识,将第一染色体标识小于变异概率的染色体组成染色体集合;
步骤272:为染色体集合中的每个染色体重新生成一个0至1之间的随机数作为第二染色体标识;
步骤273:从染色体集合中选择一个染色体;
步骤274:判断所选择的染色体的第二染色体标识是否小于子任务交换概率,若小于则执行步骤275,反之则执行步骤276;
步骤275:获取所选择的染色体的子任务优先级序列,随机交换子任务优先级序列中的两个子任务的优先级,执行步骤277;
步骤276:获取所选择的染色体的工作对象优先级序列,随机交换所述工作对象优先级序列中的两个工作对象的优先级;
步骤277:保存交换优先级列表后的染色体为子代染色体;
步骤278:判断是否染色体集合中的所有染色体都已经被选择,如果染色体集合中的所有染色体都已经被选择,则转入步骤25,反之则转入步骤273。
通过执行步骤27,对当前种群的染色体作了变异运算,得到了新的种群。
步骤28:输出优化的结果。
具体地,本步骤用于输出优化的最终结果,即根据满足终止条件的染色体生成规划方案,并将此规划方案输出,然后通过计算机显示。具体地,规划方案中包含了工作人员执行的工序以及执行工序的排布顺序信息,通过计算机以甘特图的形式显示工作人员执行的工序以及执行工序的排布顺序,同时以数据文件的方式保存最终规划结果,数据文件提供工作人员的工序、工作人员执行工序的顺序等数据。
步骤29:人工调整。
结合甘特图等手段对工作人员执行的工序和执行工序的顺序进行分析,通过人机交互对工作人员执行的工序和执行工序的顺序进行手动调整,直至满足要求,人工调整后再次保存规划结果。
Claims (2)
1.一种基于工序划分的任务规划方法,其特征在于包括如下步骤:
步骤21:创建任务规划所需的基础数据;
其中基础数据包括工作人员、工作对象和工作任务,这些基础数据存储在系统数据库;
步骤22:划分工作任务;
具体地,将工作任务划分为多个子任务,通过子任务处理工作对象,每个子任务又包含多个工序,每个工序指定一个可以执行该工序的工作人员集合,对每个子任务的所有工序进行工作量估计以获取工序工作量;
步骤23:选取约束条件和优化目标;
具体地,约束条件包括:整个工作任务在给定时间内完成、各个子任务在给定时间窗口内完成;优化目标包括:总的工作时间最短、各个工作人员的工作量差距最小;
步骤24:初始化操作;
步骤24用于初始化启发式算法的初始种群,首先为各个子任务和各个工作对象分配初始优先级,将该优先级作为初始种群中的初始染色体,具体包括:将所有子任务随机进行排序,生成一个子任务列表;对子任务列表中的子任务依次赋予优先级,得到与子任务列表相对应的子任务优先级序列;将所有工作对象进行排序,生成一个工作对象列表;对工作对象列表中的工作对象依次赋予优先级,得到与工作对象列表相对应的工作对象优先级序列;将子任务优先级序列和工作对象优先级序列组合成为初始染色体;
然后通过采用对初始染色体交换子任务优先级和工作对象优先级的方式生成初始种群,假设初始种群需要包含N个染色体,则具体步骤为:
随机选择所述子任务列表中的两个子任务,交换这两个子任务的优先级,得到新的子任务优先级序列;随机选择工作对象列表中的两个工作对象,交换这两个工作对象的优先级,得到新的工作对象优先级序列;将新的子任务优先级序列与新的工作对象优先级序列组合成为新生成的染色体,将新生成的染色体保存至初始种群;重复上述步骤N-1次,得到N-1个新生成的染色体,N-1个新生成的染色体与初始染色体构成初始种群中的N个染色体;
步骤24中,为各个子任务和各个工作对象分配初始优先级的方式随机分配初始优先级;
步骤25:判断是否已经生成了满足终止条件的染色体,如果生成了则执行步骤28,如果未生成则执行步骤26;
步骤25用于判断是否已经产生了满足终止条件的染色体,其中终止条件包括约束条件和优化目标,如果产生了则执行步骤28,如果未产生,则进行后续交叉和变异运算;具体步骤包括:
步骤251:选择当前种群中的一个染色体,根据所选择的染色体获取子任务优先级序列和工作对象优先级序列;
步骤252:根据步骤22中获得的工序工作量确定总工序数T,初始化t=1并设置所有工序为未排工序;
步骤253:选择优先级最高的子任务,从该子任务对应的工作对象集合中选择优先级最高的工作对象,并从所选择的工作对象的工序集合中选择一个满足约束条件的工序;
步骤254:从工作人员集合中选出可以操作步骤253中选定的工序的工作人员,并根据工序工作量和工作人员可安排的工作时间确定有足够时间完成工序的工作人员,若满足条件的工作人员数目大于1,则根据工作人员优先级选择工作人员;
步骤255:将步骤253中所选择的工序设置为已排工序;
步骤256:令t=t+1,若t小于等于T,则转到步骤253,若t大于T,则执行步骤257;
步骤257:判断所有已排工序组成的排定工序是否满足优化目标,若满足优化目标则执行步骤28,若不满足优化目标则执行步骤258;
步骤258:判断是否种群中的所有染色体都已经被选择,如果是则执行步骤26,反之则返回步骤251;
通过步骤24和步骤25,如果未生成满足终止条件的染色体,则执行下述的交叉运算和变异运算;
步骤26:执行交叉运算;
此步骤用于把当前种群中的两个染色体的部分结构加以替换重组而生成新的染色体,其输入为父代的两个染色体,输出为子代的两个染色体;采用随机方式选择需要交叉的染色体,具体染色体的交叉采用遗传算法中常用的一点交叉;具体步骤为:
首先为当前种群中的每个染色体生成一个0至1之间的随机数作为染色体标识;随机选择两个染色体标识小于交叉概率的染色体;获取所选择的两个染色体的子任务优先级序列和工作对象优先级序列;将其中一个染色体的工作对象优先级序列与另一个染色体的工作对象优先级序列交换;保存交换优先级序列后的染色体到当前种群;
步骤27:执行变异运算,执行完后再次执行步骤25;
步骤27主要用于将种群中的染色体串的某些基因座上的基因值作变动,从而输出一个新的子代染色体,采用随机方式选择需要变异染色体,具体染色体的变异操作可以采用随机交换两个子任务的优先级或两个工作对象的优先级来实现,具体包括以下步骤:
步骤271:首先为当前种群中的每个染色体生成一个0至1之间的随机数作为第一染色体标识,将第一染色体标识小于变异概率的染色体组成染色体集合;
步骤272:为染色体集合中的每个染色体重新生成一个0至1之间的随机数作为第二染色体标识;
步骤273:从染色体集合中选择一个染色体;
步骤274:判断所选择的染色体的第二染色体标识是否小于子任务交换概率,若小于则执行步骤275,反之则执行步骤276;
步骤275:获取所选择的染色体的子任务优先级序列,随机交换子任务优先级序列中的两个子任务的优先级,执行步骤277;
步骤276:获取所选择的染色体的工作对象优先级序列,随机交换所述工作对象优先级序列中的两个工作对象的优先级;
步骤277:保存交换优先级列表后的染色体为子代染色体;
步骤278:判断是否染色体集合中的所有染色体都已经被选择,如果染色体集合中的所有染色体都已经被选择,则转入步骤25,反之则转入步骤273;
通过执行步骤27,对当前种群的染色体作了变异运算,得到了新的种群;
步骤28:输出优化的结果;
本步骤用于输出优化的最终结果,即根据满足终止条件的染色体生成规划方案,并将此规划方案输出,然后通过计算机显示;规划方案中包含了工作人员执行的工序以及执行工序的排布顺序信息,通过计算机以甘特图的形式显示工作人员执行的工序以及执行工序的排布顺序,同时以数据文件的方式保存最终规划结果,数据文件提供工作人员的工序、工作人员执行工序的顺序数据;
步骤29:人工调整;
结合甘特图手段对工作人员执行的工序和执行工序的顺序进行分析,通过人机交互对工作人员执行的工序和执行工序的顺序进行手动调整,直至满足要求,人工调整后再次保存规划结果。
2.一种用于执行权利要求1所述的规划方法的系统,其特征在于包括数据管理模块、任务分析模块、任务规划模块、规划结果输出模块和人工调整模块,
所述数据管理模块用于将基础数据保存至系统数据库,所述基础数据至少包括工作人员、工作对象和工作任务;
所述任务分析模块用于将工作任务划分为多个子任务,并对每个子任务包含的所有工序进行工作量估计以获取估计工作量;
所述任务规划模块用于选取不同的约束条件和优化目标,并采用启发式算法确定工作人员的规划方案,所述规划方案至少包括工作人员执行的工序和执行工序的顺序;
所述规划结果输出模块用于显示规划方案;
所述人工调整模块用于对规划方案进行手工拖动以调整规划方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410407852.2A CN104166903B (zh) | 2014-08-18 | 2014-08-18 | 基于工序划分的任务规划方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410407852.2A CN104166903B (zh) | 2014-08-18 | 2014-08-18 | 基于工序划分的任务规划方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104166903A CN104166903A (zh) | 2014-11-26 |
CN104166903B true CN104166903B (zh) | 2018-04-17 |
Family
ID=51910700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410407852.2A Active CN104166903B (zh) | 2014-08-18 | 2014-08-18 | 基于工序划分的任务规划方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104166903B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107767004A (zh) * | 2016-08-19 | 2018-03-06 | 北京京东尚科信息技术有限公司 | 信息推送方法和装置 |
CN106557836A (zh) * | 2016-10-27 | 2017-04-05 | 重庆大学 | 一种针对导爆索下制加工生产优化方法 |
CN106779109A (zh) * | 2017-01-25 | 2017-05-31 | 肖明磊 | 一种基于工序的任务分配方法及系统 |
CN106779482A (zh) * | 2017-02-17 | 2017-05-31 | 苏州大学 | 一种基于任务间优先关系约束的任务分配方法和系统 |
JP6880892B2 (ja) * | 2017-03-23 | 2021-06-02 | 富士通株式会社 | 工程計画生成プログラム及び工程計画生成方法 |
CN110147207B (zh) * | 2018-02-11 | 2020-12-29 | 北大方正集团有限公司 | 印刷派发方法、系统、计算机设备及存储介质 |
CN109002914A (zh) * | 2018-07-11 | 2018-12-14 | 广东工业大学 | 一种融合随机算法和启发式规划的生产调度方法及装置 |
CN111552241A (zh) * | 2020-04-15 | 2020-08-18 | 成都飞机工业(集团)有限责任公司 | 一种装配生产线仿真模型优化方法 |
CN111695727A (zh) * | 2020-06-04 | 2020-09-22 | 南京音飞峰云科技有限公司 | 基于甘特图思路的密集库作业任务池实时规划方法 |
CN113344477B (zh) * | 2021-08-05 | 2023-02-10 | 捷尔杰(天津)设备有限公司 | 任务同步控制方法、装置、电子设备及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870647A (zh) * | 2014-03-14 | 2014-06-18 | 西安工业大学 | 一种基于遗传算法的作业车间调度建模的方法 |
CN103927584A (zh) * | 2014-04-17 | 2014-07-16 | 湖北欣纬应急科技有限公司 | 一种基于遗传算法的资源调度优化方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008242722A (ja) * | 2007-03-27 | 2008-10-09 | Hitachi High-Tech Solutions Corp | 業務管理方法および業務管理システム |
-
2014
- 2014-08-18 CN CN201410407852.2A patent/CN104166903B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870647A (zh) * | 2014-03-14 | 2014-06-18 | 西安工业大学 | 一种基于遗传算法的作业车间调度建模的方法 |
CN103927584A (zh) * | 2014-04-17 | 2014-07-16 | 湖北欣纬应急科技有限公司 | 一种基于遗传算法的资源调度优化方法 |
Non-Patent Citations (1)
Title |
---|
多工厂协同生产计划与调度方法研究;董义军;《中国优秀硕士学位论文全文数据库经济与管理科学辑》;20101115(第11期);第J145-170页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104166903A (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104166903B (zh) | 基于工序划分的任务规划方法及系统 | |
Kumar et al. | Independent task scheduling in cloud computing by improved genetic algorithm | |
Jiang et al. | Distributed dynamic scheduling for cyber-physical production systems based on a multi-agent system | |
Li et al. | An agent-based approach for integrated process planning and scheduling | |
Fattahi et al. | Flexible job shop scheduling with overlapping in operations | |
Hamedi et al. | Capability-based virtual cellular manufacturing systems formation in dual-resource constrained settings using Tabu Search | |
Kazemipoor et al. | A differential evolution algorithm to solve multi-skilled project portfolio scheduling problems | |
Zhang et al. | A new manufacturing resource allocation method for supply chain optimization using extended genetic algorithm | |
Kilincci | Firing sequences backward algorithm for simple assembly line balancing problem of type 1 | |
CN108053047A (zh) | 云生产资源调度方法、装置和系统 | |
Zhang et al. | A combinatorial evolutionary algorithm for unrelated parallel machine scheduling problem with sequence and machine-dependent setup times, limited worker resources and learning effect | |
Cheng et al. | Task allocation in manufacturing: A review | |
CN109615188A (zh) | 一种预分配结合匈牙利算法的多机器人任务分配方法 | |
Chung et al. | Minimizing the makespan on two identical parallel machines with mold constraints | |
Sánchez-Herrera et al. | Flow shop scheduling problem with position-dependent processing times | |
Sharma et al. | Development of multi-objective scheduling model for construction projects using opposition-based NSGA III | |
Shi-jin et al. | Filtered-beam-search-based algorithm for dynamic rescheduling in FMS | |
Ouazene et al. | Identical parallel machine scheduling with time-dependent processing times | |
Toledo et al. | A hybrid heuristic approach to solve the multi level capacitated lot sizing problem | |
Zacharia et al. | The fuzzy human-robot collaboration assembly line balancing problem | |
Shah et al. | New modeling and performance evaluation of tool sharing control in FMS using colored Petri nets | |
Abd et al. | Application of fuzzy logic to multi-objective scheduling problems in robotic flexible assembly cells | |
Chen et al. | The application of Petri nets to construction project management | |
Ammar et al. | Resolution of multi-skilled workers assignment problem using simulation optimization: A case study | |
Ghodratnama et al. | Credibility-based fuzzy programming models to solve the budget-constrained flexible flow line problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |