CN113139710B - 一种基于遗传算法的多资源并行任务高级计划排程方法 - Google Patents
一种基于遗传算法的多资源并行任务高级计划排程方法 Download PDFInfo
- Publication number
- CN113139710B CN113139710B CN202110008188.4A CN202110008188A CN113139710B CN 113139710 B CN113139710 B CN 113139710B CN 202110008188 A CN202110008188 A CN 202110008188A CN 113139710 B CN113139710 B CN 113139710B
- Authority
- CN
- China
- Prior art keywords
- judging whether
- task
- entering
- population
- chromosomes
- 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
- 238000000034 method Methods 0.000 title claims abstract description 181
- 230000002068 genetic effect Effects 0.000 title claims abstract description 37
- 239000011159 matrix material Substances 0.000 claims abstract description 41
- 238000004458 analytical method Methods 0.000 claims abstract description 6
- 210000000349 chromosome Anatomy 0.000 claims description 108
- 238000013439 planning Methods 0.000 claims description 20
- 108090000623 proteins and genes Proteins 0.000 claims description 13
- 230000014509 gene expression Effects 0.000 claims description 8
- 238000011112 process operation Methods 0.000 claims description 8
- 230000009191 jumping Effects 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 230000035772 mutation Effects 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 abstract description 14
- 230000006870 function Effects 0.000 abstract description 10
- 238000010276 construction Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 230000002759 chromosomal effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- 108091026890 Coding region Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013068 supply chain management Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Life Sciences & Earth Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Physiology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Genetics & Genomics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本发明提供了一种基于遗传算法的多资源并行任务高级计划排程方法,以遗传算法为核心的,基于工艺路径动态确定、制造能力动态生成的多资源并行任务高级计划排程方法。该方法利用多资源组合约束、邻接矩阵构建解析、遗传算法高效迭代等手段,可以实现企业的资源需求灵活搭配、工艺路径自动梳理、多订单任务自动排程等功能。本发明实现了一种将不同产品的工艺路径,以一种通用的运算逻辑,准确无误的输出到运算规则当中,当产品工艺路径变更时,无需更改程序代码,即可输出对应的工序执行顺序,进而提高排程结果的普适性和高效性。
Description
技术领域
本发明涉及高级计划排程领域,特别涉及一种基于遗传算法的多资源并行任务高级计划排程方法。
背景技术
随着计算机技术的普及,企业的生产模式逐渐转化,正在由传统制造方式向智能化转变。但是大多数制造企业的生产计划排程,还是由计划人员利用计算机工具进行手工编排,主要是对任务进行粗略的工序划分,并对所划分的工序进行时间排程,排程方案的好坏直接取决于计划人员的经验水平,无法实现人、机、料、法、环在工序上的高效传递。
随着信息化、大数据、数字化和智能化的不断发展,高级计划与排程(AdvancedPlanning and Scheduling,APS)的出现为企业计划排程提供了解决思路,该方法集成计算机技术、人工智能、决策支持系统、信息技术、运筹学、物联网和管理科学等众多领域的前沿观点,是基于供应链管理和约束理论的先进计划与排程工具,包含了大量的数学模型、优化及模拟技术,按照排程规则,如需求日期的先后规则、瓶颈工序的利用率规则、生产优先级规则等,采用大量业务模型、仿真和数学算法等智能化运算法则,做常驻内存的计算,在有限的生产能力下得出最合理的资源负荷状况。利用这种方法可以为产品物料、仪器设备、工位环境、人员等主要资源提供同步的、实时的、全面的、具有约束能力的计划安排。
但是,目前主流的APS所采用的方法是基于产线制造能力固定、工艺路径确定、资源需求单一的情形,采用数学规划、启发式算法、智能优化算法等方法实现任务分配,仅能覆盖核心或瓶颈的资源运算,很难进行多资源要素(人员、时间、仪器、工位)的综合运算。对于多品种、小批量类型复杂装备制造企业,针对其工艺路径复杂多变、订单量庞大、资源需求种类多、业务变更次数频繁等特点,目前主流的高级计划排程方法并不具备通用性。
发明内容
针对现有技术中存在的问题,采用了遗传算法,结合生产任务排程规则和资源调度策略,与企业实际生产业务进行融合,创造出一种以遗传算法为核心的,基于工艺路径动态确定、制造能力动态生成的多资源并行任务高级计划排程方法。该方法利用多资源组合约束、邻接矩阵构建解析、遗传算法高效迭代等手段,可以实现企业的资源需求灵活搭配、工艺路径自动梳理、多订单任务自动排程等功能。
本发明采用的技术方案如下:一种基于遗传算法的多资源并行任务高级计划排程方法,包括以下步骤:
步骤1、获取所有待排程任务对应的工序运行逻辑、执行周期、资源需求和资源库,资源需求包括仪器、工位和人员,资源库包括仪器库、工位库和人员库;其中,工序运行逻辑、执行周期、资源需求都是属于工艺设计人员根据自己的项目需求提前编制好的工艺文件,其文件中的数据信息都存储在数据库当中;
步骤2、根据工序运行逻辑生成邻接矩阵Sim;
步骤3、确定多资源并行任务高级计划排程的约束条件,构建高级计划排程约束表达式;
步骤4、进行染色体编码,并随机产生一定规模的初始种群,令n=1;
步骤5、从种群中选取一条染色体,根据染色体的编码信息,按照邻接矩阵Sim的解析流程,得到多资源并行任务的待执行工序顺序;
步骤6、按照资源需求逻辑依次为待执行工序分配资源,分别记录各个任务的执行总时间;
步骤7、判断n是否满足阈值条件,若不满足,则n=n+1,执行下一步;否则跳转至步骤13;
步骤8、按照遗传算法进化规则,构建种群目标函数F(i),依据基于排序的适应度分配方法为每条染色体分配适应度值;
步骤9、采用轮盘赌的选择策略,从种群中随机选取设定比例的染色体进入下一步遗传操作;
步骤10、从筛选出的染色体中每两条为一组,作为父代染色体,判断是否满足交叉条件,若满足,则进行交叉;否则对下一组染色体进行判断,直至遍历完成,构成新的子代种群,执行下一步;
步骤11、在子代种群中逐条遍历染色体,判断是否满足变异条件,若满足,则进行变异;否则判断下一条染色体是否满足变异条件,遍历完成构成新的子代种群,执行下一步;
步骤12、判断子代种群染色体与初始种群染色体个数差值h,从父代中选取适应度值高的h条染色体作为最优个体,不进行遗传操作,直接加入到新种群当中,转到步骤5;
步骤13、输出种群最优解,解码输出每道工序对应的人员、仪器、工位、开始结束时间,多资源并行任务高级计划排程结束。
进一步的,述步骤2中邻接矩阵Sim生成过程如下:
步骤2.1、获取工序运行逻辑关系表,设工序个数为k,从表中提取出工序号、输出工序和输入工序构成新的二维字符串矩阵;
步骤2.2、将二维字符串矩阵转换成被计算机识别的数值矩阵形成一个新的矩阵E(k,3);
步骤2.3、生成一个k+1行、k列的零矩阵Sim,令j=1;
步骤2.4、判断所有工序是否循环完毕,如果是,则邻接矩阵生成完毕,否则,判断输入工序是否为空,如果是,则将Sim第一行对应工序列赋值为1,否则,进入步骤2.5;
步骤2.5、判断输出工序是否为空,如果是,则j=j+1,进入步骤2.4,否则将Sim对应j+1行的输出工序列赋值为1,j=j+1,进入步骤2.4。
进一步的,所述步骤3构建高级计划排程约束表达式如下::
a.同一个人员在同一时刻最多执行一道工序;
b.同一个人员必须当前工序执行结束才能执行下一工序;
c.相同任务下的工序间具有紧前约束关系,即同一任务紧前工序执行结束才可以执行下一道工序;
d.所有工序在额定时间内完成;
其中,表示在人员O的操作下,任务Ic工序Jf的执行时间;表示在人员O的操作下,任务Ic工序Jf的开始时间;Tcf表示任务Ic工序Jf的额定执行时间;T表示时间的集合;表示决策变量,表示在t时刻,任务Ic工序Jf由人员O来执行,则否则
进一步的,所述步骤5的具体过程如下:
步骤5.1、初始化l=1,缓存数据Q、候选工序数据K、输入工序数据N和计数器数据S为空;
步骤5.2、获取邻接矩阵Sim第l行非零元素对应的个数n,将非零项对应列号加入到候选工序数据K中;
步骤5.3、判断个数n是否大于1,若大于,进入步骤5.6;否则,进入5.4;
步骤5.4、从数组K中随机提取一个元素j,将邻接矩阵Sim第j列的非零项所对应的行号保存至输入工序数据N中;
步骤5.5、判断计数器数组S中是否包含输入工序数组N中的全部元素,若是,进入步骤5.6;否则,将候选工序数组K清零,再进入步骤5.6;
步骤5.6、Q=K+Q,在缓存数组中随机选取一个元素j,并在数据Q中删除元素j,将j值赋值给l,并存入计数器数组S中;
步骤5.7、读取工序l的仪器、工位、人员需求和周期,判断是否需要仪器、工位和人员,若需要,则进入步骤6,否则进入步骤5.8;
步骤5.8、判断计数器数组S中是否包含全部的工序号,若是,则循环结束;若否跳转至步骤5.2。
进一步的,所述步骤6中资源需求逻辑执行过程如下:
步骤6.1、将仪器、工位和人员库中的全部资源的结束时间初始化为0,判断输入工序是否需要仪器,若需要,进入步骤6.2,否则进入步骤6.3;
步骤6.2、获取仪器库中仪器最短结束时间及ID,将前一道工序的结束时间作为理论开始时间;
步骤6.3、判断该工序是否需要工位,若需要,进入步骤6.4,否则进入步骤6.5;
步骤6.4、判断工位需求属性,若是通用属性,匹配工位库中的组别和工位类型,提取库中满足要求的工位最短结束时间及ID;若是专用属性,匹配工位库中的任务号和工位类型,提取库中满足要求的工位最短结束时间及ID;
步骤6.5、判断该工序是否需要人员,若需要,提取人员需求个数;否则进入步骤6.7;
步骤6.6、判断人员类型是否带有*标,若是,匹配库中任务号对应*标人员,将库中满足需求的人员最短结束时间及ID提取出来;否则匹配库中的任务号,将库中满足需求的人员最短结束时间及ID提取出来;
步骤6.7、比较仪器、工位、人员最短结束时间和理论开始时间的最大值t,将t赋值给对应数据库结束时间,并将t作为该工序的开始时间,仪器、工位和人员ID表示该工序所选资源。
进一步的,所述步骤8中的目标函数为:
其中,F(i)为各个任务的执行总时间平均值的最小值;ZTi表示任务i完成总时间;n表示参与高级计划排程的任务个数。
进一步的,所述步骤10中交叉操作的具体过程为:
步骤10.1、对种群中的每条染色体进行编号并洗牌重组,列出重组后的编号序列;
步骤10.2、在重组的编号序列中按序选取两条染色体k1和k2作为父代染色体,判断判断是否大于交叉概率,如果大于,则进入步骤10.3,否则,重新执行步骤10.2;
步骤10.3、计算编码染色体长度m,生成1<i<m的随机数i;
步骤10.4、将父代染色体k1和k2中基因为i之后的基因片段进行交换,进行重复校验,形成新的子代染色体h1和h2;
步骤10.5、判断种群中的染色体是否全部遍历,若否,进入步骤10.2,否则将所有子代染色体h1、h2和未交叉的父代染色体k1和k2组合形成新的种群。
进一步的,所述步骤11中的变异操作过程如下:
步骤11.1、在子代种群中按序选取一条染色体ki,判断是否大于变异概率,若满足,则进入步骤11.2,否则重新执行步骤11.1;
步骤11.2、生成1<m<n<96的随机数m和n,判断染色体对应m和n基因位是否相同,若是,则重新执行步骤11.2;否则,进入步骤11.3;
步骤11.3、将染色体ki对应m和n基因位互换,形成新的染色体hi;
步骤11.4、判断种群中的染色体是否全部遍历,若否,则进入步骤11.1;否则将生成的新染色体hi和未变异的染色体ki构成新的子代种群,变异完毕。
与现有技术相比,采用上述技术方案的有益效果为:
(1)本发明实现了一种将不同产品的工艺路径,以一种通用的运算逻辑,准确无误的输出到运算规则当中,当产品工艺路径变更时,无需更改程序代码,即可输出对应的工序执行顺序,进而提高排程结果的普适性和高效性;
(2)本发明将人力资源、仪器资源和工位资源加入到排程规则当中,实现全面质量管理理论所涉及的人、机、法、环与计划排程的高效融合,解决了手工排程资源分配不够均衡的难题。
附图说明
图1是本发明的基于遗传算法的多资源并行任务高级计划排程工作流程图。
图2是本发明一实施例中任务a的工序运行逻辑关系图。
图3是本发明一实施例中任务b的工序运行逻辑关系图。
图4是本发明一实施例中邻接矩阵构建流程。
图5是本发明一实施例中工序分配资源流程。
图6是本发明一实施例中数字框选示意图。
图7是本发明一实施例中资源需求逻辑图。
图8是本发明一实施例中仿真迭代曲线示意图。
图9是本发明一实施例中满足任务总个数需求的染色体示意图。
图10是本发明一实施例中染色体k1、k2示意图。
图11是本发明一实施例中染色体ki示意图。
图12是本发明一实施例中染色体基因位互换示意图。
具体实施方式
下面结合附图对本发明做进一步描述。
如图1所示,本发明提出了一种基于遗传算法的多资源并行任务高级计划排程方法,包括以下步骤:步骤1、获取所有待排程任务对应的工序运行逻辑、执行周期、资源需求(包括仪器、工位和人员)和资源库(包括仪器库、工位库和人员库);
步骤2、根据工序运行逻辑生成邻接矩阵Sim;
步骤3、确定多资源并行任务高级计划排程的约束条件,构建高级计划排程约束表达式;
步骤4、进行染色体编码,并随机产生一定规模的初始种群,令n=1;
步骤5、从种群中选取一条染色体,根据染色体的编码信息,按照邻接矩阵Sim的解析流程,得到多资源并行任务的待执行工序顺序;
步骤6、按照资源需求逻辑依次为待执行工序分配资源,分别记录各个任务的执行总时间;
步骤7、判断n是否满足阈值条件,若不满足,则n=n+1,执行下一步;否则跳转至步骤13;
步骤8、按照遗传算法进化规则,构建种群目标函数F(i),依据基于排序的适应度分配方法为每条染色体分配适应度值;
步骤9、采用轮盘赌的选择策略,从种群中随机选取设定比例的染色体进入下一步遗传操作;
步骤10、从筛选出的染色体中每两条为一组,作为父代染色体,判断是否满足交叉条件,若满足,则进行交叉;否则对下一组染色体进行判断,直至遍历完成,构成新的子代种群,执行下一步;
步骤11、在子代种群中逐条遍历染色体,判断是否满足变异条件,若满足,则进行变异;否则判断下一条染色体是否满足变异条件,遍历完成构成新的子代种群,执行下一步;
步骤12、判断子代种群染色体与初始种群染色体个数差值h,从父代中选取适应度值高的h条染色体作为最优个体,不进行遗传操作,直接加入到新种群当中,转到步骤5;
步骤13、输出种群最优解,解码输出每道工序对应的人员、仪器、工位、开始结束时间,多资源并行任务高级计划排程结束。
以下进行具体说明:
步骤1、获取待排程任务对应的工序运行逻辑、执行周期、仪器需求、工位需求、人员需求和资源库;本实施例以任务a和b为例,其工序运行逻辑如图2、图3所示,该任务分别包含13和11道工序,所需逻辑关系、周期、仪器、人员和工位需求如表1-表4所示。
表1工序运行逻辑及周期
表2需求仪器列表
表3需求人员数量列表
表4需求工位列表
步骤2、按照如图4所示流程:
步骤2.1、获取工序运行逻辑关系表,设工序个数为k,从表中提取出工序号、输出工序和输入工序构成新的二维字符串矩阵;
步骤2.2、将二维字符串矩阵转换成被计算机识别的数值矩阵形成一个新的矩阵E(k,3);
步骤2.3、生成一个k+1行、k列的零矩阵Sim,令j=1;
步骤2.4、判断所有工序是否循环完毕,如果是,则邻接矩阵生成完毕,否则,判断输入工序是否为空,如果是,则将Sim第一行对应工序列赋值为1,否则,进入步骤2.5;
步骤2.5、判断输出工序是否为空,如果是,则j=j+1,进入步骤2.4,否则将Sim对应j+1行的输出工序列赋值为1,j=j+1,进入步骤2.4。
结合工序运行逻辑关系表生成对应任务的邻接矩阵Sima和Simb如下,该邻接矩阵是由0和1组成的方阵,可清晰的表达出工序之间的逻辑关系,该矩阵按行搜索可查询该行号工序的输出工序,按列搜索可查询该列号工序的输入工序;
步骤3、确定多资源并行任务高级计划排程问题的约束条件,构建高级计划排程约束表达式,具体如下:
某多品种小批量制造企业一次性下发m个任务Ic={I1,I2,…,Im,c=1,2,…,m},任务之间是相互独立的,每个任务有u道具有先后约束关系的工序Jf={J1,J2,...,Ju,f=1,2,...,u},根据工序资源需求为每道工序分配工位、仪器、执行时间和执行人员,所需工位、仪器和人员类型由资源需求决定,不同工序所需资源不同。排程目标是在现有资源库的基础上,对m个任务u道工序进行排程,同时最优化既定的目标,并满足以下假设条件:
a.不同任务的工序之间没有先后顺序;
b.根据每个人员的权限不同可执行的工序不同;
c.同一个人员在同一时间只能执行一道工序;
d.每道工序在额定周期内完成。
表5名词解释
综上所述,结合计划排程问题假设,满足的约束条件及表达式如下:
a.同一个人员在同一时刻最多执行一道工序;
b.同一个人员必须当前工序执行结束才能执行下一工序;
c.相同任务下的工序间具有紧前约束关系,即同一任务紧前工序执行结束才可以执行下一道工序;
d.所有工序在额定时间内完成;
步骤4、对多资源并行任务高级计划排程问题进行染色体编码,并随机产生一定规模的初始种群,令n=1;
本实施例选取任务a和b各4套,对多资源并行任务高级计划排程问题进行编码,采用实数编码方式,将随机生成的任务号和序列号进行组合,生成满足任务总个数需求的染色体如图9所示。
从染色体链路中可以看出,编码序列中具有多个重复项。例如:第一次出现101表示任务号为1、序列号为1的第1道工序;而第二次出现101则表示任务号为1、序列号为1的第2道工序;其它基因位解码方式相同。
步骤5、从种群中选取一条染色体,根据染色体的编码信息,按照如图5所示邻接矩阵Sim的解析流程,得到多资源并行任务的待执行工序顺序;
以具有13道工序的任务a为例,表述利用邻接矩阵Sima解析待执行工序顺序及资源分配的流程如下:
a.初始化l=1(l-1表示工序序号),缓存数组Q、候选工序数组K、输入工序数组N和计数器数组S为空;
b.获取邻接矩阵Sima第l行非零元素对应的个数n,将非零项对应列号加入到候选工序数组K中,如图6示例第一行框选数字;
c.判断个数n是否大于1,若大于,跳转至步骤f;否则,执行下一步;
d.从数组K中随机提取一个元素j,将邻接矩阵Sima第j列的非零项所对应的行号保存至输入工序数组N中;
e.判断计数器数组S中是否包含输入工序数组N中的全部元素,若是,执行下一步;否则,将候选工序数组K清零,跳转至下一步;
f.Q=K+Q,在缓存数组Q中随机选取一个元素j,并在数组Q中删除元素j,将j赋值给l,并存入计数器数组S中;
g.读取工序l的仪器、工位、人员需求和周期,判断是否需要仪器、工位和人员,若需要,则执行步骤6;否则执行下一步;
h.判断计数器数组S中是否包含全部的工序号,若是,则循环结束,计数器数组S中工序出现的顺序即为当前工序执行顺序;若否,跳转至步骤b。
步骤6、按照如图7所示资源需求逻辑,依次为待执行工序分配合适的人员、仪器、工位需求和始末时间等资源,分别记录各个任务的执行总时间。资源需求逻辑执行流程如下:
a.将仪器、工位和人员库中的全部资源的结束时间初始化为0,判断输入工序是否需要仪器,若需要,执行下一步,否则执行步骤c;
b.获取仪器库中仪器最短结束时间及ID,将前一道工序的结束时间作为理论开始时间;
c.判断该工序是否需要工位,若需要,执行下一步,否则执行步骤e;
d.判断工位需求属性,若是通用属性,匹配工位库中的组别和工位类型,提取库中满足要求的工位最短结束时间及ID;若是专用属性,匹配工位库中的任务号和工位类型,提取库中满足要求的工位最短结束时间及ID;
e.判断该工序是否需要人员,若需要,提取人员需求个数;否则执行步骤g;
f.判断人员类型是否带有*标,若是,匹配库中任务号对应*标人员,将库中满足需求的人员最短结束时间及ID提取出来;否则匹配库中的任务号,将库中满足需求的人员最短结束时间及ID提取出来;
g.比较仪器、工位、人员最短结束时间和理论开始时间的最大值t,将t赋值给对应数据库结束时间,并将t作为该工序的开始时间,仪器、工位和人员ID表示该工序所选资源。
步骤7、判断n是否满足阈值条件,若不满足,则n=n+1,执行下一步;否则跳转到步骤13;本实施例总阈值为100,表示遗传算法运行100代后结束遗传操作;本步骤中的阈值可根据实际问题的复杂程度进行调整。
步骤8、按照遗传算法进化规则,需要构建种群目标函数F(i),并为每条染色体分配适应度值。本例采用的目标函数构建规则如下:
在多资源并行任务高级计划排程问题中,目标函数F(i)应该在满足所有资源约束条件的基础上,通过合理分配资源和工序执行逻辑,使得各个任务的执行总时间平均值最小,平均值越小,染色体的适应度值越大;
上述公式中F(i)为各个任务的执行总时间平均值的最小值;ZTi表示任务i完成总时间;n表示参与高级计划排程的任务个数,该函数表示遗传算法的目标函数;
步骤9、按照轮盘赌的选择策略,从种群中随机选取设定比例的染色体进入下一步遗传操作;
步骤10、从筛选出的染色体中每两条为一组,作为父代染色体,判断是否满足交叉条件,若满足,则进行交叉;否则对下一组染色体进行判断;直至遍历完成,构成新的子代种群,执行下一步。交叉操作流程如下:
a.对种群中的每条染色体进行编号并洗牌重组,列出重组后的编号序列;
b.如图10所示,在重组的编号序列中按序选取两条染色体k1和k2,判断是否大于交叉概率,如果大于,则执行下一步,其中交叉概率的取值根据实际问题及算法设计结构本身,由人为进行确定,其取值的好坏直接影响着遗传算法的收敛性能,在本实施例中取0.97;否则,重新执行该步骤;
c.本例中染色体长度为4*13+4*11=96,生成1<i<96的随机数i;
d.将父代染色体k1和k2中基因位i之后的基因片段进行交换,进行重复性检验,形成新的子代染色体h1和h2;
e.判断种群中的染色体是否全部遍历,若否,执行步骤b;否则将所有子代染色体h1、h2和未交叉的父代染色体k1和k2组合形成新的种群。
步骤11、在子代种群中逐条遍历染色体,判断是否满足变异条件,若满足,则进行变异;否则判断下一条染色体是否满足变异条件;遍历完成构成新的子代种群,执行下一步。
变异操作流程如下:
a.如图11所示,在子代种群中按序选取一条染色体ki,判断是否大于变异概率,若满足,则执行下一步,否则重新执行该步骤,其中,变异概率的取值根据实际问题及算法设计结构本身,由人为进行确,在本实施例中取0.25;
b.生成1<m<n<96的随机数m和n,判断染色体对应m和n基因位是否相同,若是,则重新执行该步骤;否则,执行下一步;
c.如图12所示,将染色体ki对应m和n基因位互换,形成新的染色体hi;
d.判断种群中的染色体是否全部遍历,若否,则执行步骤a;否则将生成的新染色体hi和未变异的染色体ki构成新的子代种群,变异完毕。
步骤12、判断子代种群染色体与初始种群染色体个数差值h,从父代中选取适应度值高的h条染色体作为最优个体,不进行遗传操作,直接加入到新种群当中,转到步骤5;
步骤13、输出种群最优解,解码输出如表6所示部分排程结果,表中包含任务a和b每道工序对应的人员、仪器、工位、开始结束时间的部分信息,排程算法迭代效果如图8所示。
表6多资源并行任务高级计划排程结果(部分)
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
Claims (8)
1.一种基于遗传算法的多资源并行任务高级计划排程方法,其特征在于,包括以下步骤:
步骤1、获取所有待排程任务对应的工序运行逻辑、执行周期、资源需求和资源库;其中,资源需求包括仪器、工位和人员,资源库包括仪器库、工位库和人员库;
步骤2、根据工序运行逻辑生成邻接矩阵Sim;
步骤3、确定多资源并行任务高级计划排程的约束条件,构建高级计划排程约束表达式;
步骤4、进行染色体编码,并随机产生一定规模的初始种群,令n=1;
步骤5、从种群中选取一条染色体,根据染色体的编码信息,按照邻接矩阵Sim的解析流程,得到多资源并行任务的待执行工序顺序;
步骤6、按照资源需求逻辑依次为待执行工序分配资源,分别记录各个任务的执行总时间;
步骤7、判断n是否满足阈值条件,若不满足,则n=n+1,执行下一步;否则跳转至步骤13;
步骤8、按照遗传算法进化规则,构建种群目标函数F(i),依据基于排序的适应度分配方法为每条染色体分配适应度值;
步骤9、采用轮盘赌的选择策略,从种群中随机选取设定比例的染色体进入下一步遗传操作;
步骤10、从筛选出的染色体中每两条为一组,作为父代染色体,判断是否满足交叉条件,若满足,则进行交叉;否则对下一组染色体进行判断,直至遍历完成,构成新的子代种群,执行下一步;
步骤11、在子代种群中逐条遍历染色体,判断是否满足变异条件,若满足,则进行变异;否则判断下一条染色体是否满足变异条件,遍历完成构成新的子代种群,执行下一步;
步骤12、判断子代种群染色体与初始种群染色体个数差值h,从父代中选取适应度值高的h条染色体作为最优个体,不进行遗传操作,直接加入到新种群当中,转到步骤5;
步骤13、输出种群最优解,解码输出每道工序对应的人员、仪器、工位、开始结束时间,多资源并行任务高级计划排程结束。
2.根据权利要求1所述的基于遗传算法的多资源并行任务高级计划排程方法,其特征在于,所述步骤2中邻接矩阵Sim生成过程如下:
步骤2.1、获取工序运行逻辑关系表,设工序个数为k,从表中提取出工序号、输出工序和输入工序构成新的二维字符串矩阵;
步骤2.2、将二维字符串矩阵转换成被计算机识别的数值矩阵形成一个新的矩阵E(k,3);
步骤2.3、生成一个k+1行、k列的零矩阵Sim,令j=1;
步骤2.4、判断所有工序是否循环完毕,如果是,则邻接矩阵生成完毕,否则,判断输入工序是否为空,如果是,则将Sim第一行对应工序列赋值为1,否则,进入步骤2.5;
步骤2.5、判断输出工序是否为空,如果是,则j=j+1,进入步骤2.4,否则将Sim对应j+1行的输出工序列赋值为1,j=j+1,进入步骤2.4。
4.根据权利要求3所述的基于遗传算法的多资源并行任务高级计划排程方法,其特征在于,所述步骤5的具体过程如下:
步骤5.1、初始化l=1,缓存数据Q、候选工序数据K、输入工序数据N和计数器数据S为空;
步骤5.2、获取邻接矩阵Sim第l行非零元素对应的个数n,将非零项对应列号加入到候选工序数据K中;
步骤5.3、判断个数n是否大于1,若大于,进入步骤5.6;否则,进入5.4;
步骤5.4、从数组K中随机提取一个元素j,将邻接矩阵Sim第j列的非零项所对应的行号保存至输入工序数据N中;
步骤5.5、判断计数器数组S中是否包含输入工序数组N中的全部元素,若是,进入步骤5.6;否则,将候选工序数组K清零,再进入步骤5.6;
步骤5.6、Q=K+Q,在缓存数组中随机选取一个元素j,并在数据Q中删除元素j,将j值赋值给l,并存入计数器数组S中;
步骤5.7、读取工序l的仪器、工位、人员需求和周期,判断是否需要仪器、工位和人员,若需要,则进入步骤6,否则进入步骤5.8;
步骤5.8、判断计数器数组S中是否包含全部的工序号,若是,则循环结束;若否跳转至步骤5.2。
5.根据权利要求4所述的基于遗传算法的多资源并行任务高级计划排程方法,其特征在于,所述步骤6中资源需求逻辑执行过程如下:
步骤6.1、将仪器、工位和人员库中的全部资源的结束时间初始化为0,判断输入工序是否需要仪器,若需要,进入步骤6.2,否则进入步骤6.3;
步骤6.2、获取仪器库中仪器最短结束时间及ID,将前一道工序的结束时间作为理论开始时间;
步骤6.3、判断该工序是否需要工位,若需要,进入步骤6.4,否则进入步骤6.5;
步骤6.4、判断工位需求属性,若是通用属性,匹配工位库中的组别和工位类型,提取库中满足要求的工位最短结束时间及ID;若是专用属性,匹配工位库中的任务号和工位类型,提取库中满足要求的工位最短结束时间及ID;
步骤6.5、判断该工序是否需要人员,若需要,提取人员需求个数;否则进入步骤6.7;
步骤6.6、判断人员类型是否带有*标,若是,匹配库中任务号对应*标人员,将库中满足需求的人员最短结束时间及ID提取出来;否则匹配库中的任务号,将库中满足需求的人员最短结束时间及ID提取出来;
步骤6.7、比较仪器、工位、人员最短结束时间和理论开始时间的最大值t,将t赋值给对应数据库结束时间,并将t作为该工序的开始时间,仪器、工位和人员ID表示该工序所选资源。
7.根据权利要求6所述的基于遗传算法的多资源并行任务高级计划排程方法,其特征在于,所述步骤10中交叉操作的具体过程为:
步骤10.1、对种群中的每条染色体进行编号并洗牌重组,列出重组后的编号序列;
步骤10.2、在重组的编号序列中按序选取两条染色体k1和k2作为父代染色体,判断判断是否大于交叉概率,如果大于,则进入步骤10.3,否则,重新执行步骤10.2;
步骤10.3、计算编码染色体长度m,生成1<i<m的随机数i;
步骤10.4、将父代染色体k1和k2中基因为i之后的基因片段进行交换,进行重复校验,形成新的子代染色体h1和h2;
步骤10.5、判断种群中的染色体是否全部遍历,若否,进入步骤10.2,否则将所有子代染色体h1、h2和未交叉的父代染色体k1和k2组合形成新的种群。
8.根据权利要求7所述的基于遗传算法的多资源并行任务高级计划排程方法,其特征在于,所述步骤11中的变异操作过程如下:
步骤11.1、在子代种群中按序选取一条染色体ki,判断是否大于变异概率,若满足,则进入步骤11.2,否则重新执行步骤11.1;
步骤11.2、生成1<m<n<96的随机数m和n,判断染色体对应m和n基因位是否相同,若是,则重新执行步骤11.2;否则,进入步骤11.3;
步骤11.3、将染色体ki对应m和n基因位互换,形成新的染色体hi;
步骤11.4、判断种群中的染色体是否全部遍历,若否,则进入步骤11.1;否则将生成的新染色体hi和未变异的染色体ki构成新的子代种群,变异完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110008188.4A CN113139710B (zh) | 2021-01-05 | 2021-01-05 | 一种基于遗传算法的多资源并行任务高级计划排程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110008188.4A CN113139710B (zh) | 2021-01-05 | 2021-01-05 | 一种基于遗传算法的多资源并行任务高级计划排程方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113139710A CN113139710A (zh) | 2021-07-20 |
CN113139710B true CN113139710B (zh) | 2022-03-08 |
Family
ID=76809818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110008188.4A Active CN113139710B (zh) | 2021-01-05 | 2021-01-05 | 一种基于遗传算法的多资源并行任务高级计划排程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113139710B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113723937B (zh) * | 2021-11-02 | 2022-04-01 | 南京理工大学 | 一种基于启发式规则遗传算法的测发项目双层排期方法 |
CN114036452B (zh) * | 2021-11-11 | 2023-05-02 | 中国电子科技集团公司第二十九研究所 | 一种应用于离散型生产线的产能评估方法 |
CN115756792A (zh) * | 2022-11-16 | 2023-03-07 | 上海宝信软件股份有限公司 | 适用于智能排程系统的cpu并行加速方法和系统 |
CN115577997B (zh) * | 2022-12-12 | 2023-06-09 | 上海奔曜科技有限公司 | 排程控制方法、装置、设备及计算机可读存储介质 |
CN116663861B (zh) * | 2023-07-27 | 2023-10-13 | 安徽大学绿色产业创新研究院 | 装配式构件生产鲁棒性和资源均衡结合的调度优化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105321042A (zh) * | 2015-10-19 | 2016-02-10 | 金航数码科技有限责任公司 | 一种基于遗传算法的高级计划排程系统及方法 |
CN107273197A (zh) * | 2017-06-14 | 2017-10-20 | 北京工业大学 | 基于正交实验改进的谱聚类遗传算法的Hadoop任务调度方法 |
CN109636011A (zh) * | 2018-11-26 | 2019-04-16 | 江苏科技大学 | 一种基于改进的变邻域遗传算法的多班制计划排程法 |
CN110109753A (zh) * | 2019-04-25 | 2019-08-09 | 成都信息工程大学 | 基于多维度约束遗传算法的资源调度方法及系统 |
CN110378528A (zh) * | 2019-07-17 | 2019-10-25 | 南京大学 | 基于遗传算法的车间排产方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6882989B2 (en) * | 2001-02-23 | 2005-04-19 | Bbnt Solutions Llc | Genetic algorithm techniques and applications |
US8069127B2 (en) * | 2007-04-26 | 2011-11-29 | 21 Ct, Inc. | Method and system for solving an optimization problem with dynamic constraints |
-
2021
- 2021-01-05 CN CN202110008188.4A patent/CN113139710B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105321042A (zh) * | 2015-10-19 | 2016-02-10 | 金航数码科技有限责任公司 | 一种基于遗传算法的高级计划排程系统及方法 |
CN107273197A (zh) * | 2017-06-14 | 2017-10-20 | 北京工业大学 | 基于正交实验改进的谱聚类遗传算法的Hadoop任务调度方法 |
CN109636011A (zh) * | 2018-11-26 | 2019-04-16 | 江苏科技大学 | 一种基于改进的变邻域遗传算法的多班制计划排程法 |
CN110109753A (zh) * | 2019-04-25 | 2019-08-09 | 成都信息工程大学 | 基于多维度约束遗传算法的资源调度方法及系统 |
CN110378528A (zh) * | 2019-07-17 | 2019-10-25 | 南京大学 | 基于遗传算法的车间排产方法及系统 |
Non-Patent Citations (3)
Title |
---|
JIT生产方式下混流装配线平衡及其投产排序研究;毛蔚菲;《中国优秀硕士学位论文全文数据库》;20140815;全文 * |
Optimization of Resource-Constrained Multi-Project Scheduling Problem Based on the Genetic Algorithm;Xin SHU etc.;《2018 15th International Conference on Service Systems and Service Management (ICSSSM)》;20180917;全文 * |
基于学习效应的工艺设计相似任务分配方法研究;董洪亮;《中国优秀硕士学位论文全文数据库》;20181015;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113139710A (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113139710B (zh) | 一种基于遗传算法的多资源并行任务高级计划排程方法 | |
Neufeld et al. | A systematic review of multi-objective hybrid flow shop scheduling | |
CN113159383B (zh) | 一种面向多机协作加工车间的制造资源重构调度方法及系统 | |
Han et al. | Multi-objective evolutionary algorithms with heuristic decoding for hybrid flow shop scheduling problem with worker constraint | |
Abbasi et al. | Production planning and performance optimization of reconfigurable manufacturing systems using genetic algorithm | |
WO2021088436A1 (zh) | 一种用于多语言协同开发的项目调度方法及装置 | |
CN105629927A (zh) | 一种基于混合遗传算法的mes生产计划排产方法 | |
CN110516978A (zh) | 一种电子产品调测生产线混流排产方法 | |
CN116663861B (zh) | 装配式构件生产鲁棒性和资源均衡结合的调度优化方法 | |
CN115600774A (zh) | 一种装配式建筑构件产线的多目标生产调度优化方法 | |
Ren et al. | A branch-and-bound embedded genetic algorithm for resource-constrained project scheduling problem with resource transfer time of aircraft moving assembly line | |
Wang et al. | Evolutionary multitasking for semantic web service composition | |
Dalle Mura et al. | A multi-objective software tool for manual assembly line balancing using a genetic algorithm | |
Zhang et al. | Flexible job-shop scheduling with flexible workdays, preemption, overlapping in operations and satisfaction criteria: an industrial application | |
Ławrynowicz | Genetic algorithms for solving scheduling problems in manufacturing systems | |
Miao et al. | Modelling and numerical analysis for seru system balancing with lot splitting | |
Sun et al. | A Pareto-based hybrid genetic simulated annealing algorithm for multi-objective hybrid production line balancing problem considering disassembly and assembly | |
Ławrynowicz | Advanced scheduling with genetic algorithms in supply networks | |
CN117726119A (zh) | 一种解决分布式混合流水车间组调度的图仿生学习方法 | |
Zhan et al. | Configuring a seru production system to match supply with volatile demand | |
CN116644930A (zh) | 一种工业互联网背景的多企业动态任务调度方法及系统 | |
CN116774657A (zh) | 一种基于鲁棒优化的再制造车间动态调度方法 | |
CN111553610A (zh) | 一种基于学习-遗忘效应的调度方法及系统 | |
Wang et al. | Modeling and analysis for multi-period, multi-product and multi-resource production scheduling | |
Sharma et al. | EVALUATION OF ASSEMBLY LINE BALANCING METHODS USING AN ANALYTICAL HIERARCHY PROCESS (AHP) AND TECHNIQUE FOR ORDER PREFERENCES BY SIMILARITY TO IDEAL SOLUTION (TOPSIS) BASED APPROACH. |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |