Skip to content

Latest commit

 

History

History
31 lines (21 loc) · 3.26 KB

数学建模应掌握的十类算法.md

File metadata and controls

31 lines (21 loc) · 3.26 KB

数学建模应掌握的十类算法

1. 蒙特卡罗方法(Monte-Carlo方法, MC)

该算法又称计算机随机性模拟方法,也称统计试验方法。这 一方法源于美国在第一次世界大战进行的研制原子弹的“曼 哈顿计划”。该计划的主持人之一、数学家冯·诺伊曼用驰名 世界的赌城—摩纳哥的 Monte Carlo—来命名这种方法。 MC方法是一种基于“随机数”的计算方法,能够比较逼真地 描述事物的特点及物理实验过程,解决一些数值方法难以解 决的问题。MC方法的雏型可以追溯到十九世纪后期的蒲丰(Buffon) 随机投针试验,即著名的蒲丰问题。 MC方法通过计算机仿真(模 拟)解决问题,同时也可以通过模拟来检验自己模型的正确 性,几乎是比赛时必用的方法。

2. 数据拟合、参数估计、插值等数据处理算法

比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MATLAB作为工具。与图形处理有关的问题很多与拟合有关系。

3. 规划类问题算法

此类问题主要有线性规划、整数规划、多元规划、二次规划等。竞赛中很多问题都和数学规划有关,可以说不少的模型都可以归结为一组不等式作为约束条件、几个函数表达式作为目标函数的问题,遇到这类问题,求解就是关键了。

4. 图论问题

这类问题算法有很多,包括:DijkstraFloydPrimBellman-Ford,最大流,二分匹配等问题。

5. 计算机算法设计中的问题

计算机算法设计包括很多内容:动态规划、回溯搜索、分治算法、分枝定界等计算机算法。

6. 最优化理论的三大非经典算法

模拟退火法(SA)、神经网络(NN)、遗传算法(GA)

7. 网格算法和穷举算法

网格算法和穷举法一样,只是网格法是连续问题的穷举。比如要求在N个变量情况下的最优化问题,那么对这些变量可取的空间进行采点,比如在[a, b]区间内取M+1个点, 就是a,a+(b-a)/M,a+2(b-a)/M,...,b。那么这样循环就 需要进行(M + 1)^N次运算,所以计算量很大。

8. 连续问题离散化的方法

很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此需要将连续问题进行离散化处理后再用计算机求解。比如差分代替微分、求和代替积分等思想都是把连续问题离散化的常用方法。

9. 数值分析方法

数值分析研究各种求解数学问题的数值计算方法,特别 是适合于计算机实现的方法与算法。它的主要内容包括 函数的数值逼近、数值微分与数值积分、非线性方程的 数值解法、数值代数、常微分方程数值解等。数值分析 是计算数学的一个重要分支,把理论与计算紧密结合,是 现代科学计算的基础 。MATLAB等数学软件中已经有很 多数值分析的函数可以直接调用。

10. 图象处理算法

赛题中有一类问题与图形有关,即使问题与图形无 关,论文中也会需要图片来说明问题,这些图形如 何展示以及如何处理就是需要解决的问题,通常使 用MATLAB进行处理。