若干优化算法的运行分析比较
几类元启发式优化算法性能的比较研究

几类元启发式优化算法性能的比较研究孙文娇;高飒;王瑞庆;李泽卿;谭悦;臧睿【摘要】元启发式优化算法包括萤火虫算法、布谷鸟算法、蝙蝠算法及和声搜索算法等.选取20个标准测试函数,统计4种元启发式优化算法的运行结果.以算法运行的精确度、稳定性作为比较指标分析算法的求解性能,提出了3种比较算法优劣性的方法,总结了3种比较方法的优缺点.【期刊名称】《数学理论与应用》【年(卷),期】2016(036)002【总页数】7页(P118-124)【关键词】优化;萤火虫算法;布谷鸟算法;蝙蝠算法;和声搜索算法【作者】孙文娇;高飒;王瑞庆;李泽卿;谭悦;臧睿【作者单位】东北林业大学理学院,哈尔滨,150040;东北林业大学理学院,哈尔滨,150040;东北林业大学理学院,哈尔滨,150040;东北林业大学理学院,哈尔滨,150040;东北林业大学理学院,哈尔滨,150040;东北林业大学理学院,哈尔滨,150040【正文语种】中文元启发式优化算法[1],又被称作现代优化算法或智能优化算法,是一类通用启发式策略[2],用来指导传统启发式算法朝着可能含有高质量解的搜索空间进行搜索,是人类通过对自然界现象的模拟和生物智能的学习,提出的一类新型的搜索技术.这类算法能够弥补传统算法只生成数量非常有限的解或者算法易陷入质量不高的局部最优的缺陷[3].萤火虫算法由剑桥学者Yang提出,称为FA(firefly algorithm),是模拟自然界中萤火虫成虫通过荧光进行信息交流的生物学特性发展而来,也是基于群体搜索的随机优化算法[4],目前该算法在组合优化问题的求解中已获得成功应用,在解决NP难度问题上有着巨大潜力[5].布谷鸟搜索算法由剑桥大学的Yang和拉曼工程大学的DEB,利用布谷鸟寻窝放置鸟蛋的行为,并结合一些鸟类的飞行行为提出的新型智能优化算法[6],该算法模型简单、可调参数少、收敛速度快,在工程优化等领域得到了应用[7].和声搜索算法是2001年韩国学者Geem等人提出的一种新颖的智能优化算法.算法模拟了音乐创作中乐师们凭借自己的记忆,通过反复调整乐队中各乐器的音调,最终达到一个美妙的和声状态的过程[8],该算法较遗传算法、模拟退火算法等有更好的优化性能[9],在函数优化、组合优化、生产调度等领域中得到了应用[10].另外,蝙蝠算法是由剑桥大学的Yang于2010年提出的一种模拟蝙蝠捕食过程中所采用的回声定位原理的启发式智能算法[11].蝙蝠算法模型简单、收敛速度快、具有潜在并行性和分布式等特点,且没有许多参数要进行调整[12].目前,蝙蝠算法已在工程设计、分类、模糊聚类、预测和神经网络等领域中得到了应用[13].目前已有的研究结果表明不同的智能优化算法对各类优化问题求解性能表现多样.对算法性能的比较通常从两个角度进行,一类是对同一实际优化问题进行求解比较,另一类是对若干已知最优解的标准测试函数进行求解比较.第二类方法主要衡量算法的综合性能,已有文献对性能比较采用的主要方法是通过图表形式直观描述.本文选取萤火虫算法、布谷鸟搜索算法、和声搜索算法及蝙蝠算法对20个标准测试函数进行求解,对算法的可行性和有效性进行了验证.选取若干典型的测试结果从三个方面比较了算法性能,并对这些方法进行了评价.为了探究萤火虫算法、布谷鸟算法、蝙蝠算法以及和声搜索算法的在计算函数最优值方面的差异,将四类智能优化算法分别应用于20个标准测试函数,选取其中9个运算结果差异较为显著的标准测试函数进行比较.本节根据相关技术规范要求在MATLAB 2010a平台上对每个标准测试函数用4类智能优化算法分别独立计算30次.通过对执行结果进行不同角度的分析具体比较这4类智能算法对标准测试函数的作用结果精确度以及算法的稳定性的差异.3.1 统计数据的排序对比法将实验所得30次执行结果的数据进行统计,利用执行结果的中位数和平均值衡量算法对标准测试函数的作用效果,对四种不同的算法进行分析.通过上表可以看出:对于f*1 X(),可以明显看出四个算法优劣性依次为:布谷鸟算法、萤火虫算法、蝙蝠算法、和声搜索算法.对于f*7X(),可以明显看出萤火虫算法和布谷鸟算法同等程度地近似于理论最优值其次为和声搜索算法,最后是蝙蝠算法.对于f*9 X(),可以明显看出四个算法的优劣排序依次为:萤火虫算法、蝙蝠算法、布谷鸟算法、和声搜索算法.用该方法评价算法准确性时,对于所得的统计数据差异较大的情况可以直接明显的判断出优劣排序,但用中位数和平均值作为参考值未能反映30次运行结果的波动幅度.3.2 执行结果的图像对比法将执行得到的30次结果绘制成二维图像,通过图像偏离理论值的情况以及图像自身的波动情况比较不同算法对标准测试函数的作用效果.关于f*2(X)的执行结果,比较图像可以看出,萤火虫算法与最优解最为接近;蝙蝠算法在最优解附近浮动;布谷鸟算法稍大,和声算法结果远大于最优解.关于f*5(X)的执行结果,比较图像可以看出,布谷鸟算法最接近最优解;萤火虫算法较为接近,其他算法比较稳定.关于f*5(X)的执行结果,比较图像可以看出,萤火虫与布谷鸟算法能够精确地和最优解拟合.蝙蝠算法有较小偏差,和声算法最不稳定.由图1、图2、图3得该方法可以简洁直观地反映出每个算法对不同的标准测试函数的作用情况,但对图4和图5数据有交叉的测试函数,如f*6 X(),f*8 X()结果无法通过图像的分布来判断算法的优劣.3.3 平均距离与方差对比法直接用实验数据的中位数、平均数近似代表标准测试函数的理论值会随着运行次数的变化发生较大的差异,而图像分析只能定性地判断不同算法作用的优劣,不能体现它们之间具体差异的大小,因此,对实验执行结果进行详细的量化分析是必要的.首先计算执行30次得到的各个标准测试函数的近似值与理论值的平均距离[14](yji表示第j个测试函数在算法下的第i次执行结果,yj0是第j个标准测试函数的理论值),用以作为不同算法准确度的比较指标;再通过计算执行30次得到的数据的标准差σ表示第j个测试函数在算法下的第i次执行结果,yj0是第j个标准测试函数的理论值),用以作为不同算法稳定性的比较指标.计算结果如下表:通过上表可以看出:对于f*3(X)布谷鸟算法的测试结果的精确度较其他算法最高,算法的稳定性好,其次是和声搜索算法精确度较高,算法也比较稳定性;然后是蝙蝠算法,萤火虫算法对它的精确程度最差,并且在解决这一问题时较其它算法具有不稳定性.对于f*6(X)可以分析得知蝙蝠算法的测试结果跟其它算法相比具有较高的精确度和稳定性,其次布谷鸟算法和萤火虫算法搜索算法二者在精确度上相差不大,但相比之下,布谷鸟算法的稳定性较高,最后是和声搜索算法在该函数的测试上的精确度较其他算法低.对于f*8 X()可以看出蝙蝠算法的精确程度最高,布谷鸟算法、和声搜索算法次之,萤火虫算法在该问题的精确度上最差.该方法将数据量化,既能准确的分析差异较大的实验数据又可分析实验数据有交叉的情况,弥补了前两种方法的缺点.适用于对任何一种标准测试函数的算法的分析和比较.随着智能算法的发展和其应用领域的推广,算法的优劣差异也需要进一步的研究和比较,以便解决不同方面的问题.一般来说,算法的评价有多个指标,多种方法,本文主要从算法的精确度和稳定性两个方面来研究算法的差异,并提出了3种比较算法优劣差异的方法,总结了3种比较方法的优缺点.萤火虫算法、布谷鸟算法、蝙蝠算法以及和声搜索算法是以20个标准测试函数作为实验的背景问题.为了更合理的评价算法效果,可采用更大数量的测试函数,或尝试构造新的测试函数以得出更为准确的评价结果.【相关文献】[1]赵玉新Xin-She Yang刘立强.新兴元启发式优化方法,[M]科学出版社.[2]徐俊杰.元启发式优化算法理论[D].北京:北京邮电大学.[3]陈萍.启发式算法及其在车辆路径问题中的应用.[D].北京:北京交通大学.[4]刘长平,叶春明.一种新颖的放生群智能优化算法:萤火虫算法.[J]计算机应用研究,2011,(28).[5]曾冰,李明富,张翼,马建华.基于萤火虫算法的装配序列规划研究.[J]机械工程学报,2013(11).[6]李煜,马良.新型元启发式布谷鸟搜索算法.[J].系统工程,2012,(30).[7]刘长平,叶春明.求解置换流水车间调度问题的布谷鸟算法.[J]上海理工大学学报,2013(1).[8]雍龙泉,和声搜索算法研究进展.[J].计算机系统应用,2011,(20).[9]Mahdavi M,Fesanghary M,Damangir E.An improved harmony search algorithmfor solving optimization problems[J].Applied Mathematics and Computation,2007,188(2):1567-1579.[10]韩红燕,潘全科,梁静.改进的和声搜索算法在函数优化中的应用.[J]计算机工程,2010(13).[11]刘长平,叶春明.具有Levy飞行特征的蝙蝠算法.[J]智能系统学报,2013(8). [12]刘长平,叶春明.具有混沌搜索策略的蝙蝠优化算法及性能仿真.[J]系统仿真学报,2013(6).[13]贺新时,丁文静,杨新社.基于模拟退火高斯扰动的蝙蝠优化算法.[J]计算机应用研究,2014(2).[14]王柱.最小平方距离法和隐式线性函数关系的参数估计.[J]数理统计与管理,2013(5). [15]高慧旋.应用多元统计分析.[D]北京大学252-255.。
进化计算和优化算法的比较

进化计算和优化算法的比较进化计算(Evolutionary Computation)是一种模拟自然进化原理的计算模型,它使用一些生物学中进化学原理,比如“自然选择”、“遗传交配”、“变异”等,来进行机器学习、优化问题求解等计算任务的模拟。
进化计算主要包括遗传算法(Genetic Algorithm)、进化策略(Evolutionary Strategy)和粒子群优化(Particle Swarm Optimization)等。
优化算法则是一种“找到最优解”的算法,优化问题包括线性规划、非线性规划、二次规划、整数规划和非凸规划等,其中,非凸规划是指约束条件不具有凸性的优化问题。
优化问题通常涉及的函数形式非常复杂,但是人们往往只关心最优解的寻求,即所谓的“解决方案”。
下面我们将进化计算和优化算法进行比较,分别从适合求解的问题类型、求解速度和求解效果三个方面来分析。
一、适合求解的问题类型进化计算的应用范围非常广泛,可以应用于任何非线性、非凸和非规则的问题,如遗传匹配、物流路径规划、信号处理、图像处理、神经网络训练等等。
进化计算的运行速度相对较慢,但是可以处理比较复杂的问题,尤其是对于非线性问题,进化计算的效果特别好。
反过来,优化算法则更适合求解线性、凸和简单问题类型。
优化算法的运行速度快,但是只能使用在相对简化的优化问题上,因为对于非凸和非线性问题,优化算法往往难以寻找全局最优解。
二、求解速度在求解速度方面,优化算法的求解速度往往比进化计算速度快。
因为进化计算的运行有时候会在全局范围内浏览所有子空间,这一过程将需要大量的迭代计算,因此运行速度环节较慢。
优化算法则是建立在一个数学模型的基础上,可以快速地求解线性和凸优化问题。
但是对于非线性和非凸问题,优化算法的求解速度往往更慢。
所以,需要根据具体情况来选择最适合的算法。
三、求解效果从求解效果的角度看,进化计算相对来说会比优化算法更加稳定。
因为进化计算是将整个搜索空间(即函数值)进行漫游,而优化算则是直接在可行解区域内进行迭代计算,对于局部最优解的寻找比较困难。
现代优化方法

动态规划问题的求解方法
逆向求解
从最后阶段开始,依次求出每 个阶段的最优解,最终得到初
始阶段的最优解。
正向求解
从初始阶段开始,逐步向前推导 出每个阶段的最优解。
分支定界法
将问题分解为若干个子问题,通过 设定参数和约束条件,将问题的求 解范围缩小到最优解所在的子问题 集合中。
动态规划的应用
最短路径问题
03
由确定型优化向不确 定型优化发展
考虑随机因素和不确定性因素的影响 ,进行概率优化或鲁棒优化。
THANK态规划算法求解最短路径问题,例如 Floyd-Warshall算法、Dijkstra算法等。
通过动态规划算法求解网络流中的最大流和 最小费用流问题。
背包问题
排程问题
通过动态规划算法求解多阶段决策过程中的 最优解,例如0/1背包问题、完全背包问题 等。
通过动态规划算法求解资源分配和任务调度 问题,例如作业排程、飞机调度等。
05
遗传算法优化方法
遗传算法的基本原理
遗传算法是一种基于生物进化理论的优化算法,通过模拟自 然选择、遗传和突变过程来寻求最优解。
遗传算法的基本原理是:在群体中选择出优秀的个体,通过 交叉、变异等操作产生更优秀的后代,迭代进化,最终得到 最优解。
遗传算法的求解过程
初始化种群
随机生成一定数量的个体作为初始种群。
2023
现代优化方法
contents
目录
• 优化方法概述 • 线性规划优化方法 • 非线性规划优化方法 • 动态规划优化方法 • 遗传算法优化方法 • 模拟退火算法优化方法 • 粒子群优化方法 • 现代优化方法比较分析
01
优化方法概述
定义与特点
定义
《算法设计与分析》课件

常见的贪心算法包括最小生成树算法 、Prim算法、Dijkstra算法和拓扑排 序等。
贪心算法的时间复杂度和空间复杂度 通常都比较优秀,但在某些情况下可 能需要额外的空间来保存状态。
动态规划
常见的动态规划算法包括斐波那契数列、背包 问题、最长公共子序列和矩阵链乘法等。
动态规划的时间复杂度和空间复杂度通常较高,但通 过优化状态转移方程和状态空间可以显著提高效率。
动态规划算法的时间和空间复杂度分析
动态规划算法的时间复杂度通常为O(n^2),空间复杂度为O(n)。
04 经典问题与算法实现
排序问题
冒泡排序
通过重复地遍历待排序序列,比较相邻元素的大小,交换 位置,使得较大的元素逐渐往后移动,最终达到排序的目 的。
快速排序
采用分治策略,选取一个基准元素,将比基准元素小的元 素移到其左边,比基准元素大的元素移到其右边,然后对 左右两边的子序列递归进行此操作。
动态规划是一种通过将原问题分解为若干个子 问题,并从子问题的最优解推导出原问题的最 优解的算法设计方法。
动态规划的关键在于状态转移方程的建立和状态 空间的优化,以减少不必要的重复计算。
回溯算法
01
回溯算法是一种通过穷举所有可能情况来求解问题的算法设计方法。
02
常见的回溯算法包括排列组合、八皇后问题和图的着色问题等。
空间换时间 分治策略 贪心算法 动态规划
通过增加存储空间来减少计算时间,例如使用哈希表解决查找 问题。
将问题分解为若干个子问题,递归地解决子问题,最终合并子 问题的解以得到原问题的解。
在每一步选择中都采取当前状态下最好或最优(即最有利)的 选择,从而希望导致结果是最好或最优的。
通过将问题分解为相互重叠的子问题,并保存子问题的解,避 免重复计算,提高算法效率。
数学优化算法的效率评估和比较方法

数学优化算法的效率评估和比较方法数学优化算法是解决实际问题中的最优化问题的重要工具。
在实际应用中,我们常常需要评估不同的数学优化算法的效率,并进行比较,以选择最适合解决特定问题的算法。
本文将介绍数学优化算法的效率评估和比较方法,帮助读者更好地理解和应用这些算法。
首先,我们需要明确数学优化算法的效率评估指标。
常用的指标包括算法的运行时间、收敛速度和解的质量。
运行时间是指算法从开始执行到结束所花费的时间,通常使用计算机程序的运行时间来衡量。
收敛速度是指算法在迭代过程中逐渐接近最优解的速度,可以通过观察目标函数值的变化来评估。
解的质量是指算法得到的最优解与真实最优解的接近程度,可以通过与已知最优解进行比较来评估。
其次,我们可以采用实验方法来评估和比较数学优化算法的效率。
实验方法可以通过编写计算机程序来模拟算法的执行过程,并记录运行时间、收敛速度和解的质量等指标。
在实验中,我们可以选择一组标准测试问题,对比不同算法在这些问题上的表现。
这样可以有效地比较算法的效率,并找到最适合解决实际问题的算法。
除了实验方法,我们还可以采用理论分析方法评估数学优化算法的效率。
理论分析方法通过对算法的数学性质进行研究,推导出算法的收敛性、收敛速度和解的质量等理论结果。
这些理论结果可以帮助我们更好地理解和评估算法的效率。
例如,对于迭代算法,我们可以通过分析迭代矩阵的特征值和特征向量来推导出算法的收敛速度。
理论分析方法可以提供算法效率的上界和下界,从而对算法进行更全面的评估。
此外,我们还可以采用实际应用案例来评估数学优化算法的效率。
实际应用案例可以帮助我们更好地了解算法在实际问题中的表现,并评估算法的适用性和效率。
例如,在生产调度问题中,我们可以比较不同算法在不同规模的生产调度问题上的表现,以选择最适合解决实际问题的算法。
总之,数学优化算法的效率评估和比较方法包括实验方法、理论分析方法和实际应用案例。
这些方法可以帮助我们评估和比较不同算法的效率,并选择最适合解决特定问题的算法。
求解TSP问题的几种算法比较

求解TSP问题的几种算法比较侯淑静【摘要】The traveling salesman problem (TSP) is an important problem for the classical discrete optimization, which is very important to study the solving algorithm. After the introduction of the greedy algorithm, taboo search algorithm, simulated annealing algorithm, genetic algorithm, the author put forward the corresponding algorithm. Aiming at the four typical examples in the test base, we realized implementation of these algorithms with procedures, and the running time and the results of these algorithms are compared. The results show that the greedy algorithm can draw the solution in a short time, the taboo search algorithm and genetic algorithm have the same effect, and the results of simulated annealing algorithm is better than those of genetic algorithm.%旅行售货商问题(简称TSP )是离散优化的一个经典的重要问题,对求解算法的研究非常重要。
计算机算法设计五大常用算法的分析及实例

计算机算法设计五⼤常⽤算法的分析及实例摘要算法(Algorithm)是指解题⽅案的准确⽽完整的描述,是⼀系列解决问题的清晰指令,算法代表着⽤系统的⽅法描述解决问题的策略机制。
也就是说,能够对⼀定规范的输⼊,在有限时间内获得所要求的输出。
如果⼀个算法有缺陷,或不适合于某个问题,执⾏这个算法将不会解决这个问题。
不同的算法可能⽤不同的时间、空间或效率来完成同样的任务。
其中最常见的五中基本算法是递归与分治法、动态规划、贪⼼算法、回溯法、分⽀限界法。
本⽂通过这种算法的分析以及实例的讲解,让读者对算法有更深刻的认识,同时对这五种算法有更清楚认识关键词:算法,递归与分治法、动态规划、贪⼼算法、回溯法、分⽀限界法AbstractAlgorithm is the description to the problem solving scheme ,a set of clear instructions to solve the problem and represents the describe the strategy to solve the problem using the method of system mechanism . That is to say, given some confirm import,the Algorithm will find result In a limited time。
If an algorithm is defective or is not suitable for a certain job, it is invalid to execute it. Different algorithms have different need of time or space, and it's efficiency are different.There are most common algorithms: the recursive and divide and conquer、dynamic programming method、greedy algorithm、backtracking、branch and bound method.According to analyze the five algorithms and explain examples, make readers know more about algorithm , and understand the five algorithms more deeply.Keywords: Algorithm, the recursive and divide and conquer, dynamic programming method, greedy algorithm、backtracking, branch and bound method⽬录1. 前⾔ (4)1.1 论⽂背景 (4)2. 算法详解 (5)2.1 算法与程序 (5)2.2 表达算法的抽象机制 (5)2.3 算法复杂性分析 (5)3.五中常⽤算法的详解及实例 (6)3.1 递归与分治策略 (6)3.1.1 递归与分治策略基本思想 (6)3.1.2 实例——棋盘覆盖 (7)3.2 动态规划 (8)3.2.1 动态规划基本思想 (8)3.2.2 动态规划算法的基本步骤 (9)3.2.3 实例——矩阵连乘 (9)3.3 贪⼼算法 (11)3.3.1 贪⼼算法基本思想 (11)3.3.2 贪⼼算法和动态规划的区别 (12)3.3.3 ⽤贪⼼算法解背包问题的基本步骤: (12)3.4 回溯发 (13)3.4.1 回溯法基本思想 (13)3.3.2 回溯发解题基本步骤 (13)3.3.3 实例——0-1背包问题 (14)3.5 分⽀限界法 (15)3.5.1 分⽀限界法思想 (15)3.5.2 实例——装载问题 (16)总结 (18)参考⽂献 (18)1. 前⾔1.1 论⽂背景算法(Algorithm)是指解题⽅案的准确⽽完整的描述,是⼀系列解决问题的清晰指令,算法代表着⽤系统的⽅法描述解决问题的策略机制。
静态与动态优化算法研究比较

静态与动态优化算法研究比较随着人工智能、大数据、云计算等技术的发展,优化算法的研究和应用也越来越广泛。
在优化算法中,静态和动态优化算法是两种重要的研究方向。
静态优化算法适用于问题固定且数据不断积累的场景,动态优化算法则适用于问题和数据都经常变化的场景。
本文将比较和探讨这两种优化算法的优缺点以及应用场景。
一、静态优化算法静态优化算法是指对于问题固定的场景,通过对数据的分析和处理,寻找最优解的过程。
常见的静态优化算法有遗传算法、粒子群优化算法、模拟退火算法等,这些算法都是寻找最优解的经典算法。
优点:(1)收敛速度快:静态优化算法的问题固定,算法计算的过程中可以充分利用问题的性质,因此可以只关注一个最优解,避免算法在搜索空间中迷失,从而达到较快的收敛速度。
(2)易于理解:静态优化算法相对简单易懂,算法的运行过程也相对直观,不需要对数据流的变化有过多的考虑,因此易于理解和实现。
缺点:(1)对数据分布要求高:在静态优化算法中,数据分布对算法的效果有较大影响,因为算法依赖于数据分布中的信息。
(2)无法应对数据变化:静态优化算法只能在数据固定的场景下使用,无法适应数据变化。
应用场景:静态优化算法适用于问题固定且数据不变的场景,常见于物联网领域、搜索引擎优化、金融风险管理等领域。
二、动态优化算法动态优化算法是指问题和数据都会变化的场景,需要算法能够在不断变化的数据流中寻找最优解。
常见的动态优化算法有在线随机梯度下降算法、变分推断算法等。
优点:(1)能够适应数据变化:动态优化算法可以实时监测数据流的变化,根据变化情况对算法进行调整和优化,保证算法始终在变化的数据流中寻找最优解,因此具有较强的适应性。
(2)准确性高:动态优化算法可以根据数据流的变化进行更加精确的推断和预测。
缺点:(1)处理速度相对较慢:由于算法需要实时监测数据流的变化,所以算法可能需要更多的计算资源和时间。
(2)实现难度大:动态优化算法对算法实现的要求高,需要算法专业人员进行设计和优化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
( x i sin (! \ xi \ ) ) , \ xi \ i =1
500
(8) 其中, ( a ij )
f15 ( x) =
i =1
[a
i
-
2 2 x( 1 6 i + 6 i x2 ) , \ xi \ 2 6 i + 6 i x3 + x4
]
5 ( 15 )
…, 420 . 最优状态和最优值为 f( 8 x ) = f( 8 420 . 9687 , 9687 ) = - 12569 . 5 9) Generahized Rastrigin's Function
第 23 卷
第3 期
计
算
机
仿
真
2006 年 3 月
文章编号: 1006 - 9348 ( 2006 ) 03 - 0149 - 05
若干优化算法的运行分析比较
王静, 蒋珉
( 东南大学自动化研究所, 江苏 南京 210096 ) 摘要: 研究了若干优化算法在连续空间寻优问题中的应用。通过对标准寻优问题的寻优结果, 分析并比较了优化算法的运 行效果。考察的性能指标主要有寻优偏差、 寻优次数等, 分析比较方法采用平均分析法和最优最差分析方法等。文中涉及 到的优化算法有遗传算法、 模拟退火法、 禁忌搜索法、 单纯形法和蚁群算法。实验结果表明, 单纯形法受解空间的维数以及 寻优问题类型的影响较大, 而遗传算法、 模拟退火法、 禁忌搜索法和蚁群算法对各个标准寻优问题则各有所长。对于工程中 的实际寻优模型, 可将其与标准寻优问题相对照以选择较适合的算法。 关键词: 函数优化; 遗传算法; 模拟退火法; 禁忌搜索法; 单纯形法; 蚁群算法 TM622 ;TM732 中图分类号: 文献标识码: A
30
=
( 0 . 1957 , 0 . 1947 , 0 . 1735 , 0 . 16 , 0 . 0844 . 0 . 0627 , 0 . 0456 , 0 . 0342 , 0 . 0323 , 0 . 0235 , 0 . 0246 )
( 1 / 6 i ) =( 0 . 25 , 0. 5, 1, 2, 4, 6, 8, 10 , 12 , 14 , 16 ) 5 . 12 (9) 最优状态和最优值为 f15 ( x ) = f15 ( 0 . 1928 , 0 . 1908 , 0. 1231 , 0 . 1358 ) 0 . 0003075 16 ) Six - Hump Cameh - Back Function
5. 1 2 5 1 2 x1 + x - 6) + 10 (1 ) cosx1 + 10 , 8! ! 1 4 !2 -5 x1 10 , 0 x2 15 ( 17 )
最优状态和最优值为 f11 ( x ) = f11 (0, …, 0) = 0 12 ) Generahized Penahized Function f12 ( x) = ! 2 { 10sin( ! y1 ) + 30
Comparison of Operational Behavior for Several Optimization Algorithms
WANG Jing, JIANG Min
( Research Institute of Automation,Southeast University,Nanjing Jiangsu 210096 ,China) ABSTRACT: The appiication of severai optimization aigorithms in continuous function optimization is studied. Based on the operationai resuits for some standard optimization probiems,the effects of the optimization aigorithms are compared. The guide iines considered are dispersion of objective function vaiue and searching times,and the average anaiyticai method and the worst - best anaiyticai method are used. Genetic Aigorithm,Simuiated Anneaiing,Tabu Search,Simpiex Aigorithm,Ant System Aigorithm are inciuded. Experiment resuits show that Simpiex Aigorithm is more sensitive to the dimension of the probiems,whiie the others are fit for certain modeis,comparativeiy. As to the naturai optimization modeis in engineering,it is suggested to choose suited aigorithms comparing to the standard probiems. KEYWORDS : Function optimization; Genetic aigorithm; Simuiated anneaiing; Tabu search; Simpiex aigorithm; Ant system aigorithm
2 i
4 6 2 4 f16 ( x ) = 4 x2 \ xi \ 1 - 2 . 1 x1 + x1 / 3 + x1 x2 - 4 x2 + x2 ,
5 ( 16 )
i =0
- exp (
i =1
cos ( 2 !x i ) / 30 )+ 20 + e, \ xi \
32 ( 10 )
最优状态和最优值为 f16 ( x )= f16 ( 0 . 08983 , - 0 . 7126 )= f16 ( - 0 . 08983 , 0 . 7126 ) = - 1 . 0316285 17 ) Branin Function
50
( 13 )
( x ) = f13 (1, …, 1) = 0 最优状态和最优值为 f13 14 ) Shekeh's Foxhohes Function f14 ( x) =
最优状态和最优值为 f( …, 1) = 0 5 x ) = f( 5 1, 6) Step Function
30
[
1 + 500
f( 9 x) =
[ x2 ( 2 !x i )+ 10 ] , \ xi \ i - 10cos
i =1
最优状态和最优值为 f( …, 0) = 0 9 x ) = f( 9 0, 10 ) Ackhey's Function f10 ( x) = - 20exp
30
[ - 0. 2
30
!
x / 30 ]
1) Sphere Modei
收稿日期: 2005 - 02 - 03
f( 3 x) =
(
i =1 j =1
2 xj ) , \ xi \
100
(3)
…, 0) = 0 最优状态和最优值为 f( 3 x ) = f( 3 0, 4) Schwefei's Probiem 2. 21
— 149 —
f( {\ x i \ } , \ xi \ 4 x ) = max
1
引言
函数优化问题一般可归为求解一个目标函数的最小值
30
f( 1 x) =
i =1
x2 \ xi \ i,
100
(1)
问题, 而很多问题又可以归为某一类的寻优问题。目前普遍 认为进化类寻优算法对于高维和非线性问题有其独特的优 点
[1, 2]
T 其中, x =( x1 , …, xn ) , n 为自变量 x 的维数, 下同。
30
f( 7 x) =
i =1
ix4 [0, 1) , \ xi \ i + random
1 . 28 ( 7 )
…,0 , 16 , 32 - 32 ,- 16 , 0 , 16 , 32 , - 32 , () 32 ,- 32 ,- 32 ,- 32 ,- 32 ,- 16 , …, 32 , 32 , 32 1
最优状态和最优值为 f( …, 0) = 0, 其中 1 x ) = f( 1 0, x
T =( x1 , …, xn ) 为已知的最优状态, 下同。
。然而对于具体工程问题, 选择何种优化算法都是根
据自己的经验或者喜好, 具有一定的盲目性。本文通过对各 类标准寻优问题的实验数据结果的分析, 比较了各算法对不 同问题的寻优效果。目的在于在具体工程问题寻优算法的 选取中能起到参考作用。
…, 0) = 0 最优状态和最优值为 f( 4 x ) = f( 4 0, 5) Generahized Rosenbrock's Function
29
f( 5 x) =
2 2 [ 100 ( x i + 1 - x2 (1 - xi ) ] , \ xi \ i) + i =1
30 (5)
U ( xi , 5, 100 , 4) , \ xi \
25 2 j =1
1 j+
6 ( x i - a ij ) i =1
]
-1
, ( 14 )
f( 6 x) =
Байду номын сангаас
2 ( xi + 0. 5」 ) , \ xi \ i =1