非线性模型参数估计的遗传算法
- 格式:doc
- 大小:234.38 KB
- 文档页数:17
遗传算法神经网络逼近非线性函数引言在实际问题中,许多现象都表现为非线性的特征。
为了解决这些问题,我们可以利用遗传算法与神经网络相结合的方法,通过逼近非线性函数来实现更精确的预测和优化。
遗传算法与神经网络的基本原理- 遗传算法是一种仿生算法,模拟自然界中基因进化的过程。
通过不断进化和优胜劣汰来找到最优解。
其基本操作包括选择、交叉、变异等。
- 神经网络是一种基于生物神经系统的模型,通过多层次的神经元和连接权重来模拟复杂的非线性映射关系。
其基本单位是神经元,通过激活函数来处理输入信号并输出结果。
遗传算法神经网络逼近非线性函数的过程1. 定义适应度函数:将非线性函数作为适应度函数,用于评估神经网络的预测结果与实际结果之间的误差。
2. 初始化群体:随机生成一组具有不同参数的神经网络,作为初始群体。
4. 选择操作:根据适应度函数的评估结果,选择适应度较高的个体作为下一代群体的父母。
5. 交叉操作:对选定的父母个体进行基因交叉,生成新的个体。
6. 变异操作:对新生个体进行基因变异,增加群体的多样性。
7. 更新群体:将新生成的个体加入群体中,替代适应度较低的个体。
8. 重复步骤3至7,直到找到适应度较高的个体或达到预设的停止条件。
应用及优势- 遗传算法神经网络逼近非线性函数在许多领域中都有广泛的应用,包括金融预测、图像识别、机器人控制等。
- 相比于传统的数学建模方法,遗传算法神经网络方法能够处理更加复杂的非线性问题,并具有较高的准确性和鲁棒性。
- 通过不断进化和优化,遗传算法神经网络方法能够找到全局最优解或接近最优解,具有较大的搜索空间和非线性映射能力。
结论遗传算法神经网络逼近非线性函数是一种强大的工具,可以应用于解决复杂的非线性问题并实现准确的预测与优化。
在实际应用中,我们可以根据具体问题的特点进行调整和优化,以达到更好的效果。
电路中的机器学习技术利用机器学习算法优化电路性能在现代科技发展的背景下,机器学习技术逐渐在各个领域得到应用,其中电路领域也不例外。
通过应用机器学习算法,我们可以优化电路性能,提高其效率和可靠性。
本文将着重介绍电路中的机器学习技术以及如何利用机器学习算法来优化电路性能。
一、机器学习技术在电路中的应用1. 非线性建模在传统的电路设计中,通常会采用线性模型进行分析和设计。
然而,现实中的电路往往具有复杂的非线性特性,这就需要我们采用更为准确的非线性模型来描述电路行为。
机器学习技术可以通过学习大量的电路数据,构建非线性模型,并基于该模型进行分析和优化。
2. 故障检测与诊断在电路运行过程中,故障的发生是不可避免的。
传统的故障诊断方法通常是基于专家经验和规则,但这种方式往往不够准确和高效。
机器学习技术可以通过学习电路的正常运行数据和故障数据,构建故障检测与诊断模型,实现对电路故障的准确识别和快速定位。
3. 优化设计传统的电路设计通常是基于经验和试错的方式,导致设计周期长、效率低。
机器学习技术可以通过学习大量的电路设计数据,建立设计模型,并基于该模型进行电路设计优化。
通过机器学习算法的迭代优化过程,可以在较短的时间内找到最佳的电路设计方案,提高设计效率和性能。
二、机器学习算法在电路性能优化中的应用1. 支持向量机(Support Vector Machine)支持向量机是一种常用的机器学习算法,可以用于回归和分类问题。
在电路性能优化中,支持向量机可以通过训练样本,找到最佳的分类超平面,实现对电路性能参数的优化。
通过调整支持向量机的参数,可以使电路的性能指标达到最优。
2. 神经网络(Neural Network)神经网络是一种模仿人脑神经系统的机器学习算法,可以用于解决复杂的非线性问题。
在电路性能优化中,神经网络可以通过训练样本,学习电路的非线性特性,并通过反向传播算法进行优化。
通过调整神经网络的结构和参数,可以使电路性能达到最佳。
数学建模各类方法归纳总结数学建模是一门应用数学领域的重要学科,它旨在通过数学模型对现实世界中的问题进行分析和解决。
随着科技的不断发展和应用需求的增加,数学建模的方法也日趋多样化和丰富化。
本文将对数学建模的各类方法进行归纳总结,以期帮助读者更好地了解和应用数学建模。
一、经典方法1. 贝叶斯统计模型贝叶斯统计模型是一种基于概率和统计的建模方法。
它通过利用先验知识和已知数据来确定未知数据的后验概率分布,从而进行推理和预测。
贝叶斯统计模型在金融、医药、环境等领域具有广泛应用。
2. 数理统计模型数理统计模型是基于概率统计理论和方法的建模方法。
它通过收集和分析样本数据,构建统计模型,并通过参数估计和假设检验等方法对数据进行推断和预测。
数理统计模型在市场预测、风险评估等领域有着重要的应用。
3. 线性规划模型线性规划模型是一种优化建模方法,它通过线性目标函数和线性约束条件来描述和解决问题。
线性规划模型在供应链管理、运输优化等领域被广泛应用,能够有效地提高资源利用效率和降低成本。
4. 非线性规划模型非线性规划模型是一种对目标函数或约束条件存在非线性关系的问题进行建模和求解的方法。
非线性规划模型在经济学、物理学等领域有着广泛的应用,它能够刻画更为复杂的现实问题。
二、进阶方法1. 神经网络模型神经网络模型是一种模拟人脑神经元系统进行信息处理的模型。
它通过构建多层神经元之间的连接关系,利用反向传播算法进行训练和学习,实现对复杂数据的建模和预测。
神经网络模型在图像识别、自然语言处理等领域取得了显著的成果。
2. 遗传算法模型遗传算法模型是一种模拟自然界生物进化过程的优化方法。
它通过模拟遗传、交叉和突变等过程,逐步搜索和优化问题的最优解。
遗传算法模型在组合优化、机器学习等领域具有广泛的应用。
3. 蒙特卡洛模拟模型蒙特卡洛模拟模型是一种基于随机模拟和概率统计的建模方法。
它通过生成大量的随机样本,通过对样本进行抽样和分析,模拟系统的运行和行为,从而对问题进行求解和评估。
遗传算法解决非线性规划问题的Matlab程序首先,让我们来了解一下什么是非线性规划问题。
非线性规划问题是指目标函数或约束条件中至少有一个是非线性函数的规划问题。
与线性规划问题不同,非线性规划问题的求解往往没有通用的解析方法,需要借助数值优化算法来找到最优解或近似最优解。
遗传算法是一种基于自然选择和遗传机制的随机搜索算法。
它模拟了生物进化的过程,通过对种群中个体的选择、交叉和变异操作,逐步优化个体,从而找到问题的最优解。
在解决非线性规划问题时,遗传算法将问题的解编码为染色体,通过适应度函数来评估染色体的优劣,然后通过遗传操作不断进化种群,直到找到满意的解。
接下来,我们开始介绍如何在 Matlab 中实现遗传算法来解决非线性规划问题。
首先,我们需要定义问题的目标函数和约束条件。
假设我们要解决的非线性规划问题是:\\begin{align}&\min f(x) = x_1^2 + x_2^2 2x_1x_2 + 2x_1 4x_2 + 5\\&\text{st } x_1 + x_2 \leq 5\\&-2 \leq x_1 \leq 2\\&-3 \leq x_2 \leq 3\end{align}\在 Matlab 中,我们可以定义目标函数如下:```matlabfunction f = objective(x)f = x(1)^2 + x(2)^2 2x(1)x(2) + 2x(1) 4x(2) + 5; end```约束条件可以通过定义一个函数来判断:```matlabfunction c, ceq = constraints(x)c =;ceq =;if x(1) + x(2) > 5c = x(1) + x(2) 5;endend```然后,我们需要设置遗传算法的参数。
这些参数包括种群大小、最大迭代次数、交叉概率、变异概率等。
```matlabpopSize = 50; %种群大小maxGen = 100; %最大迭代次数pc = 08; %交叉概率pm = 01; %变异概率```接下来,我们需要对个体进行编码。
遗传算法及在物流配送路径优化中的应用一、遗传算法1.1遗传算法定义遗传算法(Genetic Algorithm)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型, 是一种通过模拟自然进化过程搜索最优解的方法, 它是有美国Michigan大学J.Holland教授于1975年首先提出来的, 并出版了颇有影响的专著《Adaptation in Natural and Artificial Systems》, GA这个名称才逐渐为人所知, J.Holland教授所提出的GA通常为简单遗传算法(SGA)。
遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的, 而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。
每个个体实际上是染色体(chromosome)带有特征的实体。
染色体作为遗传物质的主要载体, 即多个基因的集合, 其内部表现(即基因型)是某种基因组合, 它决定了个体的形状的外部表现, 如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。
因此, 在一开始需要实现从表现型到基因型的映射即编码工作。
由于仿照基因编码的工作很复杂, 我们往往进行简化, 如二进制编码, 初代种群产生之后, 按照适者生存和优胜劣汰的原理, 逐代(generation)演化产生出越来越好的近似解, 在每一代, 根据问题域中个体的适应度(fitness)大小选择(selection)个体, 并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation), 产生出代表新的解集的种群。
这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境, 末代种群中的最优个体经过解码(decoding), 可以作为问题近似最优解。
1.2遗传算法特点遗传算法是一类可用于复杂系统优化的具有鲁棒性的搜索算法, 与传统的优化算法相比, 主要有以下特点:1. 遗传算法以决策变量的编码作为运算对象。
非线性回归模型的优化算法随着机器学习算法的广泛应用,非线性回归模型的优化算法也越来越受到研究者们的关注。
非线性回归模型是机器学习中常用的一种模型,例如神经网络、支持向量回归、决策树等模型都属于非线性回归模型。
而优化算法则是对这些模型进行求解的关键。
这篇文章将从非线性回归模型的定义、应用及优化算法的进展和现状等方面进行探讨。
一、非线性回归模型的定义及应用非线性回归模型是指因变量和自变量之间的关系不是线性的回归模型。
与线性回归模型不同的是,非线性回归模型不能使用最小二乘法进行拟合,需要使用其他的优化算法,例如牛顿法、拟牛顿法、共轭梯度法、遗传算法等。
非线性回归模型在很多领域都有广泛的应用,例如金融行业中的股价预测、医学领域中的疾病诊断、自然语言处理领域中的语音识别等。
二、非线性回归模型优化算法的进展和现状1. 牛顿法牛顿法是求解非线性方程组的一种方法。
在非线性回归模型中,利用牛顿法求解参数的方法称为牛顿法拟合。
牛顿法的优点在于收敛速度快,但它需要计算海森矩阵,计算量较大。
此外,当海森矩阵不可逆或者为负定矩阵时,牛顿法可能出现无法收敛的问题。
因此,在实际应用中,牛顿法需要根据具体情况进行选择。
2. 拟牛顿法拟牛顿法是指用数值求导或解析求导的方式来代替海森矩阵,从而减少计算量的方法。
拟牛顿法常用的算法包括DFP算法和BFGS算法。
拟牛顿法方法具有快速收敛,适用于大规模数据集,但是它的计算量也较大,需要进行多次迭代。
3. 共轭梯度法共轭梯度法是求解线性方程组的一种方法,也可以用来求解非线性回归模型中的参数。
共轭梯度法对计算机内存的需求较小,算法针对对称矩阵,迭代次数比牛顿法少。
但是,共轭梯度法的缺点在于对非对称矩阵的处理较差。
4. 遗传算法遗传算法是借鉴生物遗传进化的原理,使用基因编码和遗传操作进行搜索和优化的一种算法。
在非线性回归模型中,遗传算法可以用来搜索参数空间,从而得到最优解。
遗传算法的优点在于搜素范围广,具有较好的全局优化能力,但是计算量较大,需要进行多次迭代。
基于遗传算法的非线性规划问题求解研究随着科技的发展,越来越多的复杂问题需要通过计算机来解决,其中非线性规划问题就是其中之一。
在实际应用中,非线性规划问题往往需要考虑多个约束条件,这使得求解变得更加困难。
因此,寻找一种有效的求解方法变得尤为重要。
遗传算法作为一种基于生物进化思想的优化算法,在求解非线性规划问题中表现出了良好的优化效果。
其求解过程模拟了生物进化的过程,即通过模拟选择、交叉和变异等步骤,筛选出最优解。
由于遗传算法具有全局寻优性、强鲁棒性和易于并行化等特点,在非线性规划问题的求解中被广泛应用。
以下,将从遗传算法的原理、流程以及应用等方面阐述基于遗传算法的非线性规划问题求解研究。
一、遗传算法原理遗传算法的基本思想源于达尔文的进化论和孟德尔的遗传学说,其基本原理是通过人工模拟自然选择和基因遗传的过程来搜索最优解。
具体而言,遗传算法包含三个基本操作:选择、交叉和变异。
其操作包含以下主要步骤:1. 初始化:初始化种群中每个个体的基因型,可以随机生成或使用既有数据集进行初始化。
2. 评估:通过目标函数和约束条件对种群中所有个体进行评估。
3. 选择:选择适应度高的个体进入下一代,遗传算法采用轮盘赌选择法、锦标赛选择法等算法进行选择。
4. 交叉:在选择的个体之间进行基因的交叉操作,产生新的个体。
5. 变异:随机将基因中的某些位置进行变异,产生新的基因。
6. 新一代生成:通过选择、交叉和变异操作,生成新一代种群来代替原来的种群。
以上也是最基本的遗传算法流程,其优点在于针对特定问题可以进行个性化的进一步优化,如改变实数编码、确定适当的交叉种类等等。
在求解非线性规划问题中,需根据对问题特征的认识进行调整,如将约束条件引入选择和变异等操作中。
二、非线性规划问题简介非线性规划(Nonlinear programming)指在目标函数不是线性的情况下,寻找使目标函数最大或最小的决策变量的值的问题。
在实际问题中,非线性约束也是非常重要的,其使问题更具现实意义,但也为问题的求解增加了难度。
遗传算法优化及其非线性问题解决方法探讨遗传算法是一种通过模拟自然选择和遗传机制来解决优化问题的算法。
它借鉴了达尔文的进化论思想,通过模拟生物进化过程中的自然选择、交叉和变异等操作,逐步优化问题的解。
遗传算法主要用于解决复杂的非线性优化问题,如最优化问题、组合优化问题、参数优化问题等。
本文将探讨遗传算法在非线性问题优化中的应用及其相关的解决方法。
首先,遗传算法的基本原理是通过群体的进化来搜索最优解。
在遗传算法中,问题的解被表示为染色体,染色体由一串基因组成。
基因代表解的一个部分或者一个决策变量,染色体则代表整个解。
算法开始时,随机生成一组初始解的群体,然后通过选择、交叉和变异等操作对群体进行迭代优化,直到达到停止条件为止。
在选择阶段,通过适应度函数来评估每个个体的适应度,适应度越高的个体有更大的机会被选择为父代。
在交叉和变异阶段,通过交换和改变染色体的基因来产生新的解。
通过不断的迭代优化,遗传算法能够逐渐逼近最优解。
然而,非线性问题的复杂性使得传统的遗传算法在解决这些问题时面临一些挑战。
首先,非线性问题的解空间通常很大,搜索空间呈指数级增长,导致算法的搜索效率低下。
其次,在局部最优解的存在下,传统的遗传算法可能陷入局部最优解而无法找到全局最优解。
此外,对于非线性问题中存在的约束条件,传统的遗传算法很难直接处理。
因此,为了克服这些问题,人们提出了一些改进的遗传算法来应对非线性问题。
一种常见的改进方法是使用多种遗传算法策略的组合,例如混合遗传算法、自适应遗传算法和进化策略等。
混合遗传算法结合了遗传算法和其他优化方法,如模拟退火算法、粒子群算法等,以增强搜索能力。
自适应遗传算法则通过动态调整参数和操作来适应问题的特性,从而提高算法的稳定性和鲁棒性。
进化策略则主要用于连续型参数优化问题,它通过选择和变异操作来驱动个体进化,从而逐步接近最优解。
这些改进方法的应用使得遗传算法在非线性问题的求解中更加有效。
另外,还有一些特定的技术用于解决非线性问题的遗传算法,如约束处理、多目标优化和参数设置方法。
非线性回归模型与函数拟合在统计学和机器学习领域中,回归模型是一种用于预测因变量和自变量之间关系的工具。
传统的线性回归模型假设自变量和因变量之间存在线性关系,但实际问题中,很多关系都是非线性的。
因此,非线性回归模型应运而生,通过拟合非线性函数来更准确地描述数据。
一、非线性回归模型的基本原理非线性回归模型是建立在线性回归模型基础上的,它通过引入非线性项,将自变量的某些函数形式引入模型中。
常见的非线性函数包括多项式函数、指数函数、对数函数、幂函数等。
以多项式函数为例,非线性回归模型可以表示为:y = β0 + β1x + β2x^2 + ... + βpx^p + ε其中,y为因变量,x为自变量,β0, β1, ..., βp为回归系数,ε为误差项。
通过最小化误差项,可以得到最优的回归系数,从而拟合出最佳的非线性函数。
二、非线性回归模型的拟合方法1. 数值优化方法数值优化方法是非线性回归模型拟合的常用方法之一。
它通过迭代计算,寻找使误差最小的回归系数。
其中,最常用的方法是最小二乘法,即通过最小化观测值与拟合值的平方差来求解回归系数。
除此之外,还有梯度下降法、Levenberg-Marquardt算法等。
2. 遗传算法遗传算法是一种基于进化思想的优化算法,它通过模拟进化过程,逐步搜索最优解。
在非线性回归模型中,遗传算法可以用于确定最佳的回归系数。
具体实现过程是通过选择、交叉和变异等操作,逐代迭代产生新的回归系数,并通过适应度评估保留适应度最高的个体,最终得到最优解。
三、应用案例非线性回归模型在实际问题中有着广泛的应用。
以下是一个简单的案例,展示了非线性回归模型与函数拟合的应用场景。
假设我们要研究一个物种的生长速度与环境温度之间的关系。
首先,我们采集了一些数据,包括物种的生长速度和环境温度。
接下来,我们可以使用非线性回归模型来拟合这些数据,从而得到生长速度与温度之间的非线性函数关系。
通过对数据进行分析和拟合,我们可以得到一个非线性回归模型,比如:生长速度= β0 + β1温度+ β2温度^2 + ε根据最小二乘法或其他优化方法,我们可以计算出最优的回归系数β0, β1, 和β2。
非线性整数规划的遗传算法Matlab程序(附图)通常,非线性整数规划是一个具有指数复杂度的NP问题,如果约束较为复杂,Matlab优化工具箱和一些优化软件比如lingo等,常常无法应用,即使能应用也不能给出一个较为令人满意的解。
这时就需要针对问题设计专门的优化算法。
下面举一个遗传算法应用于非线性整数规划的编程实例,供大家参考!模型的形式和适应度函数定义如下:这是一个具有200个01决策变量的多目标非线性整数规划,编写优化的目标函数如下,其中将多目标转化为单目标采用简单的加权处理。
function Fitness=FITNESS(x,FARM,e,q,w)%% 适应度函数% 输入参数列表% x 决策变量构成的4×50的0-1矩阵% FARM 细胞结构存储的当前种群,它包含了个体x% e 4×50的系数矩阵% q 4×50的系数矩阵% w 1×50的系数矩阵%%gamma=0.98;N=length(FARM);%种群规模F1=zeros(1,N);F2=zeros(1,N);for i=1:Nxx=FARM{i};ppp=(1-xx)+(1-q).*xx;F1(i)=sum(w.*prod(ppp));F2(i)=sum(sum(e.*xx));endppp=(1-x)+(1-q).*x;f1=sum(w.*prod(ppp));f2=sum(sum(e.*x));Fitness=gamma*sum(min([sign(f1-F1);zeros(1,N)]))+(1-gamma)*sum(min([sign(f2-F2);zeros(1,N)]));针对问题设计的遗传算法如下,其中对模型约束的处理是重点考虑的地方function [Xp,LC1,LC2,LC3,LC4]=MYGA(M,N,Pm)%% 求解01整数规划的遗传算法%% 输入参数列表% M 遗传进化迭代次数% N 种群规模% Pm 变异概率%% 输出参数列表% Xp 最优个体% LC1 子目标1的收敛曲线% LC2 子目标2的收敛曲线% LC3 平均适应度函数的收敛曲线% LC4 最优适应度函数的收敛曲线%% 参考调用格式[Xp,LC1,LC2,LC3,LC4]=MYGA(50,40,0.3)%% 第一步:载入数据和变量初始化load eqw;%载入三个系数矩阵e,q,w%输出变量初始化Xp=zeros(4,50);LC1=zeros(1,M);LC2=zeros(1,M);LC3=zeros(1,M);LC4=zeros(1,M);Best=inf;%% 第二步:随机产生初始种群farm=cell(1,N);%用于存储种群的细胞结构k=0;while k %以下是一个合法个体的产生过程x=zeros(4,50);%x每一列的1的个数随机决定for i=1:50R=rand;Col=zeros(4,1);if R<0.7RP=randperm(4);%1的位置也是随机的Col(RP(1))=1;elseif R>0.9RP=randperm(4);Col(RP(1:2))=1;elseRP=randperm(4);Col(RP(1:3))=1;endx(:,i)=Col;end%下面是检查行和是否满足约束的过程,对于不满足约束的予以抛弃Temp1=sum(x,2);Temp2=find(Temp1>20);if length(Temp2)==0k=k+1;。
非线性变参数估计的遗传算法
高铁红;吴晓龙;刘燕;陈德生
【期刊名称】《河北工业大学学报》
【年(卷),期】2000(029)004
【摘要】在将遗传算法应用于非线性系统的变参数估计的基础上,提出了一种基于实数编码方案的自适应遗传变参数估计的一般算法,较好地解决了传统算法难以很好解决的变参数估计问题.通过在实践中应用表明,遗传算法在解决复杂非线性系统变参数估计方面具有较好的应用前景.
【总页数】4页(P62-65)
【作者】高铁红;吴晓龙;刘燕;陈德生
【作者单位】河北工业大学,机械学院,天津,300130;河北工业大学,机械学院,天津,300130;河北工业大学,机械学院,天津,300130;河北工业大学,机械学院,天津,300130
【正文语种】中文
【中图分类】O231.2
【相关文献】
1.改进遗传算法在非线性变参数估计中的应用 [J], 高铁红;李冲宵;韩彦芳;陶媚
2.非线性最小二乘估计算法拟合水泥浆流变参数 [J], 孟博
3.钻井液流变参数的非线性最小二乘估计算法 [J], 方敏;鲁港;曹传文
4.卡森模式流变参数非线性估计的改进算法 [J], 闫吉曾;罗懿;邓红琳
5.钻井液卡森模式流变参数非线性最小二乘估计新算法 [J], 鲁港;李晓光;陈铁铮;单俊峰;高益桁
因版权原因,仅展示原文概要,查看原文内容请购买。
滨江学院毕业论文(设计)题目非线性模型参数估计的遗传算法院系大气与遥感系专业测绘工程学生姓名李兴宇学号***********指导教师王永弟职称讲师二O一三年五月二十日- 目录-摘要 (3)关键词 (3)1.引言 (3)1.1 课题背景 (3)1.2 国内外研究现状 (4)1.3 研究的目的和意义 (4)1.4 论文结构 (5)2.遗传算法简介 (5)2.1 遗传算法的起源 (5)2.2 遗传算法的基本思想 (6)2.2.1 遗传算法求最优解的一般步骤 (7)2.2.2 用技术路线流程图形式表示遗传算法流程 (7)2.3 遗传算法的基本原理及设计 (8)2.3.1 适应度设计 (8)2.3.2 遗传算子操作 (9)3.遗传算法的应用实例 (9)3.1 非线性模型参数估计 (10)3.2 实例分析 (10)4.结语 (12)参考文献 (12)英文题目 (14)- 1 -- 2 -致谢 (15)非线性模型参数估计的遗传算法李兴宇南京信息工程大学滨江学院测绘工程专业,南京 210044摘要:关于非线性模型计算中的参数估计是十分棘手的问题,为此常常将这样的问题转化成非线性优化问题解决,遗传算法作为一种具有强适应性的全局搜索方法而被频繁的应用于非线性系统参数估计的计算当中,本文介绍了遗传算法及其理论基础,阐述了遗传算法在非线性模型参数估计中的应用的起源和发展,引入实例说明了遗传算法在非线性模型参数估计的实际运用中的实现,并概述了基于遗传算法的非线性参数模型估计具体解算过程,将使用遗传算法得到的结果与其他算法的解算结果进行比较,结果表明:遗传算法是一种行之有效的搜索算法,能有效得到全局最优解,在今后的研究中值得推广。
关键词:遗传算法非线性模型参数估计应用1.引言1.1课题背景当前科学技术的发展和研究已经进入了进入各个领域、多个学科互相交叉、互相渗透和互相影响的时代,生命科学的研究与工程科学的交叉、渗透和相互补充提高便是其中一个非常典型的例子,同时也表现出了近代科学技术发展的一个新的显著特点。
遗传算法研究工作的蓬勃发展以及在各个领域的广泛应用正是体现了科学发展过程的的这一明显的特点和良好的趋势。
非线性科学是一门研究复杂现象的科学,涉及到社会科学、自然科学和工程技术等诸多领域,在测绘学的研究中,尤其是在测量平差模型的研究和计算过程中,大量引入的都是非线性函数方程模型,而对于非线性模型的解算,往往过程复杂。
遗传算法的出现为研究工作提供了一种求解多模型、多目标、非线性等复杂系统的优化问题的通用方法和框架。
对于非线性系统的解算,传统上常用的方法是利用其中参数的近似值将非线性系统线性化,也就是线性近似,测绘学中通常称之为线性化,经过线性化之后,将其视为线性模型并利用线性模型的解算方法得到结果,这就很大程度的简化了解算步骤,减少了工作量,但同时会带来新的问题,运用这种传统方法得到的数据结果存在的误差较大、精度不足等问题。
利用线性近似方法对非线性模型进行参数估计,精度往往取决于模型的非线性强度。
1.2 国内外研究现状近年来,随着科学技术水平的飞速发展,测绘仪器的更新换代速度和观测技术水平也是日新月异,- 3 -- 4 -测量观测精度大大提高,在测绘学界有很多人从事非线性模型的相关研究,遗传算法作为一种具有多种优势的全局搜索能力算法被广泛运用于各个领域,涉及面很广,同时取得了很好的效果。
它的优势包括:高度的并行处理能力、强鲁棒性等。
在文献[1]中笔者提到出版于1994年的自然科学学科发展战略调整调查报告《大地测量学》一书,其中明确地提出将非线性模型参数估计理论作为大地测量学科发展的重大基础理论问题之一,可见非线性问题在测绘研究中的重要性和影响程度之大,同时也再次印证非线性问题的解算对于测绘研究的发展以及其他众多领域的研究有着关键的、无可替代的作用;文献[2]的作者曾将遗传算法应用到了计算残差绝对值以及最小准则下的非线性平差模型的问题当中,实践证明,遗传算法能够大大提高非线性模型解算结果的精度,这是解决这一问题相对较有效的途径之一;田巧玉, 古钟璧, 周新志对基于混合遗传算法求解非线性方程组进行了一些系统的研究[3];王君红, 刘宝, 袁若泉, 李桂莲通过系统研究提出了非线性模型参数估计的遗传算法领域新的见解和应用[4];胡圣武、陶本藻对于非线性模型参数估计的研究中,对其统计性质做了一些研究[5,6]; 姜波汪秉文对于基于遗传算法的非线性模型参数估计做了系统的研究,通过算例说明遗传算法对于提高非线性系统模型的解算结果精度是有效可行的[7]。
1.3 研究的目的和意义在测绘学的研究中,对于非线性模型的解算可以分为两种类型:一种是需要对函数求导之后进行解算的方法;还有一种是无需求导直接解算的搜索算法。
前者在解算过程中当遇到复杂函数模型时,求导过程往往遇到较大的困难,另外对于无法求导的函数模型也不适用。
而对于后者,无需求导,这也是近年来学界重点研究的领域,也是本文重点关注的方法。
在近年来的研究成果得到的直接搜索算法中,主要有模拟退火算法[8]、单纯形法[9]、遗传算法[10]等一系列方法。
这些算法共同的一个优点是计算过程无需求导就能直接进行计算,但是同时也无可避免的存在着一些弊端:例如模拟退火算法,它虽可以有效避免局部最小的问题,但同时存在着获得全局最小的收敛速度很慢的问题,虽能得到局部最优解,但是搜索时间过长[11];遗传算法可以同时充分的搜索空间中足够多的点,并且这些工作是同时进行的,因此可以快速的达到全局收敛,不易陷入局部最优[11]。
为了更加深入的讨论遗传算法在解算非线性模型过程中存在的问题和起到的积极作用,本文主要通过一个算例来阐述这些问题,同时把遗传算法的到的最优解与其它算法得到的结果进行比较,讨论遗传算法在非线性模型参数估计中是否具有一定的优越性。
1.4 论文结构本文共分为四章,第二章主要介绍遗传算法的起源和发展过程,首先介绍了遗传算法的产生时间、提出者、遗传算法和生物学尤其是进化论的密切关系、进化计算、计算原理以及它的三个算子在计算过程中所充当的角色,其次提到了遗传算法之所以应用于非线性模型结算的原因,通过文字表达、流程图和公式表达详细介绍了遗传算法应用于解决非线性问题的一般思想和过程,为第三章通过实例讨论遗传算法在非线性问题中的具体应用奠定基础,本文的第三章通过取自参考文献[12]:《非线性模型参数估计理论与应用》一书中的具体实例说明遗传算法具体应用于非线性问题中的结算,通过将遗传算法得出的结果与其它算法得出的结果的比较,讨论遗传算法所具有的优点和相较其它算法表现出的不足。
第四章是结语部分,总结了整篇文章的内容,说明了本文的创新点和不足之处,对本课题在今后研究中的发展进行了展望和期待。
2、遗传算法简介2.1 遗传算法的起源所谓的遗传算法就是一种借鉴生物界当中自然选择和进化机制发展起来的具有高度并行、随机、自适应等一系列特点的搜索算法,这种算法是摒弃了传统抖索方式模拟自然界生物进化过程,同时采用人工进化的方式来对目标空间进行一种随机优化搜索的搜索算法。
从它出现到到现在,研究的过程相对较短,一开始出现它是一种试图从解释自然系统中生物的复杂适应过程入手,从而来模拟生物进化的机制一边构造人工系统的模型,遗传算法把问题域中的可能解当做群体的一个个个体或者是染色体,同时把每个个体编码成为符号串形式,然后模拟达尔文的遗传选择以及自然淘汰的生物进化过程,接着对群体周而复始的反复进行基于遗传学操作,也就是遗传、交叉和变异三个步骤。
近年来随着全世界范围内形成的计算机化计算热潮,智能计算已作为人工智能研究领域的又一个重要方向,包括后来兴起的人工生命研究,更加使得遗传算法在学界受到广泛的关注。
1962年美国Holland教授提出了所谓监控程序的概念,即利用群体进化模拟适应性系统的思想[12]。
他通过建立智能机器的研究,发现不仅在其中可以完成单个生物体的适应性改进,而且通过一个种群的多代进化也可以取得非常好的适应性效果,这就是遗传算法的雏形,但是当时Holland教授本人没有给出实现这些思想的具体技术,但却引进了群体、适应值、选择、变异、交叉等基本概念;1966年,Fogel 等人也提出按了类似的思想,但其重点是放在变异算子而不是采用交叉算子。
1967年Holland教授的学生J.D.Bagley通过对跳棋游戏参数的研究,在其博士论文中首次提出“遗传算法”这一概念,由此一种新的计算方法诞生了,可见,它的基本思想是基于Darwin进化论和Mendel的遗传学说的。
2.2 遗传算法的基本思想遗传算法作为一种基于进化论和遗传学说的计算方法,充分吸取了自然界中自然选择、适者生存、遗传以及变异等思想,从一组初始解群开始迭代,逐步淘汰相对较差的解,产生更好的解,直到达到满足某种收敛指标的效果为止,也就是得到了问题的最优解。
遗传算法具有多点寻优、并行处理等一系列特点。
并且遗传算法的搜索过程是从初始解群开始的,以模型对应的适应函数作为寻优判据,适者生存、劣者淘汰,从而可以直接对解群进行操作,而与模型的具体表达方式无关。
遗传算法所具有的主要特点是在群体搜索策略和群体中个体之间所发生的信息交换,搜索过程的进行不以梯度信息为基础。
遗传算法最适用于处理一些传统的搜索方法不能解决的过程复杂的非线性问题,它可以广泛的应用于多个领域,如组合优化、自适应控制、机器学习、人工生命和规划设计等。
因为自- 5 -- 6 -身一些独特且具有高效利用性的优良特点,使得遗传算法成为了21世纪智能计算研究当中的核心技术之一。
进入上世纪80年代之后,遗传算法的发展一度迎来了兴盛时期,无论是在理论研究方面还是应用研究方面,遗传算法都成为了学者口中十分热门的话题。
虽然遗传算法具有诸多优点,尤其是它具有非常强的全局搜索能力,但是,遗传算法的局部搜索能力相较其它算法比较差,因此在将遗传算法应用的实际问题的解算和研究当中的时候通常的做法是将遗传算法与其他算法相结合的办法来进行实际问题的解决,两种或多种算法结合在一起各取所长,往往能取得意想不到的良好效果,学界通常把这种方法称之为混合遗传算法,常见的有拟牛顿法,拟牛顿法具有较强的局部搜索能力,有效的解决了遗传算法局部搜索能力较差这一问题,使得实际问题解决之中的计算结果更加的精确,使计算结果符合实际问题的要求,有效的提高了遗传算法在实际应用当中的科学性和说服力,使得遗传算法在应用中表现出其它算法所不能达到的效果。
另外还有模拟退火遗传算法也在遗传算法的研究和应用中常常被提到。
用线性模型的理论来处理非线性模型,只是一种简单的、近似的方法,这种近似往往带来很多问题,得出和事实不相符的结论,因此,人们自然会想到,既然实际模型是非线性模型,就应该用非线性科学的方法来处理实际模型。