数学建模社区-数学中国

标题: 数学建模竞赛中应当掌握的十类算法 [打印本页]

作者: wanghengsong    时间: 2009-4-17 17:19
标题: 数学建模竞赛中应当掌握的十类算法
1. 蒙特卡罗算法。该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,几乎是比赛时必用的方法。9 T8 o, M" I# `9 s* ^# v( z
2.
数据拟合、参数估计、插值等数据处理算法。比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MATLAB 作为工具。0 ~5 b) L* S& B
3.
线性规划、整数规划、多元规划、二次规划等规划类算法。建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo 软件求解。6 y0 X6 {3 z5 }0 o0 X; i6 L/ R, ~$ h
4.
图论算法。这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备。. x2 _8 ?' z; x6 C% s
5.
动态规划、回溯搜索、分治算法、分支定界等计算机算法。这些算法是算法设计中比较常用的方法,竞赛中很多场合会用到。
% l& |- V* ^" V6.
最优化理论的三大非经典算法:模拟退火算法、神经网络算法、遗传算法。这些问题是用来解决一些较困难的最优化问题的,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。
7 E; M0 _8 k3 z% t/ \2 d* h+ X7.
网格算法和穷举法。两者都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。
4 q( `" @8 m5 j8.
一些连续数据离散化方法。很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。
& E. Z3 H3 u0 p7 i9.
数值分析算法。如果在比赛中采用高级语言进行编程的话,那些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。
4 c# p9 Q! ~. {* O: @  ^10.
图象处理算法。赛题中有一类问题与图形有关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形如何展示以及如何处理就是需要解决的问题,通常使用MATLAB 进行处理。

作者: lexuslexus    时间: 2009-5-5 18:20
布偶,谢谢楼主分享
作者: q835557625    时间: 2009-6-7 00:55
一懂不懂,哎
作者: zspandhj    时间: 2009-6-7 17:42
可以从什么地方学到这些算法
作者: lx5971367    时间: 2010-2-2 14:02
要是   能够  有具体的程序举例做支撑就好了。。。
作者: manu34414    时间: 2010-2-18 22:30
谢谢楼主分享!!!谢谢楼主分享!!!谢谢楼主分享!!!谢谢楼主分享!!!谢谢楼主分享!!!
作者: zidane0627    时间: 2010-2-23 13:19
回复 1# wanghengsong 1 A) O; t" N% B- P
1 I9 \6 G  T) X( w$ e9 @

$ l/ y+ X5 R/ O% L# K   
布偶,谢谢楼主分享

作者: starbinbin    时间: 2010-2-28 10:38
如果有源码就好了~~~~~~~强烈要求相关MATLAB源码!!!
作者: carryye    时间: 2010-2-28 23:06
楼主的分类好像很混淆,想说清楚却没有说清楚啊
作者: black_prince    时间: 2010-3-1 22:54
不错,还是比较有启发的。
9 m# }* q! F+ E2 k+ B9 [像模拟退火算法、神经网络算法、遗传算法这些东西真是很难




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5