一种基于多层次信息反馈的多目标混合蛙跳算法的制作方法

文档序号:12271268阅读:286来源:国知局

本发明属于数据处理技术领域,尤其涉及一种基于多层次信息反馈的多目标混合蛙跳算法。



背景技术:

现实世界的许多工程及科学研究中,多目标优化(multi-objective optimization problems, MOP)是必须要解决的关键问题,至今都还没有非常有效的求解方法。区别于单目标优化问题, MOP由于其存在的广泛性及求解的困难性,加之不同设计条件对各目标有着不同权重要求,且各目标之间的量纲和数量级不同,基于传统数学理念设计的多目标优化方法应用于实际问题中往往表现出一定的脆弱性。这是因为,MOP往往存在多个相互冲突的目标,一个目标性能的改善可能会引起另一个或多个目标性能的下降,要使所有目标都同时达到最优往往是不可能的。例如,城市地铁线路系统的设计不仅要对目前居民定居点有清晰的认识,而且也要综合考虑今后的城市规划、线路容纳量和运营效益等目标来选择最优的建设方案;调度作业中设备负荷量、设备使用率、人员分配率等也可以作为优化调度中的待优化目标;汽车齿轮变速箱的设计,不仅要求零件结构紧凑且重量尽可能轻,而且对产品材料总成本、机器运转噪音量、零件强度与使用寿命等都提出了明确要求。可见,MOP中各个目标之间是相制约和排斥的,只能够通过折中的方法使所有目标尽可能达到最优,每个扣中解称之为非劣支配解,折中解的集合被称为Pareto最优解,其在目标空间的映射称为Pareto最优前沿。此外,随着维数的增加,各类MOP的动态、非线性及不可微等特性将会导致多目标优化计算的复杂度和搜索空间急剧递增,难以找到一种适合于不同MOP求解的通用方法,所有这些使得MOP的求解已成为目前国内外优化计算领域最难解决的热点问题之一。

相比传统优化方法对目标函数和约束函数的严格要求,基于种群的仿生类算法可以并行地搜索解空间中的多个解,适合于MOP的求解。混合蛙跳算法(shuffled frog Leaping algorithm, SFLA)是由Eusuff等于2003年提出的一种模拟青蛙觅食行为的群体智能优化方法。其核心思想是子簇蛙群间的局部搜索和各子簇间的全局信息交换,促进整个种群的发展,最终实现目标寻优。在局部搜索过程中,最差个体受局部最优个体或全局最优个体的差异进行位置更新。由于更新存在随机性,故对多模态等函数寻优时,往往使得SFLA后期搜索过程出现收敛速慢,解的精度不高等问题。对此,不同学者从不同角度对SFLA应用于MOP求解提出了许多不同的改进方案。孙辉等提出一种微粒群与混合蛙跳融合的群体智能算法(孙辉,龙腾,赵嘉. 微粒群与混合蛙跳融合的群体智能算法,2012,32(2):428-431),算法中引入了蛙群和微粒群群体,在两群体间设计了一种信息替换策略和两群之间的协作方式,有效提高了全局搜索能力及收敛速度。李逦等提出了一种基于混沌策略和动态自适应的云调度研究(李逦,姚晔,李铁。基于混沌策略和动态自适应的云调度研究。计算机应用研究,2014,31(6):1824-1827).通过在蛙群的子群划分阶段引入混沌策略,在内部搜索引入反向学习策略,以及全局信息交换过程引入动态自适应因子等方法,很好的改进了蛙跳算法的收敛性,缩短了全局搜索和优化的时间。张潇丹等提出一种基于分子动力学模拟的改进混合蛙跳算法(张潇丹,胡峰,赵力,邹采荣. 基于分子动力学模拟的改进混合蛙跳算法, 2012,27(3):327-332), 该算法在两群体间引入了一种新的分子间作用力计算方法,利用Velocity-Verlet算法和高斯变异算子代替基本混合蛙跳算法的更新策略,有效地平衡了种群的多样性的搜索的高效性。Luo等在子群内部搜索策略中引入搜索加速因子,提高了算法的全局寻优能力(Luo P, Lu Q. Modified shuffled frog leaping algorithm based on new searching strategy. Proc of the 7th International Conference on Natural Computation, 2011:1346-1350.)。这些算法虽然在同程度改进了算法的收敛速度和解的精度不高等问题。但就其效果而言,并不是很理想。

粒子群优化算法(Particle swarm optimization, PSO)是由Kennedy等于1995提出的一种模拟鸟群觅食行为的群体智能优化方法。其核心思想是通过粒子之间的信息共享交流机制,相互学习,相互促进,使得整个种群朝着最优解的方向不断趋近,直至最终达到最优解及其邻近区域。由于PSO算法简单易于实现,收敛速度较快,已在各不同优化计算领域获得较好的成功应用。特别是近年来,不同学者尝试在其它不同智能优化方法和PSO之间相互借鉴各自优点,提出多种不同的改进混合智能优化方法,并应用于科学及工程的理论及实践研究。如,杨宁等提出一种基于多层次信息交互的多目标粒子群优化算法。该算法中融入了遗传算法中交叉算子,以增强粒子的收敛性(杨宁,霍炬,杨明.基于多层次信息交互的多目标粒子群优化算法,2016,31(5):907-912)。Hendtalass等将蚂蚁算法和PSO进行融合应用于离散优化问题,以增强蚂蚁对最优解的搜索性能(Hendtlass T, Randall M. A survey of ant colony and particle swarm meta-heuristics and their application to discrete optimizzation problem. Proceedings of the Inaugural Workshop on Artificial Life, 2001:15-25). Lovbjerg等将进算法和粒子群优化算法进行混合,将进化算法中的繁殖和子种群的概念第入粒子群优化算法,建立了两种混合型粒子群优化器,增强了算法的收敛速度和寻优解的能力(Lovbjerg M, Rasmussen T K, Krink T. Hybrid particle swarm optimization with breeding and subpopulations. Proceedings of the Genetic and Evolutionary computaiton Conference, 2001:469-476)。可见,以上算法都要不同程度结合了PSO算法搜索速度快等特点,但就PSO本身而言,也存在着算法易陷入早熟,搜索过早收敛等特点。

传统数学优化方法应用于复杂系统多目标优化问题(multi-objective optimization problems, MOP)时,由于不同设计条件对各目标有着不同权重要求,且各目标之间的量纲和数量级不同,需要优化的多个目标之间常常存在着冲突性,因此基于传统数学理念设计的多目标优化方法应用于实际问题中难以对MOP进行有效的处理。



技术实现要素:

本发明的目的在于提供一种基于多层次信息反馈的多目标混合蛙跳算法,旨在解决背景技术提及的问题。

本发明是这样实现的,一种基于多层次信息反馈的多目标混合蛙跳算法,该基于多层次信息反馈的多目标混合蛙跳算法进行标准混合蛙跳优化层﹑青蛙进化与学习层﹑外部档案信息交换层的优化;

所述标准混合蛙跳优化层用于获得青蛙的新位置,同时对新位置与旧位置进行优劣对比;若新位置劣于旧位置,则进入青蛙进化与学习层;

所述青蛙进化与学习层融入GA中交叉算子和PSO中的粒子学习策略,通过青蛙进化及对种群全局最优青蛙的学习,获得青蛙新的位置;

在优化过程中获得Pareto支配解存储到一个外部档案中;在每次迭达结束后,根据预定的策略从外部档案中提取一定数目的非支配解进行信息交换,提高档案中解的质量,为以后的青蛙寻优及青蛙进化与学习提供全局最优解。

进一步,所述多层次信息反馈的多目标混合蛙跳算法具体步骤包括:

Step1: 初始化青蛙各子群体Popi(i=1,2,...,m);

Step2: 使用标准混合蛙跳优化层进行局部搜索,更新最差青蛙位置;

Step3: 若最差青蛙位置没有得到更新,则进行青蛙进化与学习层,以改善青蛙最差位置,促使整个种群朝着全局最优Pareto前沿前进;

Step4: 将学习层得到的非支配解按外部档案信息交换策略送入档案中,并同时确保档案的容量没有超出;

Step5: 判断设定的迭达次数是否结束,若没有,将各子群重新合成新一代种群并排序和划分子族群,返回Step2。

进一步,所述标准混合蛙跳优化层算法为:

该标准混合蛙跳优化层使用SFLA方法搜索青蛙的新位置;

所述SFLA方法为:有P只青蛙在d维搜索空间随机搜索食物;随机设定青蛙位置,并按适应值排序;将整个群体分为K个子群,其中,排序第1的青蛙进入第1个子群,排序第2的进入第2个子群,排序第M的进入第M个子群,排序第M+1的进入第1个子群,排序第M+2的进入第2个子群,依次类推,直至全部青蛙分别进入对应子群;

每个子群体按自己的思想进行局部搜索,得到最好青蛙位置Pb和最差青蛙位置Pw;全群最好青蛙位置Pg为各子群体中最好的个体。各子群局部搜索的目的就是按下式(1)-(2)更新最差青蛙位置;

Di=rand()(Pb-Pw) (1),

Pnew=Pw+Di (2);

其中,rand()是介于0和1间的随机数;Di表示最差青蛙在第i维移动的距离,其更新移动的步长介于dmindmax之内;Pnew为最差青蛙移动后的新位置;如果按式(1)-(2)不能改善青蛙位置,则使用Pg代替(1)中Pb;若再不能改善,则随机产生一个解;若新得到的位置仍不能改善,则进入到青蛙进化与学习层。

进一步,所述青蛙进化与学习层算法为:

青蛙各子群体进行局部搜索后,对最差青蛙位置进行更新;若在规定次数内,不能改善最差青蛙位置,该青蛙进化与学习层进化交叉操作与最优学习策略引入到MSFLA中;

仅在一次迭达完成后,判断青蛙的新位置 Pnew是否优于旧位置,若没有,则进行青蛙的进化与学习。

进一步,设定外部档案能容纳的支配解数目为L,外部档案信息交换策略的算法包括以下步骤:

步骤一:若外部档案未满,则青蛙进化及最佳学习过程结束产生的非支配解直接进入外部档案;

步骤二:若外部档案已满,则青蛙进化及最佳学习过程结束后的非支配解x按下述规则择优进入;

(1)若xPareto优于外部档案中的某一非支配个体y,则x取代y直接进入外部档案,并转步骤(3)

(2)若η(x,y)>Θ(x,y)(见定义1),则x取代y直接进入外部档案;否则,若r≥0.9则x取代y进入外部档案,其中,r为介于0和1之间的随机数;

(3)对外部档案中两两个体之间的优越数进行统计,优越数最大的个体为全局最优个体Pg,该个体将参与下一次算法进化过程。

进一步,所述若没有,则进行青蛙的进化与学习中,进行青蛙的进化与学习步骤包括:

第一步:将青蛙的新位置 Pnew与对应的旧位置Pw进行遗传交叉操作,得到青蛙的新位置Pnew_1, Pnew_2

第二步:计算青蛙位置PnewPnew_1Pnew_2的适应值,将适应度最高的位置标记为Pnew_3

第三步:比较青蛙位置Pnew_3Pw, 若Pnew_3更优,则Pnew_3作为最差青蛙的新位置,促进算法的收敛,并转至第七步;否则,转至第四步进行粒子旧位置Pw对全局最优PgPb的同时学习;

第四步:根据PSO中粒子的学习策略,使用以下公式(3)得到青蛙新的位置Pnew_4,

Pnew_4=r1×(Pb-Pw)+r2×(Pg-Pw) (3)

其中,r1,r2是两个随机数;该学习策略借签了PSO中粒子群体的自我学习策略,使得子群体中的最差青蛙同时向全局最优PgPb进行并行学习;

第五步:计算青蛙Pnew_3Pnew_4的适应值,从中选出适应度最高的青蛙位置,记为NP;

第六步:比较NP和Pw,如果NP更优,则NP作为最差青蛙新位置以促进算法收敛;如果NP和Pw的适应值相等或无法比较,则保存NP作为最差青蛙的位置以提高算法的收敛性;否则,仍以Pw作为青蛙的位置;

第七步:青蛙进化及最佳学习结束。

本发明提供的基于多层次信息反馈的多目标混合蛙跳,与传统的求解复杂系统的多目标优化方法相比,本发明方法具有直观简明、普适性等特点。首先本方法是在基本混合蛙跳算法基础上,引入遗传交叉操作至青蛙的进化与学习层,充分利用了迭达过程中所得到的青蛙位置的全部信息。其次,对全局最优青蛙位置Pg信息的更新采用了PSO中的粒子优化学习更新策略,避免了青蛙局部搜索中的单一子群体局部学习,有力地增强了青蛙跳出局部最优解的能力。最后,本发明描述的外部档案信息交换策略极大增强了外部档案中非支配解的多样性和收敛性,对算法的性能产生了直接的影响。所提出发明方法通过对不同标准测试案例得到的结果分析,均验证了本发明描述的MSFLA具有较强的鲁棒性及普适性。

本发明的一种基于多层次信息反馈的多目标混合蛙跳算法(Multi-objective Shuffled Frog Leaping Algorithm based on the interation of multi-level information, MSFLA),使用遗传算法的交叉算子及PSO的粒子学习方式等特性,将整个优化过程划分为标准混合蛙跳优化层﹑青蛙进化与学习层﹑外部档案信息交换层。

标准混合蛙跳优化层保证青蛙进行正常的局部搜索优化;青蛙进化与学习层保证青蛙每次迭达结束时都能得到更好的自身位置;外部档案信息交换层可以保证青蛙种群获得全局最优解。MSFLA各个层次之间通过信息反馈和交换机制,共同促进搜索朝着最优解方向进行,增强了算法的多样性并加快了其收敛特性。本发明方法基于典型的混合蛙跳算法(shuffled frog Leaping algorithm, SFLA)模型,对于各类工程及科学理论研究的多目标优化问题具有较好的通用性、有效性和稳健性等特点,区别于传统多目标优化方法求解复杂计算困难问题遇到的目标间冲突、各目标权重不一致等问题,本发明所提出算法具有良好的搜索性能,能快速﹑有效地求解多目标优化问题。

本发明可以应用于许多工业场合,如车间作业调度﹑应急资源调度﹑云计算资源调度等问题。MSFL各个层次之间通过信息反馈和交换,共同促进搜索朝着Pareto最优解方向加快进行,共同提高了算法的收敛性和多样性。

附图说明

图1是本发明实施例提供的基于多层次信息反馈的多目标混合蛙跳算法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

下面结合附图对本发明的应用原理作进一步描述。

如图1所示:本发明实施例提供的基于多层次信息反馈的多目标混合蛙跳算法,进行标准混合蛙跳优化层﹑青蛙进化与学习层﹑外部档案信息交换层的优化;

所述标准混合蛙跳优化层用于获得青蛙的新位置,同时对新位置与旧位置进行优劣对比;若新位置劣于旧位置,则进入青蛙进化与学习层;

所述青蛙进化与学习层融入GA中交叉算子和PSO中的粒子学习策略,通过青蛙进化及对种群全局最优青蛙的学习,获得青蛙新的位置;

在优化过程中获得Pareto支配解存储到一个外部档案中;在每次迭达结束后,根据预定的策略从外部档案中提取一定数目的非支配解进行信息交换,提高档案中解的质量,为以后的青蛙寻优及青蛙进化与学习提供全局最优解。

进一步,所述多层次信息反馈的多目标混合蛙跳算法具体步骤包括:

Step1: 初始化青蛙各子群体Popi(i=1,2,...,m);

Step2: 使用标准混合蛙跳优化层进行局部搜索,更新最差青蛙位置;

Step3: 若最差青蛙位置没有得到更新,则进行青蛙进化与学习层,以改善青蛙最差位置,促使整个种群朝着全局最优Pareto前沿前进;

Step4: 将学习层得到的非支配解按外部档案信息交换策略送入档案中,并同时确保档案的容量没有超出;

Step5. 判断设定的迭达次数是否结束,若没有,将各子群重新合成新一代种群并排序和划分子族群,返回Step2。

下面结合实施例对本发明应用原理进一步说明。

本发明实施实例提供的基于多层次信息反馈的多目标混合蛙跳算法(Multi-objective Shuffled Frog Leaping Algorithm based on the interation of multi-level information, MSFL)

在MSFL优化中,分为标准混合蛙跳优化层﹑青蛙进化与学习层﹑外部档案信息交换层的优化;标准混合蛙跳优化层用于获得青蛙的新位置,同时对新位置与旧位置进行优劣对比;若新位置劣于旧位置,则进入青蛙进化与学习层,该青蛙进化与学习层融入GA中交叉算子和PSO中的粒子学习策略,通过青蛙进化及对种群全局最优青蛙的学习,获得青蛙更好的新位置;在优化过程中获得Pareto支配解存储到一个外部档案中;在每次迭达结束后,根据预定的策略从外部档案中提取一定数目的非支配解进行信息交换,提高档案中解的质量,为以后的青蛙寻优及青蛙进化与学习提供全局最优解。

1)标准混合蛙跳优化层

该层主要使用SFLA方法搜索青蛙的新位置,设想有这样一种场景:有P只青蛙在d维搜索空间随机搜索食物。随机设定青蛙位置,并按适应值排序,将整个群体分为K个子群,其中,排序第1的青蛙进入第1个子群,排序第2的进入第2个子群,排序第M的进入第M个子群,排序第M+1的进入第1个子群,排序第M+2的进入第2个子群,依次类推,直至全部青蛙分别进入对应子群。

每个子群体按自己的思想进行局部搜索,得到最好青蛙位置Pb和最差青蛙位置Pw;全群最好青蛙位置Pg为各子群体中最好的个体。各子群局部搜索的目的就是按下式(1)-(2)更新最差青蛙位置。

Di=rand()(Pb-Pw) (1)

Pnew= Pw+Di (2)

其中,rand()是介于0和1间的随机数。Di表示最差青蛙在第i维移动的距离,其更新移动的步长介于dmindmax之内。Pnew为最差青蛙移动后的新位置。如果按式(1)-(2)不能改善青蛙位置,则使用Pg代替(1)中Pb。如果再不能改善,则随机产生一个解。若新得到的位置仍不能改善,则进入到青蛙进化与学习层。

2)青蛙进化与学习层

青蛙各子群体进行局部搜索后,对最差青蛙位置进行了更新。如果在规定次数内,不能改善最差青蛙位置,则这种情况显然不利于算法的收敛。对此,该层将进化交叉操作与最优学习策略引入到MSFLA中。

为加快算法收敛速度,仅在一次迭达完成后,判断青蛙的新位置 Pnew是否优于旧位置,如果没有,则进行青蛙的进化与学习过程,其步骤如下:

Step1:将青蛙的新位置 Pnew与对应的旧位置Pw进行遗传交叉操作,得到青蛙的新位置Pnew_1, Pnew_2.

Step2:计算青蛙位置PnewPnew_1Pnew_2的适应值,将适应度最高的位置标记为Pnew_3.

Step3:比较青蛙位置Pnew_3Pw, 若Pnew_3更优,则Pnew_3作为最差青蛙的新位置, 促进算法的收敛,并转至step7。否则,转至Step4进行粒子旧位置Pw对全局最优PgPb的同时学习。

Step4:根据PSO中粒子的学习策略,使用以下公式(3)得到青蛙新的位置Pnew_4,

Pnew_4= r1×(Pb-Pw)+r2×(Pg-Pw) (3)

其中,r1,r2是两个随机数。该学习策略借签了PSO中粒子群体的自我学习策略,使得子群体中的最差青蛙同时向全局最优PgPb进行并行学习,避免了青蛙局部搜索中的单一学习,有力的增强了青蛙跳出局部最优解的能力。

Step5:计算青蛙Pnew_3Pnew_4的适应值,从中选出适应度最高的青蛙位置,记为NP。

Step6:比较NP和Pw,如果NP更优,则NP作为最差青蛙新位置以促进算法收敛;如果NP和Pw的适应值相等或无法比较,则保存NP作为最差青蛙的位置以提高算法的收敛性;否则,仍以Pw作为青蛙的位置。

Step7:青蛙进化及最佳学习结束。

3)外部档案信息交换策略

在多目标优化算法中,全局最优Pg的选择会对算法的性能产生直接的影响。在本发明中,Pg将根据一定策略从外部档案中择优选择非支解,在描述该策略之前,仍以定义1中的待优化最小函数F(x)为例,并给出如下相关定义:

定义1 个体优越数:对于两个体a=(a1,a2,...,am)和b=(b1,b2,...,bm), 若F(a)分别在k个目标﹑h个目标﹑t个目标上小于,等于及大于F(b), 则记个体a的优越数η(a,b)=k, 等价数Ø(a,b)=h, 劣指数Θ(a,b)=t,且有k+h+t=m

设定外部档案能容纳的支配解数目为L,外部档案信息交换策略描述如下:

Step1:若外部档案未满,则青蛙进化及最佳学习过程结束产生的非支配解可直接进入外部档案。

Step2:若外部档案已满,则青蛙进化及最佳学习过程结束后的非支配解x按下述规则择优进入。

Step2.1: 若xPareto优于外部档案中的某一非支配个体y,则x取代y直接进入外部档案,并转3。

Step2.2: 若η(x,y)>Θ(x,y),则x取代y直接进入外部档案.否则,若r≥0.9则x取代y进入外部档案,其中,r为介于0和1之间的随机数。

Step3:对外部档案中两两个体之间的优越数进行统计,优越数最大的个体为全局最优个体Pg,该个体将参与下一次算法进化过程。

结合上述优化过程描述,本发明提供的MSFLA方法流程描述如下:

Step1: 初始化青蛙各子群体Popi(i=1,2,...,m)。

Step2: 使用标准混合蛙跳优化层进行局部搜索,更新最差青蛙位置。

Step3: 若最差青蛙位置没有得到更新,则进行青蛙进化与学习层,以改善青蛙最差位置,促使整个种群朝着全局最优Pareto前沿前进。

Step4: 将学习层得到的非支配解按外部档案信息交换策略送入档案中,并同时确保档案的容量没有超出。

Step5:判断设定的迭达次数是否结束,若没有,将各子群重新合成新一代种群并排序和划分子族群,返回Step2。

下面结合相关定义对本发明应有原理进一步说明。

本发明的目的针对传统数学优化方法应用于复杂系统多目标优化问题(multi-objective optimization problems, MOP)时,由于不同设计条件对各目标有着不同权重要求,且各目标之间的量纲和数量级不同,需要优化的多个目标之间常常存在着冲突性,因此基于传统数学理念设计的多目标优化方法应用于实际问题中难以对MOP进行有效的处理。由于基于种群的混合蛙跳算法可以并行地搜索解空间中的多个解,本发明描述了一种基于多层次信息反馈的多目标混合蛙跳算法(Multi-objective Shuffled Frog Leaping Algorithm based on the interation of multi-level information, MSFL),整个优化过程分为标准混合蛙跳优化层﹑青蛙进化与学习层﹑外部档案信息交换层。标准混合蛙跳优化层保证青蛙进行正常的局部搜索优化;青蛙进化与学习层保证青蛙每次迭达结束时都能得到更好的自身位置;外部档案信息交换层可以保证青蛙种群获得全局最优解。MSFL各个层次之间通过信息反馈和交换,共同促进搜索朝着Pareto最优解方向加快进行,共同提高算法的收敛性和多样性。

在此,给出如下多目标优化问题的相关定义:

定义2 多目标优化问题: 在n维空间Ω中寻找向量x=(x1,x2,...,xn),使得目标函数F(x)中的多个目标f(x)(i=1,2,...,m)最小,即

(3)

定义3 Pareto支配: 向量a=(a1,a2,...,am)支配向量b=(b1,b2,...,bm),记作,当且仅当a不大于b,且a中存在小于b的分量,即

(4)

定义4 Pareto最优解 向量为Pareto最优解当且仅当空间,使得a=(f1(x’),f2(x’),...,fm(x’))支配向量b=(f1(x),f2(x),...,fm(x)).

定义5 Pareto最优解集 假定待优化的多目标函数为F(x), 则其Pareto最优解集定义为

(3)

定义6 Pareto前沿 假定待优化的多目标优化函数为F(x),Pareto最优解为P, 则其Pareto前沿PF定义为

(4)

下面结合具体实施例对本发明的应用原理进一步说明。

本发明描述了一种基于多层次信息反馈的多目标混合蛙跳算法(Multi-objective Shuffled Frog Leaping Algorithm based on the interation of multi-level information, MSFL),吸收了遗传算法的交叉算子及PSO的粒子进化方式,将整个优化过程划分为标准混合蛙跳优化层,青蛙进化与学习层,外部档案信息交换层。标准混合蛙跳优化层保证青蛙进行正常的局部搜索优化;青蛙进化与学习层保证青蛙每次迭达结束时都能得到更好的自身位置;外部档案信息交换层可以保证青蛙种群获得全局最优解。MSFL各个层次之间通过信息反馈和交换,共同促进搜索朝着最优解方向进行,增强了算法的多样性并加快了算法的收敛性。本发明可以应用于许多工业场合,如车间作业调度﹑应急资源调度﹑云计算资源调度等问题。这些资源调度问题都可以描述为具有NP难度的线性0-1整数资源调度计算问题。描述如下:

m个作业Ji(i=1,2,..m)需要分配到分配到n台处理机上运行,作业Ji需要的处理时间为ti,若作业Ji分配到处理机j上完成,则令xij=1,否则xij=0。表示处理机j完工时间,表示作业i只能分配一个处理机上运行。

本发明求解上述资源调度问题的程序统一流程描述如下:

假设有3台处理机Pi(i=1,2,3)和9个作业Jk(k=1,2,...9),作业需要的运行时间分别为81,40,26,4,65,98,53,71,15。若由贪心算法所得的调度结果为:P1(J6,J2,J4), P2(J1,J7,J3), P3(J8,J5,J9),完成总时间为160。若使用本发明描述的MSFL算法,对上述问题作100次测试,得到的解如表1所示。

表1 仿真结果

表1显示了本发明方法与其他求解资源调度问题常用的算法对比的结果,表中数据显示出使用本发明方法(FGA)求解所设问题时,所求平均值与最优值之间的平均误差不超过7%, 最大没并没有超过14.7%,相比于其它的比较方法,

本发明方法优于单纯的贪心算法和被比较算法。因此,本发明描述的算法是最佳的调度方案。

本发明中提出的基于多层次信息反馈的多目标混合蛙跳算法简称为MSFLA,并与多目标加权法和标准混合蛙跳算法进行比较,用于比较的测试函数描述如下:

表2中分别有两个二维和两个三维的的目标函数,这些测试函数的特征不尽相同。其中,ZDT1和ZDT2具有连续的特点,且ZDT1和ZDT2分别具有凸型和凹型的Pareto前端特点。WFG1和WFG2分别具有连续的凸凹型和非连续的凹凸型Pareto前端特点。

本发明中,MSFLA的参数设置为:最大迭达次数2×105,青蛙个体总数200,族群数为20,每个族群的青蛙个数为10,族群内的迭达次数为1,最大蛙跳步长为最大搜索范围的0.5倍。

为了验证改进算法的寻优效果和稳定性,相比于单目标优化问题,多目标优化不但要求收敛到真正的Pareto前端,而且保证Pareto的解集均匀分布。在此,本发明引入两个性能指标和来测试不同算法的优劣性(Deb K, Pratap A, Agarwal S, et al. A fast and elitist multiobjective genetic algorithm:NSGA-II. IEEE Transations on Evoltuionary Computation, 2002,6(2):182-197)。

1)测度

该测度能够度量所得到的Pareto最优解集与真正Pareto前端的距离。值越小所得到的Pareto最优解越接近于真正的Pareto前端。反之,越偏离真正的Pareto前端。

为了防止随机性测试带来的实验误差,本发明对MSFLA﹑目标加权法﹑标准混合蛙跳算法分别独立运行50次,求其平均结果。表3给出了三种比较算法独立运行后所得的平均值和方差。表3中数据显示出,本发明提出的MSFLA得到的Pareto最优解集更靠近真正的Pareto前端,且其对应方差相比于其它两种被比较算法也较小。

表3 测度的平均值和方差

2)测度

用于度量所得到的Pareto最优解集在前端分布上的均性。值越小说明说明分布得越均匀,反之,表明均匀性越差。

表4给出了三种被比较算法迭代50次所得的测度平均值和方差值。表中数据显示出,本发明描述的MSFLA获得的Pareto最优解集比其它两种算法获得的Pareto解集在Pareto前端分布置得更均匀,并且方差值也优于其它的两种比较算法。

表4 测度的平均值和方差

通过上述实施效果分析可以发现,与多目标加权法和标准混合蛙跳算法相比,在求解多目标优化问题过程中,尤其是高维多目标优化问题过程时,本发明所描述的MSFLA具有较好的收敛性和分布均匀性,其产生的Pareto解集更加接近Pareto前端。

此外,现实工程及科学研究中,也存在着许多单目标优化问题的工程案例情况,对这些单目标优化问题在较合理的时间内进行快速求解,不仅能提高生产效率,同时也能推动产业增值的提升。为此,本发明描述的MSFLA也被应用于典型的单目标优化问题测试。测试函数如下描述:

1)

该函数是一个典型的多峰型函数,当算法最终优化结果大于-0.005时算法开始收敛。

2)

该函数具有多个局部极大值点,但全局极大值点为1,当其算法优化结果大于0.995时算法开始收敛。

本发明仍然使用上述三种比较算法,各算法分别独立运行50次,最大迭达次数2×105,青蛙个体总数200,族群数为20,每个族群的青蛙个数为10,族群内的迭达次数为1,最大蛙跳步长为最大搜索范围的0.5倍。对f1, f2两个测试函数求得优化结果如表5所示。

表5 不同算法求解函数极值问题的对比结果

表5中结果显示出,三种比较算法在f1测试结果的比较,本发明所描述的MSFLA获得较优的结果,无论是最优结果,还是平均值及运行时间上都有明显的优势。而在f2测试函数的结果显示表明,虽然三种被比较算法均能获得相同的最优结果,但MSFLA在所获得平均值及运行时间等性能方面均占有明显的优势。

综上,本发明描述的基于多层次信息反馈的多目标混合蛙跳算法(MSFLA),吸收了遗传算法的交叉特性和粒子群优化中的自我学习更新技术策略,增强了所提出算法的寻优能力,提升了算法的寻优效率。由上述多处理器调度实施及若干复杂工程系统优化问题的求解效果表明:区别于传统优化技术,如Newton法﹑Lagrange法﹑共轭梯度法等,本项发明技术在面向具有多变量﹑多约束﹑多目标等各类先进生产系统待优化问题时,并不要求待求解问题本身须在严格特定限制条件下(如目标函数可微﹑线性﹑变量连续性等特点),才能应用相关技术进行全局求解。结合实际工程应用领域,下面以可靠性稳健优化设计为例,将本发明描述的MSFLA应用于车辆零部件产品设计中,以验证本发明应用于汽车工业设计中的技术效果。

汽车制造中,许多零部件的设计需要即同时确保节省材料,又需满足一定的零部件安全可靠度指标。如,在车辆前轴中部,由于采用了工字梁结构,在两车轮和两个弹簧之间传递力和力矩,导致车两前轴是受弯扭联合作用的车辆零部件。为使零部件具有最佳的可靠性,同时又要确保用较少的材料设计车辆前轴载面。首先,我们可将车辆前轴的可靠性稳键优化设计问题转化为待求解的多目标优化问题,然后,运用本发明方法求解得到对应最佳车辆前轴截面的几何尺寸a,t,h,b的值。在此,首先给出某种国产某种车辆前轴的危险截面承受的弯矩和扭矩的均值和标准差为M=(3517220, 319715)N·mm, T=(3026710, 245160)N·mm, 材料强度的均值和标准差为r=(667, 25.3), 可靠度指标为β

2. 运用本发明求解该类可靠性优化问题,步骤如下;

(1)要使车辆前轴的面积最小,首先截面的面积函数为:

f1(x)=x1(x3-2x2)+2x4x2

其中,设计变量x1,x2,x3,x4分别对应系数a,t,h,b,且各系数的范围:10mm<x1<13mm;

11mm<x2<15mm;82mm<x3<86mm;66mm<x4<63mm。

(2)其次,对状态函数f1(x)求偏导,要求前轴的可靠度对各设计变量的灵敏度为最小。

(3)最后,将上述f1,f2,f3,f4,f5组合成为多目标优化问题Min F(x)=Min(f1(x),f2(x),f3(x),f4(x),f5(x)),运用MSFLA进行优化求解。

运用本发明求解上述F(X),仍然使用上述二种比较算法(目标加权法,SFLA),各算法分别独立运行100次,最大迭达次数2×105,青蛙个体总数200,族群数为20,每个族群的青蛙个数为10,族群内的迭达次数为1,最大蛙跳步长为最大搜索范围的0.5倍。实验结果如表6所示:

表6 三种方法求解可靠性优化问题的结果比较

表6数据显示,与其它两种方法相比,本发明进行零部件的可靠性优化设计过程中,对待优化问题并没有严格的数学条件限制,适用于求解目标函数具有多个局部极值点或在某一局部不连续或不可微等生产系统优化问题。对前辆前轴各系数求解时,即确保了前轴工字梁截面的最小面积,同时还提高了零部件的可靠度指标,且本发明所获得可靠性指标最高。可见,本发明方法对工程及科学理论研究领域中多目标优化问题具有良好的普适性及鲁棒性,能够快速﹑高效求解各类生产系统优化问题,且在有效保证不失去多目标函数特性的情况下寻找到最优解。类似于上述可靠性优化问题设计,将发明应用于实际工业生产的大规模节能运行﹑工业资源投入﹑物质应急分配等各类优化问题也能带来快速高效的系统配置效果。

本发明提供的基于多层次信息反馈的多目标混合蛙跳,与传统的求解复杂系统的多目标优化方法相比,本发明方法具有直观简明、普适性等特点。首先本方法是在基本混合蛙跳算法基础上,引入遗传交叉操作至青蛙的进化与学习层,充分利用了迭达过程中所得到的青蛙位置的全部信息。其次,对全局最优青蛙位置Pg信息的更新采用了PSO中的粒子优化学习更新策略,避免了青蛙局部搜索中的单一子群体局部学习,有力地增强了青蛙跳出局部最优解的能力。最后,本发明描述的外部档案信息交换策略能极大增强了外部档案中非支配解的多样性和收敛性,对算法的性能产生了直接的影响。所提出发明方法通过对不同标准测试案例得到的结果分析,均验证了本发明描述的MSFLA具有较强的鲁棒性及普适性。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1