1、学建模常用方法介绍刘兵兵安庆师范学院 数学与计算科学学院2008-11-06l 1983年,数学建模作为一门独立的课程进年,数学建模作为一门独立的课程进入我国高等学校,在清华大学首次开设。入我国高等学校,在清华大学首次开设。1987年高等教育出版社出版了国内第一本年高等教育出版社出版了国内第一本数学模数学模型型教材。教材。20多年来,数学建模工作发展的非多年来,数学建模工作发展的非常快,许多高校相继开设了数学建模课程,我常快,许多高校相继开设了数学建模课程,我国从国从1989年起参加美国数学建模竞赛,年起参加美国数学建模竞赛,1992年年国家教委高教司提出在全国普通高等学校开展国家教委高教司提
2、出在全国普通高等学校开展数学建模竞赛,旨在数学建模竞赛,旨在“培养学生解决实际问题培养学生解决实际问题的能力和创新精神,全面提高学生的综合素的能力和创新精神,全面提高学生的综合素质质”。l 我校在我校在1998年之前就为数学与应用数学专年之前就为数学与应用数学专业学生开设了数学建模课程(当时由叶淼林教业学生开设了数学建模课程(当时由叶淼林教授主讲,后改为苏本跃博士主讲),并于授主讲,后改为苏本跃博士主讲),并于1998年参加全国大学生数学建模竞赛。在年参加全国大学生数学建模竞赛。在2007年扩年扩大到信息与计算科学专业(刘兵兵讲师主)。大到信息与计算科学专业(刘兵兵讲师主)。同年,又把数学建模
3、课增设为全校公选课,授同年,又把数学建模课增设为全校公选课,授课对象为四个院系的学生课对象为四个院系的学生,即:数学与计算科学即:数学与计算科学学院、计算机与信息学院、物理与电气工程学学院、计算机与信息学院、物理与电气工程学院和经济与管理学院,授课教师共有院和经济与管理学院,授课教师共有4位不同位不同方向的数学教师。同时还指导本科生撰写数学方向的数学教师。同时还指导本科生撰写数学建模方向的毕业论文。建模方向的毕业论文。十多年来,数学建模课程的教学十多年来,数学建模课程的教学使学生在知识的渗透和交叉方面使学生在知识的渗透和交叉方面,使学使学生和教师的知识结构得到了更新和完生和教师的知识结构得到了
4、更新和完善善,同时也促进了数学学科和其它学科同时也促进了数学学科和其它学科的交流。学生应用数学和计算机解决的交流。学生应用数学和计算机解决实际问题的能力得到了提高。学生的实际问题的能力得到了提高。学生的综合素质在毕业论文、读研究生和以综合素质在毕业论文、读研究生和以后的工作中充分体现出来。后的工作中充分体现出来。我校在全国大学生数学建模竞赛中我校在全国大学生数学建模竞赛中取得了较好的成绩,自从取得了较好的成绩,自从1998年参加比赛年参加比赛以来,累计共有以来,累计共有1队获得国家级一等奖,队获得国家级一等奖,1队获得国家级二等奖,队获得国家级二等奖,2队获得安徽赛区一队获得安徽赛区一等奖,等
5、奖,16队获得安徽赛区二等奖,队获得安徽赛区二等奖,10队获队获得安徽赛区三等奖,其余均获得成功参赛得安徽赛区三等奖,其余均获得成功参赛奖。奖。三类最基本的必备知识三类最基本的必备知识运筹学(运筹学(MATLAB or LINDNO/LINGO)多元统计分析(多元统计分析(SPSS)微分方程微分方程(MATLAB)类比法类比法量纲分析法量纲分析法差分法差分法变分法变分法图论法图论法层次分析法层次分析法数据拟合法数据拟合法回归分析法回归分析法数学规划(数学规划(线性规划,非线性规划,整数规线性规划,非线性规划,整数规划,动态规划,目标规划划,动态规划,目标规划)机理分机理分析法析法排队方法排队方
6、法对策方法对策方法决策方法决策方法模糊评判方法模糊评判方法时间序列方法时间序列方法灰色理论方法灰色理论方法现代优化算法(禁忌搜索算法,模拟退火现代优化算法(禁忌搜索算法,模拟退火算法,遗传算法,神经网络)算法,遗传算法,神经网络)优化模型优化模型微分方程模型微分方程模型统计模型统计模型概率模型概率模型图论模型图论模型决策模型决策模型拟合与插值方法问题问题给定一批数据点(输入变量与输出变量的数据),需确定满足特定要求的曲线或曲面插值问题插值问题要求所求曲线(面)通过所给所有数据点数据拟合数据拟合不要求曲线(面)通过所有数据点,而是要求它反映对象整体的变化趋势数据拟合一元函数拟合多项式拟合非线性函
7、数拟合多元函数拟合(回归分析)MATLAB实现函数的确定插值方法一维插值的定义已知n个节点,求任意点处的函数值。分段线性插值多项式插值 样条插值 y=interp1(x0,y0,x,method)二维插值节点为网格节点z=interp2(x0,y0,z0,x,y,method)pp=csape(x0,y0,z0,conds,valconds)二维插值节点为散点z1=griddata(x,y,z,x1,y1)优化方法优化模型四要素决策变量目标函数(尽量简单、光滑)约束条件(建模的关键)求解方法(MATLAB,LINDO)优化模型分类线性规划模型(目标函数和约束条件都是线性函数的优化问题)非线性规
8、划模型(目标函数或者约束条件是非线性的函数)整数规划(决策变量是整数值得规划问题)多目标规划(具有多个目标函数的规划问题)目标规划(具有不同优先级的目标和偏差的规划问题)动态规划(求解多阶段决策问题的最优化方法)优化模型求解无约束规划fminsearchfminbnd线性规划linprog非线性规划fmincon多目标规划(计算有效解)目标加权、效用函数动态规划(倒向、正向)整数规划(分支定界法、枚举法、LINDO)统计方法(回归分析)回归分析对具有相关关系的现象,根据其关系形态,选择一个合适的数学模型,用来近似地表示变量间的平均变化关系的一种统计方法(一元线性回归、多元线性回归、非线性回归)
9、回归分析在一组数据的基础上研究这样几个问题:建立因变量与自变量之间的回归模型(经验公式)对回归模型的可信度进行检验判断每个自变量对因变量的影响是否显著判断回归模型是否适合这组数据利用回归模型对进行预报或控制b,bint,r,rint,stats=regress(Y,X,alpha)(线性回归)rstool(x,y,model,alpha)(多元二项式回归)beta,r,J=nlinfit(x,y,model,beta0)(非线性回归)统计方法(逐步回归分析)逐步回归分析逐步回归分析从一个自变量开始,视自变量作用的显著程度,从大到地依次逐个引入回归方程当引入的自变量由于后面变量的引入而变得不显著
10、时,要将其剔除掉 引入一个自变量或从回归方程中剔除一个自变量,为逐步回归的一步对于每一步都要进行值检验,以确保每次引入新的显著性变量前回归方程中只包含对作用显著的变量这个过程反复进行,直至既无不显著的变量从回归方程中剔除,又无显著变量可引入回归方程时为止stepwise(x,y,inmodel,alpha)SPSS,SAS统计方法(聚类分析)聚类分析所研究的样本或者变量之间存在程度不同的相似性,要求设法找出一些能够度量它们之间相似程度的统计量作为分类的依据,再利用这些量将样本或者变量进行分类系统聚类分析将n个样本或者n个指标看成n类,一类包括一个样本或者指标,然后将性质最接近的两类合并成为一个
11、新类,依此类推。最终可以按照需要来决定分多少类,每类有多少样本(指标)统计方法(系统聚类分析步骤)系统聚类方法步骤:1.计算n个样本两两之间的距离2.构成n个类,每类只包含一个样品3.合并距离最近的两类为一个新类4.计算新类与当前各类的距离(新类与当前类的距离等于当前类与组合类中包含的类的距离最小值),若类的个数等于1,转5,否则转35.画聚类图6.决定类的个数和类。判别分析在已知研究对象分成若干类型,并已取得各种类型的一批已知样品的观测数据,在此基础上根据某些准则建立判别式,然后对未知类型的样品进行判别分类。距离判别法首先根据已知分类的数据,分别计算各类的重心,计算新个体到每类的距离,确定最
12、短的距离(欧氏距离、马氏距离)Fisher判别法利用已知类别个体的指标构造判别式(同类差别较小、不同类差别较大),按照判别式的值判断新个体的类别Bayes判别法计算新给样品属于各总体的条件概率,比较概率的大小,然后将新样品判归为来自概率最大的总体 模糊数学研究和处理模糊性现象的数学(概念与其对立面之间没有一条明确的分界线)与模糊数学相关的问题(一)模糊分类问题已知若干个相互之间不分明的模糊概念,需要判断某个确定事物用哪一个模糊概念来反映更合理准确模糊相似选择 按某种性质对一组事物或对象排序是一类常见的问题,但是用来比较的性质具有边界不分明的模糊性模糊聚类分析根据研究对象本身的属性构造模糊矩阵,
13、在此基础上根据一定的隶属度来确定其分类关系 模糊层次分析法两两比较指标的确定模糊综合评判综合评判就是对受到多个因素制约的事物或对象作出一个总的评价,如产品质量评定、科技成果鉴定、某种作物种植适应性的评价等,都属于综合评判问题。由于从多方面对事物进行评价难免带有模糊性和主观性,采用模糊数学的方法进行综合评判将使结果尽量客观从而取得更好的实际效果 图论方法(一)最短路问题两个指定顶点之间的最短路径给出了一个连接若干个城镇的铁路网络,在这个网络的两个指定城镇间,找一条最短铁路线(Dijkstra算法)每对顶点之间的最短路径(Dijkstra算法、Floyd算法)最小生成树问题连线问题欲修筑连接多个城
14、市的铁路设计一个线路图,使总造价最低(prim算法、Kruskal算法)图的匹配问题人员分派问题:n个工作人员去做件n份工作,每人适合做其中一件或几件,问能否每人都有一份适合的工作?如果不能,最多几人可以有适合的工作?(匈牙利算法)图论方法(二)遍历性问题中国邮递员问题邮递员发送邮件时,要从邮局出发,经过他投递范围内的每条街道至少一次,然后返回邮局,但邮递员希望选择一条行程最短的路线最大流问题运输问题最小费用最大流问题在运输问题中,人们总是希望在完成运输任务的同时,寻求一个使总的运输费用最小的运输方案 现代优化算法 80年代初开始兴起的启发式算法,包括年代初开始兴起的启发式算法,包括禁忌搜索(
15、禁忌搜索(tabu search),),模拟退火模拟退火(simulated annealing,SA),),遗传算法遗传算法(genetic algorithm,GA),蚁群算法),蚁群算法(ant colony algorithm,ANA),人工神经),人工神经网络(网络(neural network,NN)等等,用于解)等等,用于解决大量的实际应用问题。决大量的实际应用问题。遗传算法 基于生物遗传学和进化论所构造的一基于生物遗传学和进化论所构造的一类搜索算法。对生物进化过程进行了数学类搜索算法。对生物进化过程进行了数学仿真,体现了自然界中仿真,体现了自然界中“物竞天择、适者物竞天择、适者
16、生生存存”的进化过程。的进化过程。l遗传算法把问题的解表示成个体(遗传算法把问题的解表示成个体(染色染色体体),并基于适应值来选择染色体,使),并基于适应值来选择染色体,使适应性好的染色体有更多的繁殖机会。适应性好的染色体有更多的繁殖机会。通过染色体群一代一代的进化,获得适通过染色体群一代一代的进化,获得适应环境的最优解。应环境的最优解。Holland,Adaptation in Natural and Artificial Systems,1975 生物遗传概念与遗传算法l个体个体(individual)问题的解问题的解 染色体染色体(chromosome):解的编码):解的编码 基因基因(
17、gene):解中各分量的值):解中各分量的值l适应性适应性(fitness)适应函数值适应函数值l群体群体(population)选定的一组解选定的一组解生物遗传概念与遗传算法l种群种群(reproduction)根据适应函数值选取的一组解根据适应函数值选取的一组解l交配交配(crossover)通过交配原则产生一组新解的过程通过交配原则产生一组新解的过程l变异变异(mutation)编码的某一个分量发生变化的过程编码的某一个分量发生变化的过程l适者生存适者生存 算法停止时,最有可能存活的是最优解算法停止时,最有可能存活的是最优解遗传算法的基本要素1.1.编码与译码编码与译码编码编码:将问题结
18、构变换为位串形式编码表示的:将问题结构变换为位串形式编码表示的 染色体染色体 译码译码:将染色体表示变换为原问题结构。:将染色体表示变换为原问题结构。2.2.适应度函数适应度函数对染色体对染色体适应性适应性进行度量的函数。通过适应度进行度量的函数。通过适应度函数来决定染色体的优劣程度,体现了自然进函数来决定染色体的优劣程度,体现了自然进化中的化中的优胜劣汰原则优胜劣汰原则。适应度函数的取值大小。适应度函数的取值大小与求解问题对象的意义有很大的关系。对优化与求解问题对象的意义有很大的关系。对优化问题,适应度函数就是目标函数。问题,适应度函数就是目标函数。遗传算法的基本要素3.遗传操作遗传操作 简
19、单遗传算法简单遗传算法的遗传操作主要有三种的遗传操作主要有三种:选择选择(selection)、交叉、交叉(crossover)、变异、变异(mutation)。改进的遗传算法改进的遗传算法大量扩充了遗传操作大量扩充了遗传操作。(1)选择,也叫复制选择,也叫复制 从群体中按个体的适应度函数值选择出较适应环境的个体,从群体中按个体的适应度函数值选择出较适应环境的个体,使适应度高的个体繁殖下一代的数目较多,而适应度较小的个使适应度高的个体繁殖下一代的数目较多,而适应度较小的个体,繁殖下一代的数目较少体,繁殖下一代的数目较少,甚至被淘汰。甚至被淘汰。轮盘赌轮盘赌(roulette wheel)模型模
20、型:个体被选择的概率等于其适应度值与群体总适应:个体被选择的概率等于其适应度值与群体总适应度值之比。度值之比。例:例:Fitness 值:值:2200 1800 1200 950 400 100遗传操作(2)交叉)交叉(Crossover)将被选中的两个个体的基因链按一定概率进行交将被选中的两个个体的基因链按一定概率进行交叉,生成两个新的个体,交叉位置是随机的。叉,生成两个新的个体,交叉位置是随机的。分分为单点交叉、双点交叉、均匀交叉为单点交叉、双点交叉、均匀交叉.单点交叉单点交叉操作的简单方式是将两个个体作为父母个操作的简单方式是将两个个体作为父母个体,将两者的部分基因码值进行交换。体,将两
21、者的部分基因码值进行交换。例例:遗传操作(3)变异变异(Mutation)在在被选中被选中的个体中,将其基因链的各位按概的个体中,将其基因链的各位按概率进行异向转化,得到新的个体。率进行异向转化,得到新的个体。最简单方最简单方式式是改变串上某个位置的数值。对二进制编是改变串上某个位置的数值。对二进制编码来说是码来说是0与与1互换。互换。例例:遗传算法一般步骤1.完成了预先给定的进完成了预先给定的进化代数化代数2.种群中的最优个体在种群中的最优个体在连续若干代后没有改进连续若干代后没有改进3.平均适应度在连续若平均适应度在连续若干代后基本没有改进干代后基本没有改进 平等地位、相互尊重、充分交流平
22、等地位、相互尊重、充分交流杜绝武断评价杜绝武断评价不要回避责任不要回避责任不要对交流失去信心不要对交流失去信心 借助于一系列问题来展开思路借助于一系列问题来展开思路这个问题与什么问题相似?这个问题与什么问题相似?如果将问题分解成两个或几个部分会怎样?如果将问题分解成两个或几个部分会怎样?极限情形(或理想状态)如何?极限情形(或理想状态)如何?综合问题的条件可得到什么结果?综合问题的条件可得到什么结果?要实现问题的目标需要什么条件?要实现问题的目标需要什么条件?借助于下意识的联想(灵感)来展开思路借助于下意识的联想(灵感)来展开思路抓住问题的个别条件或关键词展开联想或猜想抓住问题的个别条件或关键词展开联想或猜想综合所得到的联想和猜想,得到一些结论综合所得到的联想和猜想,得到一些结论进一步思考找出新思路和方法进一步思考找出新思路和方法认真仔细地识题认真仔细地识题明确条件和任务明确条件和任务通过关键词捕捉关键信息通过关键词捕捉关键信息分清是非,勿入陷井分清是非,勿入陷井祝大家在Mathematical Modelling 学习和竞赛中取得好成绩!