数学建模社区-数学中国
标题:
借鉴经验3——进阶篇
[打印本页]
作者:
森之张卫东
时间:
2015-8-1 11:17
标题:
借鉴经验3——进阶篇
由于我这四年基本上没有做过连续题,所以下面的内容都是关于离散的。数模离不开数学基础。一般,
/ w- H) T8 X, Y5 `5 T
离散问题大都是最优化问题,所以《
运筹学》和《离散数学》
是必看的。看《运筹学》的话要明白怎么
4 I7 e/ O8 j( W0 _
建立规划模型,包括线性规划、整数规划、多目标规划等。学完这些知识后就可以开始尝试看一些数模
I! N: T; D4 \
题,开始自己建立模型了。但是,这些是远远不够的模型建立后要会分析和求解,需要算法的积累。在
+ _1 r' }) b- T h. Y, O, R
比赛时有大量的数据需要处理,模型也会相对复杂,只掌握一个单纯型法的手算显然是不行的。算法的
$ x! q# |+ ]0 N7 L
学习推荐两本书,
入门级别的王晓东的《算法设计与分析》,
然后看
《算法导论》。
这里推荐从贪心
# o% u8 ^3 x' ?1 Z7 A r& l
看起,
贪心问题
对于初学者来说比较容易理解,一些经典的流程安排问题建议大家自己写程序实现一下,
7 K. a3 ~7 C% b0 d9 T* a0 y5 I+ y
可以印象深刻。贪心虽然是最简单的算法,但在数学建模中仍然很常用。
( U1 s9 N" g# d, o
然后看
动态规划
,相对与贪心来说,动态规划要抽象很多,所以不仅要看书上的介绍,建议结合网上
/ i4 ~, c% U5 ~; a, d7 B& z
的经典教程——背包九讲一起学习。
4 H- C) Q% s5 \+ i9 y+ G
但是一些不是特别容易实现的动态规划技巧,比如树形DP、斜率优化、插头DP等,有兴趣可以看看,
; j: b& ?9 j. q1 H
但在数模中一般用处不大。
8 ]) t) J; J6 Z/ m, U
图论
也是相对庞大的一块内容,这里建议大家先看完《离散数学》中图的基本概念后,从最短路、最
, a! J) N' H& F& Z4 u
小生成树算法看起。因为这些算法都是比较常用的,如04年国赛的奥运会问题和11年国赛的交巡警平
0 S- t. I4 P8 b1 A, B
台设置问题都有用到。
& o6 A7 n7 @1 o* D& z
接着学习一些二分图匹配的算法,包括匈牙利和KM,理解怎么建图,怎么进行匹配。这些算法属于
* w8 `: a. `/ W, c" B4 v3 Y8 P
进阶部分,我们学校曾经在09和11年国赛时把最优化模型转化为二分图匹配的两篇文章分别获得了国
, C# s) p! `6 y; I3 W
二和国一。
4 e, |" z: o6 j# h2 B5 s' s
此外有时间可以研究一下网络流算法,虽然这几年的国赛都少有涉及,但是DINIC和ISAP之类的算法
: _) r4 q3 P7 C W# | m' y" i
思想本身就很精妙,值得学习积累。
$ b5 B" e7 E8 V
演化算法
在数学建模中也非常常用,这里推荐先看模拟退火,算法思想简洁,代码实现也比较容易。
, E0 ~: n8 h7 c8 {) J
然后可以看一些粒子群优化算法,包括用粒子群优化算法解决多目标规划的问题(MOPSO),我个
9 |1 z6 S% E9 E; z ~2 s- \6 \
人觉得是对多目标规划问题的一种比较好的求解方案。此外可以掌握些遗传算法、
- J/ C; C; o4 y( O5 R
differential evolution等算法。
" f# g: y6 b" A |& f4 L+ u
其他一些评估模型的常用算法,
如TOPSIS、熵权系数也建议掌握。
/ v) [( }! H; T) Q V
排队论的几个模型在很多地方都适用,也尽量掌握。对于这些常用的算法,
建议一支队伍能准备
) Z2 ?" Y7 U) P. G" @0 Z+ I
一套模板,
确保上面的程序每个都看过、用过,最好加上必要的注释,包括算法复杂度、重要参数的意义等。
/ P! A( W X: f0 ^! c9 S2 Q% `
1 g V: r: u, ~4 \4 |4 t: Y3 _$ K
( `& {4 x0 X8 m( M
7 d7 h3 _4 w$ s: s1 D& |( q
6 X" }2 Q' t6 ]* @- W# \0 i
在正式比赛或是实际应用中,没有任何问题会和教科书上的完全一样,这就需要知识的“活学活用”。
- \3 D- C( k0 S$ c
当看了一个数模题后,不要急着去看别人的答案,自己想想该怎么做,到网上找找相关的背景资料,
, x, T1 o7 a. H6 O3 R3 k0 Y4 J
想个几天实在没有思路再去看答案,仔细琢磨下为什么要这么做。
当然,数学建模中“
现学现卖
”也
; d( u& R$ a; n" I+ E
是一种很重要的能力,能找到一种解决方法,并快速地学会它,然后将其应用到解决问题中。
6 ]( r8 Y: D& x, }, z" h' D4 {0 Z
最后,要说的还是要有爱,有爱才有付出,有爱才有坚持,当然爱不能只挂在嘴上,要付诸行动才行。
3 P4 ]! E7 Q+ K8 e
0 x( \2 M E4 W; x. v* f
作者:
walkintherain
时间:
2015-8-1 21:54
嘎嘎嘎嘎嘎嘎嘎嘎嘎
& v8 n* B5 b+ Y: V ?
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5