158EDUCATION  FORUM      教育论坛
摘要:微分方程在很多领域都有其重要性,为了求得微分方程的近似解,论文介绍了遗传算法思想及操作步骤,并给出了遗传算法求解常微分方程的过程,通过举例说明具体实现遗传算法解微分方程的步骤。
关键词:微分方程;遗传算法;最优化问题;近似解
一、 前言
实际生活中的各个方面的问题离不开函数关系,利用函数关系可以对客观事物的规律性进行研究,在实践中寻函数关系至关重要。很多实际问题在寻求函数关系时可以列出含有要的函数及其导数的关系式,这样的关系式就是所谓微分方程。17世纪初,牛顿、莱布尼兹和伯努利等科学家从几何和力学问题中分别建立了简单的微分方程,开创了微分方程的初期研究。很多物理难题研究到一定程度都需要建立相应的数学模型,比如悬链线、共振现象的研究都归结于微分方程的求解问题,至此微分方程的研究变得很重要。
微分方程求解是微分方程问题中的核心,通过微分方程的解可以分析函数关系,并进行物理解释,从而预测物体发展规律,微分方程应用很广泛,在实际生活中的各个方面都能见到微分方程的应用,很多数学模型需要建立微分方程,设定初值条件,进行求解,研究解的特点和规律,为下一步分析和计划提供依据[1-2]。
微分方程分为常微分方程和偏微分方程,n 阶常微分方程的一般形式是:
()(,,,,)n f x y y y ′= 0,[,]
x a b ∈其中()
n y 为y 的n 阶导数,边界条件由下式给出:()(,,,,)n i x t g x y y y −=′= 10,,,,i n 12其中t i =a 或t i =b 。
常微分方程求解是一个复杂的数学问题,方法虽然多,但实现起来比较困难,即使是一阶微分方程,求其精确解也是比较困难的,高阶微分方程的求解方法更复杂,很多微分方程很难求出其精确解,很多实际问题中我们可以出它的近似解,在近似解达到一定近似程度的情况下,可以根据微分方程的近似解
来分析解的性质和事物发展的规律。
微分方程近似解的求法有遗传算法、蚁算法、分支定界法、粒子算法等方法,不同的近似方法各有其优缺点,本文主要介绍用遗传算法来求微分方程近似解的方法。
二、 遗传算法简介
(一)遗传算法思想
遗传算法(genetic algorithms,简称 GA)是 J. Holland 于 1975 
年受生物进化论的启发而提出的。GA 是基于适者生存的一种高度并行、随机和自适应的优化算法,它将问题的求解表示成“染体”的适者生存过程,通过“染体”的一代代不断进化,包括复制、交叉和变异等操作,最终收敛到“最适应环境”的个体,从而求的问题的最优解或满意解。GA 是一种通用的优化算法,其编码技术和遗传操作比较简单,优化不受限制性条件的约束,而其两个显著的特点则是隐含并行性和全局解空间搜索。目前,随着计算机技术的发展,GA 愈来愈受到人们的重视,并在机器学习、模式识别、图像处理、神经网络、优化控制、组合优化、遗传学等领域得到了成功的应用。遗传算法是一类随机优化算法,但它不是简单的随机比较搜索,而是通过对染体的评价和对染体基因的作用,有效地利用已有的信息来指导搜索最有希望改善优化质量的状态。
(二)遗传算法的基本步骤
标准遗传算法的主要步骤可描述如下[3-4]:
1.随机产生一组初始个体构成初始体,并评价每一个体的适应度(fitness value)。
2.判断算法收敛准则是否满足,若满足则输出搜索结果,否则执行以下步骤。
3.根据适应度大小以一定的方式执行复制操作。
4.按交叉概率 Pc 执行交叉操作。
5.按变异概率 Pm 执行变异操作。
6.返回步骤 2。
遗传算法的具体流程如下图所示:
图1 遗传算法的具体流程
基于遗传算法的微分方程求解问题
李慧珍    杜    健    胡红娟    张    倩
159
EDUCATION  FORUM      教育论坛
上述算法中,适应度值是对染体进行评价的一种指针,是 GA 进行优化所用的主要信息,它与个体的目标值存在一种对应关系;复制操作通常采用比例复制,即复制概率正比于个体的适应值;交叉操作通过交换两父代个体的部分信息构成后代个体,使得后代继承父代的有效模式,从而有助于增加种的多样性,避免早熟收敛。
通常,遗传算法的设计是按以下步骤进行的:1.确定问题的编码方案。2.确定适应度函数。3.遗传操作数的设计。
4.算法参数的选择,主要包括种数目、交叉与变异概率、进化代数等等。
5.确定算法的终止条件。
三、 遗传算法求解常微分方程
(一)理论分析
首先将常微分方程的求解问题转化为求解函数最小值的最优化问题,再用遗传算法来求解函数最小值的近似解。具体流程如下:
第一,利用一元函数的泰勒公式来构造常微分方程的解析解:
泰勒中值定理如果函数()f x 在x 0的某个邻域()U x 0内具有()n +1阶导数,那么对任一()x U x ∈0,有:
()()()
()()()()()()()
!
!n n n f x f x f x f x f x x x x x x x R x n ′′′=+−+
−++−+ 200000002其中
()()
()()()!
n n n f R x x x n ξ++=
−+11
01由一元函数的泰勒定理,本文采用多项式的函数空间来构造常微分方程的解。 web前端开发技术第三版pdf
第二,常微分方程的求解问题转化为最优化问题的具体实现过程如下:
(1)构造形如 (,,,)k M x ωωωωωω=+×+×+  0101212形式的函数近似常微分方程的解,其中,,,,k ωωωω 012为待优化的参数变量。
(2)可采用在多项式的函数空间寻最小二乘解的方法来实现用多项式函数逼近常微分方程的解。
(3)边界条件可做如下处理,构造罚函数将约束最优化问题转化为无约束最优化问题。
这样,常微分方程的求解问题就转化成了求函数最小值的最优化问题。
(二)遗传算法实现
(1)编码。采取整数排列编码方法。
(2)种初始化。在完成染体编码以后,必须产生一个初始种作为起始解,所以首先需要决定初始化种的数目。初始化种的数目一般根据经验得到,一般情况下种的数量视城市规模的大小而确定,其取值在50~200之间浮动。
(3)适应度函数。设12i n k k k k  为一个采用整数编码
的染体,i j k k D 为两个解i k 与j k 的差,则该个体的适应度为:
1
1
1
n k k k k i fitness D
D −==
+∑优化的目标就是选择适应度函数值尽可能大的染体,适应度函数值越大的染体越优质,反之越劣质。
(4)选择操作。选择操作即从旧体中以一定概率选择个体到新体中,个体被选中的概率跟适应度值有关,个体适应度值越大,被选中的概率越大。
(5)交叉操作。采用部分映射杂交,确定交叉操作的父代,将父代样本两两分组,每组重复以下过程:①产生两个[1,10]区间内的随机整数1r 和2r ,确定两个
位置,对两位置的中间数据进行交叉;
②交叉后,同一个个体中有重复的数字编号,不重复的数字保留,有冲突的数字采用部分映射的方法消除冲突,即利用中间段的对应关系进行映射。
(6)变异操作。变异策略采取随机选取两个点,将其对换位置[5]。
(7)进化逆转操作。为改善遗传算法的局部搜索能力,在选择、交叉、变异之后引进连续多次的进化逆转操作。这里的“进化”是指逆转算子的单方向性,即只有经逆转后,适应度值有提高的才接受下来,否则逆转无效。
对每个个体进行交叉变异,然后代入适应度函数进行评估,选择出适应值大的个体进行下一代的交叉和变异以及进化逆转操作。循环操作:判断是否满足设定的最大遗传代数,不满足则跳入适应度值的计算;否则,结束遗传操作。
(三)实例分析
例解方程y'' =6y' -9y,y(0)=0,y' (0)=2,x ∈[0,1] x ∈[0,1] 。实验参数:种大小:100;进化代数:200;交叉概率:0.8;初始区间:[0,1]。
得到的近似最优解是:
精确解是:y = 2x exp(3 x),近似解与精确解的比较示意图如图2 所示:
2 近似解与精确解比较示意图
(下转第162页)
EDUCATION  FORUM教育论坛
(六)教学师资的改革
深化企业对课程的影响,建立学校、企业联合培养教师制度,构建学校统筹、行业企业和院校深度融合的教师队伍建设机制,打通校企双向流动机制,建立起能适应课程体系的“双师型”教师队伍。深化教师队伍建设改革,培养造就高素质“双师型”教师队伍,为课程改革提供坚实的力量和基础,保障课程改革的质量。
五、改革成果分析
基于CDIO工程实践理念的Web前端开发课程改革的总体思路、具体计划与配置措施,执行良好,成绩显著。课程内容新颖、覆盖范围广,及时引入企业优秀案例,课程内容的基础性与前沿性处理恰当。通过一学期的教学实践,本课程的教学计划科学合理可行并经过校内外专家论证,符合专业培养目标要求,实施状况良好。重构的Web前端开发课程内容,不断完善教学内容,优化教学方法,学生的实践能力得到了大幅提高。在项目驱动下,学生学习的积极性非常高,学习效果非常明显,如图2所示为2017级本科专业和2018级专升本专业的学生成绩情况。在教学过程中,学生被动学习转成了主动学习,主动钻研,每位同学在学期末不仅获得了不错的成绩,还收获了一个自己独立开发的网站。
图2 计算机2017级本科和2018级专升本成绩图
六、结语
由于计算机技术更新非常快,网站应用技术日新月异,企业对从业人员的要求也越来越高,如何保证学生所学、教师所教的东西不会被淘汰,学生能适应社会发展,需要我们不断学习和思考。
参考文献
[1]李廉.计算思维:概念与挑战[J].中国大学教学,2012(10):7.12.
[2]李晓薇.Web前端开发技术以及优化方向[J].电子技术与软件工程,2019(19):48-49.
[3]牛芸,刘婧.“互联网+”时代背景下的《H5网页前端开发》课程教学改革[J].创新创业理论研究与实践,2018(11):23-25.
[4]孟瑶, 葛玉洁, 王康,等.Web 前端开发技术课程微课设计研究[J]. 计算机时代,2019(038):2-84.
[5]种子儒.项目教学法在网页制作教学中的应用[J].职业,2018(04).
[6]文志强,朱艳辉,陶立新,等.基于OBE的计算机科学与技术专业课程体系构建[J].计算机教育,2020(8):131-135.
基金项目:2018年云南财经大学本科课堂教学改革研究项目“校企共建工程实践教学课程探索和实践”
(作者单位:云南财经大学中华职业学院)
四、结语
用遗传算法求解微分方程的主要思想就是首先利用最小二乘原理将微分方程的求解问题转化为求最小值的最优化问题,然后利用遗传算法进行进化计算[6]。基于遗传算法的常微分方程问题的计算方法,有较高的计算精度,为常微分方程求解开辟了一条新的途径,而且可以得到方程的近似解析表达式,进而可以求得定义域内任意指定位置的近似值,因此本算法具有一定的应用价值。H
参考文献
[1]杨鑫,代鹏. 改进遗传算法的常微分方程求解及应用[J].辽宁工程技术大学学报(自然科学版),2015(9).
[2]庄思发. 常微分方程近似解的遗传算法研究[J].韶关学院学报,2012(10).
[3]张秋杰,赵文星. 遗传算法在二阶微分方程定解问题中的应用[J].中国科技信息
,2013(15).
[4]钟敏玲. 遗传算法求解常微分方程应用实证分析[J].渤海大学学
报(自然科学版),2009(2).
[5]郑照宁,刘德顺.基于遗传算法的改进的GM(1,1)模型IGM(1,1)
直接建模[J].系统工程理论与实践,2003(5).
[6]何长英.基于遗传算法的微分方程模型参数优化[J].电脑知识与
技术,2005(18).
(作者单位:陆军装甲兵学院)(上接第159页)
162

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。