基于最速下降法和遗传算法求解函数的优化问题
- 格式:doc
- 大小:147.50 KB
- 文档页数:4
遗传算法是一种优化技术,基于生物进化原理,包括交叉、突变和自然选择等过程。
遗传算法通常用于解决复杂的优化问题,例如机器学习、数据挖掘和控制系统等。
以下是一些遗传算法的优化技巧:1.选择合适的编码方案:编码方案是将问题的解空间映射到遗传算法能够处理的搜索空间的方法。
对于某些问题,二进制编码可能更适合,而其他问题可能需要实数编码或有序编码。
选择合适的编码方案可以使遗传算法更加有效。
2.合理设计适应度函数:适应度函数是用来评估每个个体的优劣程度的函数。
适应度函数的设计应该与问题的目标函数相匹配,并且应该尽可能简单和高效。
同时,适应度函数还应该具有明确的物理意义或实际意义,以便更好地理解算法的性能和结果。
3.选择合适的交叉和突变算子:交叉和突变算子是遗传算法中的两个重要操作,它们可以增加种群的多样性,并有助于算法跳出局部最优解。
选择合适的交叉和突变算子可以提高算法的性能和效率。
4.使用精英策略:精英策略是一种保留优秀个体的策略,即将每一代中的最优个体直接复制到下一代中。
使用精英策略可以加快算法的收敛速度,并提高找到的解的质量。
5.控制种群大小:种群大小是影响遗传算法性能的一个重要参数。
种群大小太小可能会导致算法陷入局部最优解,而种群大小太大则可能会导致计算时间和内存消耗增加。
因此,需要根据问题的规模和复杂度选择合适的种群大小。
6.合理设置终止条件:终止条件是控制遗传算法运行时间和终止条件的方法。
常见的终止条件包括达到最大迭代次数、找到满意的解或达到某个收敛标准等。
选择合适的终止条件可以平衡算法的运行时间和找到的解的质量。
7.并行化遗传算法:对于大规模的优化问题,可以将遗传算法并行化以提高计算效率和性能。
并行化遗传算法可以通过将种群分成多个子种群,并在不同的处理器上同时进行进化来实现。
8.与其他优化方法结合使用:遗传算法可以与其他优化方法结合使用,例如梯度下降法、模拟退火法等。
这些方法可以弥补遗传算法的不足之处,提高算法的性能和效率。
化学反应动力学模型参数优化方法综述引言化学反应动力学模型是研究化学反应速率和反应机制的重要工具。
它描述了反应物质浓度随时间变化的规律,并通过参数来描述反应速率的变化。
优化这些参数可以帮助我们更好地理解反应机制、预测反应性能和优化工艺条件。
本文将综述几种常用的化学反应动力学模型参数优化方法,并讨论其优劣和适用范围。
一、试错法(Trial-and-error method)试错法是最简单直观的参数优化方法。
它通过不断尝试不同参数值的组合,并比较求解模型与实验数据的误差来寻找最优参数。
虽然这种方法容易实施,但在参数空间大、模型复杂的情况下,它的效率很低。
因此,对于复杂的化学反应动力学模型,试错法无法满足要求。
二、梯度法(Gradient-based method)梯度法是一种基于求导的优化方法。
它通过计算损失函数对参数的梯度,指导参数的更新方向和步长。
梯度法有多种变体,如最速下降法、共轭梯度法和拟牛顿法等。
梯度法在参数空间中寻找使损失函数最小化的参数组合。
由于数值误差和局部最优解问题,梯度法可能陷入局部最优解,无法找到全局最优解。
但在参数空间光滑且凸的情况下,梯度法是一种有效的优化方法。
三、遗传算法(Genetic algorithm)遗传算法是一种模拟自然界生物进化原理的全局优化方法。
它通过使用群体间的交叉、变异、选择等操作,在参数空间中搜索最优解。
遗传算法的特点是能够全局搜索,对初始参数值不敏感,但计算量较大。
遗传算法在模型参数空间复杂、不光滑的情况下表现出色,并在反应动力学模型参数优化中得到广泛应用。
四、贝叶斯优化(Bayesian optimization)贝叶斯优化基于高斯过程(Gaussian Process)建模,以概率为基础进行参数优化。
它通过不断更新先验(先验概率分布)和后验(后验概率分布),在不同参数组合上进行测试并选择下一个最有可能导致最小损失函数的参数组合。
贝叶斯优化能够通过不断积累的信息,更加高效地搜索参数空间,并适用于参数优化过程中采样数据有噪声的情况。
Matlab中的最优化问题求解方法近年来,最优化问题在各个领域中都扮演着重要的角色。
无论是在工程、经济学还是科学研究中,我们都需要找到最优解来满足特定的需求。
而Matlab作为一种强大的数值计算软件,在解决最优化问题方面有着广泛的应用。
本文将介绍一些Matlab中常用的最优化问题求解方法,并探讨其优缺点以及适用范围。
一. 无约束问题求解方法1. 最速下降法最速下降法是最简单且直观的无约束问题求解方法之一。
其基本思想是沿着梯度的反方向迭代求解,直到达到所需的精度要求。
然而,最速下降法的收敛速度通常很慢,特别是在局部极小值点附近。
2. 共轭梯度法共轭梯度法是一种改进的最速下降法。
它利用了无约束问题的二次函数特性,通过选择一组相互共轭的搜索方向来提高收敛速度。
相比于最速下降法,共轭梯度法的收敛速度更快,尤其适用于大规模优化问题。
3. 牛顿法牛顿法是一种基于二阶导数信息的优化方法。
它通过构建并求解特定的二次逼近模型来求解无约束问题。
然而,牛顿法在高维问题中的计算复杂度较高,并且需要矩阵求逆运算,可能导致数值不稳定。
二. 线性规划问题求解方法1. 单纯形法单纯形法是一种经典的线性规划问题求解方法。
它通过在可行域内进行边界移动来寻找最优解。
然而,当问题规模较大时,单纯形法的计算复杂度会大幅增加,导致求解效率低下。
2. 内点法内点法是一种改进的线性规划问题求解方法。
与单纯形法不同,内点法通过将问题转化为一系列等价的非线性问题来求解。
内点法的优势在于其计算复杂度相对较低,尤其适用于大规模线性规划问题。
三. 非线性规划问题求解方法1. 信赖域算法信赖域算法是一种常用的非线性规划问题求解方法。
它通过构建局部模型,并通过逐步调整信赖域半径来寻找最优解。
信赖域算法既考虑了收敛速度,又保持了数值稳定性。
2. 遗传算法遗传算法是一种基于自然进化过程的优化算法。
它模拟遗传操作,并通过选择、交叉和变异等操作来搜索最优解。
遗传算法的优势在于其适用于复杂的非线性规划问题,但可能需要较长的计算时间。
华中师范大学计算机科学系实验报告书实验题目:用遗传算法求解Rosenbrock函数的最大值问题课程名称:智能计算主讲教师:***辅导教师:课程编号:班级:2011级实验时间:2011.11用遗传算法求解Rosenbrock函数最大值问题摘要:本文利用遗传算法研究了求解Rosenbrock函数的最大值问题.在较多的计算机模拟实验结果中表明,用遗传算法可以有效地解决这一问题.文中分析了一种基于遗传算法对Rosenbrock函数最大值问题的求解,得到了适于解决此问题的合理的遗传操作,从而为有效地解决最速下降法所不能实现的某一类函数代化问题提供了一种新的途径.通过对基于遗传算法对Rosenbrock函数最大值问题的求解,进一步理解遗传算法对解决此类问题的思想。
关键词:遗传算法,Rosenbrock函数,函数优化,最速下降法。
Abstract:This paper deals with the maximum of Rosenbrock s function based ongenetic algorithms. The simulated results show that the problem can be solved effectivelyusing genetic algorithms. The influence of some rnodified genetic algorithms on searchspeed is also examined. Some genetic operations suitable to the optimization technique areobtained, therefore, a novel way of solving a class of optimizations of functions that cannot be realized using the method of steepest descent is proposed.Through dealing with the maximum of Rosenbrock s function based ongenetic algorithms,a better understanding of the genetic algorithm to solve such problems thinking.Keyword:ongenetic algorithms,Rosenbrock function,function optimization,Steepest descent method绪论:无约束的函数优化是应用范围广泛的一类函数优化问题,随着对这类问题逐渐深入的研究,到目前为止,人们已经提出了许多无约束最优化的方法,例如:导数的梯度法,牛顿法,共轭梯度法等多种方法。
遗传算法优化模型求解效率评估与改进策略遗传算法(Genetic Algorithm, GA)是一种基于生物进化思想的启发式优化算法,在解决复杂优化问题上表现出色。
然而,随着问题规模的增大和复杂度的提高,遗传算法的求解效率成为一个关键问题。
本文将对遗传算法求解效率进行评估,并提出改进策略,以提高遗传算法的求解效率。
为了评估遗传算法的求解效率,我们需要考虑两个方面的因素:算法的收敛速度和搜索空间的规模。
首先,算法的收敛速度是衡量算法求解效率的重要指标之一。
收敛速度越快,算法越快达到最优解或近似最优解。
在遗传算法中,收敛速度一般通过收敛曲线来评估。
收敛曲线是指算法迭代过程中目标函数值的变化情况。
通过观察收敛曲线的变化趋势,我们可以判断算法是否收敛以及收敛的速度如何。
其次,搜索空间的规模也是影响遗传算法求解效率的重要因素。
搜索空间的规模越大,遗传算法需要更多的迭代次数来找到最优解。
因此,需要对问题的搜索空间进行合理的定义和划分,以减少搜索空间的规模。
针对遗传算法求解效率的评估,我们可以采用以下方法:1. 收敛速度评估:通过收敛曲线的变化趋势来评估算法的收敛速度。
可以绘制目标函数值随迭代次数的变化曲线,并观察曲线的降低速度和平稳性。
如果曲线下降迅速并趋于平稳,说明算法的收敛速度较快;反之,则需要考虑改进算法以提高收敛速度。
2. 搜索空间规模评估:通过定义和划分问题的搜索空间,并统计搜索空间的规模来评估算法的求解效率。
可以计算搜索空间的维度和具体数目,以及每个维度的取值范围。
如果搜索空间规模过大,可以考虑进行问题的优化或者使用其他的优化算法。
评估完遗传算法的求解效率后,我们可以采取以下改进策略以提高算法的求解效率:1. 适应度函数设计:适应度函数在遗传算法中起着至关重要的作用。
适应度函数的设计应该能够准确衡量个体的优劣,并具有导向性,使得更优秀的个体更有可能被选中。
可以根据具体问题的特点,设计合适的适应度函数,以提高算法的求解效率。
遗传算法的性能评价方法遗传算法(Genetic Algorithm,GA)是一种基于自然选择和遗传机制的优化算法,被广泛应用于求解复杂问题。
然而,如何评价遗传算法的性能一直是一个关注的焦点。
本文将探讨遗传算法的性能评价方法。
一、问题定义在评价遗传算法的性能之前,首先需要明确问题的定义。
不同的问题可能需要不同的评价指标。
例如,在求解函数优化问题时,常用的评价指标包括收敛速度、最优解的精度等;而在求解组合优化问题时,评价指标可能包括找到的可行解数量、解的质量等。
因此,在评价遗传算法的性能时,需要根据具体问题的特点选择合适的评价指标。
二、收敛速度收敛速度是评价遗传算法性能的重要指标之一。
收敛速度指的是遗传算法在求解问题时,找到最优解所需的迭代次数。
一般来说,收敛速度越快,遗传算法的性能越好。
常用的评价方法包括绘制收敛曲线、计算收敛速度等。
绘制收敛曲线是一种直观的评价方法。
通过绘制每一代种群的适应度值随迭代次数的变化曲线,可以观察到遗传算法的收敛情况。
如果曲线在迭代初期快速下降,并在后期趋于平稳,则说明遗传算法具有较好的收敛速度。
计算收敛速度是一种定量的评价方法。
常用的计算方法包括计算平均收敛速度、最大收敛速度等。
平均收敛速度指的是遗传算法在多次运行中找到最优解所需的平均迭代次数;最大收敛速度指的是遗传算法在多次运行中找到最优解所需的最大迭代次数。
通过计算收敛速度,可以对遗传算法的性能进行定量评价。
三、解的质量除了收敛速度,解的质量也是评价遗传算法性能的重要指标之一。
解的质量指的是遗传算法找到的最优解与真实最优解之间的差距。
解的质量越高,遗传算法的性能越好。
常用的评价方法包括计算解的相对误差、计算解的准确率等。
计算解的相对误差是一种常用的评价方法。
相对误差指的是遗传算法找到的最优解与真实最优解之间的相对差距。
通过计算相对误差,可以评估遗传算法的解的质量。
另外,计算解的准确率也是一种常用的评价方法。
准确率指的是遗传算法找到的最优解与真实最优解之间的一致性程度。
数值优化算法在现代科学和工程中,数值优化算法被广泛应用于解决各种复杂问题。
数值优化算法是一种寻找函数极值的方法,这些函数可能具有多个自变量和约束条件。
数值优化算法对于在实际问题中找到最佳解决方案至关重要。
本文将介绍几种常见的数值优化算法及其应用。
一、梯度下降法梯度下降法是一种常用的数值优化方法。
它通过寻找损失函数的梯度来更新参数,以在每次迭代中逐步接近极值点。
梯度下降法的优势在于简单易实现,并且在大规模数据集上的表现良好。
这使得它成为许多机器学习算法中参数优化的首选方法。
二、牛顿法牛顿法是一种用于寻找函数极值点的迭代优化算法。
它利用函数的一阶导数和二阶导数信息来逼近极值点。
与梯度下降法相比,牛顿法的收敛速度更快,但它的计算复杂度更高。
牛顿法在求解高维问题或拟合复杂曲线时表现出色。
三、遗传算法遗传算法是一种模拟生物遗传和进化过程的优化算法。
它通过使用选择、交叉和变异等操作,模拟自然界的进化规律,来寻找函数的最优解。
遗传算法适用于复杂问题,能够在搜索空间中找到全局最优解。
在函数不可导或离散问题中,遗传算法能够提供有效的解决方案。
四、模拟退火算法模拟退火算法是一种启发式搜索算法,模拟了金属退火过程中原子随温度变化的行为。
模拟退火算法以一定的概率接受更差的解,并以较低的概率逐渐收敛到全局最优解。
模拟退火算法对局部极小点有一定的免疫能力,并且在大规模离散优化问题中表现出优越性。
五、粒子群算法粒子群算法是一种基于群体行为的优化算法。
它模拟了鸟群觅食的行为,通过迭代寻找问题的最优解。
粒子群算法通过评估适应度函数来引导粒子的移动,从而逐渐靠近最优解。
这种算法适用于多目标优化问题和高维函数优化。
结论数值优化算法在科学和工程领域扮演着至关重要的角色。
梯度下降法、牛顿法、遗传算法、模拟退火算法和粒子群算法是几种常见的数值优化方法。
它们各自具有不同的优势和适用范围,可以根据问题的特点选择合适的优化算法。
通过应用这些优化算法,可以帮助科学家和工程师在实际问题中找到最佳解决方案,推动技术的进步和创新。
单目标优化常用算法单目标优化算法是指通过调整问题的某些变量,使得目标函数达到最优值的算法。
常见的单目标优化算法包括梯度下降法、遗传算法、粒子群算法等。
本文将对这些常用算法进行介绍和比较。
梯度下降法是一种基于函数的一阶导数信息的最优化方法。
其基本思想是通过迭代的方式不断调整变量的取值,使得目标函数在当前点的梯度方向上下降最快。
梯度下降法的优点是简单易懂,容易实现。
然而,梯度下降法的缺点也是显而易见的,它可能会陷入局部最优解,而无法找到全局最优解。
遗传算法是一种模拟自然选择和遗传机制的优化算法。
它通过模拟生物进化的过程,利用变异、交叉和选择等操作来搜索最优解。
遗传算法的优点是能够有效地避免陷入局部最优解,并且可以处理复杂的非线性问题。
然而,遗传算法也存在一些缺点,比如收敛速度较慢,需要对问题进行适当的编码和解码操作。
粒子群算法是一种基于群体智能的优化算法。
它通过模拟鸟群、鱼群等群体行为,将问题的解看作粒子的位置,通过更新粒子的速度和位置来搜索最优解。
粒子群算法的优点是全局搜索能力较强,能够快速收敛到最优解。
然而,粒子群算法也存在一些缺点,比如对问题的解空间分布敏感,容易陷入局部最优解。
除了上述的三种常见算法,还有一些其他的单目标优化算法,比如模拟退火算法、蚁群算法等。
这些算法各有优缺点,适用于不同类型的问题。
在选择使用哪种单目标优化算法时,需要根据具体的问题性质和要求进行综合考虑。
如果问题比较简单,可以选择梯度下降法或者遗传算法;如果问题比较复杂,可以选择粒子群算法或者其他更复杂的算法。
此外,还可以结合多个算法进行组合使用,以提高求解效果。
单目标优化算法是求解最优化问题的重要工具。
不同的算法有不同的优缺点,需要根据具体情况选择合适的算法。
在使用这些算法时,还需要注意调整算法的参数,以获得更好的求解效果。
希望本文可以对读者有所启发,帮助他们更好地理解和应用单目标优化算法。
数学技术中常用的优化算法及使用技巧在数学技术领域中,优化算法是一种重要的工具,它可以帮助我们在给定的条件下找到最优解。
无论是在工程、经济、医学还是其他领域,优化算法都扮演着重要的角色。
本文将介绍一些常用的优化算法及其使用技巧。
一、梯度下降法梯度下降法是一种常见的优化算法,它通过迭代的方式不断调整参数的值,以找到使目标函数最小化的最优解。
其基本思想是通过计算目标函数的梯度,沿着梯度的反方向进行参数的更新。
这样,我们可以逐步接近最优解。
在使用梯度下降法时,需要注意以下几点。
首先,选择合适的学习率。
学习率决定了每一步参数更新的大小,过大或过小的学习率都可能导致算法的收敛速度变慢或者无法收敛。
其次,需要设置合适的停止条件。
一般来说,可以通过设定目标函数的变化量小于某个阈值来判断算法是否停止。
最后,需要对输入数据进行预处理,以提高算法的性能。
二、遗传算法遗传算法是一种模拟自然进化过程的优化算法。
它通过模拟自然界中的遗传、变异和选择等过程,来搜索问题的最优解。
遗传算法的基本思想是通过不断迭代地生成和改进解的群体,逐步接近最优解。
在使用遗传算法时,需要注意以下几点。
首先,需要选择合适的编码方式。
编码方式决定了解的表示形式,不同的编码方式适用于不同类型的问题。
其次,需要设计合适的适应度函数。
适应度函数用于评估解的质量,它决定了解在进化过程中的生存和繁殖能力。
最后,需要设置合适的参数。
参数包括种群大小、交叉概率、变异概率等,它们会影响算法的性能。
三、模拟退火算法模拟退火算法是一种基于物理退火过程的优化算法。
它通过模拟固体物体在高温下冷却的过程,来搜索问题的最优解。
模拟退火算法的基本思想是通过接受一定概率的劣解,以避免陷入局部最优解。
在使用模拟退火算法时,需要注意以下几点。
首先,需要选择合适的初始温度和退火率。
初始温度决定了算法开始时接受劣解的概率,退火率决定了温度的下降速度。
其次,需要设计合适的能量函数。
能量函数用于评估解的质量,它决定了解在退火过程中的接受概率。
数据科学中的最优化方法在数据科学领域,最优化方法是一种重要的数学工具,用于解决各种问题,如参数估计、模型选择、特征选择等。
最优化方法的目标是找到使得目标函数取得最大或最小值的变量取值。
本文将介绍几种常用的最优化方法,并探讨它们在数据科学中的应用。
一、梯度下降法梯度下降法是一种常用的优化算法,它通过迭代的方式逐步优化目标函数。
其基本思想是沿着目标函数的负梯度方向进行搜索,直到找到最优解。
梯度下降法有多种变体,如批量梯度下降法、随机梯度下降法和小批量梯度下降法等。
在数据科学中,梯度下降法广泛应用于模型参数的估计。
例如,在线性回归中,我们可以使用梯度下降法来估计回归系数,使得模型的预测误差最小化。
此外,梯度下降法还可以用于神经网络的训练、支持向量机的优化等。
二、牛顿法牛顿法是一种迭代的优化算法,它通过近似目标函数的二阶导数来更新变量的取值。
牛顿法的基本思想是通过二次近似来逼近目标函数,并求得使得二次近似函数取得最小值的变量取值。
牛顿法的收敛速度较快,但计算复杂度较高。
在数据科学中,牛顿法常用于解决非线性优化问题。
例如,在逻辑回归中,我们可以使用牛顿法来估计模型的参数,以最大化似然函数。
此外,牛顿法还可以用于求解无约束优化问题、非线性方程组的求解等。
三、拟牛顿法拟牛顿法是一种改进的牛顿法,它通过近似目标函数的梯度来更新变量的取值。
拟牛顿法的基本思想是通过一系列的迭代步骤来逼近目标函数,并求得最优解。
拟牛顿法的计算复杂度较低,收敛速度较快。
在数据科学中,拟牛顿法常用于解决大规模优化问题。
例如,在深度学习中,我们可以使用拟牛顿法来训练神经网络,以最小化损失函数。
此外,拟牛顿法还可以用于求解约束优化问题、非线性方程组的求解等。
四、遗传算法遗传算法是一种模拟自然进化过程的优化算法,它通过模拟生物进化的过程来求解最优解。
遗传算法的基本思想是通过选择、交叉和变异等操作来不断改进种群的适应度,并逐步逼近最优解。
遗传算法具有全局搜索能力,但计算复杂度较高。
基于最速下降法和遗传算法求解函数的优化问题
作者:李卫利李伟杰李丽苗
来源:《科学与财富》2016年第01期
摘要:遗传算法具有"早熟收敛"的缺点,所以利用最速下降法对遗传算法进行改进。
定义适当的适应度函数和子代个体的选择算子,结合遗传算法和最速下降法两者的长处,得到既有较快收敛性,又能以较大概率得到全局极值的新的用于连续函数全局优化的混合数值算法。
数值计算结果表明了本文方法显著优于求解函数优化的遗传算法和最速下降法。
关键词:遗传算法最速下降法函数优化适应度
Abstract:Genetic algorithm has the shortcoming of "premature convergence",so using the steepest descent method to improve the genetic algorithm.A proper fitness function and a selecting operator for son generation are defined,a hybrid algorithm for global optimization of continuous function,combined the advances of both of genetic algorithm and steepest decent algorithm,is got with fast convergence and great probability for global optimization.The nuerical computing results shown that the method is distinctly superior to the genetic algorithm and steepest decent algorithm.
Keywords:genetic algorithm; steepest decent algorithm; function optimization ; fitness
1. 引言
遗传算法(Genetic Algorithm)是由美国Michigan大学J.Holland教授提出来的基于达尔文适者生存、优胜劣汰的进化原则,对包含可能解的群体反复使用遗传学的基本操作,使种群不断进化的一种优化算法。
其主要优点是简单、鲁棒性强。
但GA存在的问题是:在进化后期,群体包含的大多数个体的适应值接近最优解,以致实际上缺乏竞争,使选择过程变慢,当进化过程足够慢时,就进入“早熟收敛”状态。
显然,这个状态对应的最优个体只是一个可行解,它也许不是全局最优点,甚至不是局部最优点。
综合以上GA存在的问题,本文采用最速下降法帮助离开“早熟收敛”状态。
其基本思想是在每次迭代中增加一个最速下降算子,对群体中的任一个体进行一次微调。
其结果是,算法可能跳出这个“早熟收敛”状态,而进入另一个“早熟收敛”状态,并且每一次迭代中,由于都要进行编码和解码的操作,将影响算法的收敛速度。
作为一种尝试,本文把最速下降法与改进的GA相结合,提出一种新的混合优化算法。
2 基于最速下降法和遗传算法的函数优化混合数值算法
最速下降法的迭代路线呈锯齿形,求得的是局部最优解,我们可以利用它的局部性质,针对遗传算法的“早熟收敛”这一特点进行改进,使得遗传算法避免“早熟收敛”。
本文提出的混合算法如下:
1.随机产生初始父代群体并计算其适应度
2.对初始父代群体的每个个体进行编码
3.Repeat
4. 选择群体中两个个体以概率Pc进行编码、杂交、解码运算,将父代和子代都加入新的子代群体
5. 对新的子代群体中每个个体以概率Pm进行编码、变异、解码运算,将父代和子代都加入新的子代群体
6. 对新的子代群体中每个个体以概率Ps计算f(xk),并进行线性搜索xk+1=xk+λkdk,将子代取代父代加入新的子代群体
7. 对每个个体计算适应度,以既定的群体规模选择下一次繁殖的子代群体(适者繁值,不适者被淘汰)
8.Until(结束迭代逻辑条件满足)
2.1 适应度函数定义
由于待优化的函数f(x)的值可正可负,而适应度函数需恒为正。
因此,本文的上述混合算法的适应度函数g(x)定义为当个体的函数值大于0时g(x)=f(x);若个体的函数值不大于0时g(x)=0。
这样就保证了个体的适应值均是大于0的。
2.2 线性搜索算子
为了加速遗传算法在连续可微函数全局优化问题上的收敛性,发挥传统数值优化算法在计算速度与计算精度上的优势,本文混合算法中嵌入了一个最速下降算子。
该最速下降算子主要进行的是传统最速下降法中的线性搜索运算。
3.数值测试及结果分析
本节考虑如下连续可微函数的有限区间的全局极值问题
f=10*sin(5*x)+7*cos(4*x);(0≤x≤10)
该函数极大值点在1.6和7.9附近取得,最值约为17。
3.1 单纯遗传算法和混合算法最值测试比较
由以下表4.1所示五组数据,可以看出遗传算法寻找最值,重复较多的次数才能找到接近真实最值的结果。
而混合算法寻找最值重复较少的次数就找到接近真实最值的结果,并且其结果整体较遗传算法优。
3.2 结论及分析
本文利用遗传算法中杂交(crossover)算子、变异(mutation)算子和选择算子在全变量空间,以较大概率搜索全局极值的特点,以及函数数值优化中最速下降法收敛快、计算数值精度高的特点,给出了一个适用于函数数值优化的混合优化算法。
参考文献:
[1]孙文瑜,徐成贤,朱德通.最优化方法[M].北京:高等教育出版社,2010.07.
[2]马昌凤.最优化方法及其Matlab程序设计[M].北京:科学出版社,2010.
[3]袁亚湘,孙文瑜.最优化理论与方法[M].北京:科学出版社,1999.05.
[4]赵明旺.基于遗传算法和最速下降法的函数优化混合数值算法[J].系统工程理论与实践,1999.07.
[5]郭成,李连庆.遗传算法的Matlab7.0程序实现[J].江苏:淮海工学院学报,2010.09.
[6]葛继科,邱玉辉,吴春明,蒲国林.遗传算法研究综述[J].计算机应用研究,2008.10.
[7]马永杰,云文霞.遗传算法研究进展[J].计算机应用研究,2012.04.。