background image
数学建模个人经验谈
识是不现实的,但是常用的算法和知识是必备的,也是必须的,数模论坛的ducy前辈(董乘
宇)曾总结过数模竞赛应当掌握的十类算法(具体可去数模论坛查找):蒙特卡罗算法,数据
拟合、参数估计、插值等数据处理算法,线性规划、整数规划、多元规划、二次规划等规划类
算法,图论算法,动态规划、回溯搜索、分支定界等计算机算法,最优化理论的三大经典算
法:模拟退火算法、神经网络算法、遗传算法,网格算法和穷举法,一些连续数据离散化方
法,数值分析算法,图像处理算法。基本上涵盖了数模中几乎所有的算法了,如果掌握了这些
对于运筹优化类的问题就可以轻松解决了,但是随着近些年的发展看概率统计的手段在数模中
的作用越来越大,所以除了上述十大算法之外还应当对统计方法有相当的了解和掌握。先前说
过,要掌握所有的知识是不现实的,参加数模的其中一个能力就是现学现卖的能力,在最短的
时间内掌握知识并将其应用,这个也是吸引很多同学为之着迷的原因,但这并不是说可以不去
了解算法,什么都可以到竞赛的时候去学,那个时候就来不及了,因为只有了解的多,知识面
宽广了,遇到问题时就知道该怎么办了,然后具体去解决问题。所以增广知识面,博览全书很
重要。
2. 解模型:
模型建好了,该怎么解是个常常令人头痛的问题,这个不仅时新手,而且一般是令绝大多
数同学头痛的问题,辛辛苦苦把模型建了,但是解不出结果来,这个时候往往时间很紧了,常
常另人无奈,所以培训的时候多做这些方面的训练是十分必要的。解模型实质上就是算法的实
践。一般来讲是用matlab,mathematica,lingo,lindo,spss等等数学软件来求解,当然有的
时候c/c++是很实用的工具。在这里推荐几本数学软件的书《精通matlab6.5》(北航张志涌所
著)、飞思工作室出的那套matlab6.5的书、《数学运算大师mathematica4》、万保成老师所
写的电子版的《lingo8 for windows》、《最优化模型与实验》,这几本书都是很好的,对掌握
这些数学软件是十分合适的。而有些算法数学软件往往无能为力,需要用c/c++来编制程序来
解决,对于c/c++个人掌握程度不同,不过如果多看些算法方面的书,多做些ACM类的练习是
十分必要的。
3. 写论文:
论文是很关键的一步,写到这里已经写了很多“关键”的词了,事实也如此,步步关键,
其中一步做的不好都对结果有很大的影响,论文是所有工作的体现,如果论文写的不好就功亏
于溃,在这里偶就吃过很大的亏的。因此多写写多练练绝对是有好处的,并且不是写完就算
了,要不断的修改,修改到自己非常满意,修改到象所发表在数学期刊中的论文那样才可以。
综上可得,最快最有效的提高水平的方法就是通过做题来发现自己的不足,通过学习弥补
自己的不足,这样就查漏补缺,提高了自己的水平了,并且最大程度上取得了经验。
4
选题
在序中提到过如何选题,现在就具体展开讲讲。
全国赛分为本科组和大专组,每组A,B两题,A为连续的,B为离散的。就我来讲只有运筹
优化和非运筹优化两类,运筹优化的题目只要题意理解正确,模型正确,能正常求解,有参考
答案,只要解在参考答案附近那基本就能得奖了。而对于非运筹优化类则要麻烦的多了,各式
各样的问题都有,并且好些非常不好入手,并且一般来讲没有参考答案,只要有思想有方法就
会得到好的结果。
所以一般来讲做优化问题简单的时候,做优化的比做非优化的人数要多。但是涉及到比
较复杂的时候那就要颠倒下了。就得奖人数来说A,B两题的各级得奖人数是相仿的,这时如果
3