数学建模社区-数学中国

标题: 借鉴经验3——进阶篇 [打印本页]

作者: 森之张卫东    时间: 2015-8-1 11:17
标题: 借鉴经验3——进阶篇
    由于我这四年基本上没有做过连续题,所以下面的内容都是关于离散的。数模离不开数学基础。一般,
# O2 H* V  j  @9 z8 g9 P7 ?( f' u离散问题大都是最优化问题,所以《运筹学》和《离散数学》是必看的。看《运筹学》的话要明白怎么
6 \4 p+ E8 z+ M# I4 @建立规划模型,包括线性规划、整数规划、多目标规划等。学完这些知识后就可以开始尝试看一些数模$ M5 e) U" e  `$ m+ S; E
题,开始自己建立模型了。但是,这些是远远不够的模型建立后要会分析和求解,需要算法的积累。在" U3 y3 N1 D; B& ^/ Q6 v4 T' N
比赛时有大量的数据需要处理,模型也会相对复杂,只掌握一个单纯型法的手算显然是不行的。算法的8 j3 s4 B  ]% y# e& C4 G! L( q
学习推荐两本书,入门级别的王晓东的《算法设计与分析》,然后看《算法导论》。这里推荐从贪心. H7 J) @# ?# e
看起,贪心问题对于初学者来说比较容易理解,一些经典的流程安排问题建议大家自己写程序实现一下,+ X# x  T2 {4 U7 t$ }! U
可以印象深刻。贪心虽然是最简单的算法,但在数学建模中仍然很常用。
! M7 Q' ]# V3 E( y$ f* D$ `    然后看动态规划,相对与贪心来说,动态规划要抽象很多,所以不仅要看书上的介绍,建议结合网上
2 }' j" E* H6 o; c' C3 u的经典教程——背包九讲一起学习。# D# n  ]+ |! A3 c8 a
    但是一些不是特别容易实现的动态规划技巧,比如树形DP、斜率优化、插头DP等,有兴趣可以看看,% Y# h  v' e' N
但在数模中一般用处不大。
: [0 s/ H( G! }* }7 n$ R5 W( Y    图论也是相对庞大的一块内容,这里建议大家先看完《离散数学》中图的基本概念后,从最短路、最# D& l$ E8 w0 W9 y6 P7 c, I7 P
小生成树算法看起。因为这些算法都是比较常用的,如04年国赛的奥运会问题和11年国赛的交巡警平
+ D0 f% s4 _. m6 r6 ~/ h6 O台设置问题都有用到。
) `! f% u0 O, j/ z8 g% T) u    接着学习一些二分图匹配的算法,包括匈牙利和KM,理解怎么建图,怎么进行匹配。这些算法属于# X6 c! _: _0 V
进阶部分,我们学校曾经在09和11年国赛时把最优化模型转化为二分图匹配的两篇文章分别获得了国* D! u/ P% U- T' ?0 ]9 E1 k; N$ J
二和国一。
, ^7 ?. J# U6 D9 b* O
    此外有时间可以研究一下网络流算法,虽然这几年的国赛都少有涉及,但是DINIC和ISAP之类的算法
) o; i7 }8 D( c" ?7 a思想本身就很精妙,值得学习积累。

& y1 {* k* x7 X    演化算法在数学建模中也非常常用,这里推荐先看模拟退火,算法思想简洁,代码实现也比较容易。
) _+ k. e; ~1 ^. ^) Z* j# V然后可以看一些粒子群优化算法,包括用粒子群优化算法解决多目标规划的问题(MOPSO),我个
% n0 k: L+ x! b: |人觉得是对多目标规划问题的一种比较好的求解方案。此外可以掌握些遗传算法、% z. [: N5 s; O7 Y' h
differential evolution等算法。
2 ?; R, O. e( A) C! a% ?1 k4 a/ J    其他一些评估模型的常用算法,如TOPSIS、熵权系数也建议掌握。
. o: U# K' z* e; C5 j    排队论的几个模型在很多地方都适用,也尽量掌握。对于这些常用的算法,建议一支队伍能准备
  o: Y5 A: R1 G) i# {% a    一套模板,
确保上面的程序每个都看过、用过,最好加上必要的注释,包括算法复杂度、重要参数的意义等。  p' [5 c* c* A" L' b

2 Y8 W, ]0 i, S* v* O2 I0 h5 ^$ z: ?* j; {. K
+ i8 H* ?" ]+ y
2 s0 M6 O. d( F7 P
    在正式比赛或是实际应用中,没有任何问题会和教科书上的完全一样,这就需要知识的“活学活用”。
* j9 G2 T1 L! {# f1 @5 [    当看了一个数模题后,不要急着去看别人的答案,自己想想该怎么做,到网上找找相关的背景资料,
1 c% l- ~. V  E    想个几天实在没有思路再去看答案,仔细琢磨下为什么要这么做。
当然,数学建模中“现学现卖”也: k% t% Z2 v& S9 N( G
    是一种很重要的能力,能找到一种解决方法,并快速地学会它,然后将其应用到解决问题中。) ]3 Q$ r% [5 J; w9 z
    最后,要说的还是要有爱,有爱才有付出,有爱才有坚持,当然爱不能只挂在嘴上,要付诸行动才行。, }' E% o# W2 l# z6 C' l2 ?& ?
; w5 _7 w- ]1 i0 q

作者: walkintherain    时间: 2015-8-1 21:54
嘎嘎嘎嘎嘎嘎嘎嘎嘎
( t% R8 I9 z$ ^" O3 ^




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