这里总结了一些数学建模的常用模型和算法,我们给出了相应的模型(算法)描述、相关内容的网页链接,部分模型(算法)给出了全国大学生数学建模竞赛中使用该模型(算法)的优秀论文的例子。
模型描述:
微分方程模型是指,在机理分析的基础上,建立关于未知变量、未知变量的导数以及自变量的方程(方程组),通过求解,得到未知变量的变化情况的模型。
在建立微分方程的时候,可以利用已知的物理定律(例如:牛顿加热定理)、平衡或增长关系(人口增长规律)等,常见的例子有:传染病模型、经济增长模型、正规战与游击战、药物在体内的分布与排除、香烟过滤嘴的作用、人口预测和控制、烟雾的扩散与消失、万有引力定律的发现等。
参考网页:
百度文库.
https://wenku.baidu.com/view/601e0a3ef56527d3240c844769eae009591ba26c.html
百度文库,以四个例子讲解.
https://wenku.baidu.com/view/884af5c69ec3d5bbfd0a744a.html
道客巴巴,以多个例子讲解.
http://www.doc88.com/p-0751499527286.html
优秀论文实例:
2019年 A240 高压油管压力波动的稳定控制 一文:针对问题一,利用燃油压力与密度关系式,推导燃油密度变化,通过燃油压力与密度关系式推得压力变化,使微小时段无穷逼近于零,建立微分方程模型。
模型描述:
元胞自动机模型是网络动力学模型中最常用的一种。许多复杂的问题都可以通过元胞自动机来建立模型,元胞自动机实质上是定义在一个具有离散、有限状态的元胞组成的元胞空间上,并按照一定的局部规则,在离散的时间维度上演化的动力学系统。元胞又可称为单元、细胞,是元胞自动机的最基本的组成部分。元胞具有以下特点:1)元胞自动机最基本的单元。2)元胞有记忆贮存状态的功能。3)所有元胞状态都按照元胞规则不断更新。
参考网页:
讲解特别详细.
https://max.book118.com/html/2015/0613/18964031.shtm
B站,两个例子讲解.
https://www.bilibili.com/read/cv4587910/
CSDN,两个例子含代码.
https://blog.csdn.net/weixin_43102634/article/details/102996254
优秀论文实例:
2019年 C137 基于系统模拟的机场出租车决策与安排模型 一文:针对上车点的设置问题,以乘车效率为优化目标,安全因素为约束条件,上车点数量为决策变量,建立单目标优化模型。通过合理制定机场出租车乘车区运行规则,利用元胞自动机的方法,进行计算机模拟,得到各方案对应的乘车效率。
模型描述:
动态规划方法属较科学有效的模型,它的基本思想是,把一个比较复杂的问题分解为一系列同类型的更易求解的子问题,便于应用计算机。整个求解过程分为两个阶段,先按整体最优的思想逆序地求出各个子问题中所有可能状态的最优决策与最优路线值,然后再顺序地求出整个问题的最优策略和最优路线。计算过程中,系统地删去了所有中间非最优的方案组合,从而使计算工作量比穷举法大为减少。
参考网页
道客巴巴,概念讲解全面.
https://www.doc88.com/p-6896483301441.html?r=1
道客巴巴,以一个例子讲解.
https://www.doc88.com/p-272181986541.html?r=1
CSDN,简单例子含代码.
https://blog.csdn.net/qq_43649786/article/details/98843408
优秀论文实例:
2020年 B108 基于动态规划、统计分析、静态博弈的穿越沙漠游戏策略设计 一文:针对问题一,先将游戏机制转化为python程序,模拟后发现了对游戏状态及其转移规律的数学表示后论证了动态规划模型的合理性。
模型描述:
决策树通过把实例从根节点排列到某个叶子节点来分类实例,叶子节点即为实例所属的分类。树上的每一个节点说明了对实例的某个属性的测试,并且该节点的每一个后继分支对应于该属性的一个可能值。
决策树可以做分类、回归,数据从上往下在树中游走,叶子节点就是最终的预测值or回归值
参考网页:
豆丁网,讲解全面.
https://www.docin.com/p-661084110.html
博客园,以例子讲解.
https://www.cnblogs.com/zhwa1314/p/12128769.html
博客园,以例子讲解.
https://www.cnblogs.com/listenfwind/p/10199720.html
优秀论文实例:
2020年 C109 基于梯度下降的决策树算法与非线性规划的信贷风险评估与信贷策略模型 一文:针对问题一,首先基于附件的交易票据数据挖掘出各企业的多项经营与财务指标,并进行筛选。之后对于传统的决策树模型进行改进,对于原模型添加正则项函数以抑制决策树的复杂性,利用集成学习思想将多个决策树模型进行叠加,基于梯度下降算
法进行迭代优化,得到最终的集成模型。
模型描述:
在实际问题研究中,多变量问题是经常会遇到的。变量太多,无疑会增加分析问题的难度与复杂性,而且在许多实际问题中,多个变量之间是具有一定的相关关系的。 因此,人们会很自然地想到,能否在相关分析的基础上,用较少的新变量代替原来较多的旧变量,而且使这些较少的新变量尽可能多地保留原来变量所反映的信息?
主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法。
参考网页:
知乎,讲解详细,SPSS应用为例子.
https://zhuanlan.zhihu.com/p/63139206
百度文库.
https://wenku.baidu.com/view/f19495b5001ca300a6c30c22590102020640f2d5.html
豆丁网,一个例子讲解.
https://www.docin.com/p-1023576770.html
优秀论文实例:
2020年 C142 银行对中小微企业的信贷策略 一文:在模型建立方面,对于问题一,本组建立了三级七类的企业风险衡量指标体系,并建立了基于主成分分析的信贷风险评价模型和基于非线性规划的最优信贷策略决策模型。
模型描述:
图论作为优化问题的一个分支,是通过优化方法来解决图或网络中出现的诸如最短路径问题,最小生成树,最大流,最小流问题等。除了传统意义上的图,很多问题都可以转化为图论问题。比如图像拼接问题,就是将图像按照边缘的吻合度来进行拼接。可以将每个图像碎片视为图的节点,将碎片边缘的吻合度作为图中节点之间的距离,从而将图像拼接问题转化为图论问题。
参考网站:
百度文库.
https://wenku.baidu.com/view/41ff73a06d175f0e7cd184254b35eefdc9d31575.html
豆丁网.
https://www.docin.com/p-2142865988.html
CSDN,含详细代码实现.
https://blog.csdn.net/weixin_41213648/article/details/92802864
模型描述:
排队论又称为随机服务系统。抽象地说,可以将有输入和输出的一个整体称为一个系统,将进入该系统希望得到某种服务的人或物称为顾客,提供某种服务的人或设施称为服务台。顾客进入到系统后等待接受服务,当其需要的服务得到满足后离开该系统。由于顾客达到该系统般都是随机的,到达后接受服务的时间也是随机的,所以也称排队论为随机服务系统理论,并可将排队论看成概率与统计研究的种具体的问题。该理论要研究的是排队系统运行的效率以及如何改进排队系统使得顾客接受服务的质量得到提升。
参考网站:
(CSDN,代码和数学公式)https://blog.csdn.net/weixin_43102634/article/details/102996193
(百度文库,PPT)https://wenku.baidu.com/view/35cd84768762caaedc33d430.html
(豆丁网,书本详细讲解)https://www.docin.com/p-487580791.html
模型描述:
研究时间序列主要目的:进行预测,根据已有的时间序列数据预测未来的变化。时间序列预测关键:确定已有的时间序列的变化模式,并假定这种模式会延续到未来。预测步骤:
第一步:确定时间序列所包含的成分,确定时间序列的类型。第二步:找出适合此类时间序列的预测方法。第三步:对可能的预测方法进行评估,以确定最佳预测方案。第四步:利用最佳预测方案进行预测。
参考网页:
CSDN,详细讲解.
https://blog.csdn.net/mengjizhiyou/article/details/82683448
百度文库.
https://wenku.baidu.com/view/b39e7778168884868762d68c.html
豆丁网,详细讲解.
https://www.docin.com/p-681357029.html
算法描述:
模拟退火算法是基于Monte-Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。
原理:模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e(-ΔE/(kT)),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。
步骤:
模拟退火算法新解的产生和接受可分为如下四个步骤:
第一步是由一个产生函数从当前解产生一个位于解空间的新解;为便于后续的计算和接受,减少算法耗时,通常选择由当前新解经过简单地变换即可产生新解的方法,如对构成新解的全部或部分元素进行置换、互换等,注意到产生新解的变换方法决定了当前新解的邻域结构,因而对冷却进度表的选取有一定的影响。
第二步是计算与新解所对应的目标函数差。因为目标函数差仅由变换部分产生,所以目标函数差的计算最好按增量计算。事实表明,对大多数应用而言,这是计算目标函数差的最快方法。
第三步是判断新解是否被接受,判断的依据是一个接受准则,最常用的接受准则是Metropolis准则: 若ΔT<0则接受S′作为新的当前解S,否则以概率exp(-ΔT/T)接受S′作为新的当前解S。
第四步是当新解被确定接受时,用新解代替当前解,这只需将当前解中对应于产生新解时的变换部分予以实现,同时修正目标函数值即可。此时,当前解实现了一次迭代。可在此基础上开始下一轮试验。而当新解被判定为舍弃时,则在原当前解的基础上继续下一轮试验。
参考网页:
博客园,内容浅显易懂.
https://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html
CSDN,以实例说明,含代码.
https://blog.csdn.net/qq_34554039/article/details/90294046
知乎,含详细代码注释.
https://zhuanlan.zhihu.com/p/23094323
优秀论文实例:
2019年 B136 齐心舞动“同心鼓”,齐力牵起“协力绳”——同心鼓运动模型的理论分析与策略研究 一文:对于问题四,针对给定排球偏斜竖直方向运动的特殊情况,分析调整鼓面倾角与倾向的解决方法,并以此建立多目标规划的最佳策略模型,基于模拟退火算法的相关思想,通过分析约束条件及目标函数,针对团队协作策略的有效性与协调性进行全局优化。
2020年 A212 回焊炉温曲线优化控制 一文:对于问题三,以题目中的界限以及各温度区设定温度值和传送带过炉速度的范围限制为约束条件,以炉温曲线超1℃到峰值温度所覆盖的面积为优化目标,建立单目标优化模型来求取面积的最小值,利用模拟退火算法迭代20000次进行求解,得到最优方案。
算法描述:
遗传算法(Genetic Algorithm, GA)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,不需要确定的规则就能自动获取和指导优化的搜索空间,自适应地调整搜索方向。
遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中,选择、交叉和变异构成了遗传算法的遗传操作;参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。
参考网页:
简书,算法步骤详细.
https://www.jianshu.com/p/ae5157c26af9
CSDN,讲解生动.
https://blog.csdn.net/u010451580/article/details/51178225
CSDN,代码详细.
https://blog.csdn.net/weixin_41122036/article/details/99621870
优秀论文实例:
2020年 A195 基于一维热传导方程的回焊炉炉温模型 一文:根据问题三要求与制程界限约束,将该问题转换为关于温区温度和过炉速度的单目标多变量最优化问题并使用遗传算法(Genetic Algorithn)求解。基于MATLAB的GA工具箱进行算法的编程实现。
算法描述:
BP网络是一种多层前馈神经网络,它的名字源于在网络训练中,调整网络权值的训练算法是反向传播算法(即BP学习算法).
BP网络是一种具有三层或者三层以上神经元的神经网络,包括输入层,隐含层和输出层,上下层之间实现全连接,而同一层的神经元之间无连接,输入层神经元和隐含层神经元之间的是网络的权值,即两个神经元之间的连接强度.隐含层或输出层任一神经元将前一层所有神经元传来的信息进行整合,通常还会在整合的信息中添加一个阈值.当一对学习样本提供给输入神经元后,神经元的激活值(该层神经元输出值)从输入层经过各隐含层向输出层传播,在输出层的各神经元获得网络的输入响应,然后按照减少网络输出与实际输出样本之间误差的方向,从输出层反向经过各隐含层回到输入层,从而逐步修正各隐含权值,这种算法称为误差反向传播算法,即BP算法。
参考网页:
CSDN,代码实例.
https://blog.csdn.net/sunyueqinghit/article/details/81703931
百度文库.
https://wenku.baidu.com/view/ca5041bc178884868762caaedd3383c4ba4cb45e.html
CSDN,数学原理讲解.
https://blog.csdn.net/fanxin_i/article/details/80212906
优秀论文实例:
2020年 C142 银行对中小微企业的信贷策略 一文:对于问题二,建立了基于BP神经网络的信誉评价指数预测模型。
算法描述:
插值和拟合是数学建模中,处理数据时常常用到的方法。插值:求过已知有限个数据点的近似函数。拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。插值的方法多种多样,拟合问题除了用最小二乘,还可以用机器学习、深度学习算法来实现,但要注意过拟合问题。
参考网页:
CSDN,详细数学推导.
https://blog.csdn.net/qq_29831163/article/details/89504179
CSDN,两个例子,简单代码实现.
https://blog.csdn.net/narcissus2_/article/details/99779464
百度文库.
https://wenku.baidu.com/view/5c7c38a6b04e852458fb770bf78a6529657d3571.html
算法描述:
聚类分析是一种定量方法,从数据分析的角度看,它是对多个样本进行定量分析的多元统计分析方法,可以分为两种:对样本进行分类称为Q型聚类分析,对指标进行分类称为R型聚类分析。从数据挖掘的角度看,又可以大致分为四种:划分聚类,层次聚类,基于密度的聚类和基于网格的聚类。无论是从那个角度看,其基本原则都是:希望族(类)内的相似度尽可能高,族(类)间的相似度尽可能低(相异度尽可能高)。实现聚类分析的算法有很多,可以参考下面的网页。
参考网页:
CSDN,详细分类.
https://blog.csdn.net/qq_39422642/article/details/78821812
CSDN,代码详解.
https://blog.csdn.net/qq_45149408/article/details/107168874
CSDN,SPSS聚类分析方法.
https://blog.csdn.net/qq_40875849/article/details/103987505