先进算法讲义在本讲义中,我们将着重讲述一些数学建模中常用的算法,包括神经网络算法、遗传算法、模拟退火算法和模糊数学方法。用这些算法可以较容易地解决一些很复杂的,常规算法很难解决的问题。由于这些算法都有着很深的理论背景,因此,本讲义中不可能也没有必要详细地讨论这些算法的理论,我们的目标在于应用,大家只需大概了解这些算法的原理,知道能用这些算法解决一类什么样的问题,并能应用这些算法解决数学建模中的一些问题即可。因为着眼于应用,所以我们还提供了一些程序代码,使用者只需套用这些程序,便可使问题得到很好的解决。第一节神经网络1.神经网络的简单原理人工神经网络是根据人的认识过程而开发出的一种算法。假如我们现在只有一些输入和相应的输出,而对如何由输入得到输出的机理并不清楚,那么我们可以把输入与输出之间的未知过程看成是一个“网络”,通过不断地给这个网络输入和相应的输出来“训练”这个网络,网络根据输入和输出不断地调节自己的各节点之间的权值来满足输入和输出。这样,当训练结束后,我们给定一个输入,网络便会根据自己已调节好的权值计算出一个输出。这就是神经网络的简单原理。2.神经元和神经网络的结构如上所述,神经网络的基本结构如下图所示:神经网络一般都有多层,分为输入层,输出层和隐含层,层数越多,计算结果越精确,但所需的时间也就越长,所以实际应用中要根据要求设计网络层数。神经网络中每一个节点叫做一个人工神经元,他对应于人脑中的神经元,两者的结构比较如下图:一个人工神经元一般有多个输入和一个输出,另外有一个激发函数,不同的激发函数对应了不同的网络,也决定了网络的用途。3.神经网络的分类神经网络按照网络结构和激发函数的不同可分为许多种,我们在此只是对感知器和BP网络进行简介。感知器:最早也是最简单的一种神经网络,它的神经元激发函数为阶跃函数,其神经元结构如下图:感知器主要用于分类。BP网络:应用得最为广泛,最为重要的一种神经网络。这种网络一般有多层,网络结构如下:BP网络的激发函数一般采用S型函数,如正切或对数函数,其神经元结构如下:BP网络的用途十分广泛,可用于以下方面:函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近一个函数模式识别:用一个特定的输出矢量将它与输入矢量联系起来分类:把输入矢量以所定义的合适方式进行分类数据压缩:减少输出矢量维数以便于传输或存储4.神经网络在数学建模中的应用数学建模中有...