- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于中心差分公式的进化策略算法优化步长求解数值微分
夏慧明
(南京师范大学泰州学院, 泰州, 225300)
1 引 言
微积分学已经给出求函数导数的许多方法,但这些方法对一些实际问题往往难以实行。如实际问题常常将函数在一些离散点上的值用表格的形式给出,则求就不那么容易了。这种对列表函数求导的方法通常称为数值微分。本文主要是基于中心差分公式来求解数值微分的近似解。
进化策略(Evolution Strategies, ES)是由德国柏林技术大学的I.Rechenbery 和H.P.
Schweful为研究风洞中的流体力子问题而提出的。进化策略的基本算法构成类似于遗传算法的构成形式,区别主要在于进化算子的不同选择。在遗传算法中主要采用交叉算子来产生新个体,而变异算子只是作为生成新个体的辅助手段。但在进化策略中则是主要采用变异来生成新个体,而交叉算子则较少使用。
文中利用进化策略算法来优化步长,通过对由进化策略产生的模型参数采用突变的方式产生新的参数,这样通过不断进化,直至得到最优的步长,将其代入中心差分公式得到近似微分值。实践证明该算法所求得的微分值精度较高、收敛速度较快。
2 中心差分公式
据数学分析中导数的定义,容易想到,当充分小时,可用差商近似导数,这是最简单的数值微分公式。
如果函数在点的左边和右边的值可计算,则最佳二点公式包含两边的两个对称的横坐标。
定理 2.1 [精度为的中心差分公式] 设,且,
则
(1)
而且存在数,满足
(2)
其中
(3)
项称为截断误差。
定理 2.2 [精度为的中心差分公式] 设,且,,则
(4)
而且存在数,满足
(5)
其中
(6)
用中心差分公式计算导数的近似值,必须选取合适的步长。因为,从中心差分公式的截断误差看,步长越小,计算结果就越精确,但从舍入误差的角度看,当很小时,与很接近,两相近数直接相减会造成有效数字的严重损失,精度降低,因此,步长又不易取的太小。因为,步长的优越性直接影响微分值的精度,所以,寻求出最优步长是非常有必要的。
3求解数值微分的进化策略算法(ESA)
(1) 确定个体的表达方式:表达式中个体由目标变量和标准差两部分组成,因为步长是用随机生成的某一区间的两个端点的差的绝对值表示的,所以每部分个体有2个分量,分别代表区间的左端点与右端点,即。
(2) 随机生成初始群体:进化策略中初始群体由个个体组成,每一个个体包含2个分量。初始个体是随机生成的,初始个体的标准差。
(3) 计算适应度:将步长代入中心差分公式求出在点处的近似微分值,将所得的微分值与精确值进行作差,所得结果记为,若越接近于零,则微分值的近似程度越好,取适应度函数为,适应度值越接近1,微分值就越优,,终止条件选择一个很接近1的值,当适应度值大于时终止。
(4) 如果满足条件,则终止,此时选出最优步长及最优微分值。否则,继续向下进行训练学习。
(5) 根据进化策略,采用下述操作产生新群体:
5.1) 重组:从父代个体中随机取出两个个体,交换目标变量和随机因子,产生新个体。目标变量采用离散重组,随机因子采用黄金分割重组。
5.2) 突变:对重组后的个体添加随机量,采用柯西突变原则产生新个体。
5.3) 计算个体适应度。
5.4) 选择:采用选择策略,挑选优良的个体作为进化的结果。
(6) 反复执行第(5)步,直到满足终止条件,选择最佳的个体作为进化策略的结果,即所求的最优步长及最优微分值。
4 数值实例
为验证本文算法在求解数值微分时的正确性,取适应度函数,其中|近似值-精确值|。由上节算法思想可知,当的值越接近1时,则表示所得到的步长最优、微分值与精确值间的误差越小。以下各例均采用选择策略,其中取,,对于公式(1)以下各例中的终止条件均取为,对于公式(4)以下各例中的终止条件均取为。
例1:利用中心差分公式求在处的导数值。计算结果如表1所示。
表1最优步长及微分值
中心差分公式 公式(1) 公式(4) 最佳步长 5.176103238782592e-004 0.00368144253123 ESA法 0.28867513566901 0.28867513459467 精确值 0.28867513459481 0.28867513459481 误差 1.074200006723203e-009 -1.399991234052322e-
文档评论(0)