基于微粒群算法的圆度误差评价
0 引言
对圆度误差测量的数据处理方法的选定,直接影响圆度误差的计算精度。在圆度误差的评价中,最常用的计算方法为最小二乘法。由于残差为圆心坐标及圆半径的非线性函数,不好直接求解,必须运用某种优化迭代算法如单纯形法、Gauss-Newton法、Levenberg-Marquart法等。但是,这些算法均为局域算法,算法的成功依赖于初始点的选择。为了得到全局的最小值,既可以通过对上述传统算法进行改进得到,也可以采用其它新的全局算法如遗传算法进行计算。本文采用微粒群算法对圆度测量数据进行最小二乘法评价,克服了传统圆度最小二乘法评价的局部收敛问题,并和遗传算法的结果进行了比较。计算结果表明,本文的方法可以在设计变量的全局范围内有效、正确地评价圆度误差。
1 微粒群算法的基本原理
粒子群(PSO)算法[4-5]是由美国的Kennedy和Eberhar在1995年提出的。PSO算法起源于对简单社会的模拟,最初设想是模拟对鸟群觅食的过程,后来发现PSO是一种很好的优化工具。PSO优化算法与其它进化算法相类似,也是将寻优的参数组合成群体,通过对环境的适应度来将群体中的个体向好的区域移动。与其它进化算法不同,在描述个体时,将其看成是D维寻优搜索空间的一个没有体积的微粒(点),结合微粒的历史最佳位置和群体历史最佳位置信息,以一定的速度向目标值逼近。第i个微粒可以表示成D维向量。粒子通过不断调整自己的位置X来搜索新解。每个粒子都能记住自己搜索到的最好解,记作Pid。以及整个粒子群经历过的最好的位置,即目前搜索到的最优解,记作Pgd。每个粒子都有一个速度,记作V。根据式(1)可得粒子下一个时刻的速度V':
式中Vid表示第i个粒子在第D维上的速度;ω为惯性权重;η1,η2为调节Pid利Pgd相对重要性的参数;rand()为随机数生成函数。这样,可以得到粒子移动的下一个位置X':
从式(1)、(2)可以看出,粒子的移动方向由三部分决定,自己原有的速度Vid、粒子当前位置与自己最佳经历的距离(Pid-Xid)和群体最佳经历的距离(Pgd-Xid),并分别由权重系数X,G1和G2决定其相对重要性。
式中,εi为残余误差,且相互独立。
定义如下目标函数:
显然,使Jmin而得到的X=[u1,u2,R]T就是所要求的最小二乘圆心坐标和半径。本文采用标准的微粒群算法进行圆度误差评价,具体步骤如下:
1)根据圆度误差测试数据给出X=[u1, u2,R]T的解域范围,可以根据经验或通过传统算法如Gauss-Newton法来给出;
2)设置有关参数,如种群规模m,惯性权重w,加速度常数c1,c2,迭代中止条件;
相关文章
- 2024-02-04机械秒表测量不确定度分析
- 2023-03-13简单活塞式压力计的误差修正
- 2021-11-19波特率自适应的RS-485中继器设计
- 2022-07-22基于MCl45026/27的病房传呼系统的研制
- 2023-11-02电冰箱换热器以铝代铜腐蚀特性的实验研究
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。