论文部分内容阅读
在自然科学和社会科学等领域普遍存在着许多随时间而变化的复杂系统和非线性现象,如物价的波动,汇率的波动,气候的变化,人口的增长等。这些状态变量随着时间变化的系统被称作动态系统。在机械系统中,这些变量可以是位置、速度和加速度;在电子系统中,电流和充电电容通常是状态变量;而在化学系统中,变量可能是不同反应物的浓度。
人们通常希望能够根据动态系统的观测数据建立合理的微分方程模型,但是这是一件非常困难的事情。根据这些复杂冗长的数据,获得的方程结构上没有太多的科学依据。而面对大量的数据我们的经验非常有限,主要是因为:1、影响动态系统的变量比较多;2、动态系统变化规律无法总结很难提供它的经验规律。传统的建模方法是凭直觉或经验事先假定一种微分方程的结构,然后采用一些数值方法确定其中的参数。这样获得的方程具有一定的局限性而且系统中的一些未知因素很难表现在方程组中。所以为了能够尽量表现数据中包含的信息,我们选择一种从基本数据本身出发,能够随机的进行微分方程组的演化建模的方法.
进化算法包括遗传算法(GeneticAlgorithm,GA)、遗传程序设计(GeneticProgramming,GP)、进化规划(EvolutionaryProgramming,EP)和进化策略(EvolutionaryStrategies,ES)等等,它是模拟达尔文的自然进化论和孟代尔的遗传变异理论,具有坚实的生物学基础;它提供从智能生成过程观点对生物智能的模拟,具有鲜明的认知学意义;它适合与无表达或有表达的任何函数,具有可实现的并行计算行为;它能解决任何类实际问题,具有广泛的应用价值。
在上世纪末有人使用GA和GP结合的方法进行微分方程组的演化建模。这种方法是使用GP来表示方程组的结构,使用GA来优化方程组的参数。这种方法与传统的建模方法相比获得了比较好的演化结果。但是GP的树形结构比较复杂很难控制,方法的应用比较困难,而且精度有限。
针对传统方法解决动态系统的微分方程建模问题所遇到的困难和存在的不足,本文设计将方程进行串结构编码并用进化方法进行演化建模的算法,以串形结构来表示方程组结构,用进化算法优化结构和参数,成功的实现了动态系统的常微分方程组建模过程的自动化。计算实例表明:采用此算法能够在极短的时间内由计算机自动发现多个较优的常微分方程组模型,与原来GA和GP结合的方法相比较,它具有建模过程智能化、模型结构非常灵活多样、数据拟合和预测精度更高等优点。
后续的研究中,我又使用了进化加性树模型(EvolvingAdditiveTreeModels)对微分方程组进行演化。一些复杂的非线性和线性模型都是由一些简单的线性和和非线性模型组成。单个线形或非线性模型(如:神经网络模型)在动态系统建模中有一定的局限性。在本文中,我们使用一种混合进化算法逼近一个增强型的动态系统模型。在这个进化逼近的过程中,我们使用了进化算法和随机搜索算法来分别进化增强树的结构和参数。通过一组时间序列数据来仿真重建一组微分方程组并通过对线性/非线性系统的识别来说明这个逼近方法的可行性和有效性。