一、建模基础知识、常用工具软件的使用 6 d) @( v- k3 C. V8 p, n+ B% [# K! L G+ }( Z+ Z& R j( h( d/ O
1、掌握建模必备的数学基础知识(如初等数学、高等数学等),数学建模中常用的但尚未学过的方法,如图论方法、优化中若干方法、概率统计以及运筹学等方法。* V: J5 b: l7 W. F1 e
/ g+ y! i( |. ?' t9 I
2、针对建模特点,结合典型的建模题型,重点学习一些实用数学软件(如M - a$ M+ j6 l0 l. {, w ) C, K7 z/ B4 v/ Nathematica、Matlab、Lindo、Lingo、SPSS)的使用及一般性开发,尤其注意同一数学模型可以用多个软件求解的问题。 # z1 ^+ v( I. E / ?! x* P# ]% v6 b例如,贷款买房问题:某人贷款8万元买房,每月还贷款880.87元,月利率1%。1 ?9 g) F- o( s" L, `: p/ \/ q
5 O* Q( @$ n9 ] h(1)已经还贷整6年。还贷6年后,某人想知道自己还欠银行多少钱,请你告诉他。 . C. ]$ M$ m" R) w& L+ f7 `: W7 j1 \+ @5 ? z" k7 N
(2)此人忘记这笔贷款期限是多少年,请你告诉他。: x. V/ O; D* k9 @( g& N4 ~. N
; o" R+ z3 e8 l i$ o. I5 f4 C5 B
这问题我们可以用Mathematica、Matlab、Lindo、Lingo等多个不同软件包编程求解。. w' S; C+ y4 `0 i5 R/ O- k3 E
1 Z9 w) x; ~5 v9 E
二、建模的过程、方法1 M A6 |. Z$ I0 [ z4 C! X3 n
, d' K2 O) I) \: t' X数学建模是一项非常具有创造性和挑战性的活动,不可能用一些条条框框规定出各种模型如何具体建立。但一般来说,建模主要涉及两个方面:第一,将实际问题转化为理论模型;第二,对理论模型进行计算和分析。简而言之,就是建立数学模型来解决各种实际问题的过程。 9 ~8 e* _ }) l% O$ T1 [' I* Z6 f" i9 m3 y3 a$ y% l/ ]9 K
三、常用算法的设计) D) R' C1 i8 Q3 U" l0 L: ^# E
3 S' [9 }0 ?6 Y& U1 X- j% U
建模与计算是数学模型的两大核心,当模型建立后,计算就成为解决问题的关键要素了,而算法好坏将直接影响运算速度的快慢答案的优劣。根据竞赛题型特点及前参赛获奖选手的心得体会,建议大家多用数学软件(Mathematica,Mat' N, X3 I) [' }. K% y Y
- Q4 i5 U2 d m3 ylab,Maple,Lindo,Lingo,SPSS等)设计算法,这里列举常用的几种数学建模算法. ! Z8 r' E( U9 C3 n4 c) n : K' }" v% r# j" F(1)蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法,通常使用Mathematica、Matlab软件实现)。 3 E( U. T4 e7 A" s" \1 a5 a1 z7 O5 Q1 g- d# _' P
(2)数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具)。7 @2 y; Z5 @9 C4 W- Y* c+ a4 r
: P Z2 C6 Y5 B' t/ P
(3)线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo软件实现)。5 M. g. a, B* k1 r: C, E# I
+ @$ }+ H' Q; m. ]/ c$ f' O! v) ]9 T' m$ v4 f2 |& R
(4)图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备,通常使用Mathe0 l; |/ Y5 S& T( h. p