目录
什么是数学建模
建模、编程、写作
一、初步建模选择模型
二、进阶熟练掌握
1. 数学模型
线性规划
图与网络模型及方法
插值与拟合
灰色预测
动态规划
层次分析法 AHP
整数规划
目标规划模型
偏最小二乘回归
微分方程模型
博弈论 / 对策论
排队论模型
存储论
模糊数学模型
2. 统计模型
3. 机器学习/数据挖掘模型
4. 深度学习模型
三.模型求解与优化
一、团队篇,组建你的团队
二、工具篇,提高你的效率
三、建模篇,怎么建模
三、零碎的知识点篇
如何选题?
📎A题.doc
📎B题 附件.xlsx
📎B题.doc
📎论文1(仅作参考).doc
📎论文2(仅作参考).doc
📎论文规范(请仔细阅读规范).pdf📎论文模板(请按照要求命名,并在该模板中进行撰写论文).doc
定义:参照某类事物主要的特征或关系,经过“简化”和“抽象”,用形式化的数学语言来概括表述数学结构。其核心在于总结自然界的一般演化规律,数学模型是数学作为研究现实世界最有力的工具,魅力所在。
目的:学习数学建模,了解数学建模的流程、思路、核心,构建个人的知识体系,便于后期阅读“计算机”专业相关核心论文期刊做铺垫,明确解决问题的思路,及细化每一步的步骤。相信通过完备的知识学习及思维训练能够达到有效提升自我能力的效果
什么是数学建模
数学建模是利用数学工具和方法对实际问题进行描述、分析和求解的过程。
数学模型通过对实际问题进行抽象和简化,建立数学表达式或方程来描述问题。
数学建模的基本步骤:
问题描述:明确要解决的问题,收集相关信息和数据。
假设条件:对实际问题进行合理的简化和假设,以便建立模型。
模型构建:根据假设条件,建立数学模型,如方程、函数、关系式等。
求解模型:利用数学方法或计算工具求解模型,得到结果。
模型验证:将模型结果与实际情况进行比较,验证模型的有效性。
模型改进:根据验证结果,修正假设和模型,进一步优化模型。
建模、编程、写作
一、初步建模选择模型
- 线性规划模型:
-
- 线性规划是一种基本的优化方法,通过确定一组线性约束条件和一个线性目标函数来寻求最优解。
- 整数规划模型:
-
- 整数规划是线性规划的扩展,要求所有变量都是整数。它适用于很多实际问题中需要规定变量为整数的情况。
- 非线性规划模型:
-
- 如果约束条件或者目标函数是非线性的,则使用非线性规划模型。非线性规划具有很广泛的应用领域。
- 动态规划模型:
-
- 动态规划是一种方法,用于解决具有重叠子问题和最优子结构性质的问题,通过递归地将问题划分成更小的子问题来有效地解决问题。
- 马尔可夫模型:
-
- 马尔可夫模型用于将随机现象进行建模,它有两个基本假设:状态具有马尔可夫性质,即一个状态只与上一个状态有关;状态可以被观测到。
- 贝叶斯模型:
-
- 贝叶斯模型是一种基于贝叶斯定理的建模方法,需要先确定先验概率,然后通过贝叶斯公式计算后验概率。7
- 神经网络模型:
-
- 神经网络是一种仿照生物神经系统的模型,通过学习来实现问题的求解。7
- 决策树模型:
-
- 决策树模型是一种基于树形结构的分类方法,通过对数据进行分裂和聚合来确定分类结果。7
- 随机过程模型:
-
- 随机过程用来建立一个随机系统,并描述随机事件的发生。随机过程可以分为离散和连续两种。7
- 蒙特卡罗模型:
-
- 蒙特卡罗模型是一种基于随机数学方法建模的方法。通过模拟随机事件的发生来求解问题。7
- 图论模型:
-
- 图论模型是一种基于图形的数学方法,用于解决在图形中的问题,如计算最短路径等。7
- 矩阵模型:
-
- 矩阵模型适用于研究多个变量之间的关系,可以用于计算线性方程组的解,求解特征值和特征向量等。7
- 插值模型:
-
- 插值模型适用于通过已知数据点之间的差值来计算未知数据点的值。7
- 方程拟合模型:
-
- 方程拟合模型适用于将实验数据拟合成一条曲线或平面。7
- 微分方程模型:
-
- 微分方程模型适用于研究变量之间的动态关系,这些关系受时间或空间的影响。7
- 统计模型:
-
- 统计模型是一种方法,用于对数据进行统计分析,包括描述统计和推论统计两种方法。7
- 聚类模型:
-
- 聚类模型是一种基于样本间的距离和相似度来将样本分组的方法。7
- 回归模型:
-
- 回归模型建立了自变量和依赖变量之间的关系,用于预测或解释依赖变量的变化。7
- 模糊数学模型:
-
- 模糊数学模型用来处理模糊或不确定的信息,它考虑到信息的不确定性和模糊性。7
- 布尔模型:
-
- 布尔模型用于将符号逻辑表达式转化为回答问题的结果。7
- 贪心算法模型:
-
- 贪心算法模型是一种启发式算法,通过不断地选择局部最优解来求得全局最优解。7
- 神经进化模型:
-
- 神经进化模型是一种建立在人工神经网络与进化算法之上的模型。7
- 遗传算法模型:
-
- 遗传算法模型是一种基于自然选择和遗传机制的优化算法。7
- 粒子群模型:
-
- 粒子群模型是一种基于觅食行为的优化算法,可以用于求解许多复杂的问题。7
- 投影寻踪模型:
-
- 投影寻踪模型用于在一些有限制的场景中定位目标。7
- 高斯混合模型:
-
- 高斯混合模型是一种对统计分布的建模方法,用于描述真实数据分布。7
- 马氏链模型:
-
- 马氏链用于描述一系列状态的转移概率,它不受历史状态的影响。7
- Kalman滤波器模型:
-
- Kalman滤波器模型适用于估计由噪声影响的动态系统状态,如飞行器的姿态控制。7
- 灰色系统模型:
-
- 灰色系统模型用于处理数据量少、不规则的问题。7
- 数学物理模型:
-
- 数学物理模型用于研究物理系统的行为,如研究光子的运动。7
二、进阶熟练掌握
通过对题目的详细分析、理解之后,画图构建出题目的问题以及个人的思路。
1. 数学模型
线性规划
线性规划问题的目标函数及约束条件均为线性函数,求解方法有单纯形法,matlab 中可用linprog函数求解。
线性规划(一):基本概念:可行解、可行域、图解法、超平面、多胞形、多面体
线性规划(二):运输问题 (产销平衡) & 指派问题、将非线性规划转化为线性规划
线性规划(三): 对偶理论与灵敏度分析
线性规划(四): 投资的收益和风险、线性规划习题集
图与网络模型及方法
图是指某类具体事物和这些事物之间的联系,最短路径问题、最大流问题、最小费用流问题和匹配问题等都是图与网络的基本问题。图论对建模和解决实际问题都用处极大,数学专业的《数据结构》《离散数学》《运筹学》课程都会重点介绍它。
1.图与网络模型及方法:图与网络的基本概念& .图在数据结构中的多种表示法:描述了图论中的常见问题eg最短路径问题、指派问题、中国邮递员问题、旅行商问题...
2.图&网络模型应用—最短路径问题: 给出了一个连接若干个城镇的铁路网络,在这个网络的两个指定城镇间, 找一条最短铁路线。【就是从一个路线网络中,找出两个点之间的最短路径。】
3.树:基本概念与最小生成树 : 欲修筑连接 n 个城市的铁路,已知i 城与 j 城之间的铁路造价为Cij ,设计一个线 路图,使总造价最低。这种 连线问题的数学模型是在连通赋权图上求权最小的生成树。
4.匹配问题: 匈牙利算法 、最优指派、相等子图、库恩—曼克莱斯 (Kuhn-Munkres) 算法: 用于解决【人员分派问题】:给n个工作人员分配不同的n件工作,每个人都适合做其中的一件或几件,那么请问是否每人都有一份合适的工作?
这里面提到了一个【婚配定理:每个姑娘都结识k (k ≥ 1) 位小伙子,每个小伙子都结识k 位姑娘,则每位 姑娘都能和她认识的一个小伙子结婚,并且每位小伙子也能和他认识的一个姑娘结婚。】
5.Euler 图和 Hamilton 图、求解旅行商问题的 改良圈算法 :
Euler 图就是从一顶点出发【每条边】恰通过一次能回到出发点的那种图,【中国邮递员问题】的数学模型是:在一个赋权连通图上求一个含所有边的回路, 且使此回路的权最小。 显然,若此连通赋权图是 Euler 图,则可用 Fleury 算法求 Euler 回路,此回路即为 所求。
Hamilton 图就是从一顶点出发【每个顶点】恰通过一次能回到出发点的那种图。【旅行商问题描述】一名推销员准备前往若干城市推销产品,然后回到他的出发地。如何为他设计一条 最短的旅行路线(从驻地出发,经过每个城市恰好一次,最后返回驻地)?。用图论的术语说,就是在一个赋权完全图中,找出一个有最小权的 Hamilton 圈。称这种圈为最优圈。
6.计划评审方法和关键路线法【统筹方法】:广泛地用于系统分析和项 目管理
7.最小费用流及其求法 :eg。在运输问题中希望在完成运输任务的同时,寻求一个使总的运输费用最小的运输方案。
8.最大流问题 用来求解流量给定的网络中的可行流。
插值与拟合
插值:求过已知有限个数据点的近似函数。
拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。
插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二 者的数学方法上是完全不同的。
插值的方法多种多样,拟合问题除了用最小二乘,还可以用机器学习OR深度学习算法来实现,但要注意过拟合问题。
插值与拟合 (一) : 拉格朗日多项式插值 、Newton插值 、分段线性插值、Hermite插值 、样条插值、 B 样条函数插值、二维插值
插值与拟合 (二) : 曲线拟合的线性最小二乘法、函数逼近问题
灰色预测
灰色系统是部分信息已知而部分信息未知的系统,常常采用离散模型,建立一个按时间逐段进行短期分析的模型。其中的关联度分析方法,即根据因素之间发展态势的相似或相异程度来衡量因素间关联的程度。此外的灰色模型GM和离散形式的灰色模型DGM也在博文中有介绍。
灰色系统理论及其应用 (一) :灰色系统概论、关联分析、与传统统计方法的比较
灰色系统理论及其应用 (二) :优势分析
灰色系统理论及其应用 (三) :生成数
灰色系统理论及其应用 (四) :灰色模型 GM
灰色系统理论及其应用 (五) :灰色预测
灰色系统理论及其应用 (六) :SARS 疫情对某些经济指标影响问题
灰色系统理论及其应用 (七) :道路交通事故灰色 Verhulst 预测模型
动态规划
把多阶段过程转化为一系列单阶段问题再逐个求解;一些与时间无关的静态规划(如线性规划、非线性规划),只要人为地引进时间因素,把它视为多阶段决策过程,也可以用动态规划方法方便地求解,但是要必须对具体问题进行具体分析处理。可用于求解最短路线问题、 生产计划问题、资源分配问题等多阶段决策的优化问题;
层次分析法 AHP
特别适用于那些难于完全定量分析的问题,作出决策时又涉及许多相互关联、相互制约的众多因素,是一种简便、灵活而又实用的 多准则决策方法。在这个模型下,复杂问题被分解为元素的组成部分【目标层、准则层、方案层】。
整数规划
规划中的变量(部分或全部)限制为整数时,称为整数规划。若在线性规划模型中, 变量限制为整数,则称为整数线性规划。目前还没有一种方法能有效地求解一切整数规划。 求解方法有分枝定界法、割平面法、隐枚举法、匈牙利法(解决指派问题) 、蒙特卡洛法...
目标规划模型
线性规划只能解决一组线性约束条件下,某一目标只能是一个目标的最大或最小值的问题,而实际决策中,衡量方案优劣考虑多个目标;这些目标中,有主要的,也有次要的;有最大值的,也有最小值的;有定量的, 也有定性的;有相互补充的,也有相互对立的.....求解目标规划可用序贯式算法。
目标规划模型:求解思路、序贯式算法
目标规划模型的实例:生产计划安排、运费最小的调配方案、根据某产品在各地的供需量安排调运方案、数据包络分析
偏最小二乘回归
研究两组多重相关变量间的相互依赖关系,并研究用 一组变量(常称为自变量或预测变量)去预测另一组变量(常称为因变量或响应变量);是一种多对多线性回归建模,特别当两组变量的个数很多,且都存在多重相关性,而观测数据的数量(样本量)又较少时,用偏最小二乘回归建立的模型具有传统的经典回归分析等方法所没有的优点。 偏最小二乘回归分析在建模过程中集中了主成分分析,典型相关分析和线性回归分析方法的特点。
偏最小二乘回归(一):模型介绍
偏最小二乘回归(二):一种更简洁的计算方法
偏最小二乘回归(三):身体特征与体能训练结果的 案例分析
微分方程模型
由微分方程可以描述数学、力学、物理、化学等学科中许多自然现象所满足的规律,如牛顿第二定律、放射性物质的放射性规律等。也可根据大量数据提出简化实际问题的微分方程模型,eg人口模型【Malthus 模型、阻滞增长模型(Logistic 模型)】、战争模型【正规战模型、游击战模型、混合战模型】。
博弈论 / 对策论
有竞争或对抗性质的对策行为中,参加斗争或竞争的各方各自具有不同的目标和利益;对策论就是研究对策行为中斗争各方是否 存在着最合理的行动方案,以及如何找到这个合理的行动方案。对策问题的特征是参与者为利益相互冲突的各方,其结局不取决于其中任意一方的努力而是各方所采取的策略的综合结果。比如囚徒困境;用极大极小原理来判断某个对策是否有鞍点,【深度学习的生成对抗网络的目标函数就是这个原理:二人零和博弈思想】;零和对策、混合对策的求解问题详见下述链接
排队论模型
由于生活中常常有服务的数量超过服务机构(服务台、服务员等)的容量;有形或无形的排队现象随处可见! 电话局的占线问题,车站、码头等交通枢纽的车船堵塞和疏导,故障机器的停机待修,水库的存贮调节等.
排队论模型(五): 有限源排队模型、服务率或到达率依赖状态的排队模型
排队论模型(六):非生灭过程排队模型、爱尔朗(Erlang)排队模型
排队论模型(七):排队系统的优化
排队论模型(八):Matlab 生成随机数、排队模型的计算机模拟
存储论
存贮论(或称为库存论)研究存贮系统的 性质、运行规律以及如何寻找最优存贮策略。所谓存贮实质上是将供应与需求两个环节以存贮中心联结起来,起到协调与缓和 供需之间矛盾的作用。
存贮论(一):基本概念、无约束的确定型存贮模型
存储论(二):有约束的确定型存贮模型、单周期随机库存模型
模糊数学模型
模糊是指客观事物差异的中间过渡中的“不分明性”或“亦此亦彼性”。如高个子 与矮个子、年轻人与老年人、热水与凉水、环境污染严重与不严重等,即模型的背景及关系具有模糊性。。统计数学是将数学的应用范围从确定性的领域扩大到了不确定性的领域,即从必然 现象到偶然现象,而模糊数学则是把数学的应用范围从确定领域扩大到了模糊领域,即 从精确现象到模糊现象。应用模糊数学方法进行的聚类分析即为模糊聚类分析。
【1】基本概念: 隶属函数、模糊集合的表示方法、模糊关系、模糊矩阵
【2】模糊模式识别:海明贴近度 、欧几里得贴近度 、黎曼贴近度、 格贴近度、最大隶属原则、择近原则
【3】模糊聚类分析方法:模糊等价矩阵、模糊相似矩阵、传递闭包法、布尔矩阵法
【4】模糊决策分析方法
2. 统计模型
【19】主成分分析
目的是希望用较少的变量去解释原来资料中的大部分变异,把相关性很高的变量转化成彼此相互独立或不相关的变量,是一种降维方法。 在描述数据集中的样本时,样本又叫作实例、观测,样本可以由多个属性来描述,这些又可以称为特征、指标、变量、维度,比如描述某企业的员工信息时,数据集就是所有员工信息,每个员工就是一个样本,用来描述样本信息的性别、年龄、工龄、籍贯、工资....就是特征,这些指标可能有某种程度上的相关关系,就会存在信息冗余,就需要特征选择,也就是降维,常用的降维方法有主成分分析pca, SVD奇异值分解,逐步回归。。。另一种降维方法:MDS 多维尺度变换
主成分分析 (一): 基本思想与主成分估计方法
主成分分析 (二): 特征值因子的筛选
主成分分析法(三):计算步骤
其它相关:Matlab 在线性代数中的应用 :向量组的线性相关性、相似矩阵及二次型、线性方程组
【20】判别分析
根据所研究的个体的观测指标来推断该个体所属类型的一种统计方法.
【博文链接】
判别分析 ( distinguish analysis)(一):距离判别
判别分析 ( distinguish analysis)(二):Fisher 判别,机器学习中把它叫做LDA线性判别分析。
判别分析 ( distinguish analysis)(三):Bayes 判别
判别分析 ( distinguish analysis)(四):应用举例
Matlab 的判别分析 函数 : classify
【21】聚类分析
“物以类聚、人以群分” 。聚类分析用数量化的方法对事物进行分类,事物的类别标签未知(无监督学习),但已知样本的多个特征取值。常用的聚类方法有层次聚类法,基于网格 / 密度的聚类,DBSCAN聚类,K-均值聚类、谱聚类、模糊聚类 、......
以下博文中介绍了样本之间的相似性度量【闵氏距离、绝对值距离、欧氏距离、切比雪夫距离、马氏距离】、类与类间的相似性度量【最短距离法、最长距离法、重心法、类平均法、离差平方和法、Ward 方法】、变量的相似性度量【相关系数 、夹角余弦】,变量聚类法【最大系数法 、最小系数法】以及对应的matlab代码实现
【博文链接】 聚类分析
【2】让你看懂聚类分析 --这个巨佬写得过于好,思路清晰,小白也能懂!我不忍心让它在我收藏夹里吃灰!!,
【3】模糊聚类分析方法:模糊等价矩阵、模糊相似矩阵、传递闭包法、布尔矩阵法
【22】时间序列分析
时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列(比如股票数据的收益就是每天都在变化);常认为一个时间序列可以分解为以下四大部分:长期趋势变动、季节变动,循环变动、不规则变动。时间序列中的数据平滑方法也经常用作数据预处理的平滑技术:eg.移动平均法在深度学习中也有用到。
【博文链接】
时间序列模型 (一):模型概述
时间序列模型 (二):移动平均法
时间序列模型 (三):指数平滑法
时间序列模型 (四):差分指数平滑法、 自适应滤波法
时间序列模型 (五): 趋势外推预测方法
时间序列模型 (六):平稳时间序列模型 :自回归AR 、移动平均 MA 、ARMA 模型
时间序列模型 (七): 时间序列建模的基本步骤
【23】方差分析
通过对影响产品质量的因素进行分析,找出有显著影响的那些因素,除了从机理方面进行研究外,常常要作许多试验, 对结果作分析、比较,寻求规律。用数理统计分析试验结果、鉴别各因素对结果影响程度的方法称为方差分析(Analysis Of Variance),记作 ANOVA。 人们关心的试验结果称为指标,试验中需要考察、可以控制的条件称为因素或因子。eg.用几种化肥和几个小麦品种在 若干块试验田里种植小麦,要推断不同的化肥和品种对产量有无显著影响,化肥和品种就是两个不同的因素,所以称为双因素方差分析。。。注意【试验】和【实验】不是一个概念。这里的【因子】与【因子分析】也不是一个概念。
【博文链接】方差分析:单因素方差分析 、双因素方差分析 、正交试验设计
【24】典型相关分析
研究两组随机变量之间的相关关系(多对多),eg.考虑几种主要产品的价格(作为第一组变量)和相应这些产品的销售量(作为第二组变量)之间的相关关系;考虑投资性变量(如劳动者人数、货物周转量、生产建设投资等)与国民收入变量(如工农业国民收入、运输业国民收入、建筑业国民收入等)之间的相关关系等等.
【博文链接】
典型相关分析(Canonical correlation analysis)(一):基本思想 、复相关系数、偏相关系数
典型相关分析(Canonical correlation analysis)(二):原始变量与典型变量之间的相关性 、典型相关系数的检验
典型相关分析(Canonical correlation analysis)(三): 职业满意度典型相关分析案例
典型相关分析(Canonical correlation analysis)(四): 中国城市竞争力与基础设施的相关分析
【25】因子分析
因子分析可以看成主成分分析的推广,它也是多元统计分析中常用的一种降维方式。因子分析的首要任务就是估计因子载荷 的方差 ,然后给因子 一个合理的解释,若难以进行合理的解释,则需要进一步作因子旋转,希望旋转后能发现比较合理的解释。因子分析的前提条件是观测变量间有较强 的相关性,eg. 为了解学生的知识和能力,对学生进行了抽样命题考试,考题包括的面很广, 但总的来讲可归结为学生的语文水平、数学推导、艺术修养、历史知识、生活知识等五个方面,我们把每一个方面称为一个(公共)因子,显然每个学生的成绩均可由这五个 因子来确定. eg.通过因子分析将24个心理指标被归结为4个公共因子:词语因子、速度因子、 推理因子和记忆因子。
【博文链接】
因子分析 factor analysis (一 ):模型的理论推导
因子分析 factor analysis (二 ) : 因子分析模型
因子分析 factor analysis (三) : 因子载荷矩阵的估计方法
因子分析 factor analysis (四) : 因子旋转(正交变换)
因子分析 factor analysis (五) : 因子得分
因子分析 factor analysis (六) :用因子分析法进行综合评价
因子分析 factor analysis (七) :因子分析法与主成分分析的异同
3. 机器学习/数据挖掘模型
数据挖掘 开发中常用的正则表达式:GitHub - ziishaned/learn-regex: Learn regex the easy way
100天精通机器学习 :GitHub - Avik-Jain/100-Days-Of-ML-Code: 100 Days of ML Coding
常用的机器学习方法: 决策树、贝叶斯网络、近邻算法、朴素贝叶斯、支持向量机、异常检测、条件随机场、EM等。
【稍后再补】
4. 深度学习模型
【26】神经网络模型
深度学习模型是“万能的函数近似器”,可用于拟合各种非线性模型。常用的有:卷积神经网络CNN, RNN, FasterRCNN, GAN, 自编码器,DBN, LSTM, Boltzman 机 .....可用于训练一个分类/回归模型来作预测。这里只提供一篇神经网络模型入门的简精明教程。
【博文链接】神经网络模型用于数学建模[这篇文章的内容太老了,不建议看 ; 建议自己搜下CNN,RNN, lstm]
深度学习框架: tensorflow 、keras、 pytorch都行:【稍后再更】
NLP-GitHub项目:
三.模型求解与优化
【27】数值优化方法
如果目标函数或约束条件中包含非线性函数的规划问题为非线性规划,求解非线性规划可用梯度法、牛顿法、拟牛顿法、高斯·塞德尔迭代法,BFGS等一系列方法。
【博文链接】
非线性规划(一):定义与数值优化方法(梯度法、牛顿法、拟牛顿法、变尺度法)
非线性规划(二): Matlab 求解约束极值问题
【28】组合优化算法
一些用于模型求解的启发式算法,主要针对很难求解的NP问题。
【博文链接】
现代优化算法 (一):模拟退火算法 及应用举例
现代优化算法 (二): 遗传算法 及应用举例
现代优化算法(三):禁忌搜索算法
现代优化算法(四):改进的遗传算法
现代优化算法(五): 蚁群算法
【29】差分方程模型
差分方程是包含未知函数的差分及自变数的方程。主要用于时间序列模型和求解常微分方程。在求微分方程的数值解时,常用差分来近似微分,所导出的方程就是差分方程。通过解差分方程来求微分方程的近似解,是连续问题离散化的一个例子。
【博文链接】
差分方程模型(一):模型介绍与Z变换
差分方程模型(二):蛛网模型
差分方程模型(三): 预测商品销售量
差分方程模型(四):遗传模型
【30】常微分方程的解法
建立微分方程只是解决问题的第一步,通常需要求出方程的解。而绝大多数变系数方程、非线性方程都是所谓“解不出来”的,对于用微分方程解决实际问题来说,数值解法就是一个十 分重要的手段.
【博文链接】
常微分方程的解法 (一): 常微分方程的离散化 :差商近似导数、数值积分方法、Taylor 多项式近似
常微分方程的解法 (二): 欧拉(Euler)方法
常微分方程的解法 (三): 龙格—库塔(Runge—Kutta)方法 、线性多步法
常微分方程的解法 (四): Matlab 解法
【31】偏微分方程的数值解
自然科学与工程技术中,事物运动发展过程与平衡现象的规律常是含有未知函数及其导数的方程,而偏微分方程是只含有未知多元函数及其偏导数的方程。
【博文链接】
偏微分方程的数值解(一):定解问题 & 差分解法
偏微分方程的数值解(二): 一维状态空间的偏微分方程的 MATLAB 解法
偏微分方程的数值解(三): 化工应用实例 ----------触煤反应装置内温度及转换率的分布
偏微分方程的数值解(四): 化工应用————扩散系统之浓度分布
偏微分方程的数值解(五): 二维状态空间的偏微分方程的 MATLAB 解法
偏微分方程的数值解(六): 偏微分方程的 pdetool 解法
【32】稳定状态模型
对于某些主要研究某种意义下稳定状态的特征的实际问题,或当时间充分长以后动态过程的变化趋势,为了分析这种稳定与不稳定的规律常常不需要求解微分方程,而可以利用微分方程稳定性理论直接研究平衡状态的稳定性。
【博文链接】
稳定状态模型 (一): 微分方程稳定性理论简介 :自治系统、动力系统、相平面、相图、轨线 、 奇点、孤立奇点;
稳定状态模型 (二):再生资源的管理和开发:资源增长模型 、资源开发模型 、经济效益模型、 种群的相互竞争模型
稳定状态模型 (三):Volterra 模型
【33】变分法模型
动态过程的另一类问题——动态优化问题,一般要归结为求最优控制函数使某个泛函达到极值。变分法是研究泛函极值问题的一种经典数学方法,博文中还介绍了动态系统最优控制问题求解的必要条件和最大值原理。
【博文链接】
动态优化模型/ 变分法:泛函、极值、变分
变分法模型的运用:生产设备的最大经济效益
一、团队篇,组建你的团队
首先是参赛队员的配置,国赛的人数一般为3人,分为三个工种:建模、编程、写作(俗称建模师、程序猿、写手)
1、队员的专业搭配————没有最对的专业,合理搭配即可
其实数学建模成员不一定是非数学学院、计算机科学学院出身不可,我也见过拿国一的队伍中有文学院学生的例子,真正重要的是你个人本身对专业知识掌握的程度,比如高等数学、线性代数的掌握程度,如果是经管专业出身,则应用统计学的专业知识可以派上用场。在建模的过程中,对这些知识有一个基础或良好以上的掌握有助于我们建立一个更好的模型。队友其实主要是要靠谱,坚持有恒心,有自学的耐心与参赛热情,不会轻易半途而废。
2、合作是关键
俗话说“三个臭皮匠,顶个诸葛亮”。虽然不是在说我们参赛的队员都是臭皮匠,但也是在强调团队合作的重要性,国赛的时间是三天三夜,除非你是超级大神,经验丰富、天赋异禀的那种,这三天基本你们要以小时为单位争分夺秒来用,最后一天晚上还有肝论文熬夜的可能性(我们队伍当时抱枕、毯子、红牛等装备都带到比赛专用的教室去了)。如此高强度的连续工作,但凡一个人中途宕机,对团队的副作用都是巨大的,你的模型建得再好,写手如果表达不清,一等奖都给你整到成功参与奖。对内大家一定要术业有专攻,不要出现独揽全局、一意孤行的情况。
3、建模、编程、写作
假设同学A负责建模,同学B负责编程,同学C负责写作。那么比赛的时候对同学A、B、C各自的期望应该是这样的:
同学A首先通过对问题的分析,熟练将问题数学化、模型化,简单来说就是将中文描述的问题用“已经条件1、2、3,限制条件D、E、F,求解目标函数Z的全局/局部最优解”的数学语言描述出来,然后去解这条升级版数学应用题。然后你们要做的就是做题,就像高考一样解一条应用题,就像解下面这条应用题一样,条件、限制、求解的目标值都直截了当的在题目中显示出来。
同学B拿到同学A给出的求解模型,比如为一个联立方程组,变量有变动范围,求解值Z的全局最优解(为了方便理解,我举的这种情况比较简单),同学B需要将这个已经纯粹数学化的问题通过自己掌握的软件和编程知识,挑选合适的数学软件,如Matlab、lingo(适合线性规划问题)、SPSS(数据统计)对模型进行仿真迭代计算求解,得到答案。有富裕时间、有条件的要对求解的答案代回题目中进行简单的检验(还是和高考数学题一样的配方,做题→求解→检验) 。
同学C拿到了同学A的模型和同学B的求解结果,要输出成学术论文。写作的重要性不言而喻,记得有一年新东方集团年会上有个节目,里面有个经典台词叫做“干活的累死累活,到头来干不过写PPT的”,说明你做得再好,干得再好,表达得不好,评审专家通过论文get不到你的好,最终还是全白搭。总的来讲,写作的同学需要对解题逻辑把握清晰,有准确表达、图文并茂的能力,如果以前有过学术写作的经验那就更好了,因为学术写作最大的特点就是严谨,诸如“左右"、"大概率"、"可能"等模糊词汇都不宜出现在文章中,这是新手常犯的错误。
术业有专攻,有限的备赛时间内,最好是三个同学各自主攻一个方向,比赛的时候才能达到最佳效果。
二、工具篇,提高你的效率
工欲善其事,必先利其器。
如果你要准备入门数学建模我推荐你下载以下软件:
python
亿图
Matlab(跑程序用,程序猿必备)
MATLAB 基本语法 - MatLab教程 - 菜鸟教程
lingo(跑程序用,程序猿必备)
SPSS(数据统计,程序猿必备)
MathType(公式编辑器,在word中打出更好看的公式,写手必备)
Visio(画流程图,更好地表达思路和逻辑,写手必备)
————下面的软件为进阶的玩法,非必要——————
LaTex(理解为一门编程语言来输出文章,功能类似word,具有强大的排版功能,相应的,需要专门看书学习该软件的用法,通过编程语言控制,通过编译生成文章)
iSlide(专业的PPT辅助插件),很多示意图是在PPT上完成的,该插件可以方便你调色,找图片素材
三、建模篇,怎么建模
五步建模法:
第一步:提出问题
这里我所说的提出问题是指:用数学语言去表达。首先,题目一定要通读若干遍,从不懂到懂(这里指对题目的要意、背景有了大致的了解)基本需要半天时间,善用百度搜素、知网论文查阅相关资料。
看完题目了,就尝试用数学语言去描述问题用数学形式(目标函数、不等式、等式、)提出问题。在队内统一变量的符号定义与假设,方便队内交流思路和后期论文的输出。将一个实际问题用数学语言表达出来,加上一些人为的合理假设(题目中未提到,但我们可以进行一些合理的假设以简化题目),就完成了提出问题。
第二步:选择模型
通过第一步的铺垫,我们已将一个实际问题转为了数学语言表述的数学问题,接下来我们需要通过特定的数学模型进行求解,那么这些模型一般是经典模型的变体,我们可以通过不断查阅知网的论文,查阅前人的工作(一定要站在前人的肩膀上,你两天的时间建模一定要看前人研究了数年的成果是什么),看他们论文中是如何分析此类问题的,虽然假设、前提有所不同,但肯定有共同的地方,你们需要做的就是如何在别人模型的基础上如何优化,以解决自己的数模问题。这里一般是建议查阅论文还不是课本,因为课本上的模型都是标准模型,偏理想化,考虑实际较少,而论文更加结合当代实际。
第三步:模型建立(公式化)
第二步的模型要输入计算机进行计算还需要公式化,这里是不同队伍拉开差距的关键点,需要针对具体题目进行优化,这步也没有太多技巧,主要是多查文献,多搜资料。
第四步:编程求解
这步需要负责编程的同学B,将模型输入计算机进行求解,无论是采用蒙特卡洛也好,智能算法也好,同学B需要在保证能够求到解的前提下,尽量逼近全局最优解(大部分队伍求到的是局部最优解),有时候一场比赛下来能求到全局最优解的队伍一支也没有,所以只要你的局部最优解足够好,你一样是国一(毕竟是一个言之有理即可的比赛)。
第五步:讨论
这步是对你们算出的结果进行一个讨论与分析,包括结果的合理性分析(是否符合常识)、正确性分析(带入检验)、灵敏性分析。有没有一些可预计的误差因素(致命的就别提了),会有多少误差(太大就别提了),显得文章更加客观严谨,最好是能用一些图表进行辅助表述(考验写手写作功底的时候到了)
三、零碎的知识点篇
1、比赛的论文是有一个格式模板的,在比赛前最好通过历年获奖论文去熟悉它,提前拿到word版更好。
2、比赛前清理好自己的电脑,腾好专门的位置用于比赛,不要都把资料丢到桌面、下载文件夹、QQdownload等文件夹,四处散落不方便查询,也不要出现现场下载软件的情况(Matlab 大小超过10G,现场下载略显尴尬),亦或是电源插头不够用,笔记本没电之类的balabala
3、准备好各大资料库网站的账号与积分,比如有一篇百度文库的文档和你们选题很相关,你想下载看看,但是比赛的时候发现没有积分无法下载,又或者是CSDN上有段精巧的代码和你们选题相关,这些都是需要积分下载的。只需要保证至少一个队员拥有能下载的账号即可。
4、A题难,B题容易,我们选哪个?答案是选容易的更容易获奖,这个概率问题我之前专门调研过。
5、历年题目的主题往往有规律可循,比如研赛的E题一般为军事背景题目,本科B题一般为开放性题目。
6、最后一刻前,检验答案比优化结果更重要,并且要把检验过程体现在论文中,包括稳定性分析、灵敏度分析、统计检验、可行性检验。
7、论文要常保存、云端备份,防止写手的电脑宕机,提交前再次检查所有图表,用pdf格式保存。
8、如果你觉得比赛期间需要红牛、巧克力等食物补充体力,最好赛前一次性买好,不要中途去超市,费时费力,还会耽误进度。
9、准备好备忘录,竞赛期间遇到的问题、做出的假设、突然的想法、参考的文献,应该及时记录下来,避免过后遗忘,采用云笔记、思维导图软件也可以。
10、训练的时候,做题的时间最好和比赛的真实时间一致,也就是如果比赛是下午举行,那就在下午做题,使得大脑习惯在下午处于兴奋状态。赛前最好保证至少有一次队伍一起做一道题的机会,熟悉彼此
如何选题?
我私藏的求交集选题法教给你,让你在半天时间内选中你们团队最擅长的题目。具体做法是假设有备选题目A\B\C,队员全部在不交流情况下审这3道题,可以查咨询,但不能互相讨论,半天为限,然后画重点,没人在纸上写下自己认为最有把握的两题 ,3人再把各自的选题取交集,最后的交集就是你们队伍应该做的题。
建模分三大块:建模,编程和论文写作,一般是3位队员一人专攻一个方向,其他方向略懂,也可以是每个人主攻两个方向。
题主参加比赛的首要目的应该是获奖,那么首先是要选好队友,一定要选靠谱的,选自己了解的靠谱的人,更不要随机分配,因为团队合作的重要性在数学建模中十分重要。建模,编程,写作三要素缺一不可,建模和编程决定能否获奖,写作决定获奖的层次。其次建模三件套,黄皮书,红皮书,蓝皮书要看完,尤其是黄皮书很经典,题目要过一遍,我当时都做了,做了要思考,要总结,因为建模比赛一旦开始就是争分夺秒,你需要迅速分析出可以用于考题的模型和程序,而这些模型和程序是要在考前准备的,就像套模型一样,而不是现场百度!所以需要一位很清楚模型的人,需要一位能够给出题目,告诉他模型,就能准确写好程序的“程序员”,他应该在比赛前就把比赛的所有模型的模板程序都准备好,比赛时候拿出来稍加修改就能用上。
最后一点,不要加所谓的“A题赛题讨论群”,也不要看数学建模吧的各种讨论帖子,因为有高质量答案的人不会在里面讲,更多的是没有准备的人在吐槽,务必不要在这里浪费时间,祝成功!也别忘记点赞!