f5 w! b( J( o: q+ w0 e
数学建模--常用算法及程序
7 ]" k$ d& {. u3 ]* c( n//推荐内容:http://blog.csdn.net/yillc/article/details/6746996 //程序见http://blog.csdn.net/congduan/article/category/931154 1.蒙特卡罗方法(Monte-Carlo方法,MC)
) n) U4 h+ f1 i9 w6 j* Z- U02年的B题 关于彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。
$ j! i- w9 Q! o: _6 d) n; @& F1 G注:绝对是大牛级的算法,像几何一样可以从小学研究到大学,低级到测算圆面积,高级到马尔科夫蒙特卡洛,都应用的到。( O6 g, q; r! \$ V0 }( T
% V9 m* L# K" }) }7 W; {1 G: q
2 L) P9 n# U- W' s% i* y6 }2.数据拟合、参数估计、插值等数据处理算法$ _4 ^0 _) S) i b3 l0 g3 M
此类问题在MATLAB中有很多函数可以调用,只有熟悉MATLAB,这些方法才能用好。
+ P, y" X- }6 s注:这一点mathmatica比matlab好用的多,听说
0 Q2 t/ r8 @/ I0 G/ c
& ?6 F( t6 ]8 w6 p. j
' Z1 v, ~! ]& ~) Y7 H! W6 Z+ \# ?3.规划类问题算法4 L* `8 K; U$ o0 N2 M5 B' V9 Z" Z" `
竞赛中很多问题都和数学规划有关,可以说不少的模型都可以归结为一组不等式作为约束条件,几个函数表达式作为目标函数的问题,遇到这类问题,求解就是关键了, I4 c" C3 ?0 U# ]0 F( Z9 r
注:线性容易,非线性难2 T" [/ o7 [# w0 e3 v4 w
, \$ V* j+ ^! h/ z
% @# x4 Y0 p- G4.图论问题7 {$ |/ o; e5 m' h1 b. J+ R ]6 o
这类问题算法有很多,包括:Dijkstra、Floyd、Prim、Bellman-Ford,最大流,二分匹配等问题。; A3 |, k/ r7 w+ A0 C# |) Q) S
3 W1 X( C+ ^# v( y- W" H) e: |. h9 i
5.计算机算法设计中的问题
( W( @3 T7 i" g' d5 m9 q; d- C3 M计算机算法设计包括很多内容:动态规划、回溯搜索、分治算法、分枝定界等计算机算法.
& Y) n6 f$ b8 I4 @ G, D9 w# H92 年B题用分枝定界法" T5 K7 n7 x: G; p! k
97 年B题是典型的动态规划问题
. p; L; r Z" `8 ^98 年B 题体现了分治算法
4 W: x4 `: r1 p! L9 U9 t( h2 _" n% M L
5 v8 V( A$ M9 l' F6 }+ x5 r: [
6.最优化理论的三大非经典算法:
5 N; |: |1 L8 p v* J1 x" u/ Y% J 模拟退火法(SA)、神经网络(NN)、遗传算法(GA)3 X' T4 u% }) X3 j4 ^
近几年的赛题越来越复杂,很多问题没有什么很好的模型可以借鉴,于是这三类算法很多时候可以派上用场。9 K7 ~7 h' I/ `7 V T2 H1 ~+ V
97年A题用模拟退火算法5 U/ V3 f) A! F1 r0 q
00年B题用神经网络分类算法/ q0 R- G( F$ m1 m) D
01年B题这种难题也可以使用神经网络% R. o0 \- P8 g' X
美国89年A题也和BP算法有关系
: I( ^- U8 U5 W4 C9 w注:这个属于计算机科学人工智能领域的,good' d; P& M# A6 w2 V5 T- ?+ g' `
+ D) {+ k' }3 Y* h
( \* K9 p% ]; P; X% l7.网格算法和穷举算法 c$ f0 z3 k) a1 G
97 年A 题、99 年B 题都可以用网格法搜索
& j+ h1 A0 F9 `( o2 ~- ~
( U$ O+ g7 l. Q* q9 W% Z( u5 b/ x8 i( D+ _
8.连续问题离散化的方法3 i9 J4 G- f( K4 \. m
* L* q% Y2 l# L
& S+ \( D9 n% J1 G3 B9. 数值分析方法
3 F8 q+ f: `! q7 k它的主要内容包括函数的数值逼近、数值微分与数值积分、非线性方程的数值解法、数值代数、常微分方程数值等。1 D; g* Z/ A/ W) w7 ^* B
数值分析是计算数学的一个重要分支,把理论与计算紧密结合,是现代科学计算的基础 ' _; f& g4 n9 p8 R9 D
- b2 m# e( C) L, b: v1 U7 \
2 {% n! c" G" V10.图象处理算法
0 j$ X/ g7 X+ a4 }! i
# Y2 d$ y+ n0 ~; n5 [ |