CN115933568A - 一种多目标分布式混合流水车间调度方法 - Google Patents
一种多目标分布式混合流水车间调度方法 Download PDFInfo
- Publication number
- CN115933568A CN115933568A CN202211689465.3A CN202211689465A CN115933568A CN 115933568 A CN115933568 A CN 115933568A CN 202211689465 A CN202211689465 A CN 202211689465A CN 115933568 A CN115933568 A CN 115933568A
- Authority
- CN
- China
- Prior art keywords
- individual
- factor
- search
- target
- factory
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种多目标分布式混合流水车间调度方法,属于混合流水车间调度技术领域。本发明以分布式混合流水车间调度的最大完工时间和最大处理时间的同时最小化为目标建立相应的目标函数,首先使用基于向量评估遗传算法和基于Pareto支配与非支配关系的适应度函数将种群分成三个模因组,然后利用PSO对每一个模因组进行全局搜索,在Pareto前沿面的多个方向上探索解,加快Pareto前沿面的上、下边缘和中心区域的收敛速度;其次,利用针对关键工厂的critical‑factory insert和critical‑factory swap多邻域搜索算子对个体进行局部搜索,增强模因组中的解的质量;再次,利用Q‑Learning变邻域搜索策略进一步增强算法对三个模因组的搜索能力,从而提高解的质量和多样性,防止算法过早收敛从而无法找到更优秀的解。
Description
技术领域
本发明涉及一种多目标分布式混合流水车间调度方法,属于混合流水车间调度技术领域。
背景技术
生产调度在许多制造系统中起着至关重要的作用,有效的生产调度是使工业提高生产效率和提高资源利用率的重要因素。因此,生产调度的建模与优化是系统工程领域的重要研究课题,研究生产调度问题,特别是开发有效的求解算法具有重要的意义。混合流水车间调度问题(HFSP)是生产制造中一个复杂的优化决策问题,目前已广泛应用于电子、玻璃、纺织、造纸、半导体等行业。HFSP是经典的置换流水车间调度问题的扩展,适用于每个阶段都有多台并行机器的柔性生产调度。为了有效地解决HFSP,提出了许多元启发式算法,包括遗传算法(Genetic Algorithm,GA)、人工蜂群算法(ABC)、迭代贪婪算法(IG)和粒子群优化算法(Particle Swarm Optimization,PSO)等算法。随着市场竞争的加剧和客户需求的个性化,集中式制造似乎难以适应市场需求。因此,大量的企业将生产扩展到分布式环境中,在不同的地方建立工厂或生产中心。分布式制造有利于资源共享,提高经济效益,快速应对市场变化。在这种情况下,研究了分布式混合流水车间调度问题(DHFSP),DHFSP比HFSP和分布式置换流水车间调度问题都要困难,它需要同时考虑将工件分配给不同的工厂,为工件选择合适的机器,以及确定每台机器上的处理顺序,这三个强耦合的子问题。随着实际过程中合作工厂的增加以及拥有大量的工件和机器,解决问题的时间表规模可能会呈指数级增长。显然,利用新兴技术开发有效的优化算法来求解大规模DHFSP,具有重要现实意义。
早期针对分布式车间调度问题的研究,传统的数学方法需要对每一个排列组合进行大量搜索,才能找到最优解。对于中型和大型问题,精确算法的求解时间是非常长的。
发明内容
本发明的目的是提供一种多目标分布式混合流水车间调度方法,以解决目前分布式混合流水车间调度解算过程中存在解算时间长的问题。
本发明为解决上述技术问题而提供一种多目标分布式混合流水车间调度方法,该调度方法包括以下步骤:
1)构建以分布式混合流水车间调度的最大完工时间和最大处理时间同时最小的目标函数;
2)采用基于整数的离散排序编码方式对工件和工厂进行编码,按照编码结果进行种群初始化;
3)将种群划分成三个模因组,分别对各模组进行PSO全局搜索;
4)对三个模因组进行交互更新,并进行针对关键工厂间的局部强化,所述的关键工厂指的是目标值最差和目标值最好的工厂;
5)对选择的工厂集的工厂内部进行局部强化;
6)从PSO搜索后的模因组和局部强化后的模因组中选择较优的个体,并将所选个体进行下一次种群进化,直至满足终止条件,将最终得到的最优个体作为目标函数的解。
本发明结合粒子群优化算法的全局搜索能力与变邻域搜索算法的局部搜索能力,设计了一种多模因组交互更新的模因算法;首先将种群分成三个模因组,利用PSO对每一个模因组进行全局搜索;其次,利用针对关键工厂对个体进行局部搜索,增强模因组中的解的质量;再次,对选择的工厂集的工厂内部进行局部强化,进一步增强算法对三个模因组的搜索能力,从而提高解的质量和多样性,防止算法过早收敛从而无法找到更优秀的解。本发明通过全局搜索和局部搜索的策略协同,能够加快模因算法处理分布式混合流水车间调度问题的速度并提高解的质量。
进一步地,所述步骤3)采用基于向量评估遗传算法和基于Pareto支配与非支配关系的适应度函数法将种群分成三个模因组,三个模因组分别为满足最大完工时间最小目标的解、最大处理时间最小的解、最大完工时间和最大处理时间同时最小的解,即适应度函数值最小的解。
本发明使用基于向量评估遗传算法(Vector Evaluated Genetic Algorithm,VEGA)和基于Pareto支配与非支配关系的适应度函数(Pareto Dominating and DominatedRelationship-based Fitness Function,PDDR-FF)将种群分成三个模因组,能够准确实现模因组的划分。
进一步地,所述步骤4)中的局部强化采用两个局部搜索算子实现,第一个局部搜索算子是critical-factory insert:从目标值最差的工厂中随机抽取一个工件,插入到目标值最好的工厂的随机位置;第二个局部搜索算子是critical-factory swap:从目标值最差的工厂和目标值最好的工厂中随机选择两个工件,对这两个工件进行交换操作。
进一步地,所述步骤4)的局部强化过程如下:
a.评价种群,交互更新三个模因组,获取模因组中的个体;
b.在critical-factory insert邻域中对个体进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行步骤c;
c.在critical-factory swap邻域中对个体进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行步骤d;
d.判断是否达到终止条件,若达到,则停止搜索,否则,返回步骤b。
本发明利用针对关键工厂的critical-factory insert和critical-factoryswap多邻域搜索算子对个体进行局部搜索,以防止关键工厂之间的工件数量差异过大造成浪费时间的现象,以及避免出现虽然工件分配均匀,但分配在同一工厂的大部分工件的处理时间过长,导致总处理时间增加的情况,从而增强模因组中的解的质量。
进一步地,所述步骤5)采用Q-Learning和VNS进行局部搜索。
进一步地,所述步骤5)的局部加强过程如下:
A.设定每一个模因组的每一个个体初始Q值和状态,从动作集中选择将要局部强化的工厂集;
B.针对所选择的工厂集,使用插入邻域对个体特定工厂内的工件序列进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行步骤C;
C.使用颠倒邻域对个体特定工厂内的工件序列进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行步骤D;
D.使用交换邻域对个体特定工厂内的工件序列进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行步骤E;
E.按照奖励函数衡量局部搜索后各个体的奖励并判断个体的状态,根据Q-Learning的公式更新Q表;
F.判断Q-Learning是否达到终止条件,若达到,则停止VNS,否则,跳到步骤B,直至Q-Learning达到终止条件。
本发明使用Q-Learning来指导VNS,使VNS能够在一些特定的工厂内部自适应地进行局部强化,能够保持更新后的模因组的多样性和收敛性之间的平衡以及提高解的质量,从而使算法在求解DHFSP时更加高效。
进一步地,所述的步骤E中的奖励函数按照不中的模因组设置,各模因组的奖励函数分别为:
R=f1(x)-f1(VNS(x))
R=f2(x)-f2(VNS(x))
R=f1(x)-f1(VNS(x))+f2(x)–f2(VNS(x))
其中f1(x)表示个体x的第一目标,即最大完工时间最小;f1(VNS(x))表示经VNS操作后的个体的第一目标;f2(x)表示个体x的第二目标,即最大处理时间最小;f2(VNS(x))表示经VNS操作后的个体的第二目标。
本发明分别针对不同的模因组设计不同的奖励函数,通过对应的奖励函数的设计,可以对智能体的行为动作给出更准确的反馈,使得对解的局部搜索更加合理和高效。
进一步地,所述的Q-Learning的公式为:
Q(s,a)=Q(s,a)+α(R+γmax Q(s’,a’)-Q(s,a))
参数α是学习率;γ是折扣因子;s和s’分别代表当前状态和下一个状态;a代表动作,R代表奖励。
附图说明
图1是本发明多目标分布式混合流水车间调度方法求解的流程图;
图2是本发明采用的染色体的编解码示例;
图3是本发明采用交换序列操作示例;
图4是本发明采用PSO搜索过程中的第一步交换序列操作示例;
图5是本发明PSO搜索过程中的第二步交换序列操作示例;
图6是本发明PSO搜索过程中的第三步交换序列操作示例;
图7是本发明针对关键工厂间的局部强化过程中的插入邻域的操作示例;
图8是本发明针对关键工厂间的局部强化过程中的翻转邻域的操作示例;
图9是本发明针对关键工厂间的局部强化过程中的交换邻域的操作示例;
图10是本发明所采用的Q-learning VNS模型示意图;
图11是本发明所采用的MAPSO-QLS求解DHFSP的流程框架示意图;
图12a是本发明在100个作业、5个阶段、4个工厂示例中的HV指标示意图;
图12b是本发明在100个作业、5个阶段、4个工厂示例中的IGD指标示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步地说明。
本发明以分布式混合流水车间调度的最大完工时间和最大处理时间的同时最小化为目标建立相应的目标函数,基于粒子群优化和Q-Learning局部搜索的多目标模因算法(multiobjective memetic algorithm based on particle swarm optimization andlocal search with Q-learning,MAPSO-QLS)进行求解,首先使用基于向量评估遗传算法(Vector Evaluated Genetic Algorithm,VEGA)和基于Pareto支配与非支配关系的适应度函数(Pareto Dominating and Dominated Relationship-based Fitness Function,PDDR-FF)将种群分成三个模因组,然后利用PSO对每一个模因组进行全局搜索,在Pareto前沿面的多个方向上探索解,加快Pareto前沿面的上、下边缘和中心区域的收敛速度;其次,利用针对关键工厂的critical-factory insert和critical-factory swap多邻域搜索算子对个体进行局部搜索,增强模因组中的解的质量;再次,利用Q-Learning变邻域搜索(VNS)策略进一步增强算法对三个模因组的搜索能力,从而提高解的质量和多样性,防止算法过早收敛从而无法找到更优秀的解。MAPSO-QLS算法的具体流程和实现框架分别如图1和图11所示,下面进行具体说明。
1.构建目标函数。
本发明以分布式混合流水车间调度的最大完工时间和最大处理时间的同时最小化为目标建立相应的目标函数,即建立最大完工时间和最大处理时间最小化的双目标函数。
2.设置编解码方式。
本发明采用基于整数的离散排序编码方式,编码包括两部分,一部分染色体向量表示工件序列,该染色体上的基因位表示工件序号且不重复,通过该染色体上的基因序列可获得解决方案中工件的加工顺序;第二部分染色体则表示工厂序列,工厂序列的长度与工件序列相同,该染色体中的每一位基因对应着工厂序号但可以重复,在解码时就按照工件和工厂序号的对应关系将工件分配至不同的工厂进行加工处理。初始化时,采用两种初始化编码方法,一种是完全随机编码方法,即工件序列采用随机生成的整数,工厂序列也采用随机生成的整数。值得注意的是,每个工厂必须分配至少一项工件。另一种是均匀随机编码,即工件序列使用随机生成的整数,而工厂序列使用均匀分布的整数(工厂内的工件数量是均匀的)。
对于DHFSP,所有的工件都需要分配给工厂,然后在每个工厂内确定工件的加工顺序和每个阶段的机器分配情况。在DHFSP中,编码后的排列一般只表示第一阶段的工件顺序,后续各阶段的工件顺序会受到前一阶段工件完成时间的影响。因此,本发明利用调度规则,通过先进先出(FIFO)规则、最早完成时间(ETC)规则和第一可用机器(FAM)规则,将解决方案解码为一个完整的调度。使用上述编码方案,三个向量用于表示解码后的解。解码时,染色体的两部分均进行从左到右的遍历。首先把工厂1对应的工件都挑选出来,不改变工件的前后位置,保留下来的工件顺序就是工厂1内部工件的操作顺序。同理,每个工厂内部的工件的操作顺序也都确定了。确定各个工厂内部的工件处理顺序后,第一阶段的处理顺序也就确定了。在其他阶段,将前一阶段所有工件的完成时间按升序排序,然后根据ETC规则确定当前阶段工件的处理顺序。在处理工件时,使用FAM规则对各个阶段的机器进行选择。如果一些工件在某一阶段结束时的完成时间相同,那么进入下一个阶段时,将它们置于与前一阶段相同的相对顺序中(FIFO规则)。这种编解码方式可以解决DHFSP中对于工件到工厂的分配问题,每一阶段的机器分配问题和工件在机器上的处理顺序问题。两向量的编码和三向量的解码方案如图2所示。
3.构建种群,并将种群划分成三个模因组,并采用PSO分别对三个模因组进行全局搜索。
使用基于向量评估遗传算法(Vector Evaluated Genetic Algorithm,VEGA)和基于Pareto支配与非支配关系的适应度函数(Pareto Dominating and DominatedRelationship-based Fitness Function,PDDR-FF)将种群分成三个模因组。划分三个模因组需要两种选择策略,一种是PDDR-FF,另一种是VEGA。VEGA可以找到满足单个目标的解并形成模因组1和2,而PDDR-FF可以找到同时满足两个目标的解并形成模因组3。
PSO搜索使用个体间的交换序对模因组中的个体进行更新操作,交换序的具体操作如图3所示,然后按照PSO公式,对模因组中的个体进行交换序更新,具体操作如图4,图5和图6所示。交换序的使用可以使PSO搜索时更加合理和高效。最后,PSO可以在三个特定的方向上搜索模因组的解决方案,从而加快算法的收敛速度,增强算法的整体收敛性能和分布性能。
4.对三个模因组进行交互更新,并进行针对关键工厂间的局部强化。
由于本发明中使用了两种初始化方法,很难在个体更新过程中产生的新解的多样性和收敛性之间保持平衡。同时为了防止关键工厂之间的工件数量差异过大造成浪费时间的现象,或者避免出现虽然工件分配均匀,但分配在同一工厂的大部分工件的处理时间过长,导致总处理时间增加的情况。本发明首先使用了两个针对关键工厂之间的局部操作算子,第一个局部搜索算子是critical-factory insert:从工厂fmax(目标值最差的工厂)中随机抽取一个工件,插入到fmin(目标值最好的工厂)的随机位置。如果提高了提取插入后的解的目标值,则执行上述步骤,直到达到终止条件。需要注意的是,如果有两个具有相同目标值的工厂,则选择有更多工件的工厂;第二个是critical-factory swap:从工厂fmax(目标值最差的工厂)和工厂fmin(目标值最好的工厂)中随机选择两个工件,然后对这两个工件进行交换操作。如果提高了交换后的解的目标值,则执行上述步骤,直到达到终止条件。需要注意的是,如果有两个具有相同目标值的工厂,则随机选择其中的一个工厂。两个操作算子的应用主要目的是平衡工厂的处理能力。因此,使用这两个操作算子作为变邻域下降法的两个邻域结构对解进行局部搜索,具体的操作如下所述:
第一步:评价种群,交互更新三个模因组,然后获取模因组中的个体。
第二步:在critical-factory insert邻域中对个体进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行第三步;值得注意的是,模因组1的个体针对第一个目标做比较,模因组2的个体针对第二个目标做比较,模因组3的个体则针对PDDR-FF值做比较。
第三步:在critical-factory swap邻域中对个体进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行第四步。
第四步:判断是否达到终止条件,若达到,则停止搜索,否则,跳到第二步;这里的终止条件指的是,对每个模因组中个体的搜索次数,也即循环次数。
(以上步骤针对模因组的每一个个体)
5.对选择的工厂集的工厂内部进行局部强化。
由于对三个模因组进行PSO全局搜索和针对关键工厂间的局部搜索之后,三个模因组会进行交互更新,但并不能保证工厂内合理高效的工件调度。因此,为了保持更新后的模因组的多样性和收敛性之间的平衡以及提高解的质量,本发明引入了具有Q-Learning的VNS在工厂内部局部调整工件的处理顺序,从而获得更好的调度。Q-Learning在MAPSO-QLS的局部搜索策略中起着非常重要的作用。虽然在关键工厂之间进行局部搜索后,解的两个目标都得到了优化,但工厂内部的调度并不一定好。为了更好地平衡算法的探索和开发能力,可以使用Q-Learning来指导VNS,使VNS能够在一些特定的工厂内部自适应地进行局部强化,从而使算法在求解DHFSP时更加高效。
VNS是一种改进的局部搜索算法,对于工厂内部对应的工件,VNS利用不同工件形成的邻域结构进行交替搜索,从而调整不同工厂内的工件处理顺序,更有利于解的多目标值的优化。本发明针对VNS的邻域结构设计了“插入”、“颠倒”和“交换”三个邻域操作算子,并且设计了VNS的三个组成部分,分别是“扰动”,“局部搜索”,和“邻域变换”,其中“插入”、“颠倒”和“交换”三个邻域的具体搜索操作如图7、8、和9所示。因此,局部搜索时需要重复执行这三部分,直到满足终止条件,最后输出优秀的解。
Q-Learning是一种具有较强自学习能力的算法,它通过学习动作值函数找到动作的最优值,在特定的状态下采取特定的动作,遵循最佳的策略,最终得到期望的奖励,其目标是找到累积奖励最大化的策略。在构造Q-Learning时,首先需要定义瞬间奖励,引导智能体选择动作,从而获得Q-矩阵,Q-值更新如下:
Q(s,a)=Q(s,a)+α(R+γmax Q(s’,a’)-Q(s,a))
其中参数α是学习率,值为1,它决定了Q-值迭代更新的程度;γ是折扣因子,它决定了未来奖励的重要性,范围从0到1。s和s’代表当前状态和下一个状态,a代表动作,R代表奖励函数。本发明将Q-值存储在Q-表中,并通过迭代更新Q-表中的值。智能体根据ε-greedy行为选择策略进行决策。符号ε表示用来控制贪婪程度的概率。在本发明中,智能体的决策是固定的,下面将详细描述Q-Learning的模型。
由于DHFSP的目标是找到最小的完工时间和最小的工厂总处理时间。因此,在Q-Learning中,需要基于种群的适应度函数值来构建环境状态。
本发明根据VNS的反馈结果设置了两种状态,即(1)原始解是优于VNS后的解;(2)VNS后的解是优于原始解的;并根据个体所属模因组的划分标准来判断解的质量。例如:模因组1是比较个体的第一个目标,模因组2是比较个体的第二个目标,而模因组3则是比较个体的PDDR-FF值。
由于针对关键工厂间的局部搜索后每个工厂内的工件调度可能不是最优的,因此通过对工厂内的工件进行重新排序,可以得到更好的目标值。为了使更新后的模因组能够保留优秀的解或使解更加优秀,需要在不降低当前调度效率的前提下,对种群进行更高效的局部搜索。因此,这种局部搜索只需要对工厂内工件的顺序进行强化调整,以获得更好的调度。本明设计了一个独特的动作集,假设有3个工厂,工厂号集合用{1,2,3}表示,那么这3个工厂有7个组合子集,即{1,2,3},{1,2},{1,3},{2,3},{1},{2},和{3}。对于每个解,智能体将使用这些工厂集作为动作集,获取对工厂集的选择,然后对所选工厂内的工件执行VNS局部搜索。这样的动作集不仅可以更高效地对解进行局部搜索,而且不会丢失当前优秀的解。
在Q-Learning中,奖励函数是根据解的目标值来设计的。本发明分别针对不同的模因组设计不同的奖励函数。通过合适的奖励函数的设计,可以对智能体的行为动作给出更准确的反馈,使得对解的局部搜索更加合理和高效。奖励函数如下所示:
R=f1(x)-f1(VNS(x))
R=f2(x)-f2(VNS(x))
R=f1(x)-f1(VNS(x))+f2(x)–f2(VNS(x))
基于以上工作,Q-Learning的模型如图10所示,且使用Q-Learning的VNS求解DHFSP的具体步骤如下所示:
第一步:定义三个邻域:插入、颠倒、交换。针对每一个模因组的每一个个体,给个体初始化Q表和状态判定,然后从动作集中选择将要局部强化的工厂集。
第二步:针对所选择的工厂集,使用插入邻域对个体特定工厂内的工件序列进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行第三步。
第三步:使用颠倒邻域对个体特定工厂内的工件序列进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行第四步。
第四步:使用交换邻域对个体特定工厂内的工件序列进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行第五步。
第五步:衡量奖励并判断个体的状态,然后根据Q-Learning的公式更新Q表。
第六步:判断Q-Learning是否达到终止条件,若达到,则停止VNS,否则,跳到第二步;这里的终止条件指的是Q-Learning的迭代次数。
采用Q-Learning的VNS不仅可以局部增强工厂内部的调度还能够提高解决方案的质量,也增加了种群的多样性。
6.从PSO搜索后的模因组和局部强化后的模因组中选择PDDR-FF值较优的个体,并将所选个体进行下一次进化,直至满足终止条件,这里的终止条件指的是,选择出原始种群个数的新个体后,就达到终止条件。
因此,本发明通过将种群分成三个模因组,首先利用PSO对每一个模因组进行全局搜索,在Pareto前沿面的多个方向上探索解,加快Pareto前沿面的上、下边缘和中心区域的收敛速度;其次,利用针对关键工厂的critical-factory insert和critical-factoryswap多邻域搜索算子对个体进行局部搜索,增强模因组中的解的质量;最后再利用Q-Learning变邻域搜索(VNS)策略进一步增强算法对三个模因组的搜索能力,从而提高解的质量和多样性,防止算法过早收敛从而无法找到更优秀的解,从而使算法可以更方便合理的对个体进行更新操作,提高算法的整体性能。
为了验证本发明的上述效果,并测试出针对工厂间的局部搜索和针对工厂内的局部搜索的有效性以及Q-Learning在局部搜索策略中的有效性,对这三部分实验在36个不同的分布式混合流水车间调度问题下进行了测试,用HV和IGD这两个综合性评价指标来验证算法收敛性和分布性能的表现。表1是基于粒子群优化算法的模因算法(MAPSO)与基于粒子群优化算法和具有工厂间局部搜索的模因算法(MAPSO-LS1)之间的对比实验结果。从表1中的指标结果来可以看出,采用针对工厂间的局部搜索策略在所有问题上都能得到更好的结果,且显著性分析结果表明采用针对工厂间的局部搜索策略具有显著的收敛性和分布性。表2是MAPSO-LS1与基于粒子群优化算法和具有工厂内外局部搜索的模因算法(MAPSO-LS2)之间的对比实验结果。从表2中的指标结果来可以看出,采用针对工厂内的局部搜索在所有问题上的指标值都明显是优秀的,这充分证明了针对工厂内的局部搜索的有效性。表3是MAPSO-LS2与MAPSO-QLS之间的对比实验结果。从表3中的指标结果来可以看出,除了个别问题,采用具有Q-Learning的局部搜索在其他问题上的指标结果都是显著优秀的,从而知道使用Q-Learning后,解可以更有效地被更新,提高了算法的局部搜索能力和收敛性能。
表1
表2
表3
本发明与其他优化算法的对比实验使用标准的分布式混合流水车间调度问题的数据集,以证本发明的MAPSO-QLS算法的性能。实验中的评价指标使用HV、IGD和Spread来评估算法的性能。作为对比实验的算法包括MOPSODS-DE,MOHEA-DE,NSGA-II,SPEA2,和MOEA-LS。其中每种算法执行30次,并每次以Pareto近似值记录解决方案。
本次验证针对PSO的速度和位置更新公式和Q-learning公式的相关参数,以及在MAPSO-QLS中进行局部搜索的迭代次数进行了实验设计(DOE)。MAPSO-QLS的参数设计如下:PSO的参数r1和r2在四个水平:(0.2、0.4、0.6和0.8),局部搜索的迭代次数在3个水平(10、20、30),Q-Learning的迭代次数在3个水平(30、40、50),折扣因子γ在3个水平(0.7、0.8、0.9),贪婪率ε在3个水平(0.7、0.8、0.9)。这5个参数有324种(4x3x3x3x3)不同的组合。DOE是在一个100_5_4(100个作业,5个阶段,4个工厂)的实例上运行30次。因此,采用9720(324x30)处理的全析因实验设计来确定参数设置。特别是,三个模因组的规模被设定为整个种群规模的三分之一。各参数的主要效果如图12a和图12b所示,其中最佳参数设置为r1、r2=0.4,局部搜索迭代次数为30次,Q-Learning迭代次数为50次,贴现因子γ=0.8,贪婪率ε=0.9。为了与其他算法进行公平的比较,本发明还对其他比较算法的参数进行了DOE,每种算法对应的最佳参数组合如表4所示。
表4
实验结果显示,MAPSO-QLS在表5的HV指标上表现十分优秀,在36个问题中,MAPSO-QLS的HV值最大,且显著性差异比较明显。因此,可以看出MAPSO-QLS的收敛性能最为突出。从表6的IGD指标的结果可以看出,MAPSO-QLS在所有的36个问题上表现都是最好的。因此,可以说明,在所有比较的算法中,本发明MAPSO-QLS的收敛性能和分布性能最好,且算法的性能非常显著。此外,从表7的Spread的指标结果可以看出,在36个问题中,MAPSO-QLS在32个问题上表现最好,在个别问题上MAPSO-QLS与其他算法的显著性差异不显著,但在其余问题上MAPSO-QLS的分布性能仍然突出。综上所述,本发明MAPSO-QLS具有良好的收敛性能,而且MAPSO-QLS还可以使算法得到的解的分布更加多样化和广泛。
表5
表6
表7
总的来说,从HV、IGD、Spread三个指标的结果来看,本发明MAPSO-QLS与其他算法的显著性差异是明显的,且MAPSO-QLS的指标值最好。可以说,以MA为框架,采用两种初始化解的方法,以基于交换序列的PSO为全局搜索策略,可以提高种群的收敛速度和算法的收敛能力;以Q-learning局部搜索为局部强化策略,并对模因组进行交互更新,可以进一步提高解的质量并增强算法的收敛性以及分布性。
Claims (8)
1.一种多目标分布式混合流水车间调度方法,其特征在于,该调度方法包括以下步骤:
1)构建以分布式混合流水车间调度的最大完工时间和最大处理时间同时最小的目标函数;
2)采用基于整数的离散排序编码方式对工件和工厂进行编码,按照编码结果进行种群初始化;
3)将种群划分成三个模因组,分别对各模组进行PSO全局搜索;
4)对三个模因组进行交互更新,并进行针对关键工厂间的局部强化,所述的关键工厂指的是目标值最差和目标值最好的工厂;
5)对选择的工厂集的工厂内部进行局部强化;
6)从PSO搜索后的模因组和局部强化后的模因组中选择较优的个体,并将所选个体进行下一次种群进化,直至满足终止条件,将最终得到的最优个体作为目标函数的解。
2.根据权利要求1所述的多目标分布式混合流水车间调度方法,其特征在于,所述步骤3)采用基于向量评估遗传算法和基于Pareto支配与非支配关系的适应度函数法将种群分成三个模因组,三个模因组分别为满足最大完工时间最小目标的解、最大处理时间最小的解、最大完工时间和最大处理时间同时最小的解,即适应度函数值最小的解。
3.根据权利要求1所述的多目标分布式混合流水车间调度方法,其特征在于,所述步骤4)中的局部强化采用两个局部搜索算子实现,第一个局部搜索算子是critical-factoryinsert:从目标值最差的工厂中随机抽取一个工件,插入到目标值最好的工厂的随机位置;第二个局部搜索算子是critical-factory swap:从目标值最差的工厂和目标值最好的工厂中随机选择两个工件,对这两个工件进行交换操作。
4.根据权利要求3所述的多目标分布式混合流水车间调度方法,其特征在于,所述步骤4)的局部强化过程如下:
a.评价种群,交互更新三个模因组,获取模因组中的个体;
b.在critical-factory insert邻域中对个体进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行步骤c;
c.在critical-factory swap邻域中对个体进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行步骤d;
d.判断是否达到终止条件,若达到,则停止搜索,否则,返回步骤b。
5.根据权利要求1所述的多目标分布式混合流水车间调度方法,其特征在于,所述步骤5)采用Q-Learning和VNS进行局部搜索。
6.根据权利要求5所述的多目标分布式混合流水车间调度方法,其特征在于,所述步骤5)的局部加强过程如下:
A.设定每一个模因组的每一个个体初始Q值和状态,从动作集中选择将要局部强化的工厂集;
B.针对所选择的工厂集,使用插入邻域对个体特定工厂内的工件序列进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行步骤C;
C.使用颠倒邻域对个体特定工厂内的工件序列进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行步骤D;
D.使用交换邻域对个体特定工厂内的工件序列进行局部搜索,如果更新后的个体比更新前的个体目标值优秀,则继续在此邻域内进行搜索,否则,执行步骤E;
E.按照奖励函数衡量局部搜索后各个体的奖励并判断个体的状态,根据Q-Learning的公式更新Q表;
F.判断Q-Learning是否达到终止条件,若达到,则停止VNS,否则,跳到步骤B,直至Q-Learning达到终止条件。
7.根据权利要求6所述的多目标分布式混合流水车间调度方法,其特征在于,所述的步骤E中的奖励函数按照不中的模因组设置,各模因组的奖励函数分别为:
R=f1(x)-f1(VNS(x))
R=f2(x)-f2(VNS(x))
R=f1(x)-f1(VNS(x))+f2(x)–f2(VNS(x))
其中f1(x)表示个体x的第一目标,即最大完工时间最小;f1(VNS(x))表示经VNS操作后的个体的第一目标;f2(x)表示个体x的第二目标,即最大处理时间最小;f2(VNS(x))表示经VNS操作后的个体的第二目标。
8.根据权利要求6所述多目标分布式混合流水车间调度方法,其特征在于,所述的Q-Learning的公式为:
Q(s,a)=Q(s,a)+α(R+γmax Q(s’,a’)-Q(s,a))
参数α是学习率;γ是折扣因子;s和s’分别代表当前状态和下一个状态;a代表动作,R代表奖励。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211689465.3A CN115933568A (zh) | 2022-12-27 | 2022-12-27 | 一种多目标分布式混合流水车间调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211689465.3A CN115933568A (zh) | 2022-12-27 | 2022-12-27 | 一种多目标分布式混合流水车间调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115933568A true CN115933568A (zh) | 2023-04-07 |
Family
ID=86650668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211689465.3A Pending CN115933568A (zh) | 2022-12-27 | 2022-12-27 | 一种多目标分布式混合流水车间调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115933568A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117371769A (zh) * | 2023-12-08 | 2024-01-09 | 聊城大学 | 一种分布式阻塞流水车间调度加速评估方法 |
CN117669988A (zh) * | 2023-12-26 | 2024-03-08 | 中建八局第一数字科技有限公司 | 一种基于Q-Learning算法改进NEH的装配式预制构件生产调度方法 |
-
2022
- 2022-12-27 CN CN202211689465.3A patent/CN115933568A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117371769A (zh) * | 2023-12-08 | 2024-01-09 | 聊城大学 | 一种分布式阻塞流水车间调度加速评估方法 |
CN117371769B (zh) * | 2023-12-08 | 2024-03-12 | 聊城大学 | 一种分布式阻塞流水车间调度加速评估方法 |
CN117669988A (zh) * | 2023-12-26 | 2024-03-08 | 中建八局第一数字科技有限公司 | 一种基于Q-Learning算法改进NEH的装配式预制构件生产调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115933568A (zh) | 一种多目标分布式混合流水车间调度方法 | |
Hyun et al. | A genetic algorithm for multiple objective sequencing problems in mixed model assembly lines | |
CN108460463B (zh) | 基于改进遗传算法的高端装备流水线生产调度方法 | |
CN101901425A (zh) | 一种基于多种群协同进化的柔性作业车间调度方法 | |
CN110598941A (zh) | 一种基于仿生策略的粒子群优化制造系统双目标排产方法 | |
CN112766659B (zh) | 一种分布式混合流水车间调度方法、介质和系统 | |
CN104636871A (zh) | 一种基于数据的单阶段多产品批处理的控制方法 | |
CN115310794A (zh) | 人机协同装配线平衡方法及装置 | |
CN116500986A (zh) | 一种分布式作业车间的优先调度规则生成方法及系统 | |
CN110597213A (zh) | 一种分布式混合流水车间的生产调度方法及系统 | |
CN116933939A (zh) | 基于改进浣熊优化算法的柔性车间协同生产方法及系统 | |
Fu et al. | A multi-objective pigeon inspired optimization algorithm for fuzzy production scheduling problem considering mould maintenance | |
CN116027753A (zh) | 一种多目标混合流水车间调度方法及系统 | |
CN115935616A (zh) | 一种一致批次的序列依赖流水车间组调度多目标优化方法 | |
CN116300756A (zh) | 带运输机器人柔性制造车间的双目标优化调度方法及系统 | |
CN113723695B (zh) | 一种基于场景的再制造调度优化方法 | |
CN116070826A (zh) | 一种铁路货车车身喷涂作业并行机调度方法 | |
CN115496322A (zh) | 分布式流水车间调度方法及装置 | |
CN115249113A (zh) | 一种带准备时间分布式零等待流水车间调度方法与系统 | |
CN115700647A (zh) | 一种基于禁忌搜索遗传算法的车间柔性作业调度方法 | |
CN116976228B (zh) | 退役机电产品双边拆解线任务规划方法 | |
CN112734286B (zh) | 一种基于多策略深度强化学习的车间调度方法 | |
CN117215275B (zh) | 一种基于遗传编程的柔性车间大规模动态双效调度方法 | |
CN117519030B (zh) | 一种基于超启发式强化学习的分布式装配阻塞流水车间调度方法 | |
CN110852500B (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 |