1 引言
2 浮点遗传算法(FGA)原理
附图 冲头凹面圆弧半径示意图
3 用遗传算法求解冲头凹面半径最优值
3.1 冲头凹面圆弧半径的数学模型
3.2 求解方法与步骤
- 求冲头圆弧的圆心坐标
- 设冲头凹面上的被测点为M{(Xj,Yj)|j=1,2,…,m},测点M分布在圆弧凹面的圆周上,Xj,Yj分别为测点坐标值。该组坐标上满足最小区域法的包容被测轮廓同心圆Q的值域为
为使数据处理标准保持一致,取0≤Xoi≤1,0≤Yoi≤1。因此,用坐标法测量M(Xj,Yjj)并求解圆弧圆心坐标Q的数学模型为{(Xo,Yo)| Xmin≤Xo≤Xmax,Ymin≤Yo≤Ymax} (3) { Xo=Xmin-XoiδX Yo=Ymin-YoiδY (4) 式中,X坐标的误差为δX=Xmax-Xmin,Y坐标的误差为δY=Ymax-Ymin。 - 设冲头凹面上的被测点为M{(Xj,Yj)|j=1,2,…,m},测点M分布在圆弧凹面的圆周上,Xj,Yj分别为测点坐标值。该组坐标上满足最小区域法的包容被测轮廓同心圆Q的值域为
- 求冲头圆弧的圆度误差
- 建立初始数学模型后,即可采用遗传算法计算冲头圆弧的圆度误差,计算步骤如下:
- 确定种群规模、概率和进化代数选取种群初始规模数n=50,交叉概率Pc=0.9,变异概率Pm=0.02,最大进化代数t=100。
- 种群初始化
- 采用浮点遗传算法,使(Xo,Yo)的寻优范围包括整个最优解可行域,在解的可行域中随机确定n个个体(可能解),构成初始种群(t=0)为
P(ot)={(Xtoi,Ytoi)|i=1,2,…,n} (5) - 采用浮点遗传算法,使(Xo,Yo)的寻优范围包括整个最优解可行域,在解的可行域中随机确定n个个体(可能解),构成初始种群(t=0)为
- 适应度函数
- 参照式(1)数学模型δ=min|Ri-Rj|,目标函数为n个个体所对应的同心圆半径差(个体适度度函数),即
式中,Rtmaxi,Rtmini分别为测点M{(Xj,Yj)|j=1,2,…,m}到个体(Xtoi,Ytoi)对应的两同心圆圆心(Xsub>o,Ysub>o)的最大距离和最小距离。由于目标函数δ取值的变化方向与适应度相反,即目标函数值越小,对应的个体适应度越大。为此,建立适应度函数与目标函数的映射关系为δ(Xtoi,Ytoi)=Rtmaxi-Rtmini (i=1,2,…,n) (6) 式中,δmax为当代种群所对应的目标函数最大值。(-Xtoi,Ytoi)=δmax-δ(Xtoi,Ytoi) (7) - 参照式(1)数学模型δ=min|Ri-Rj|,目标函数为n个个体所对应的同心圆半径差(个体适度度函数),即
- 选择策略
- 计算每一个体的生存概率Ptl,然后设计一个随机选择策略,使每一个体(Xtoi,Ytoi)被选择进行繁殖的概率为Ptl,即
Ptl=f(Xtoi,Ytoi)/ m f(Xtoi,Ytoi) Σ j=1 (8) - 将种群中的个体按适应度由大到小进行排序,然后根据单一个体(Xtoi,Ytoi)对应的适应度确定其繁殖后在交配池中的概率,单一个体(Xtoi,Ytoi)繁殖后在交配池中的数量为nti=ptin。如nti≥1,则个体在交配池中的数量取整数:如nti<1,则个体在交配池中的数量按适应度的大小顺序分别取1,直到交配池中的数量达到n为止。经过繁殖后,交配池中的n个新个体为
A1(t)={(Xto1i,Yto1i)|i=i,2,…,n} (9) - 计算每一个体的生存概率Ptl,然后设计一个随机选择策略,使每一个体(Xtoi,Ytoi)被选择进行繁殖的概率为Ptl,即
- 算术交叉操作
- 用FGA中的算术交叉算子求解冲头圆弧半径。算术交叉操作是按以下数学模型交叉产生新的子个体的过程:
{ Ri=αRi+(1-α)Rj Rj=(1-α)Ri+αRj (10) 式中,Ri,Rj为两个父体Ri,Rj通过交叉后产生的两个子个体,α为预先给定或随机选取的一个实数(0≤α≤1)。重复这一过程,直至形成新的过渡种群A2(t)={(Xto2i,Yto2i)|i=1,2,…,n} (11) - 用FGA中的算术交叉算子求解冲头圆弧半径。算术交叉操作是按以下数学模型交叉产生新的子个体的过程:
- 单重高斯变异算子
- 按均匀分布方式随机选择一个变元Xtoni,将它加上一个服从高斯(正态)分布N(0,σ2)的扰动ξ,即有
Ai= { Ai+ξ(若i=j,j∈{1,2,…,n}) Ai(其它) (12) - 按均匀分布方式随机选择一个变元Xtoni,将它加上一个服从高斯(正态)分布N(0,σ2)的扰动ξ,即有
- 新一代种群的计算
- 经繁殖、交叉、变异后得到的新一代种群为
At+13={(Xt+1o3i,Yt+1o3i)|i=1,2,…,n} (13) - 新一代种群中每一个体对应的目标函数值和适应度计算公式为
δ(Xt+1o3i,Yt+1o3i)=Rt+1maxi-Rt+1mini (i=1,2,…,n) (14) 式中,Rt+1maxi,Rt+1mini,分别为测点M{(Xj,Yj)|j=1,2,…,m}到个体(Xt+1o3i,Yt+1o3i)对应的两同心圆圆心Q(Xmin+Xt+1o3iδX,Ymin+Yt+1o3iδY)的最大和最小距离,Rt+1max为新一代种群对应的目标函数的最大值。f(Xt+1o3i,Yt+1o3i)=δt+1max-δ(Xt+1o3i,Yt+1o3i) (i=1,2,…,n) (15) - 为使适应性最好的个体保存下来不致丢失,应将上一代种群中适应度最大的个体保留到下一代种群中,并取代下一代种群中适应度最小的个体。为此,需找出适应度最大的个体(Xt+1o3i,Yt+1o3i)对应的目标函数值δ(Xt+1o3i,Yt+1o3i)。
- 经繁殖、交叉、变异后得到的新一代种群为
- 建立初始数学模型后,即可采用遗传算法计算冲头圆弧的圆度误差,计算步骤如下:
- 求冲头圆弧半径
- 确定目标函数值δ后,可求出测点M{(Xj,Yj)|j=1,2,…,m}到该个体对应的两同心圆圆心的最大距离Rt+1maxk和最小距离Rt+1mink,此时,可得到测量半径
R=[(Rt+1maxk+Rt+1mink)/2]±δ/2 - 此时,需检验种群是否达到了最大进化代数,如已达到,此时种群中适应度最大的个体对应的测量半径R即为全局最优解,即所求的圆弧测量半径:否则,需转向求冲头圆弧的圆度误差中的步骤c重新进行计算。
- 确定目标函数值δ后,可求出测点M{(Xj,Yj)|j=1,2,…,m}到该个体对应的两同心圆圆心的最大距离Rt+1maxk和最小距离Rt+1mink,此时,可得到测量半径


