CN110866586B - 用于受资源约束多项目调度的改进遗传规划算法优化方法 - Google Patents
用于受资源约束多项目调度的改进遗传规划算法优化方法 Download PDFInfo
- Publication number
- CN110866586B CN110866586B CN201910971120.9A CN201910971120A CN110866586B CN 110866586 B CN110866586 B CN 110866586B CN 201910971120 A CN201910971120 A CN 201910971120A CN 110866586 B CN110866586 B CN 110866586B
- Authority
- CN
- China
- Prior art keywords
- project
- population
- training
- individual
- genetic programming
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Mathematical Physics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Economics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- General Factory Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了用于受资源约束多项目调度的改进遗传规划算法优化方法,包括以下步骤:步骤1:初始化参数、功能集和属性集;步骤2:收集不同工况下的项目集数据,并将其分解为训练集和测试集;步骤3:提取训练集中各工况项目集中的项目信息作为训练输入,提取功能集和属性集作为编码依据,对改进遗传规划算法中的种群进行训练;步骤4:判断是否达到训练集最大工况数,若是则输出种群中的最优解集,若否则变换项目集后,返回步骤3;步骤5:采用测试集和训练集对步骤4输出的最优解集进行测试;本发明能够对单/多目标下的受资源约束多项目调度问题进行求解,改善传统遗传规划容易陷入局部最优的缺陷,提高遗传规划的搜索和训练能力。
Description
技术领域
本发明涉及智能优化算法技术领域,具体涉及一种用于受资源约束多项目调度的改进遗传规划算法优化方法。
背景技术
资源受限项目调度问题(Resource Constrained Project Scheduling Problem,RCPSP)是项目管理中最为经典和核心的NP难问题。但是资源受限项目调度问题并不完全适用众多复杂的实际应用场景,需要从不同方面对其进行扩展,如多目标下资源受限项目调度问题优化、多模式资源受限项目调度问题优化等。其中资源受限多项目调度问题(Resource Constrained Multi-project Scheduling Problem,RCMPSP)是最广泛的扩展模式之一。近年来,针对资源受限多项目调度问题,众多学者对其求解方法做了大量研究,其中主要以基于元启发使的智能算法为主。遗传算法、多智能体系统、关键链技术等相关技术均被应用于求解和性能分析对比。
元启发式智能算法虽然具备良好的优化能力和搜索能力,但存在以下缺点:(1)随着问题规模的扩大,求解精度的稳定性变差,调度结果波动大且需要耗费大量的迭代时间,不利于频繁调度和动态调度的场景。(2)随着问题约束的扩展,元启发式算法要涉及相关策略来避免或修复非法解,降低了其适用性。为了避免这些缺陷,实际应用中一般采用基于优先级规则(Priority rule,PR)的启发式调度。如(WANG Y,HE Z,KERKHOVE L P,et al.Onthe performance of priority rules for the stochastic resource constrainedmulti-project scheduling problem[J].Computers&industrial engineering,2017,114:223-234)通过分析现有研究,总结归纳了适用于求解资源受限多项目调度问题的20种不同的优先级规则。通过实验从项目和项目集两个角度对不同优先级规则的性能进行分析并总结出其特点。(CHEN Z,DEMEULEMEESTER E,Bai S,et al.Efficient priority rulesfor the stochastic resource-constrained project scheduling problem[J].European Journal of Operational Research,2018,270(3):957-967.)将所总结的优先级规则与不同的元启发式智能算法进行对比,其实验结果得出了优先级规则在较短的响应时间下,其搜索的解仍然优于5种元启发式智能算法,证实了不同的优先级规则在求解能力不低于元启发式下具备快速响应能力。但由于优先级规则本身不具备优化能力,且不同优先级规则的优劣程度不同,导致其适用场景和目标也不同。如何利用不同优先级规则的特点去寻找调度能力和通用性更强大的优先级规则,最终产生了超启发式优化算法。而遗传规划(Genetic Programing,GP)作为最常用的超启发式算法逐渐被应用在调度问题上,已被成功的在柔性作业车间调度问题(Flexible Job Shop Scheduling Problem,FJSP)和单目标下的受资源约束项目调度问题下应用求解并取得了良好的效果。
相较于柔性作业车间调度问题和受资源约束项目调度问题,受资源约束多项目调度问题具备不同且复杂的问题空间,如不同的项目之间会存在资源冲突和抢占,具有其独特的适用优先级规则,同时多目标的优化会增加求解的复杂度。并且由于超启发式编码的特性,传统遗传规划容易产生相同功能编码从而易陷入局部最优。
发明内容
本发明通过训练的方式进化出性能更好的优先级规则,以进行受资源约束的多项目调度问题求解用于受资源约束多项目调度的改进遗传规划算法优化方法。
本发明采用的技术方案是:一种用于受资源约束多项目调度的改进遗传规划算法优化方法,包括以下步骤:
步骤1:初始化参数、功能集和属性集;
步骤2:收集不同工况下的项目集数据,并将其分解为训练集和测试集;
步骤3:提取训练集中各工况项目集中的项目信息作为训练输入,提取功能集和属性集作为编码依据,对改进遗传规划算法中的种群进行训练;
步骤4:判断是否达到训练集最大工况数,若是则输出种群中的最优解集,若否则变换项目集后,返回步骤3;
步骤5:采用测试集和训练集对步骤4输出的最优解集进行测试。
步骤3中的训练过程如下:
S11:计算项目集中各活动属性值;
S12:判断是否为第一个项目集,若是则根据功能集和属性集进行树状基因编码从而随机初始化种群,若否提取上个项目的迭代种群;
S13:对种群解码生成相应的优先级规则,并根据优先级规则计算问题的目标函数值;
S14:对种群进行评估,计算虚拟适应度函数;
S15:进行遗传规划中的遗传算子操作;
S16:采用多样性更新方式进行种群进化;
S17:判断是否达到最大迭代次数,若是则输出种群,若否则返回步骤S13。
进一步的,所述步骤S14中对种群进行评估的过程如下:
S21:根据种群中个体计算目标函数值,将整个种群进行分支配解分层,同层的解为非支配关系,不同层级解的关系如下:
G1>...>Gz>...>Gm
式中:Gz为属于第z非支配层的优先级规则集合,m为最大非支配层数,z={0,1,…,m};
S22:计算相同层级各优先级规则间的拥挤距离;
首先,根据优先级规则计算其目标函数值,根据下式计算基于不同目标函数归一化后的拥挤距离:
式中:a∈Gz,V为目标函数集合,objv,a为优先级规则a在目标函数v下的值,a+1,a-1为目标函数值v下该非支配层中经排序后的优先级规则;
S23:根据步骤S21中得到的支配等级和步骤22中得到的空间距离,分配虚拟适应度。
进一步的,所述步骤S16中多样性种群更新方式的过程如下:
S31:建立相同个体集合Snew,Sold和不同个体集合D,对于经过遗传算子更新后的新种群中的每个个体,计算其两个目标函数值;若原种群中没有相同目标函数值的个体,则该新个体放入D,否则该个体放入Snew,对应的相同原个体放入Sold;
S32:对于属于Snew中的个体,解析其表达式是否与对应的原个体一致,是则删除该个体,否则设置其虚拟适应度为空;
S33:对于Snew中余下的个体,判断其对应的Sold的个体是否虚拟适应度为空,如果是将其移于D中;
S34:将D中的个体与原种群一起参与进化,判断是否为当前工况最大迭代次数,若是则将个体虚拟适应度记录其当前虚拟适应度。
进一步的,所述步骤1中功能集为现有超启发式二元功能运算符,包括(+,—,×,/,max,min);属性集为提取的优先级属性,针对不同类型的属性对应的进行归一化;根据属性集和功能集建立判别编码。
进一步的,所述判别编码为顶层判别编码,为降序判别或者升序判别,并根据顶层判别编码设计判别变异遗传算子。
本发明的有益效果是:
(1)本发明提取优先级属性并建立其归一化方式,基本属性通过功能运算符的运算能够形成适用于求解受资源约束多项目调度的混合/进化优先级规则,从而使遗传规划能够应用于受资源约束多项目调度问题;
(2)本发明将NSGA-Ⅱ的评估方法与改进的遗传规划结合,能够同时训练求解单/多目标的受资源约束多项目调度问题混合/进化优先级规则,扩展遗传规划的应用领域;
(3)本发明改善了传统遗传规划容易陷入局部最优的缺陷。
附图说明
图1为改进遗传规划编码示意图,a为降序判别,b为升序判别。
图2为改进遗传规划流程示意图。
图3为相同功能编码图,a,b分别为两种不同的编码结构。
图4为不同优先级规则/混合优先级规则目标函数值图。
图5为HPR1基因编码图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步说明。
如图2所示,一种用于受资源约束多项目调度的改进遗传规划算法优化方法,包括以下步骤:
步骤1:初始化参数、功能集和属性集;;
步骤2:收集不同工况下的项目集数据,并将其分解为训练集和测试集;
步骤3:提取训练集中各工况项目集中的项目信息作为训练输入,提取功能集和属性集作为编码依据,对改进遗传规划算法中的种群训练;
步骤4:判断是否达到训练集最大工况数,若是则输出种群中的最优解集,若否则变换项目集后,返回步骤3;
步骤5:采用测试集和训练集对步骤4输出的最优解集进行测试。
步骤3中的训练过程如下:
S11:计算项目集中各活动属性值;
S12:判断是否为第一个项目集,若是则根据功能集和属性集进行树状基因编码从而随机初始化种群,若否提取上个项目的迭代种群;
S13:对种群解码生成相应的优先级规则,并根据优先级规则计算问题的目标函数值;
S14:对种群进行评估,计算虚拟适应度函数;
S15:进行遗传规划中的遗传算子操作;
S16:采用多样性更新方式进行种群进化;
S17:判断是否达到最大迭代次数,若是则输出种群,若否则返回步骤S13。
改进的遗传规划算法是一种超启发式算法,不同于启发式或元启发式直接作用于解空间以得到问题的解,其目的是为了进化/混合优先级规则以进行求解,即改进遗传规划算法的解为优先级规则而非所求问题的解。优先级规则方式调度是根据选取的属性进行优先级计算,再通过判别方式来选择最高优先级的任务进行调度。由此想要实现优先级规则的混合/进化,需要提取相关的属性并赋予一定的功能运算符进行组合。即需要建立相应的功能集和属性集,功能集选择现有超启发式六种最常用的二元功能运算符,包括(+,-,×,/,max,min)。参考现有总结的20种传统优先级规则,从资源角度、活动角度、项目角度提取了10个优先级基本属性,且不同的属性可能具有量纲、数量级大小等方面的差异。所以针对不同类型的属性设计了对应的归一化式。如表1所示。
表1优先级属性表
表中*表示ESij、EFij、LSij、LFij、dij的归一化方式,**为第TSij、TCSij的归一化方式,Atrriij表示对当前行的属性。公式中P表示项目集合,i为项目编号,Ai为项目i的活动集合,j为活动编号,Ki表示项目i所需要的资源类别总数量,k为资源编号,Rk为资源k的最大单位供应量,rijk为项目i中活动j的资源需求量。
编码方式采用一种树状的结构,其每个节点为所设计的属性集或功能集中的元素,如图1所示。节点所在的层数称为节点的深度,下层的属性或功能节点通过其父节点的功能表达式不断运算和累积形成一个完整的计算优先级公式。如图1所产生的表达式为(ES+EF)/CP。在此基础上,参考Kolisch结论中表现最好的几种优先级规则,MS(最大紧后活动总数)是最大化TSij属性所得到的优先级规则,而MINLFT(最小最晚完工时间)是最小化属性LFij。针对于不同的属性所构成的优先级规则,其最大化或最小化方式会对优先级规则的性能产生相反的影响。
基于此,设计了一种顶层判别编码——降序(Fall)判别或者升序(Rise)判别(深度为0)。如图1所示。当解的顶层节点为Fall时,则产生的优先级表达式值越小则优先级越高(如MINLFT),为Rise则越大优先级越高(MS),由于预先无法确定经过解码所得到的组合优先级表达式是越小化更优还是越大化更优。设置顶层节点则保证了可搜索寻优的有效解空间,以避免屏蔽部分解(如最小化/最大化同一种组合优先级表达式为两种优先级规则)。
方法流程如图2所示,包括初始化种群及遗传算子操作。在初始化种群中,如图1所示。第一种工况下采用随机初始化,后续工况的初始种群则采用前一种工况所得到的训练结果种群。本发明设计的编码,由此随机初始化中顶层编码以0.5的概率控制为Fall或者Rise。下层结构树采用ramped half-and-half方法随机生成,除顶层外,树深度在2到6之间(图1结构树深度为3)。在遗传算子的选择中,选择算子采用锦标赛选择,交叉算子采用子树交叉的模式,即当产生随机数小于交叉率Pc时,随机选择两个父代个体的某一个深度不为1的节点,将此节点下的子树进行交换。子树变异算子则是当随机数小于变异率Pm时,随机选择某一个深度不为1的节点,用一个基于属性集和功能集所随机生成的子树去替代该节点下的子树。在此基础上,针对设立的新编码模式存在Fall或Rise的判别方式,设计了一种新的判别方式变异,即当随时数小于Pm,原个体的顶层编码为Fall判别,则变异为Rise判别,反之亦然。
为了使改进的遗传规划能够适用于多目标问题求解,结合NSGA-Ⅱ的非支配解分层及拥挤距离计算方式对生产种群进行评估。
所述步骤S14中对种群进行评估的过程如下:
S21:根据种群中个体计算目标函数值,将整个种群进行分支配解分层,同层的解为非支配关系,不同层级解的关系如下:
G1>...>Gz>...>Gm
式中:Gz为属于第z非支配层的优先级规则集合,m为最大非支配层数,z={0,1,…,m};第z层的优先级规则完全支配第z+1层的优先级规则。
S22:计算相同层级各优先级规则间的拥挤距离;
首先,根据优先级规则计算其目标函数值,根据下式计算基于不同目标函数归一化后的拥挤距离:
式中:a∈Gz,V为目标函数集合,objv,a为优先级规则a在目标函数v下的值,a+1,a-1为目标函数值v下该非支配层中经排序后的优先级规则;
S23:根据步骤S21中得到的支配等级和步骤22中得到的空间距离,分配虚拟适应度;即首先判断个体所属非支配层,层级越低越优;相同层级个体拥挤距离越大越优。
由于结构树的编码方式导致可能不同编码所产生的优先级计算公式一致,如图3所示。传统的遗传规划进化/混合优先级过程中并没有处理方式消除此缺陷。导致在搜索中种群的多样性降低从而陷入局部最优,训练效果不佳。
为了克服该缺陷和提高搜索能力,本发明中采用多样性的种群更新方式。为了提升泛化性能,在更新过程中建立保持虚拟适应度(KF)变量。即存储上一个训练集下所得到的虚拟适应度信息,为更新时是否舍弃该个体提供判断依据。
所述步骤S16中多样性种群更新方式的过程如下:
S31:建立相同个体集合Snew,Sold和不同个体集合D,对于经过遗传算子更新后的新种群中的每个个体,计算其两个目标函数值;若原种群中没有相同目标函数值的个体,则该新个体放入D,否则该个体放入Snew,对应的相同原个体放入Sold;
S32:对于属于Snew中的个体,解析其表达式是否与对应的原个体一致,是则删除该个体,否则设置其虚拟适应度为空;
S33:对于Snew中余下的个体,判断其对应的Sold的个体是否虚拟适应度为空,如果是将其移于D中;
S34:将D中的个体与原种群一起参与进化,判断是否为当前工况最大迭代次数,若是则将个体虚拟适应度记录其当前虚拟适应度。
为了进一步对本发明方案进行说明,通过具体的实施例对本发明进行说明。
受资源约束多项目调度RCMPSP问题描述及数学模型如下:
RCMPSP包括n个项目,其项目集合P={1,2,…,n},对于其中任意一个项目i∈P都由一组活动Ai={ai0,ai1,…,ai(n+1)}构成,其中活动ai0和ai(n+1)为虚拟活动,表示项目i的开始和结束。对于任意活动aij∈Ai,j={0,1,…,n+1},stij表示其开始时间,dij表示其持续时间,Sij表示其紧后活动集合。在n个项目的执行过程中,共需要K种共用可更新资源,项目i则需要Ki种资源,每种资源k∈K的最大单位供应量为Rk。而其中活动aij所需要资源k的量为rijk。同时在时刻t处于执行的活动集合为ATt。对于每一个项目i,设其关键路径长度为CPi,实际调度后所得到的完工时间为ADi。为了判别调度解的优劣,根据文献(WANG Y,HE Z,KERKHOVE L P,et al.On the performance of priority rules for the stochasticresource constrained multi-project scheduling problem[J].Computers&industrialengineering,2017,114:223-234.)采用两个目标函数值分别从项目和项目集两个角度进行PR的性能评估——平均项目完工时间偏差(Q1)和项目集完工时间偏差(Q2),问题的数学模型如下:
min[Q1,Q2]
约束条件如下:
上式,Q1和Q2的表达式表示两个目标函数的定义。公式(1)表明了项目内部各活动的紧前紧后关系。公式(2)为虚拟活动约束,即所有虚拟活动都不需要任何资源且持续时间为0。公式(3)为资源约束,即在任意时刻,处于执行状态的活动所需资源之和不得超过该类资源的最大单位供应量。
同时,由于为双目标优化,本发明采用Pareto解集的方式寻优,即采用非支配的方式来评估解的性能,如下式所示:
对于两个求解策略s1和s2,公式(2)中的不等式至少有一个严格小于时,称s1支配s2,记s1>s2。而在整个种群中,求解策略s不受其他任何规则支配时,s则属于当前种群的Pareto解集。
实验
实验环境和参数设置
本发明方法采用MyEclipse2017Java进行编程实现整个遗传规划的训练和测试过程,计算机配置为2.80GHz双核处理器,8GB内存。实验项目数据集从PSPLIB(KOLISCH R,SPRECHER A.PSPLIB-a project scheduling problem library:OR software-ORSEPoperations research software exchange program[J].European J of OperationalResearch,1996,96(1):205-216.)标准数据库中选择基本项目进行构造50组项目集合形成不同工况,训练集为前30组项目集,其余为测试集。每个项目集包含4个活动数不等的项目,分别从J30、J60、J90(每个项目包含30、60、90个非虚拟活动,共480个项目)、J120(每个项目包含120个非虚拟活动,共600个项目)数据集中选取。根据PSPLIB库中活动的最大资源需求值,设定项目中每种资源的最大单位供应Rk为20。根据经验得出设定改进遗传规划的所需参数为:最大迭代次数Maxgen=20,种群规模Size=200,交叉率Pc=0.9,变异率Pm=0.2。
优先级规则的优劣采用性能排名的方式来进行评价,如下式所示。即在每种项目集下进行调度,会产生两组(Q1和Q2)排名。由此取每种规则在调度50组项目集下的平均排名RKl来衡量该优先级规则的性能:
式中,M为项目集的总数量,rkm,v,l表示规则l在项目集m下调度目标v对应的排名值,其值为小于|Rule|的正整数,Rule表示参与排名的规则集合。
根据图1,采用遗传规划进行一次训练实验将会产生一组基于属性集和功能集的混合优先级规则集合,改进遗传规划的性能取决训练后产生的混合优先级规则性能。采用改进遗传规划训练10次,随机选取一次所产生的结果与现有所总结的20种经典优先级规则进行性能排名对比。其排名表如表2所示。HPR1至HPR10为本次训练所产生的10种混合优先级规则。HPR1的编码基因如图5所示,且随机选择一个输入项目集20种传统优先级规则和10种混合优先级规则所求的目标函数值如图4所示。
表2.优先级规则/混合优先级规则性能排名表
从表2中可以看出,改进遗传规划训练的混合优先级规则性能排名普遍优于传统的20种优先级规则。其中80%的混合优先级规则(除HPR8和HPR10外)的性能排名要高于传统表现最优的两种传统优先级规则——EDDF和MINSLK。而HPR8和HPR10的性能排名仅次于此两种传统优先级规则,而要优于大多数的传统优先级规则。同时,从图4中可以看出改进遗传规划所训练的混合优先级规则支配绝大多数传统优先级规则。且部分混合优先级规则处于当前工况下的Pareto前沿中(图4中Pareto前沿为HPR2、HPR5、HPR4、WACRU和MS)。由此可以证明本发明的训练能够发现比现有优先级规则性能更好的混合优先级规则。即保留了优先级规则的快速响应能力又改善了优先级规则不具备优化能力的缺陷。
为了进一步证明本发明的有效性,采用传统遗传规划进行对比。本发明方法和传统遗传规划训练10次所得到的统计表如表3和表4所示。N为实验次数,avg为平均值。表3中,Pareto表示该次实验所得到的非支配HPR的数量,dominate表示该次实验训练出的混合优先级规则性能排名高的20种传统优先级规则占所有非支配混合优先级规则的百分比。如表2中dominate为80%;表4中,PRmax和HPRmax分别表示50组项目集下传统优先级规则和混合优先级规则出现Pareto前沿的次数的最大值。Per表示所训练的HPRs出现Pareto前沿次数大于PRmax占所有HPRs的百分比。
表3.改进遗传规划和遗传规划构造的混合优先级规则性能排名统计表
表4.改进遗传规划和遗传规划构造的混合优先级规则Pareto前沿次数统计表
从表3中可以看出,本发明训练得到的非支配混合优先级规则集合的平均数量为8.4而遗传规划为3.8。可以看出本发明方法能够生成到更多的非支配混合优先级规则,为调度提供更加广泛的选择。从dominate值可以看出本发明的训练效果更佳。其所生成的混合优先级规则大多数比20种传统优先级规则要好,且部分较差的混合优先级规则也仅次于少数几种最优的传统优先级规则(如表2所示)。而传统的遗传规划所生成的混合优先级规则完全优于20种传统优先级规则的比例较低,且部分情况下生成的混合优先级规则并不能完全优于传统优先级规则。同时,从表4可以看出,传统的优先级规则与传统遗传规划生成的混合优先级规则对比后的Pareto前沿次数要高于本发明方法。可以看出传统遗传规划所生成混合优先级规则对于传统优先级规则的支配力要弱于本发明方法。由此可以看出本发明方法可以改善传统遗传规划容易陷入局部最优的缺陷且具备更好的泛化能力,训练得到的优先级规则具备更强的通用性。
由于元启发式智能算法存在稳定性差、迭代费时长、随着问题规模和问题约束的可扩展性差等缺点,导致实际工业场景(特别是频繁调度和动态调度较多的场景)更加倾向于优先级规则等启发式方法的使用。优先级规则并不具备优化能力,由此基于超启发式的遗传规划算法的研究具备巨大的工业应用潜力。现阶段,国内外学者已将传统的遗传规划用于求解柔性作业车间调度问题和资源受限单项目调度问题进化优先级规则并取得了良好的效果。可多项目调度问题具备更复杂的问题空间和广泛的应用场景(如装配和半导体最终测试问题)而缺乏遗传规划的应用研究。传统的遗传规划存在容易陷入具备最优的缺陷而导致训练效果不佳。
本发明首先根据传统优先级规则提取出适用于受资源约束多项目调度问题的属性集合,并建立其归一化方式。在此基础上扩展传统遗传规划的编码,设计了一种顶层编码方式以保证有效解空间。在执行传统遗传规划的遗传算子过程中,加入了一种判别方式变异以获取更多潜在的较优解。结合NSGA-Ⅱ中的非支配分层和拥挤距离计算,能够使该方法适用于不同单/多目标下的优化。并采用多样性中种群更新方式改善传统遗传规划容易陷入局部最优的缺陷,提高搜索能力和训练能力。
Claims (5)
1.用于受资源约束多项目调度的改进遗传规划算法优化方法,其特征在于,包括以下步骤:
步骤1:初始化参数、功能集和属性集;
步骤2:收集不同工况下的项目集数据,并将其分解为训练集和测试集;
步骤3:提取训练集中各工况项目集中的项目信息作为训练输入,提取功能集和属性集作为编码依据,对改进遗传规划算法中的种群进行训练;
步骤4:判断是否达到训练集最大工况数,若是则输出种群中的最优解集,若否则变换项目集后,返回步骤3;
步骤5:采用测试集和训练集对步骤4输出的最优解集进行测试;
步骤3中的训练过程如下:
S11:计算项目集中各活动属性值;
S12:判断是否为第一个项目集,若是则根据功能集和属性集进行树状基因编码从而随机初始化种群,若否提取上个项目的迭代种群;
S13:对种群解码生成相应的优先级规则,并根据优先级规则计算问题的目标函数值;
S14:对种群进行评估,计算虚拟适应度函数;
S15:进行遗传规划中的遗传算子操作;
S16:采用多样性更新方式进行种群进化;
S17:判断是否达到最大迭代次数,若是则输出种群,若否则返回步骤S13。
2.根据权利要求1所述的用于受资源约束多项目调度的改进遗传规划算法优化方法,其特征在于,所述步骤S14中对种群进行评估的过程如下:
S21:根据种群中个体计算目标函数值,将整个种群进行分支配解分层,同层的解为非支配关系,不同层级解的关系如下:
G1>…>Gz>…>Gm
式中:Gz为属于第z非支配层的优先级规则集合,m为最大非支配层数,z={0,1,…,m};
S22:计算相同层级各优先级规则间的拥挤距离;
首先,根据优先级规则计算其目标函数值,其次根据下式计算基于不同目标函数归一化后的拥挤距离:
式中:a∈Gz,V为目标函数集合,objv,a为优先级规则a在目标函数v下的值,a+1,a-1为目标函数值v下该非支配层中经排序后的优先级规则;
S23:根据步骤S21中得到的支配等级和步骤22中得到的空间距离,分配虚拟适应度。
3.根据权利要求1所述的用于受资源约束多项目调度的改进遗传规划算法优化方法,其特征在于,所述步骤S16中多样性种群更新方式的过程如下:
S31:建立相同个体集合Snew,Sold和不同个体集合D,对于经过遗传算子更新后的新种群中的每个个体,计算其两个目标函数值;若原种群中没有相同目标函数值的个体,则该个体放入D,否则该个体放入Snew,对应的相同原个体放入Sold;
S32:对于属于Snew中的个体,解析其表达式是否与对应的原个体一致,是则删除该个体,否则设置其虚拟适应度为空;
S33:对于Snew中余下的个体,判断其对应的Sold的个体是否虚拟适应度为空,如果是将其移于D中;
S34:将D中的个体与原种群一起参与进化,判断是否为当前工况最大迭代次数,若是则将个体虚拟适应度记录其当前虚拟适应度。
4.根据权利要求1所述的用于受资源约束多项目调度的改进遗传规划算法优化方法,其特征在于,所述步骤1中功能集为现有超启发式二元功能运算符,包括+,—,×,/,max,min;属性集为提取的优先级属性,针对不同类型的属性对应的进行归一化;根据属性集和功能集建立判别编码。
5.根据权利要求4所述的用于受资源约束多项目调度的改进遗传规划算法优化方法,其特征在于,所述判别编码为顶层判别编码,为降序判别或者升序判别,并根据顶层判别编码设计判别变异遗传算子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910971120.9A CN110866586B (zh) | 2019-10-14 | 2019-10-14 | 用于受资源约束多项目调度的改进遗传规划算法优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910971120.9A CN110866586B (zh) | 2019-10-14 | 2019-10-14 | 用于受资源约束多项目调度的改进遗传规划算法优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110866586A CN110866586A (zh) | 2020-03-06 |
CN110866586B true CN110866586B (zh) | 2021-03-16 |
Family
ID=69652176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910971120.9A Active CN110866586B (zh) | 2019-10-14 | 2019-10-14 | 用于受资源约束多项目调度的改进遗传规划算法优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866586B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814359B (zh) * | 2020-08-24 | 2023-03-21 | 电子科技大学 | 一种面向离散制造的集成车间调度与装配序列规划方法 |
CN113268928B (zh) * | 2021-05-27 | 2022-07-19 | 西南交通大学 | 一种基于随机资源受限多项目调度的遗传规划方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217293A (zh) * | 2014-09-04 | 2014-12-17 | 西安理工大学 | 一种求解多目标资源受限项目调度的有效方法 |
CN107451747A (zh) * | 2017-08-08 | 2017-12-08 | 大连交通大学 | 基于自适应非支配遗传算法的车间调度系统及其工作方法 |
CN109190857A (zh) * | 2018-10-30 | 2019-01-11 | 武汉大学 | 一种基于多目标资源受限项目调度模型的优化算法 |
-
2019
- 2019-10-14 CN CN201910971120.9A patent/CN110866586B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217293A (zh) * | 2014-09-04 | 2014-12-17 | 西安理工大学 | 一种求解多目标资源受限项目调度的有效方法 |
CN107451747A (zh) * | 2017-08-08 | 2017-12-08 | 大连交通大学 | 基于自适应非支配遗传算法的车间调度系统及其工作方法 |
CN109190857A (zh) * | 2018-10-30 | 2019-01-11 | 武汉大学 | 一种基于多目标资源受限项目调度模型的优化算法 |
Non-Patent Citations (2)
Title |
---|
《A Multi-agent Genetic Algorithm for Resource Constrained Project Scheduling Problems》;Xiaoxiao Yuan 等;《Proceedings of the 15th annual conference companion on Genetic and evolutionary computation》;20130731;全文 * |
《基于改进自适应遗传算法的多项目资源优化问题研究》;邓轶婧;《CNKI硕士论文数据库》;20130630;第7-36页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110866586A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109190857B (zh) | 一种基于多目标资源受限项目调度模型的优化算法 | |
Blum et al. | Search bias in ant colony optimization: On the role of competition-balanced systems | |
Nie et al. | Evolving scheduling rules with gene expression programming for dynamic single-machine scheduling problems | |
CN103106279B (zh) | 一种同时基于节点属性以及结构关系相似度的聚类方法 | |
US20050240355A1 (en) | Molecular entity design method | |
CN110866586B (zh) | 用于受资源约束多项目调度的改进遗传规划算法优化方法 | |
CN107203590B (zh) | 基于改进nsga-ii的个性化电影推荐方法 | |
CN113139710B (zh) | 一种基于遗传算法的多资源并行任务高级计划排程方法 | |
CN109872046B (zh) | 混流装配线任务分配与投产排序集成优化方法 | |
CN110008023B (zh) | 基于遗传算法的云计算系统预算约束随机任务调度方法 | |
CN110909787A (zh) | 基于聚类的进化算法进行多目标批调度优化的方法和系统 | |
CN106953768A (zh) | 一种网络可靠性模型及混合智能优化方法 | |
CN113222165A (zh) | 一种基于遗传算法的量子线路优化方法 | |
CN116663861B (zh) | 装配式构件生产鲁棒性和资源均衡结合的调度优化方法 | |
CN113313360A (zh) | 一种基于模拟退火-撒点混合算法的协同任务分配方法 | |
CN108629474B (zh) | 基于攻击图模型的流程安全评估方法 | |
CN109919688B (zh) | 一种考虑市场因素的电子烟产品线规划方法 | |
CN112528524A (zh) | 一种混流装配线平衡优化调度方法 | |
CN113268928B (zh) | 一种基于随机资源受限多项目调度的遗传规划方法 | |
CN110298468A (zh) | 一种基于蚁群算法的单尺寸链优化选配方法 | |
CN115034615A (zh) | 一种用于作业车间调度的提高遗传规划调度规则中特征选择效率的方法 | |
Kim et al. | Multileveled symbiotic evolutionary algorithm: Application to FMS loading problems | |
CN106970840A (zh) | 一种结合任务调度的软硬件划分方法 | |
CN112734286B (zh) | 一种基于多策略深度强化学习的车间调度方法 | |
CN114581058B (zh) | 一种基于业务流程的人员组织结构优化方法 |
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 |