神经网络模型 数学建模中的算法及其分析
数学建模神经网络预测模型及程序
年份 (年) 1(1988) 2(1989) 3(1990) 4(1991) 5(1992) 6(1993) 7(1994) 8(1995) 实际值 (ERI) 年份 (年) 9(1996) 10(1997) 11(1998) 12(1999) 13(2000) 14(2001) 15(2002) 16(2003) 实际值 (ERI) BP 神经网络的训练过程为: 先用1988 年到2002 年的指标历史数据作为网络的输入,用1989 年到2003 年的指标历史数据作为网络的输出,组成训练集对网络进行训练,使之误差达到满意的程度,用这样训练好的网络进行预测. 采用滚动预测方法进行预测:滚动预测方法是通过一组历史数据预测未来某一时刻的值,然后把这一预测数据再视为历史数据继续预测下去,依次循环进行,逐步预测未来一段时期的值. 用1989 年到2003 年数据作为网络的输入,2004 年的预测值作为网络的输出. 接着用1990 年到2004 年的数据作为网络的输入,2005 年的预测值作为网络的输出.依次类推,这样就得到2010 年的预测值。 目前在BP 网络的应用中,多采用三层结构. 根据人工神经网络定理可知,只要用三层的BP 网络就可实现任意函数的逼近. 所以训练结果采用三层BP模型进行模拟预测. 模型训练误差为,隐层单元数选取8个,学习速率为,动态参数,Sigmoid参数,最大迭代次数3000.运行3000次后,样本拟合误差等于。 P=[。。。];输入T=[。。。];输出 % 创建一个新的前向神经网络 net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm') % 当前输入层权值和阈值 inputWeights={1,1} inputbias={1} % 当前网络层权值和阈值 layerWeights={2,1} layerbias={2} % 设置训练参数 = 50; = ; = ; = 10000; = 1e-3;
2008数学建模国家一等奖论文(神经网络)
高等教育学费标准的研究 摘要 本文从搜集有关普通高等学校学费数据开始,从学生个人支付能力和学校办学利益获得能力两个主要方面出发,分别通过对这两个方面的深入研究从而制定出各自有关高等教育学费的标准,最后再综合考虑这两个主要因素,进一步深入并细化,从而求得最优解。 模块Ⅰ中,我们将焦点锁定在从学生个人支付能力角度制定合理的学费标准。我们从选取的数据和相关资料出发,发现1996年《高等学校收费管理暂行办法》规定高等学校学费占生均教育培养的成本比例最高不得超过25%,而由数据得到图形可知,从2002年开始学费占教育经费的比例超过了25%,并且生均学费和人均GDP 的比例要远远超过美国的10%到15%。由此可见,我国的学费的收取过高。紧接着,我们从个人支付能力角度出发,研究GDP 和学费的关系。并因此制定了修正参数,由此来获取生均学费的修正指标。随后,我们分析了高校专业的相关系数,从个人支付能力角度,探讨高校收费与专业的关系,进一步得到了高校收费标准1i i y G R Q = 。 在模块Ⅱ中,我们从学校办学利益获得能力出发,利用回归分析对学生应交的学杂费与教育经费总计、国家预算内教育经费、社会团体和公民个人办学经验、社会捐投资和其他费用的关系,发现学杂费与教育经费总计成正相关,与其他几项费用成负相关。对此产生的数据验证分析符合标准。然后,再根据专业相关系数来确定学校收取学费的标准。从而,得到了学校办学利益的收费标准2i i i y y R = 。 在模块Ⅲ中,为了获取最优解,我们综合了前面两个模块所制定的收费指标,并分别给予不同权系数,得到最终学费的表达式12i i C ay by =+。然后,我们从学校收费指标的权系数b 考虑,利用神经网络得到的区域划分,根据不同区域而计算出的权系数b 的范围。最终得到的表达式 ]12345**(1)(1.0502 1.1959 1.3108 1.36360.7929)**b i i C R G Q b x x x x x R =-+----;由此便可得到综合学费标准C 的取值范围。然后,我们随机选取了同一区域不同专业,并根据表达式计算这些专业的学费,结果发现对社会收益大,个人收益小的专业如地质学的学费范围为:3469.8~3506.3元之间;对社会收益小,个人收益大的专业如广告设计的学费范围为:7931.0~8014.5元之间。与通常高校实现的一刀切政策有了明显的优点。 最后,我们从本论文研究方向考虑,为优化高校费用标准的制定提出参考意见,如建立反馈制度和特殊生补贴制度的建议。 【关键字】相关系数 回归模型 自组织竞争神经网络
数学建模中常见的十大模型
数学建模常用的十大算法==转 (2011-07-24 16:13:14) 转载▼ 1. 蒙特卡罗算法。该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,几乎是比赛时必用的方法。 2. 数据拟合、参数估计、插值等数据处理算法。比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MA TLAB 作为工具。 3. 线性规划、整数规划、多元规划、二次规划等规划类算法。建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo 软件求解。 4. 图论算法。这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备。 5. 动态规划、回溯搜索、分治算法、分支定界等计算机算法。这些算法是算法设计中比较常用的方法,竞赛中很多场合会用到。 6. 最优化理论的三大非经典算法:模拟退火算法、神经网络算法、遗传算法。这些问题是用来解决一些较困难的最优化问题的,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。 7. 网格算法和穷举法。两者都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。 8. 一些连续数据离散化方法。很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。 9. 数值分析算法。如果在比赛中采用高级语言进行编程的话,那些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。 10. 图象处理算法。赛题中有一类问题与图形有关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形如何展示以及如何处理就是需要解决的问题,通常使用MA TLAB 进行处理。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 2 十类算法的详细说明 2.1 蒙特卡罗算法 大多数建模赛题中都离不开计算机仿真,随机性模拟是非常常见的算法之一。 举个例子就是97 年的A 题,每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108 种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢?随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。另一个例子就是去年的彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。 2.2 数据拟合、参数估计、插值等算法 数据拟合在很多赛题中有应用,与图形处理有关的问题很多与拟合有关系,一个例子就是98 年美国赛A 题,生物组织切片的三维插值处理,94 年A 题逢山开路,山体海拔高度的插值计算,还有吵的沸沸扬扬可能会考的“非典”问题也要用到数据拟合算法,观察数据的
建立数学建模案例分析
§15.4锁具装箱问题 [学习目标] 1.能表述锁具装箱问题的分析过程; 2.能表述模型的建立方法; 3.会利用排列组合来计算古典概型; 4.会利用Mathematica求解锁具装箱问题。 一、问题 某厂生产一种弹子锁具,每个锁具的钥匙有5个槽,每个槽的高度从{1,2,3,4,5,6}6个数(单位从略)中任取一数。由于工艺及其它原因,制造锁具时对5个槽的高度有两个要求:一是至少有3个不同的数;二是相邻两槽的高度之差不能为5。满足上述两个条件制造出来的所有互不相同的锁具称为一批。销售部门在一批锁具中随意地抽取,每60个装一箱出售。 从顾客的利益出发,自然希望在每批锁具中不能互开(“一把钥匙开一把锁”)。但是,在当前工艺条件下,对于同一批中两个锁具是否能够互开,有以下实验结果:若二者相对应的5个槽的高度中有4个相同,另一个槽的高度差为1,则可能互开;在其它情况下,不可能互开。 团体顾客往往购买几箱到几十箱,他们会抱怨购得的锁具中出现互开的情形。现请回答以下问题: 1.每批锁具有多少个,能装多少箱? 2.按照原来的装箱方案,如何定量地衡量团体顾客抱怨互开的程度(试对购买一、二箱者给出具体结果)。 二、问题分析与建立模型 因为弹子锁具的钥匙有5个槽,每个槽的高度从{1,2,3,4,5,6}这6个数中任取一数,且5个槽的高度必须满足两个条件:至少有3个不同的数;相邻两槽的高度之差不能为5。所以我们在求一批锁具的总数时,应把问题化为三种情况,即5个槽的高度由5个不同数字组成、由4个不同数字组成、由3个不同数字组成,分别算出各种情况的锁具个数,然后相加便得到一批锁具的总个数。在分别求这三种情况锁具个数的时候,先求出满足第1个条件的锁具个数再减去不满足第2个条件的锁具个数。在求这三种情况锁具个数的时候,主要依靠排列组合的不尽相异元素的全排列公式。 下面用一个5元数组来表示一个锁具: Key=(h1,h2,h3,h4,h5) 其中h i表示第i个槽的高度,i=1,2,3,4,5。此5元数组表示一把锁,应满足下述条件: 条件1:h i∈{1,2,3,4,5,6},i = 1,2,3,4,5。
数学建模_BP神经网络算法模板
1.1 BP 神经网络原理简介 BP 神经网络是一种多层前馈神经网络,由输入、输出、隐藏层组成。该网络的主要特点是信号前向传递,误差反向传播。在前向传递中,输入信号从输入层经隐藏层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP 神经网络预测输出不断逼近期望输出。结构图如下: 隐藏层传输函数选择Sigmoid 函数(也可以选择值域在(-1,1)的双曲正切函数,函数‘tansig ’),其数学表达式如下: x e 11)x ( f α-+=,其中α为常数 输出层传输函数选择线性函数:x )x (f = 1.隐藏层节点的选择 隐藏层神经元个数对BP 神经网络预测精度有显著的影响,如果隐藏层节点数目太少,则网络从样本中获取信息的能力不足,网络容易陷入局部极小值,有时可能训练不出来;如果隐藏层节点数目太多,则学习样本的非规律性信息会出现“过度吻合”的现象,从而导致学习时间延长,误差也不一定最佳,为此我们参照以下经验公式: 12+=I H ]10,1[ ,∈++=a a O I H I H 2log = 其中H 为隐含层节点数,I 为输入层节点数,O 为输出层节点数,a 为常数。 输入层和输出层节点的确定: 2.输入层节点和输出层节点的选择 输入层是外界信号与BP 神经网络衔接的纽带。其节点数取决于数据源的维数和输入特征向量的维数。选择特征向量时,要考虑是否能完全描述事物的本质特征,如果特征向量不能有效地表达这些特征,网络经训练后的输出可能与实际有较大的差异。因此在网络训练前,应全面收集被仿真系统的样本特性数据,并在数据处理时进行必要的相关性分析,剔除那些边沿和不可靠的数据,最终确定出数据源特征向量的维度。对于输出层节点的数目,往往需要根据实际应用情况灵活地制定。当BP 神经网络用于模式识别时,模式的自身特性就决定了输出的结果数。当网络作为一个分类器时,输出层节点数等于所需信息类别数。(可有可无) 训练好的BP 神经网络还只能输出归一化后的浓度数据,为了得到真实的数据
数学建模10种常用算法
数学建模10种常用算法 1、蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法) 2、数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具) 3、线性规划、整数规划、多元规划、二次规划等规划类问 题(建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo软件实现) 4、图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备) 5、动态规划、回溯搜索、分治算法、分支定界等计算机算法(这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中) 6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用) 7、网格算法和穷举法(网格算法和穷举法都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具) 8、一些连续离散化方法(很多问题都是实际来的,数据可以是连续的,而计算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的) 9、数值分析算法(如果在比赛中采用高级语言进行
编程的话,那一些数值分析中常用的算法比如方程组 求解、矩阵运算、函数积分等算法就需要额外编写库 函数进行调用) 10、图象处理算法(赛题中有一类问题与图形有关, 即使与图形无关,论文中也应该要不乏图片的,这些 图形如何展示以及如何处理就是需要解决的问题,通 常使用Matlab进行处 参数估计 C.F. 20世纪60年代,随着电子计算机的 。参数估计有多种方法,有最小二乘法、极大似然法、极大验后法、最小风险法和极小化极大熵法等。在一定条件下,后面三个方法都与极大似然法相同。最基本的方法是最小二乘法和极大似然法. 基本介绍 参数估计(parameter 尽可能接近的参数 误差 平方和 θ,使已知数据Y 最大,这里P(Y│θ)是数据Y P(Y│θ)。在实践中这是困难的,一般可假设P(Y│θ
数学建模案例分析--对策与决策方法建模6决策树法
§6 决策树法 对较为复杂的决策问题,特别是需要做多个阶段决策的问题,最常用的方法是决策树法。决策树法是把某个决策问题未来发展情况的可能性和可能结果所做的预测用树状图画出来。其步骤如下: 1、用方框表示决策点。从决策点画出若干条直线或折线,每条线代表一个行动方案,这样的直线或折线称为方案枝。 2、在各方案枝的末端画一个园圈,称为状态点,从状态点引出若干直线或折线,每条线表示一个状态,在线的旁边标出每个状态的概率,称为概率枝。 3、把各方案在各个状态下的损益期望值算出标记在概率枝的末端。 4、把计算得到的每个方案的损益期望值标在状态点上,然后通过比较,选出损益期望值最小的方案为最优方案。 例1某厂准备生产一种新产品,产量可以在三种水平n1、n2、n3中作决策。该产品在市场上的销售情况可分为畅销、一般和滞销三种情况,分别为S1、S2、S3。通过调查,预测市场处于这三种情况的概率分别为0.5、0.3、0.2。三种决策在各种不同市场情况下的利润见下表: 表1 基于各种决策的各种市场情况的利润表(万元) 我们可以计算每种决策下利润的期望值: 实行在水平n1下生产的利润的期望值为:90×0.5+30×0.3-60×0.2=42 实行在水平n2下生产的利润的期望值为:60×0.5+50×0.3-10×0.2=43 实行在水平n3下生产的利润的期望值为:10×0.5+9×0.3-6×0.2=6.5 由于在水平n2下生产利润的期望值最大,因而应选择产量水平n2生产。 可以应用决策树帮助解决这样的决策问题,把各种决策和情况画在图1上: 图1
图中的方框(□)称为决策点,圆圈(○)称为状态点,从方框出发的线段称为对策分支,表示可供选择的不同对策。在圆圈下面的线段称为概率分支,表示在此种对策下可能出现的各种情况。在概率分支上注明了该情况出现的概率。在每一个概率分支的末端注明了对应对策和对应情况下的收益(利润)。在计算时,我们把相应的期望值写在相应的状态点旁边,再由比较大小后选择最优决策,在图上用∥表示舍弃非最优的对策,并在决策点上注明最优决策所对应的期望利润。 图2 利用决策树还可以解决多阶段的决策问题。 例2 某公司在开发一种新产品前通过调查推知,该产品未来的销售情况分前三年和后三年两种情况。因此生产该产品有两种可供选择的方案:建造大厂和建造小厂。如果建造大厂,投资费用5000万元,当产品畅销时,每年可获利2000万元,当产品滞销时,每年要亏损120万元。如果建造小厂,投资费用1000万元,当产品畅销时,每年可获利300万元,当产品滞销时,每年仍可获利150万元。若产品畅销可考虑在后三年再扩建,扩建投资需2000万元,随后三年每年可获利1000万元;也可不再扩建。预测这六年该产品畅销的概率为0.6,滞销的概率为0.4。试分析该公司开发新产品应如何决策? 根据问题的各种情况可以画出决策树如下:这是一个两阶段的决策问题。注意到图中有两个决策点,反映建小厂的方案中可以分成前三年和后三年两个阶段,并在后三年还要做出一次决策。 图3 把各种数据填到图适当的位置后,由后向前计算获利的期望值。由图可见应采用决策:建造大厂。 500 900 1000*3=3000 300*3=900 6.5
数学建模十种常用算法
数学建模有下面十种常用算法, 可供参考: 1.蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问 题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法) 2.数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数 据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具) 3.线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多 数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo软件实现) 4.图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算 法,涉及到图论的问题可以用这些方法解决,需要认真准备) 5.动态规划、回溯搜索、分治算法、分支定界等计算机算法(这些算法是算 法设计中比较常用的方法,很多场合可以用到竞赛中) 6.最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些 问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用) 7.网格算法和穷举法(网格算法和穷举法都是暴力搜索最优点的算法,在很 多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具) 8.一些连续离散化方法(很多问题都是实际来的,数据可以是连续的,而计 算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的) 9.数值分析算法(如果在比赛中采用高级语言进行编程的话,那一些数值分 析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用) 10.图象处理算法(赛题中有一类问题与图形有关,即使与图形无关,论文中 也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问题,通常使用Matlab 进行处理)
BP神经网络模型与学习算法
BP神经网络模型与学习算法 BP神经网络模型与学习算法 (1) 一,什么是BP (1) 二、反向传播BP模型 (8) 一,什么是BP "BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。" 我们现在来分析下这些话: ?“是一种按误差逆传播算法训练的多层前馈网络” BP是后向传播的英文缩写,那么传播对象是什么?传播的目的是什么?传播的方式是后向,可这又是什么意思呢。 传播的对象是误差,传播的目的是得到所有层的估计误差,后向是说由后层误差推导前层误差: 即BP的思想可以总结为 利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。 ?“BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)” 最简单的三层BP:
?“BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。”BP利用一种称为激活函数来描述层与层输出之间的关系,从而模拟各层神经元之间的交互反应。 激活函数必须满足处处可导的条件。那么比较常用的是一种称为S型函数的激活函数: 那么上面的函数为什么称为是S型函数呢: 我们来看它的形态和它导数的形态: p.s. S型函数的导数:
数学建模案例分析
案例分析1: 自行车外胎的使用寿命 问题: 目前,自行车在我国是一种可缺少的交通工具。它小巧、灵活、方便、易学,而且价格适中,给广大居民带来了不小的益处。但是,自行车也有令人头痛的地方,最常见的问题莫过于扎胎了。扎胎的原因有很多,但相当一部分是由于外胎磨损,致使一些玻璃碴、小石子很容易侵入、扎破内胎。为了减少不必要的麻烦,如何估计自行车外胎的寿命,及时更换? 分析: 分析角度:由于题目里未明确指出我们是应从厂家角度,还是应从用户角度来考虑这个问题,因此需要我们自己做出合理判断。若从厂家角度,我们面对的应当是一大批自行车外胎的平均寿命的估计。这样的估计要求一定精确度和相对明确的使用环境;而从用户角度来说,面对的仅是个人的一辆车,不需要很高的精确度,这样的寿命估计更简单,易于随时了解,下面仅从用户角度进行分析。 产品的使用者需要了解产品的寿命,是基于安全性及更换的费用来考虑的。我们将这两个标准作为主要标准来分析,首先值得注意的两个关键性问题是如何定义寿命、何时为寿命的终止。寿命的定义要做到科学,直观,有可比性,在航空工业中航天飞机的使用寿命是用重复使用的次数来衡量,而工厂机器设备的寿命则以连续工作的时间来定义。本题外胎的寿命亦可用时间来表征,但由于外胎的寿命直接与其磨损速度相关;而磨损速度又与使用频率及行驶速度相互联系,致使外胎的寿命不一定与使用时间成正比(这种非正比关系使我们不能拿一辆—天跑200公里的自行车与一天只跑1公里的自行车进行寿命比较),降低了可比性。如换成自行车的路程寿命来比较,就好得多。产品寿命是在安全性和更换费用相互制约下达到的一个点,在这个点上,外胎的安全系数降到用户不可接受的最低值,更换费用(寿命越长,在一定意义上更换费用越低)也达到了最大限度的节省。 弄清了上面两个问题后,我们继续明确建立模型需要解决哪些问题及建立模型的重点难点。 自行车使用过程中,一来影响因素多,二来这些因素之间彼此相关,十分复杂,要做到比较准确地估计使用寿命,不但要对外胎的性能有相当的了解,而且对使用环境更不能忽视。当然我们由于是站在用户角度上来考虑的,相对地就可忽略一些次要的影响因素。 这样的数学模型面对着两个主要问题。一、自行车使用寿命与外胎厚度的关系,二、外胎能够抵御小石子破坏作用的最小厚度。后者可处理得相对简略些(如只考虑一块具有一般特征的小石子对外胎的破坏作用),而重点(也是难点)是第一个问题。车重、人重、轮胎性质(力学的、热学的、甚至化学的)和自行车使用频率等都左右着它们的关系。这么多相关因素,不必一一都加以考虑(用户是不会在意这么多的),有些因素,可以先不考虑,在模型的改进部分再作修改,采取逐步深入的方法,如:摩擦损耗有滑动摩擦和滚动摩擦损耗两种,由于滚动摩擦占用的时间(或路程)显然占绝对优势,因此可重点考虑。但滑动摩擦造成的一次损坏又比滚动摩擦大,在刹车使用过频的情况下,就不能不考虑了。 最后,需对得出的结果用简单清晰的文字进行说明,以供用户参考。 案例分析2:城市商业中心最优位置分析 问题: 城市商业中心是城市的基本构成要素之一。它的形成是一个复杂的定位过程。商业中心的选址涉及到各种因素制约,但其中交通条件是很重要的因素之一。即商业中心应位于城市“中心”,如果太偏离这一位置,极有可能在城市“中心”地带又形成一个商业区,造成重复建设。 某市对老商业中心进行改建规划,使居民到商业中心最方便。如果你是规划的策划者,如何建立一个数学模型来解决这个问题。
数学建模中常见的十大模型讲课稿
数学建模中常见的十 大模型
精品文档 数学建模常用的十大算法==转 (2011-07-24 16:13:14) 转载▼ 1. 蒙特卡罗算法。该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,几乎是比赛时必用的方法。 2. 数据拟合、参数估计、插值等数据处理算法。比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MA TLAB 作为工具。 3. 线性规划、整数规划、多元规划、二次规划等规划类算法。建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo 软件求解。 4. 图论算法。这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备。 5. 动态规划、回溯搜索、分治算法、分支定界等计算机算法。这些算法是算法设计中比较常用的方法,竞赛中很多场合会用到。 6. 最优化理论的三大非经典算法:模拟退火算法、神经网络算法、遗传算法。这些问题是用来解决一些较困难的最优化问题的,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。 7. 网格算法和穷举法。两者都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。 8. 一些连续数据离散化方法。很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。 9. 数值分析算法。如果在比赛中采用高级语言进行编程的话,那些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。 10. 图象处理算法。赛题中有一类问题与图形有关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形如何展示以及如何处理就是需要解决的问题,通常使用MATLAB 进行处理。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 2 十类算法的详细说明 2.1 蒙特卡罗算法 大多数建模赛题中都离不开计算机仿真,随机性模拟是非常常见的算法之一。 举个例子就是97 年的A 题,每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108 种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢?随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。另一个例子就是去年的彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。 2.2 数据拟合、参数估计、插值等算法 数据拟合在很多赛题中有应用,与图形处理有关的问题很多与拟合有关系,一个例子就是98 年美国赛A 题,生物组织切片的三维插值处理,94 年A 题逢山开路,山体海拔高度的 收集于网络,如有侵权请联系管理员删除
数学建模方法详解种最常用算法
数学建模方法详解--三种最常用算法 一、层次分析法 层次分析法[1] (analytic hierarchy process,AHP)是美国著名的运筹学家T.L.Saaty教授于20世纪70年代初首先提出的一种定性与定量分析相结合的多准则决策方法[2,3,4].该方法是社会、经济系统决策的有效工具,目前在工程计划、资源分配、方案 排序、政策制定、冲突问题、性能评价等方面都有广泛的应用. (一) 层次分析法的基本原理 层次分析法的核心问题是排序,包括递阶层次结构原理、测度原理和排序原理[5].下面分别予以介绍. 1.递阶层次结构原理 一个复杂的结构问题可以分解为它的组成部分或因素,即目标、准则、方案等.每一个因素称为元素.按照属性的不同把这 些元素分组形成互不相交的层次,上一层的元素对相邻的下一层的全部或部分元素起支配作用,形成按层次自上而下的逐层支配 关系.具有这种性质的层次称为递阶层次. 2.测度原理 决策就是要从一组已知的方案中选择理想方案,而理想方案一般是在一定的准则下通过使效用函数极大化而产生的.然而对 于社会、经济系统的决策模型来说,常常难以定量测度.因此,层次分析法的核心是决策模型中各因素的测度化.3.排序原理
层次分析法的排序问题,实质上是一组元素两两比较其重要性,计算元素相对重要性的测度问题.(二) 层次分析法的基本步骤 层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一致的[1] . 1.成对比较矩阵和权向量 为了能够尽可能地减少性质不同的诸因素相互比较的困难,提高结果的准确度.T .L .Saaty 等人的作法,一是不把所有因 素放在一起比较,而是两两相互对比,二是对比时采用相对尺度. 假设要比较某一层n 个因素n C C ,,1对上层一个因素O 的影响,每次取两个因素i C 和j C ,用ij a 表示i C 和j C 对O 的影响之比, 全部比较 结 果 可 用 成 对 比 较 阵 1 ,0,ij ij ji n n ij A a a a a 表示,A 称为正互反矩阵.一般地,如果一个正互反阵 A 满足: , ij jk ik a a a ,,1,2,,i j k n (1) 则A 称为一致性矩阵,简称一致阵.容易证明n 阶一致阵A 有下列性质: ①A 的秩为1,A 的唯一非零特征根为n ;②A 的任一列向量都是对应于特征根 n 的特征向量. 如果得到的成对比较阵是一致阵,自然应取对应于特征根n 的、归一化的特征向量(即分量之和为1)表示诸因素n C C ,, 1对 上层因素O 的权重,这个向量称为权向量.如果成对比较阵A 不是一致阵,但在不一致的容许范围内,用对应于A 最大特征根(记
数学建模案例分析-- 插值与拟合方法建模1数据插值方法及应用
第十章 插值与拟合方法建模 在生产实际中,常常要处理由实验或测量所得到的一批离散数据,插值与拟合方法就是要通过这些数据去确定某一类已经函数的参数,或寻求某个近似函数使之与已知数据有较高的拟合精度。插值与拟合的方法很多,这里主要介绍线性插值方法、多项式插值方法和样条插值方法,以及最小二乘拟合方法在实际问题中的应用。相应的理论和算法是数值分析的内容,这里不作详细介绍,请参阅有关的书籍。 §1 数据插值方法及应用 在生产实践和科学研究中,常常有这样的问题:由实验或测量得到变量间的一批离散样点,要求由此建立变量之间的函数关系或得到样点之外的数据。与此有关的一类问题是当原始数据 ),(,),,(),,(1100n n y x y x y x 精度较高,要求确定一个初等函数)(x P y =(一般用多项式或分段 多项式函数)通过已知各数据点(节点),即n i x P y i i ,,1,0,)( ==,或要求得函数在另外一些点(插值点)处的数值,这便是插值问题。 1、分段线性插值 这是最通俗的一种方法,直观上就是将各数据点用折线连接起来。如果 b x x x a n =<<<= 10 那么分段线性插值公式为 n i x x x y x x x x y x x x x x P i i i i i i i i i i ,,2,1,,)(11 1 11 =≤<--+--= ----- 可以证明,当分点足够细时,分段线性插值是收敛的。其缺点是不能形成一条光滑曲线。 例1、已知欧洲一个国家的地图,为了算出它的国土面积,对地图作了如下测量:以由西向东方向为x 轴,由南向北方向为y 轴,选择方便的原点,并将从最西边界点到最东边界点在x 轴上的区间适当的分为若干段,在每个分点的y 方向测出南边界点和北边界点的y 坐标y1和y2,这样就得到下表的数据(单位:mm )。 根据地图的比例,18 mm 相当于40 km 。
数学建模竞赛-神经网络
神经网络 例 解:设计BP网,编写文件ch14eg4.m,结构和参数见程序中的说明。clear;close all; x = [0:0.25:10]; y = 0.12*exp(-0.213*x)+0.54*exp(-0.17*x).*sin(1.23*x); % x,y分别为输入和目标向量 net=newff(minmax(x),[20,1],{'tansig','purelin'}); % 创建一个前馈网络 y0 = sim(net,x); % 仿真未经训练的网络net net.trainFcn='trainlm'; % 采用L-M优化算法TRAINLM net.trainParam.epochs = 500; net.trainParam.goal = 1e-6; % 设置训练参数[net,tr]=train(net,x,y); % 调用相应算法训练网络 y1 = sim(net,x); % 对BP网络进行仿真 E = y-y1; MSE=mse(E) % 计算仿真误差
figure; % 下面绘制匹配结果曲线 plot(x,y0,':',x,y1,'r*',x,0.12*exp(-0.213*x)+0.54*exp(-0.17*x).*sin(1.23*x),'b'); 运行如下: >> ch14eg4 MSE =9.6867e-007 例14.6 蠓虫分类问题。两种蠓虫Af和Apf已由生物学家W.L.Grogan和W.W.Wirth(1981)根据他们的触角长度和翅长加以区分。现测得6只Apf蠓虫和9只Af蠓虫的触长、翅长的数据如下: Apf: (1.14,1.78),(1.18,1.96),(1.20,1.86),(1.26,2.),(1.28,2.00),(1.30,1.96). Af: (1.24,1.72),(1.36,1.74),(1.38,1.64),(1.38,1.82),(1.38,1.90),(1.4,1.7), (1.48,1.82),(1.54,1.82),(1.56,2.08) 请用恰当的方法对触长、翅长分别为(1.24,1.80),(1.28,1.84),(1.40,2.04)的3个样本进行识别。 解:设计一个Lvq神经网络进行分类。编写m文件ch14eg6.m clear; close all; Af=[1.24,1.36,1.38,1.38,1.38,1.4,1.48,1.54,1.56;1.27,1.74,1.64,1.82, 1.9,1.7,1.82,1.82,2.08]; Apf=[1.14 1.18 1.20 1.26 1.28 1.30;1.78 1.96 1.86 2.00 2.00 1.96]; x=[Af Apf];%输入向量 y0=[2*ones(1,9) ones(1,6)];%类2表示Af, 类1表示Apf y=ind2vec(y0);%将下标向量转换为单值向量作为目标向量 net = newlvq(minmax(x),8,[0.6,0.4]);%建立LVQ网络 net.trainParam.show=100; net.trainParam.epochs = 1000;%设置参数 net = train(net,x,y); ytmp=sim(net,x);%对网络进行训练并用原样本仿真 y1=vec2ind(ytmp);%将单值向量还原为下标向量作为输出向量 xt=[1.24,1.28,1.40;1.80,1.84,2.04];%测试输入样本 yttmp=sim(net,xt)%对网络用新样本进行仿真 yt=vec2ind(yttmp)%输出新样本所属类别 figure;%打开一个图形窗口 plot(Af(1,:),Af(2,:),'+',Apf(1,:),Apf(2,:),'o',xt(1,:),xt(2,:),'*');
最新数学建模bp神经网络.docx
BP神经网络 算法原理: 输入信号 x i通过中间节点(隐层点)作用于输出节点,经过非线形变换,产生输 出信号 y k,网络训练的每个样本包括输入向量x 和期望输出量d,网络输出值y 与期望输出值 d 之间的偏差,通过调整输入节点与隐层节点的联接强度取值w ij和隐层节点与输出节点之间的联接强度T jk以及阈值,使误差沿梯度方向下降,经过反复学习训练, 确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。 变量定义: 设输入层有 n 个神经元,隐含层有p 个神经元 , 输出层有 q 个神经元 输入向量: x x1 , x2 ,L , x n 隐含层输入向量:hi hi1, hi2 ,L , hi p 隐含层输出向量:ho ho1 , ho2 ,L ,ho p 输出层输入向量:yi yi1, yi2 ,L , yi q 输出层输出向量:yo yo1, yo2 ,L , yo q 期望输出向量 : do d1, d2 ,L , d q 输入层与中间层的连接权值:w ih 隐含层与输出层的连接权值:w ho 隐含层各神经元的阈值: b h 输出层各神经元的阈值:b o 样本数据个数 :k1,2,L m 激活函数 : f 误差函数: e 1 q(d o (k )yo o (k )) 2 2 o1
算法步骤: Step1. 网络初始化 。给各连接权值分别赋一个区间( -1 , 1)内的随机数,设定 误差函数 e ,给定计算精度值 和最大学习次数 M 。 Step2. 随机选取第 k 个输入样本 x( k) x 1( k ), x 2 (k),L , x n (k ) 及对应期望输出 d o ( k) d 1 (k ), d 2 ( k),L , d q (k) Step3. 计算隐含层各神经元的输入 n hi h ( k) w ih x i (k ) b h h 1,2,L , p 和输出 i 1 ho h (k) f (hi h (k )) h 1,2, L , p 及 输 出 层 各 神 经 元 的 输 入 p yi o (k ) w ho ho h (k) b o o 1,2,L q 和输出 yo o ( k) f ( yi o (k )) o 1,2, L , p h 1 Step4. 利用网络期望输出和实际输出, 计算误差函数对输出层的各神经元的偏导 数 o (k ) 。 e e yi o w ho yi o w ho p yi o ( k) ( h w ho ho h (k ) b o ) ho h (k ) w ho w ho e ( 1 q (d o ( k) yo o (k))) 2 2 o 1 ( d o (k ) yi o yi o (d o (k) yo o (k ))f ( yi o (k )) @ o (k ) Step5. 利用隐含层到输出层的连接权值、输出层的 差函数对隐含层各神经元的偏导数 h (k ) 。 e e yi o o ( k) ho h (k ) w ho yi o w ho e e hi h (k) w ih hi h ( k) w ih n hi h (k ) ( w ih x i (k ) b h ) i 1 x i ( k) w ih w ih yo o (k )) yo o (k ) o ( k) 和隐含层的输出计算误
数学建模中常见的十大模型
数学建模中常见的十大 模型 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】
数学建模常用的十大算法==转 (2011-07-24 16:13:14) 1. 蒙特卡罗算法。该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,几乎是比赛时必用的方法。 2. 数据拟合、参数估计、插值等数据处理算法。比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MATLAB 作为工具。 3. 线性规划、整数规划、多元规划、二次规划等规划类算法。建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo 软件求解。 4. 图论算法。这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备。 5. 动态规划、回溯搜索、分治算法、分支定界等计算机算法。这些算法是算法设计中比较常用的方法,竞赛中很多场合会用到。 6. 最优化理论的三大非经典算法:模拟退火算法、神经网络算法、遗传算法。这些问题是用来解决一些较困难的最优化问题的,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。 7. 网格算法和穷举法。两者都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。
8. 一些连续数据离散化方法。很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。 9. 数值分析算法。如果在比赛中采用高级语言进行编程的话,那些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。 10. 图象处理算法。赛题中有一类问题与图形有关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形如何展示以及如何处理就是需要解决的问题,通常使用MATLAB 进行处理。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 2 十类算法的详细说明 蒙特卡罗算法 大多数建模赛题中都离不开计算机仿真,随机性模拟是非常常见的算法之一。 举个例子就是97 年的A 题,每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108 种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。另一个例子就是去年的彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。