N- G5 B. {8 b" ?4 X有别于纯数学竞赛,数学建模竞赛是没有严格意义下的赛场,也没有唯一不变的解答,同一个考题,可以有不同的意见,有不同的答案,只要言之有理。爱因斯坦曾经说过:“想象力比知识更重要,因为知识是有限的,而想象力概括着世界的一切,推动着进步,并且是知识的源泉。”数学建模过程概括的说,主要由三部分组成:1、用适当的数学语言和方法,对实际问题的内在规律进行研究,分清问题的主要因素和次要因素,恰当地抛弃次要因素,提出合理的假设。并用数字、图表或者公式、符号表示出来。2、采用各种数学和计算机手段求解模型。3、对模型的求解结果进行检验,这包括:从实际角度出发研究其可行性以及合理性;放宽建模的约束条件,研究其应用的广泛性;波动参数,观察模型的稳定性。等等。 Y1 a. a$ ~7 x2 p& r9 q6 T4 ~! V
, R6 _6 c) D* U+ ~! e6 k- f _$ ~& w
我们就99年全国大学生数学建模竞赛B题(简写为CMCM-99B)的建模与求解来了解数学建模的一般过程。* W6 A1 i {! d" E$ V# L
0 @& l( u- z7 I1 [0 O4 G0 b8 fCMCM-99 B题是这样给出的:勘探部门在某地区找矿。初步勘探时期已零散地在若干位置上钻井,取得了地质资料。进入系统勘探时期后,要在一个区域内按纵横等距的网格点来布置井位,进行“撒网式”全面钻探。由于钻一口井的费用很高,如果新设计的井位与原有井位重合(或相当接近),便可利用旧井的地质资料,不必打这口新井。因此,应该尽量利用旧井,少打新井,以节约钻探费用。比如钻一口新井的费用为500万元,利用旧井资料的费用为10万元,则利用一口旧井就节约费用490万元。 8 p2 |* J) u6 e! N% q4 h3 u9 W1 z8 N. `# J: d: I
设平面上有n个点pi,其坐标为(ai,bi),i=1,2,¼,n,表示已有的n个井位。新布置的井位是一个正方形网格N的所有结点。假定每个格子的边长都是1单位。整个是可以在平面上任意移动的。若一个已知点pi与某个网格结点Xi的距离不超过给定误差e(=0.05单位),则认为pi处的旧井资料可以利用,不必在结点Xi处打新井。7 _$ h3 j# \5 w6 H" ?+ M
' _$ {9 r! X1 x, T8 f
为进行辅助决策,勘探部门要求我们研究如下问题: / }) U: u6 z4 H; w+ j" T3 u) }4 k" P % u! o2 z6 H- ]$ e' y1、 假定网格的横向和纵向是固定的,并规定两点间的距离为其横向距离及纵向距离的最大值。在平面上平行移动网格N,使可利用的旧井数尽可能大。 2 w: S4 G Q0 h/ m* Y 3 {$ m& S! [9 r" z( C3 i3 K2、 在欧氏距离的误差意义下,考虑网格可旋转的情形。 # B8 }5 A v x$ i/ O! y& o2 Q* Z6 S: Y
面对这样一个实际问题,我们首先是对问题进行 重述与分析。数学建模是在已有的已知条件及知识体系基础上的再创造过程。要解决一个问题,就要了解实际问题的背景知识,明确所解决问题的目的要求,合理收集有关数据,查阅前人的相关工作。然后来循求解决问题的方法。6 h$ [8 M8 `6 t* [; }
# F' Y4 [6 V+ G8 h3 u9 I
CMCM-99B题其目的是为节约费用,在满足勘探要求的情况下,尽可能多利用旧井,少打新井。问题归结为有约束优化问题。于是解决问题的主攻方向是描述优化目标函数及符合题意的约束条件。于是从以下步骤开始: 7 k9 k, E; T4 l3 g; a2 y: ] & ~/ O0 C( D+ Z' p! i4 u/ ~; a1、 进行合理假设 5 I! G+ N1 Z& N ^0 i9 k( `& @5 e0 a: Q! t* `
实际问题众多因素之间有主次之分。如果面面俱到,无所不包,模型就会非常复杂,不易求解。因此可通过合理假设将问题理想化、简单化、清晰化,抓住主要因素,暂不考虑次要因素,在相对简单的情况下,理清变量之间的关系,以便于进行数学描述。 6 Z h6 i4 M/ I/ M8 N : ], I4 S# k5 N* Q* X, X" a, X& [从题中提取假设有:- [8 U9 x- C- j/ Q y% \$ @
# B) a5 d C: F/ ?. k" d: A" X
1、 钻一口新井500万元。) { W, ^$ ]0 `( c
* V; }) D9 f8 x$ M3 x8 M' U. _/ \
2、 利用旧井资料的费用为10万元。& R& `4 x$ v6 K+ E
. c2 y5 J& K- }3、 新布置的井位是正方形网格N的所有节点。$ C9 u1 A4 Y6 y8 d1 x& z j I9 p
! ]' r9 o e* F6 q( j' Q4、 每个格子的边长是一单位。* q' A6 {- ]5 `+ N$ M. l2 V; P
0 q S5 R4 J0 ]/ |& c& b0 }
5、 整个网格可以在平面上任意移动。 . }' [7 @9 W |! t2 g5 G3 K6 f- X, T$ y0 H0 d
6、 一个已知点Pi与某个网格节点Xi的距离不超过给定误差e(=0.05),则认为Pi处旧井可以利用。" l* P' T. o `
; J6 T4 `0 x! E
合理假设包括简化问题假设及对所研究对象进行近似,使之满足建模所用数学方法必须的前提条件。应注意的是对于一个假设,最重要的是是否符合实际情况。2 D! V& k+ z3 f. [3 m5 N4 Y
5 ?5 ]8 S p5 u3 X% }. S) [
2、符号的约定" ?2 a3 ]4 s! J$ ]: O3 E
2 n* m9 f; F) A. |8 g' w 要别人看懂你的论文,对论文中所用到的变量符号要给予说明(此文中略)。 9 o' C% p' f9 L* d& U) l* b: y0 ^# K* ]8 a% _& \6 ^- d
3、建立数学模型 $ L5 w* a) @/ F% ~! E' p0 r( Q4 x$ S8 b0 M! ?% S- P
整个数学建模中最关键的部分,是从实际到数学的过程。分析问题,采用适当的数学方法进行模型设计。同一个问题所采用解题的数学方法也不是唯一的,因此其数学模型的形式也不是唯一的。6 ?# ~6 H- e* b
7 ?9 P' W( }. n* q6 b$ k
CMCM—99B题,设可用旧井数为f。要表示旧井位置,首先建立直角坐标系oxy。已知旧井位点Pi的坐标为(ai,bi)。设网格中离原点最近的节点为(s,t),则 ,且网格的任一节点可表示为(s+x,t+y),其中x,y均为整数.3 w& \, p' v. @+ P0 N3 i; Z. Y
2 ~- |/ ?# T E8 V$ H. K, E
在问题一的假定下建立目标函数1 N: ]# U6 R' H4 ~7 Z
& m- S& O P$ X+ y0 _1 s2 U' t
- W4 o1 g) d" O) O' X& d Q
其中: 为布尔变量,即( F) B) N {) ]
( y. k S0 [1 l" J+ f
& }9 v6 q, j# q6 V: B& _ ! f R+ A7 S1 a" E" G4 h在问题2的假设下,距离为欧氏距离,网格可旋转。目标函数 max f(j,s,t),约束条件为+ `& B/ R6 e$ C, A, J5 u. M* F
/ o- w8 q. X2 c$ e# M. e" ~4 c (xi-ai)2+(yi-bi)2£e25 s9 x6 T# n5 X0 P
; b& R, [9 l6 G- |其中xi= s + INT ( ai+e - s ) ; yi = t + INT ( bi+e - s )。(问题2略) 2 [6 V- ~' Z6 m) E v 2 [4 u9 U9 ]( F! {. Z4、模型求解及结果分析" L8 g x: B x& T
: M8 x8 D5 S2 c/ X" y ]; N5 t/ D! T
不同的模型要用到不同的数学工具求解。我们可以编写计算机程序或运用计算机软件对模型进行求解。数学建模的培训和实际参赛,使大学生运用计算机语言编程和使用数学软件得到一个非常好的实践机会。 * z+ O. }0 ~0 f 7 I; k9 W6 D+ K% [, sCMCM-99B问题1可用计算机求其数值解。用搜索法,取0.01为步长,将s及t的取值范围分别等分为100份,然后在100´100个点中求f(s,t)的值,并从中比较,求出最优解来。在计算f(s,t)时,只要对满足不等式约束的i进行计数。最后得到最优值max f(s,t) = 4 9 i4 ?% _8 x3 e5 a/ q, ^' _ ~( c9 D- G/ n) d4 v; H其中最优解s = 0.4, t = 0.5, 由此确定可利用旧井号为2,4,5,10。 * G2 A' k' [ Z 7 U# q0 ?; n% [, A: E, O5 w对问题2,因网格即可以平移又可以旋转,故在搜索法中平移搜索与旋转搜索交替,得到最优值f = 6,最优解 j = p/4,s = - 0.27, t = 0.03, 最大可利用井号为 1,6,7,8,9,11。 , ^* b2 \4 i1 n: t 9 ?7 h5 G' ^' U5 D2 J对所求结果是否具有实际意义或满足实际要求,在进行细致的分析。上例结果经验证其是切实可行的,并且是使钻井费用最小的最优解。, t, {4 k9 C5 H) N7 |. t6 j
6 H) S0 t' b; c& b' X& c+ z( ~
5、模型的验证0 M+ N$ t. K, M1 {% ?7 Z! j
0 k" Y9 @% L4 h, T, ]一个模型的验证包括稳定性和敏感性分析,即一个好的模型,其结果不应该由于原始数据或参数的微小波动而有很大的变化;统计性检验和误差分析,即模型的求解不会因算法,如上例中初值步长的不同而有大的差异;修改假设条件后模型的适用性分析,实际可行性检验等。 T9 M3 [; c Y' e+ o2 y
$ O# A& P1 {1 A R
6、 模型的改进、推广及优缺点分析' v& s2 W9 S( U3 D* e6 V" V+ C) Z
+ E# r1 B: }6 W. w# U
在建立数学模型时基于一些特定的条件及忽略一些次要因素以简化问题,如CMCM-99B中假定新井在正方形网格节点上,地质条件相同,费用相同等。我们在模型的改进中可根据实际情况放宽假设约束,来考虑模型的适应性变动。另外探讨模型在其他领域的实际问题中是否有使用价值.对模型及其求解从创造性、精确性、适用广度、计算时间特性等方面进行评价,以表明对问题的本质有清醒的认识。 # `8 {6 _$ l4 }. x& Y: y ' l! I% m3 Y u8 X. ^. Y以上是我们结合一个实例对数学建模的过程进行一个粗略的介绍。建立数学模型来解决实际问题,是各行各业大量需要的。其过程也是创作科研论文的过程。大学生们走上工作岗位后,面对的类似问题会有很多。具备运用和驾驮所学知识对实际问题建模求解的能力,也应是大学生自我设计的目标之一。因此,希望大学生们积极选修数学建模课程,关注和参与全国大学生数学建模竞赛,将自己置身于艰苦而又是愉快的科学研究的磨炼之中,从而体会到在追逐一个事物的过程中所获得的乐趣远比事物本身的乐趣大的多。 " j/ l5 x$ N9 u' V 6 e/ q; s* K& f9 s% A3 i0 v! m6 \! Z