Matlab中遗传算法在测量平差中的应用

2016-09-18 05:53
西部探矿工程 2016年7期
关键词:遗传算法种群测绘

陈 雷

(安徽精益测绘有限公司,安徽淮南232000)

Matlab中遗传算法在测量平差中的应用

陈雷*

(安徽精益测绘有限公司,安徽淮南232000)

遗传算法是模拟自然选择和自然遗传过程中的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止。此算法在解决复杂优化问题的潜力和在工业领域的成功应用的到广泛关注。主要介绍了遗传算法用于测量中线性问题的解算,并根据此算法自身优点,应用于测边网平差等非线性问题的解算中,得出了理想的结果,并据此得出了一些建议与结论。

遗传算法;测量平差;线性;非线性

1 概述

遗传算法(GA)是模拟自然界生物进化机制的一种算法,在科学与生产实践中表现为在所有可能的解决方案中找出最符合该问题所要求的条件的解决方法,就是找出一个最优解。此种算法是Holland在1960年提出来的其最初的目的是研究自然系统的自适应行为并设计具有自适应功能的软件系统。其特点就是对参数进行编码运算不需要有关体系的任何先验知识,沿多种路线进行平行搜索不会落入局部较优大的陷阱,能在许多局部较优中找到全局最优点是一种全局最优化方法[1-3]。近年来,遗传算法已经在国际上许多领域得到了应用。从遗传算法的主要特点、基本原理以及改进算法,介绍遗传算法的应用领域,并用Matlab实现了遗传算法在测边网平差这样的非线性问题最优解求解的解算中。

2 在测量中遗传算法的应用现状

遗传算法作为仿生态优化搜索方法,具有稳健性强、易于并行处理、搜索全局最优等优点。沈明、周红进等[4]对浮点编码的遗传算法在GPS技术姿态测量技术上的应用进行了研究。基于单基线的GPS载波相位双差姿态测量模型,利用模型度函数法,建立起适应度函数,采用十进制编码设计了能够避开整周模糊度的求解而直接搜索解算载体姿态的遗产算法模型。刘智敏等[5]在2006年发表了《基于改进的遗传算法解算GPS双差模糊度的研究》一文,他们将遗传算法应用于GPS双差模糊度解算过程,提高了解算的稳定性与高效性。在本文中将着重讲一下利用遗传算法处理测绘中非线性问题的解算问题。

3 遗传算法的基本流程[6]

基本流程如图1所示。

图1 遗传算法框图

遗传算法是具有“生成检测”的迭代搜索算法。基本步骤为:

(1)编码和确定种群规模;

(2)确定适应度函数;

(3)确定遗传算子,包括确定选择、交叉和变异的方法,以及确定交叉概率、变异概率等遗传参数;

(4)初始化种群;

(5)计算种群中个体的适应值;

(6)按照遗传策略,运用选择、交叉和变异算子,生成下一代种群。

4 遗传算法的基本流程描述

随机初始化种群p(0)={x1,x2,…,xn};t=0;计算p(0)中个体的适应值;

While(不满足终止条件)

5 测量中的非线性问题以及解决的意义

在测量中,许多的数学模型也是非线性的模型。对于它们,以前的作法是线性近似,测量中称为线性化,就是将其展为泰勒级数,并取至一次项,省略二次以上各项,这样的方法一定会引起模型误差[7-10]。

过去由于测量精度不高,线性近似所引起的误差一般可以忽略不计。但是随着科技的不断发展,观测精度已经大大提高,只是因为线性近似所产生的模型误差和观测误差相当,甚至有些还会大于观测误差。

此外,有些非线性模型对参数的近似值十分敏感,若近似值精度较差,则线性化会产生较大的模型误差。所以有必要结合测量数据处理的实际对非线性解算进行深入的研究。根据遗传算法乘为例,以期到改进非线性问题解算的理论及方法。

6 应用遗传算法优化函数的例子

(1)比如说这样的优化问题:max{f(x)|x∈X},这里f 是X上的一个函数,X是问题的解空间。它可以是一个有限集合,也可以是一个实空间Rn的一个子集等。有了以上的理论基础,现在来举个简单的例子来说明,例如优化下面的目标函数(求最大值):

进入Matlab建立一个M文件,程序内容如下,并保存文件名为sga.m的文件。完成后,回到command window窗口中,输入刚才所保存的文件名sga(40,2,10,0.8,0.01,0.01)按enter键即可得出下面的数值,X= 8.384,Y=141.2。所得结果的精度与精确值相同,由此可见此算法是正确的。如图2所示。

图2 遗传算法程序优化结果图

(2)关于测边网平差非线性的例子。有测边网如图3所示。

图3 测边网

网中A、B、C、D为知点,P1、P2、P3、P4为待定点,同精度观测了13条边长。已知点坐标与待定点近似坐标见表1,观测边长见表2。

创建一个适应度函数M文件my_fun,初始种群设置为:ones(200,1)*[48580.270 60500.505 68481.390 55018.279 43767.223 57968.593 40843.219 64867.875],种群大小为200,交叉概率为Pc=0.6,变异率Pm=0.02,迭代次数为500。

表1 已知点坐标和待定点近似坐标

为了比较一下选择操作中参数设置的不同对计算结果的影响,在其余参数设置(同前)保持不变的情况下,只是变化选择的方法,经过多次试验,由得出的结果中最小二乘值得比较可以得出:选择方法为uniform时,最小二乘值最大,为0.012618,而且,可以得出,均值变化很不稳定,时高时低,因此对于这个函数,选择这个方法是不合适的:选择方法为Remainder时,最小二乘值最小,为0.0061273,是前者的1/2,所得在实验中,选择采用的方法是Remainder。

表2 边长观测值

为了得到最优解,在初始种群个体数为200,代数为800的条件下,设置交叉、变异等算子的不同数值。得出结果中任何一组算子所得到的结果均小于用经典平差计算的结果0.00658,充分说明了遗传算法解算非线性问题的精度较高。

由表3可以看出,用遗传算法计算得到的单位权中误差要小于用一般的平差方法计算结果,这是因为在平差过程中没有非线性问题向线性问题转化而形成的误差;而且通过这种方法免去了矩阵转置,求逆等的麻烦,使计算过程更简单。

表3 不同计算方法结果比较

7 总结与发展

初步探讨了遗传算法在测绘领域中的应用,讲解了遗传算法的优化问题以及在非线性问题中解算的应用,在非线性问题的解算中,遗传算法优越性极为明显。但在进行试验时也发现了问题,如在变量多时,取值范围大或者无给定范围时,收敛速度下降,可以找到最优解附近,但可能无法精确确定最优解位置。并且根据应用领域遗传算法是可能的,但是对一般问题进行研究显得极其困难。

[1]周勇,等.非数值并行算法——遗传算法[M].北京:科学出版社,2003:20-25.

[2]周明,孙树栋.遗传算法原理及应用[M].北京:国防工业出版社,1995:10-20.

[3]徐宗本,李国.解全局优化问题的仿生类算法(I)[J].运筹学杂志,1995(12):70-72.

[4]沈明,周红进,朱颖.浮点编码的遗传算法在GPS姿态测量技术上的应用[J].弹箭与制导学报,2007,27(1):21-24.

[5]刘智敏,独知行,邹蓉.基于改进的遗传算法解算GPS双差模糊度的研究[J].山东科技大学学报:自然科学版,2007,26 (1):23-26.

[6]朱成娟.遗传算法的改进及其若干应用[D].燕山大学,2006.

[7]张文修.遗传算法的数学基础[M].成都:西安交通大学出版社,2001:34-44.

[8]李敏强.遗传算法的基本理论与应用[M].北京:科学出版社,2001:83-87.

[9]马玉明.遗传算法的理论研究综述[J].山东轻工业学院学报,2004,18(3):46-53.

[10]唐穗欣.标准遗传算法的原理及算例[J].软件导刊,2007,17 (6):22-27.

P22

B

1004-5716(2016)07-0144-03

2016-03-17

2016-03-21

陈雷(1963-),男(汉族),安徽淮南人,中级测绘师,现从事测绘技术及管理工作。

猜你喜欢
遗传算法种群测绘
山西省发现刺五加种群分布
基于双种群CSO算法重构的含DG配网故障恢复
浙江省第一测绘院
工程测绘中GNSS测绘技术的应用
中华蜂种群急剧萎缩的生态人类学探讨
04 无人机测绘应用创新受青睐
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
无人机在地形测绘中的应用
软件发布规划的遗传算法实现与解释
基于改进的遗传算法的模糊聚类算法