数学建模心得
这篇文章是本人的数学建模队友在建模过程中的一些心得,联系作者请留言,未经允许严禁转载
1、数学建模的定义
数学建模就是根据实际问题来建立数学模型,对数学模型来进行求解,然后根据结果去解决实际问题。当需要从定量的角度分析和研究一个实际问题时,人们就要在深入调查研究、了解对象信息、作出简化假设、分析内在规律等工作的基础上,用数学的符号和语言作表述来建立数学模型。举个最简单的例子,初中我们就做过关于小河渡船的问题,一条长为L的小河,船A从小河上游除法,船B从小河下游出发,流水流速是V0,小船船速是V1,问多长时间两船相遇?
上题是一个最简单的数学问题之一,因为它忽略了很多的因素,比如流水的速度会不会变化呀?流水速度怎样变化呀?考虑到船的位置,小河中间和先和边缘喝水流速会不会不同呀?船在不同的位置速度会不会也不一样啊?靠岸时离岸时速度比较低呀?等等问题。当你能把这些因素全部考虑进去并加以解决的时候,那你就是在做一个数学建模问题。
上面提到了一个很重要的关键词——因素。遇到问题首先要做的就是分析问题,而分析问题的关键在于找出和问题相关的所有因素,只有把所有的因素全部找到了,接下来你才能针对问题给出一个合理而且完整的答案。数学建模从生活来,但实际问题中的很多问题过于复杂,需要考虑很多因素,但一些次要因素往往被忽略用于简化问题,这时我们需要给一个明确且合理的理由,解释或证明这些次要因素在大成目标的过程中可以被忽略或者何时被忽略,当我们把核心因素提取出来时我们就进入了数学问题中。
数学建模要建立、使用一些模型来解决问题,那么我们必须要了解常用的数学模型的思想和方法,并且要尽可能的学会使用这些方法。常见的模型有——灰色预测,灰色关联分析方法,主成分分析方法,模糊聚类分析方法,随机模拟(蒙特卡罗算法),多元回归模型,正交试验设计,图论,目标规划模型,马尔可夫预测方法,时间序列分析,模糊综合评价模型,层次分析模型,模糊数学方法,模拟退火算法等。
1.灰色预测
基于灰色建模理论的灰色预测法,按照其预测问题的特征,可分为五种基本类型,即数列预测、灾变预测、季节灾变预测、拓扑预测和系统综合预测。这五种类型的预测方法,都是区域开发研究中重要而且常用的预测方法。
2.灰色关联分析方法
在实际问题中,许多因素之间的关系是灰色的,人们很难分清哪些因素是主导因素,哪些因素是非主导因素;哪些因素之间关系密切,哪些不密切。灰色关联分析,为我们解决这类问题提供了一种行之有效的方法。
3.主成分分析方法
地理环境是多要素的复杂系统,在我们进行地理系统分析时,多变量问题是经常会遇到的。变量太多,无疑会增加分析问题的难度与复杂性,而且在许多实际问题中,多个变量之间是具有一定的相关关系的。因此,我们就会很自然地想到,能否在各个变量之间相关关系研究的基础上,用较少的新变量代替原来较多的变量,而且使这些较少的新变量尽可能多地保留原来较多的变量所反映的信息?事实上,这种想法是可以实现的,主成分分析方法就是综合处理这种问题的一种强有力的方法。
4.模糊聚类分析方法
模糊聚类分析,是从模糊集的观点来探讨事物的数量分类的一类方法,主要包括基于模糊等价关系与基于最大模糊支撑树的模糊聚类分析方法。
5.随机模拟(蒙特卡罗算法)
随机模拟法也叫蒙特卡罗法,它是用计算机模拟随机现象,通过大量仿真试验,进行分析推断,特别是对于一些复杂的随机变量,不能从数学上得到它的概率分布,而通过简单的随机模拟就可以得到近似的解答。Monte Carlo 法也用于求解一些非随机问题,如重积分、非线性方程组求解、最优化问题等。需要指出的是,Monte Carlo计算量大,精度也不高,因而主要用于求那些解析方法或常规数学方法难解问题的低精度解,或用于对其他算法的验证。
6.多元回归模型
由于客观事物内部规律的复杂性及人们认识程度的限制,无法分析实际对象内在的因果关系,建立合乎机理规律的数学模型。所以在遇到有些无法用机理分析建立数学模型的时候,通常采取搜集大量数据的办法,基于对数据的统计分析去建立模型,其中用途最为广泛的一类随即模型就是统计回归模型。
7.正交试验设计
正交试验设计是利用正交表科学的安排与分析多因素试验的方法,是最常用的试验设计之一。正交表分为等水平正交表和混合水平正交表。等水平代表各因素所取的水平数相同,混合水平表示各因素的水平数不一定相同。
8.图论
图论中的“图”是指某类具体事物和这些事物之间的联系。如果我们用点表示这些具体事物,用连接两点的线段(直的或曲的)表示两个事物的特定的联系,就得到了描述这个“图”的几何形象。图论为任何一个包含了一种二元关系的离散系统提供了一个数学模型,借助于图论的概念、理论和方法,可以对该模型求解。图论是运筹学中的一个经典和重要的分支,所研究的问题涉及经济管理、工业工程、交通运输、计算机科学与信息技术、通讯与网络技术等诸多领域。其中包括的问题有最短路问题、最大流问题、最小费用流问题和匹配问题等。
9.目标规划模型
为了克服线性规划的局限性,目标规划采用设置偏差量、统一处理目标与约束以及设置目标的优先级与权系数等手段,除刚性约束必须严格满足外,对所有目标约束均允许有偏差。目标规划的求解过程要从高到低逐层优化,在不增加高层次目标的偏差值的情况下,逐次使低层次的偏差达到极小。
10.马尔可夫预测方法
对事件的全面预测,不仅要能够指出事件发生的各种可能结果,而且还必须给出每一种结果出现的概率,说明被预测的事件在预测期内出现每一种结果的可能性程度。这就是关于事件发生的概率预测。马尔可夫(Markov)预测法,就是一种关于事件发生的概率预测方法。它是根据事件的目前状况来预测其将来各个时刻(或时期)变动状况的一种预测方法。马尔可夫预测法是地理预测研究中重要的预测方法之一。
11.时间序列分析
按照时间的顺序把随机事件变化发展的过程记录下来就构成了一个时间序列。对时间序列进行观察、研究,找寻它变化发展的规律,预测它将来的走势就是时间序列分析
12.模糊综合评价模型
模糊综合评判方法,是一种运用模糊数学原理分析和评价具有“模糊性”的事物的系统分析方法。它是一种以模糊推理为主的定性与定量相结合、精确与非精确相统一的分析评价方法。由于这种方法在处理各种难以用精确数学方法描述的复杂系统问题方面所表现出的独特的优越性,近年来已在许多学科领域中得到了十分广泛的应用。
13.层次分析模型
层次分析法(简称AHP方法),是一种定性与定量相结合的决策分析方法。它是一种将决策者对复杂系统的决策思维过程模型化、数量化的过程。应用这种方法,决策者通过将复杂问题分解为若干层次和若干因素,在各因素之间进行简单的比较和计算,就可以得出不同方案的权重,为最佳方案的选择提供依据。
14.模糊数学方法
模糊数学方法,是一种研究和处理模糊现象的新型数学方法。这一方法,是由美国自动控制专家查德(L.A.Zadeh)于1965年首次提出来的。在经典集合论中,一个元素对于一个集合,要么属于,要么不属于,二者必居其一,绝不允许模棱两可。这一要求就从根本上限定了以经典集合论为基础的常规数学方法的应用范围,它只能用来研究那些具有绝对明确的界限的事物和现象。但是,在现实世界中,并非所有事物和现象都具有明确的界限。譬如,“高与矮”,“好与坏”,“美与丑”,……,这样一些概念之间就没有绝对分明的界限。严格说来,这些概念就是没有绝对的外延,这些概念被称之为模糊概念,它们不能用一般集合论来描述,而需要用模糊集合论去描述。
15.模拟退火算法
模拟退火算法来源于材料的热处理原理,将金属加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。
以上是学习数学建模需要掌握的常见模型及方法,请小伙伴们一定要掌握哦。
2、数学建模常用的软件
1、Matlab:数学建模最常用的软件之一是MATLAB,原因在于MATLAB强大的功能,MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
2、数学建模要求至少熟练使用一种编程语言,并对其他语言有所了解,因为编程在有些时候用于简化问题方面是非常有用的,他同时也是很多其他软件的基础,是我们掌握一门算法必备的工具。
3、lingo(可用于解决线性规划问题)
4、在有些问题中我们需要做数据挖掘和数据统计,这时我们就需要一个好的数学统计软件——SPSS、SAS、STATA。
5、美赛中,掌握PS也是一项重要的技能。
需要使用的软件还有很多,比如ARCGIS做地理信息分析,pathfinder做人员疏散研究等等等等,等待大家去开发。
3、数学建模比赛常备知识
- 论文查找很重要,第一天往往实在查论文,所以要学会使用搜索引擎。
- 组队一般是三个人,所以需要好的队友,需要很好的团队合作和沟通,请务必在寻找队友时多花些功夫。
- 比赛前一定要积累知识,同时要注意休息,因为熬夜是肯定的。
- 平时多学习编程思想,多做一些东西,比如生成式对抗网络的应用,在比赛前可以做准备,因为比赛时没那么多时间。
- 提交论文的时间一定要注意,所以队长务必打起精神,吧自己的任务做好,控制表最好提前打印好,早点上传。
- 选赛题的时候要考虑清楚,但是不要在这个上面花费太多时间。
- 论文排版很重要,可能会让你的一等奖变成二等奖,多用流程图解释往往更清晰。
- 最后,遇到难以解决的问题一定不要慌,自信自己一定能走过去,找到解决方法。
以上只是我的经验之谈,仅做参考,天道酬勤,相信努力+态度+方法=成功,数学建模比赛最重要的还是学习到很多技能,每个人都能在自己的舞台上绽放光芒。