首页 理论教育 优化实例:解决标题排版问题

优化实例:解决标题排版问题

时间:2023-06-21 理论教育 版权反馈
【摘要】:求解一元函数的最大值:f=x sin+2.0,x∈[-1,2]一元函数图像如图8-2所示。串长与精度之间的关系:若要求求解精度到6位小数,区间长度为2-(-1)=3,即需将区间分为3/0.000 001=3×106等份。所以编码的二进制串长应为22位。产生的结果:长度为22的二进制串。图8-3历代适应度变化

优化实例:解决标题排版问题

求解一元函数的最大值:

f(x)=x sin(10π*x)+2.0,x∈[-1,2]

一元函数图像如图8-2所示。

图8-2 函数图像

1.问题的提出

首先用微分法求解f(x)的最大值:

解有无穷多个:

式中,εi(i=1,2,…,-1,-2,…)是一个接近于0的实数递减序列。

当i为奇数时,xi对应局部极大值点;i为偶数时,xi对应局部极小值值。x19即区间[-1,2]内的最大值点:

2.编码

表现型:x作为实数,可以视为遗传算法的表现型形式。

基因型:二进制编码(串长取决于求解精度)。

串长与精度之间的关系:若要求求解精度到6位小数,区间长度为2-(-1)=3,即需将区间分为3/0.000 001=3×106等份。所以编码的二进制串长应为22位。

3.产生随机种群

产生的方式:随机。

产生的结果:长度为22的二进制串。

产生的数量:种群的大小(规模)指种群中个体的数目,如30,50…(www.xing528.com)

4.计算适应度

不同的问题有不同的适应度计算方法,本例中,直接用目标函数作为适应度函数。

(1)将某个体转化为[-1,2]区间的实数:

s=<1000101110110101000111>→x=0.637 197

(2)计算x的函数值(适应度):

f(x)=x sin(10π*x)+2.0

=2.586 345

5.遗传操作

选择:轮盘赌选择法。

交叉:单点交叉。

变异:小概率变异。

6.模拟结果

设置的参数:种群大小50;交叉概率0.75;变异概率0.05;最大迭代数200。遗传算法优化结果如表8-3所示,得到的最佳个体:

表8-3 遗传算法优化结果

smax=<1111001100111011111100>

xmax=1.850 6

f(xmax)=3.850 3

历代适应度变化如图8-3所示。

图8-3 历代适应度变化

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈