$ v/ o; }2 n' s 7 R1 e. j: P4 p. @/ ^! L三、线性规划、整数规划、多元规划、二次规划等规划类问题8 _ h! @1 t9 \# W/ e
数学建模竞赛中很多问题都和数学规划有关,可以说不少的模型都可以归结为一组不等式作为约束条件" x$ k( i* C; G$ W8 g
: S1 j( Y! a% j" o6 U+ K( D- X、几个函数表达式作为目标函数的问题,遇到这类问题,求解就是关键了,比如98年B题,用很多不等式 " }& D' j8 _0 l$ _+ P 1 U( B C& { P. ]完全可以把问题刻画清楚,因此列举出规划后用 Lindo 、 Lingo 等软件来进行解决比较方便,所以还- p- E, |' c' f; }& Y, n( A/ w- `
( x. H+ F G' o$ s! s! z3 ?! n" ^$ I# [& V7 `: G
六、最优化理论的三大经典算法:模拟退火法、神经网络、遗传算法 + D! V6 h. m% a& l6 S2 P+ M3 k8 i9 ]
这十几年来最优化理论有了飞速发展,模拟退火法、神经网络、遗传算法这三类算法发展很快。 ( U7 e5 z5 @' e n! ^& e 2 Y' Z5 ?, n6 J y. |$ X, ^在数学建模竞赛中:比如97年A题的模拟退火算法,00年B题的神经网络分类算法,01年B题这种难题也可: ?+ [/ Q0 a) `$ M& |% L
2 P6 L9 o2 `! b4 b
以使用神经网络,还有美国竞赛89年A题也和 BP 算法有关系,当时是86年刚提出BP算法,89年就考了, 1 k& ]- \' n4 O) ^, K3 w' h+ ^+ a
说明赛题可能是当今前沿科技的抽象体现。 ) g( z1 W( [8 r L
03 年 B 题伽马刀问题也是目前研究的课题,目前算法最佳的是遗传算法。$ a2 W: R% J' }, W- P2 V+ w
. _' S6 e" }7 T5 D' \ $ g4 |' R- G5 Q: V2 }' T# @9 [ / W1 F& c. _& W; w: n: Y9 ~另,本人对人工智能非常感兴趣,遗传算法已在本BLOG内有所阐述,敬请参见。* ^5 u* e) N, [, S( A3 Q3 u
---------- 1 s, Y1 J, Z* E3 l1 [, P) W经典算法研究系列:七、深入浅出遗传算法,透析GA本质 ) K. i _5 P0 Phttp://blog.csdn.net/v_JULY_v/archive/2011/01/12/6132775.aspx! Q! e: u" H1 I# q" M+ Y: L
: m; K; l& P5 j# K/ e3 J1 N3 @! y* j( x
& L& r& }* k" h
其它俩大算法,模拟退火法,与神经网络,也定会在本BLOG内日后的博文更新中,详细阐述。 $ t; e" H3 @" z3 N0 k" Y4 n& |4 R) N
9 x# i4 q- C9 w( [5 ]: v $ x" N4 y4 e; I6 F. b 9 g+ s$ F$ Q: | v$ Z# {七、网格算法和穷举法" g% K. e) ~4 N9 D) J) O
网格算法和穷举法一样,只是网格法是连续问题的穷举。 / |+ ]7 z, U( W% z _/ B# u" k比如要求在 N 个变量情况下的最优化问题,那么对这些变量可取的空间进行采点,4 m6 g3 `; X5 T/ }8 M9 q" N/ N8 x
比如在 [ a; b ] 区间内取 M +1 个点,就是 a; a +( b ? a ) =M; a +2 ¢ ( b ? a ) =M ; …;b" w3 v6 v- }; r3 F1 H. C
0 ]" S# b' j7 I& N/ z- h- C$ z7 M那么这样循环就需要进行 ( M + 1) N 次运算,所以计算量很大。 0 f) A" M3 o! D' A: ~( S: z# ] T Q# e1 b: H7 D4 s- t
5 O- D5 F; n" C2 Y: P8 ^1 C+ q
在数学建模竞赛中:比如 97 年 A 题、 99 年 B 题都可以用网格法搜索,这种方法最好在运算速度较% h- g, ]3 d0 u0 o+ D
' \) O5 e$ o2 N q- H: b' o7 i# J. [
快的计算机中进行,还有要用高级语言来做,最好不要用 MATLAB 做网格,否则会算很久。3 X9 e1 B$ U$ ] g( w2 K
" K' S) X2 u2 A$ p( M穷举法大家都熟悉,自不用多说了。 8 `2 N. p7 z4 E" J5 U6 }
7 C" o: e7 y# `, g/ b9 Y
* ]6 D/ @& n! F) h
& G/ |. W! y8 d' K
, ]# _) ]* B3 E6 }. h
八、一些连续离散化方法5 h$ M! J; T( k% f! s% D
大部分物理问题的编程解决,都和这种方法有一定的联系。物理问题是反映我们生活在一个连续的世界. o3 a. \3 N2 v ]' f1 a; h
6 y% u* Q- |7 c* I3 R; ^4 s中,计算机只能处理离散的量,所以需要对连续量进行离散处理。- } b; K- ], Q; o0 `) ]/ P1 j8 e5 Q9 U
( ^( }; r ?6 O
X) v s+ O& Q) w3 |$ o
这种方法应用很广,而且和上面的很多算法有关。2 {9 }7 B# @$ g: V; U
事实上,网格算法、蒙特卡罗算法、模拟退火都用了这个思想。 ! R+ j/ Y1 y( f! N# g( I 6 g. H# }( B L& U9 L, j % F: [1 }. S* }9 E7 M, K3 E! Y$ X) r. y! d) l
^. t3 Z5 e/ R( Y* u h9 {5 F
九、数值分析算法, X% x; n6 w5 H4 f
数值分析(numerical analysis),是数学的一个分支,主要研究连续数学(区别于离散数学)问题的 ! o9 I/ g' Y \# G# P* A' n: w+ R0 z" p1 u/ E& W# h
算法。% _+ o E$ A8 i8 \- H! w+ k
# ]$ G& V$ M& G G) d$ _如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比 如方程组求解、矩阵运算、9 A5 ^8 g' H, b q( X9 S' c( Y+ L8 W4 o
3 P! }- J! ~" a" i# P. ]
函数积分等算法就需要额外编写库函数进行调用。 8 V% x" m* y a: g. E& v8 _ & g8 e# D% O) o$ C这类算法是针对高级语言而专门设的,如果你用的是 MATLAB 、 Mathematica ,大可不必准备, 8 ^8 E) J) \. o因为像数值分析中有很多函数一般的数学软件是具备的。! e+ o3 f) _' j- g
+ Z# x: }! f& ]
4 ~7 {) N' C0 v! p
! u+ S. Q: s' k* D
( c. J. }, L. O3 i* h' t十、图象处理算法 - j- r$ ?$ C1 S o6 H在数学建模竞赛中:比如01 年 A 题中需要你会读 BMP 图象、美国赛 98 年 A 题需要你知道三维插值 ' G, g% R8 i n; `9 |5 @9 ?) j# O, Q9 T0 g4 w+ N3 |$ F9 H
计算, 03 年 B 题要求更高,不但需要编程计算还要进行处理,而数模论文中也有很多图片需要展示, , v2 ?3 S+ l! A7 d8 ~2 W8 V2 j* Y% t: B$ N" C
因此图象处理就是关键。做好这类问题,重要的是把MATLAB 学好,特别是图象处理的部分。9 [: v! \) d8 |/ U
--------------------- " `# C& A8 P- i9 f
作者:画面太乱了 I0 e0 F! q- J' Y来源:CSDN ! a! |# M, T3 }5 ~$ C/ s
) c# m3 H# c. E; }. y4 P% p( a
1 k( i J; j q( o9 i6 H3 Z1 V