1、2010年3月,运筹与优化模型,第二章 数学建模思想与方法,数学模型可以详细地描述为对于现实世界的一个特定对象,为了一个特定的目的,根据特有的内在规律,作出一些必要的简化假设,运用适当的数学工具得到的一个数学结构。,数学建模思想与方法(1),1) 建模没有唯一正确的答案。数学建模是利用数学工具解决实际问题的重要手段。对同一个实际问题有可能建立起若干个不同的数学模型,它们都是对实际问题的近似描述,从这个角度上将,模型没有绝对的“对”与“错”,评价数学模型优劣的唯一标准是实践检验。,数学建模思想与方法(2),2) 有不同的建模方法。比较常见的是机理分析法、测试分析法、计算机模拟法等等。机理分析法是
2、建模者根据对现实问题特性的认识,分析对象的因果关系,找出反映内部机理的规律,从而建立相应的数学模型。这样的数学模型往往有明确的物理或现实意义。测试分析法将研究对象视为一个内部机理无法直接寻求的“黑箱”系统,通过测量系统的输入、输出数据,经过统计分析,按照某种确定的准则在某一类模型中选出一个与数据拟合得最好的模型。,数学建模思想与方法(3),3) 模型与建模目的有关。在建立数学模型之前要明确目的,对于同一个实际对象,建模的目的不同将导致建模时考虑的出发点和侧重点都不同,当然作出的模型就不同。,数学建模思想与方法(4),4) 模型具有可移植性。模型是现实对象抽象化、理想化的产物,因此它并不为对象的
3、所属领域所独有,它可以移植到其它领域,描述其它的实际问题。换言之,存在一个数学模型可应用于多个实际问题的情形。,数学建模思想与方法(5),5) 建模与建模者的灵性、经验和数学素质有关。有些情况下,建模者的经验、想象力、洞察力、判断能力、直觉和灵感在建模过程中起重要作用。,数学建模过程是有一定阶段性的。我们对现实世界的问题进行分析、提炼,用数学语言做出描述,用数学方法进行分析、研究,最后回到现实世界,应用于解决、解释实际问题。一般来讲,建模的流程可描述为,第1节 数学建模问题分析 数学建模问题一般是由实际领域的应用者提出的,因此不可能明确提出该用什么方法,也不可能给出恰到好处的条件,既可能有多余
4、的条件,也可能缺少条件,甚至有时问题本身就是含糊不清的。这并不奇怪,因为提出问题的人只是感觉到某些方面存在需要解决的问题,但还不能清楚地描述这个问题。这样一来,建模的第一步就是要进行问题分析。,首先要明确问题 例1.3.1 一家大商业印刷公司的经理就关于应该雇多少推销员的问题向你咨询。推销员是专门从事到各地把公司的产品兜销给其它商号的人员,推销员多了会增加管理费用,但推销员少了又可能会失去一些顾客,应该有一个最优的推销员人数。,对于这个问题,你在回答之前需要明确这样一些问题:公司的生产限度如何?经营的目的是什么?比如,目的是争取最高的利润,或者目的是在获得足够多利润的同时争取最大的市场份额。还
5、要明确推销员如何使用他们的时间?完成什么样的工作?产生的效果如何?推销员怎样才能达到最佳效果?,明确了这些问题后,我们可以建议研究这样两个问题: 1) 怎样从销售队伍中获取最大的收益; 2) 不同规模的销售队伍会产生的效果。,这两个问题仍需进一步细致的分析。比如,不同的推销员的能力不同,他们推销的地域也可能不同;不同的销售队伍的规模,其推销的地理范围可能不同,在每个顾客身上所花的精力也可能不同;推销员所面向的顾客也要分成“现有的”和“可能的”两类,前者需要稳定,后者需要转变和开发,所花的时间各不相同;各客户的订货量或潜在订货量也是需要考虑的重要因素。,最大收益问题,推销员,市场份额,顾客容量,
6、订货单,潜在的,现有的,顾客,地域,转变概率,稳定概率,潜在的,现有的,推销队伍最大收益问题结构层次图,可能的解决问题的方案:从微观上看,研究推销员的工作情况,重点考虑现有顾客被稳定下来的概率和可能的顾客被争取过来的概率,这些概率是怎样随每周中用于一个顾客的时间量变化而变化的;从宏观上看,研究如何从给定规模的销售队伍得到最大利益,重点考虑从市场份额、市场容量和客户订货量等因素的影响确定如何制定销售人员的职责,第2节 数据处理 数学建模的问题所给的数据并不一定恰到好处,可能有多余的数据,也可能缺少必要的数据。经过问题分析,我们对需要什么数据就有了基本了解。比如,在上面的例子中,我们需要确定各种概
7、率的数据、订货量的数据和各地区市场状况的数据等等。除了数据的收集之外,还需要对数据进行处理和分析。,例1.3.2 港作拖轮费用数据处理 港作拖轮是港口生产的重要设备,在港口机电设备固定资产中占有很大比例,并且具有初置费用高、维持费用大、寿命周期长、其构造复杂等特点。由于许多港作拖轮使用年限过长,往往形成设备状态质量差、故障多、能耗高、生产效率低,同时维修量大、维持费用上升,经济效益下降的现实。因此,需要解决的问题是研究港作拖轮的最佳经济使用年限。,对这个问题进行分析后可知相关的数据应包括:营运费用(折旧、修理、燃料、材料、低值品、水费、电费、海损、工资、劳保、管理、其它费用、营运收入),营运指
8、标(营运率、航行率、主机运转小时),自然状况(船舶建造年、船舶原值、船籍)。对这些数据的处理要考虑以下三个方面:,1) 营运费用的综合分类。将营运费用分成六类:折旧,修理类(修理、海损、事故修理),能耗类(燃料、水、电),物耗类(材料、劳保、低值品),管理类(管理、工资、其它),收入类。这样分类的理由:一是随着船龄的增长,各类营运费用的动态变化趋势是不一样的;二是在做数据可比性处理时,各类费用的处理方法也不同。,2) 数据可比性处理。原始数据来源于多艘样本船舶,由于各自建造年限的不同,使得各样本船之间的原值、成本费用、收入等各项数据存在很大差异,无法直接进行比较和归纳,不具备可比性,这主要来源
9、于各种涨价因素的影响。这样一来,就需要对数据做换算处理。进一步细致的工作就是研究怎样进行合理地换算,才能使各船之间、各年之间、各项资金之间具有横向和纵向的可比性。比如,管理和收入类数据进行利率换算系数处理;船舶原值按外汇兑换牌价的变化处理;能耗类和物耗类数据需要根据物价指数统计数据确定出合理的换算系数进行处理。,(3)数据有效性处理。样本船来自各港,由于各港的操作环境不同,各船的使用强度不同,所以使得同一船龄下的同类费用或指标之间也存在较大差别。比如,两艘同型同龄船,同一年的油耗费分别为41157元和60601元,其使用率分别为14.7%和18.94%。为了使数据具有有效性,可将使用率作为使用
10、强度,考虑单位使用强度下的费用,这样一来,就获得了较准确、合理的数据。,例1.3.3 施肥效果测量数据的处理一般作物生长主要营养素为氮(N)、磷(P)、钾(K)。某农作物研究所在某地区对马铃薯做了一定数量的实验,实验数据如表1.3.1所示。,其中,ha表示公顷,t表示吨,kg表示公斤。当一种营养素的量发生变化时,另两种营养素保持在某确定量值不变,根据农业资料可知,在一定范围内,马铃薯的产量随氮(N)施肥量的增加而增加,但当氮(N)施肥量超过一定范围,马铃薯的产量反而会降低;在一定范围内,马铃薯的产量随磷(P)施肥量的增加而增加,但过多磷(P)施肥量对马铃薯的产量不起作用。,按照上述知识对氮施肥
11、量马铃薯产量实验数据进行分析,可以认为其中没有明显的异常点。而按照上述知识对磷施肥量马铃薯产量实验数据进行分析可看到第二组数据是异常数据。记x为磷肥施肥量,y(x)为马铃薯产量,则在数据中有y(24)y(0),这样y(24)是病态数据。我们应对y(24)进行修改。利用y(0)和y(49)两个数据做一次线性插值,即用(y(0)+ y(49)/2取代原来的y(24)。,第3节. 数学模型分析 建立好的数学模型首先要明确建模目的。为了描述和解释现实世界,常采用机理分析的方法去探索事物内在的规律性;为了预测预报,常采用数理统计和模拟的方法;为了优化管理、决策和控制等目的,除了上述方法外,合理定义可量化
12、的评价指标和评价方法也是很重要的。建立数学模型的基本步骤可做如下描述:模型的整体设计、合理的假设、现实问题的数学表达式。,(1)模型的整体设计建立数学模型实际上就是建立一些变量之间的数学关系表达式,这首先就要搞清楚这些表达式在整个模型中的地位和作用,也就是要描述出有关因素之间的数量关系和结构关系。我们用下面的例子做说明:例1.3.4考虑一个简化的城市供水系统,如图1.3.2。水由水库经由管道流入水箱,再由水箱向各用户供水。试描述怎样才能有效地保障用户的正常用水。,问题所涉及的对象有:水库、管道、水箱和用户。每个对象都有许多相关因素,参见x下面的表1.3.2。,要解决的问题是保证水箱向用户供水,
13、从这个目的出发,考虑各对象之间的关系:水库直接与管道相联系,水库的状态决定了能否向管道提供所需的水流量,起关键作用的属性是水库的水深,因此不必考虑过多的因素,只需假定水库的水深能够保证管道所需的水流量,管道和水箱之间是相互影响的关系,管道向水箱供水,但不能超过水想的容积,所以这里关键的属性是管到的水流量,但其它属性也是有用的,它们可以用来决定水流量的变化范围;水箱的关键因素之一是有效水深,即从出水口到水面的距离,,另一个关键因素是通过出水口的水流量,这是供给用户的;对于用户,我们需要确定每一时刻的总需水量,记其为随时间变化的函数D( t )。对于给定的水箱,其有效水深与有效储水量之间具有一一对
14、应的关系,所以可取其中之一,如有效储水量Q( t )。这样一来,与水箱相关的因素归结为:有效储水量Q( t )、流出水量F( t )、最大有效储水量Qm( t )和最大流出水量Fm( t )。类似分析可知与管道相关的因素可归结为:供水流量G( t )和最大供水流量Gm( t ),后者由直径、长度和两端高度差所决定。,接下来用数学语言描述要解决的问题:选取适当的函数G( t ),使得(1.3.1)(1.3.2) 其中Q( t )由(1.3.3)所确定。,可以有很多函数G( t )满足上述条件,这样我们还需要考虑对G( t )的评价。从操作人员的角度考虑,可以要求操作时间最短或者操作次数最少;从系
15、统本身考虑,可以要求流量尽可能平稳,以减少突然开关对系统的冲击损坏;从新建系统考虑,可以在建造费用、占地面积等方面设立对方案的评价。,现在,我们可以得到模型的整体结构: a.确定需求函数D( t ),它是保证有效控制的基础。 b.制定恰当的评价指标,以评价方案的优劣。 c.求出关于评价指标最优的供水方案。 d.分析各种参数对方案的影响。 e.分析随机因素的影响。,在例1.3.4中,为了把握模型的整体结构,我们所做的工作如下: a.找出与问题有关的各实体(对象)。 b.列出与每个实体有关的因素(属性)。 c.按建模目的描述出个实体之间的关系,根据合理的假设略去影响不大的实体。 d.将实体之间的关
16、系用实体的因素表示出来,即建立数学关系式。 e.如果满足关系的解有多个,则应考虑合理的评价标准求出最优解。 f.对模型加以检验、分析和评价。,对模型参数的讨论也是一个重要工作。模型的解答一般是某些或全体输出变量的变化趋势或者是由这些输出变量计算出来的数值。如果例1.3.4的建模目的是预测并控制水箱中的水深,所以水箱水深是一个输出变量,管道供水量是输入变量,而水箱的尺寸、管到的尺寸及两端高度差是输入参数,最大容积和管道最大流量是输出参数(可由输入参数求出)。如果研究整个供水系统,则稍微复杂一点,实际上模型可以分解成两个子模型,一个子模型是求出用户需水量,另一个子模型是在已知用户需水量的基础上解决
17、供水问题。在系统能满足需求的情况下,系统的输出水量是第一个子系统的输出变量,同时也是第二个子模型的输入变量。,(2)合理的假设 在建模过程中,合理的假设是必不可少的。例1.3.4中,为了简化问题我们就忽略了水库及其相关因素,作出假设“水库能保证管道所需水量”。实际上,根据问题的特征和建模的目的对问题进行必要的、合理的简化,用精确的语言作出假设,可以说是建模的关键步骤。一个实际问题不经过简化假设就很难翻译成数学问题,即使可能,也会因为模型过于复杂而难以求解。,在例1.3.4中,我们还利用合理的假设对模型的使用范围加以明确的限定,如:a.管道供水量G( t )可人工调节;b.用户用水量是有规律可循
18、的;c.系统能满足用户需求。实际上,如没有前两条假设的限定,我们这里所做的模型是没有意义的。而最后一条假设不成立,则我们的建模目的就要改为:最大限度地满足用户需求。,假设作得不合理或者过于简单,可能会导致模型失败或部分失败,此时应该修改或补充假设;而假设作的过分详细,试图把复杂对象的个方面因素都考虑进去,则可能会使你很难继续下一步的工作。作出合适的假设很大程度上凭丰富的经验,但也还是有一些一般的原则和方法。作假设的依据通常是对问题内在规律的认识,或者是来自对数据和现象的分析,也可以是二者的综合结果。作假设时既要运用对实际问题领域的知识,又要充分发挥想象力、洞察力和判断力,善于辨别问题的主次,抓
19、住主要因素,舍弃次要因素,尽量使问题得到简化。一般可以在以下几个方面考虑:,a.关于是否包含某些因素的假设;b.关于条件相对强弱及各因素影响相对大小的假设;c.关于变量间关系的假设;d.关于模型适用范围的假设。为保证所作假设的合理性,在有条件和数据的情况下,尽可能对你的假设作出检验或说明。,(3)现实问题的数学表达式 建立变量间关系的最常用方法是将变量用数学公式联系起来。那么对变量间关系的语言描述是怎样与数学表达式相对应的呢?我们假定t为自变量,y为因变量。通常对变量间关系的语言描述都是围绕和下面类似的一些问题进行的:,a. 当t变大(小)时,y会怎样变化? b. 有没有使y取极大或极小值的t
20、? c. 有没有使y=0的t? d. y是否随t作周期性变化? e. 在什么范围内考虑t的值?如t 0或0 a t b。,描述变量间关系的数学表达式可以是一般的数学函数关系,也可以是微分方程,还可以是积分方程或泛函方程,当然也包括各类的方程组。用函数描述变量间的关系,从而建立数学模型是最常用的方法。比如几个典型的描述增长的函数如下:,而描述周期性的函数通常用三角函数或带三角函数项的函数,如,建立用微分方程描述的数学模型也是重要的方法。比如物理系统中描述弹力质量阻尼器中物体在t时刻的位置x (t)的微分方程为 再如第一章第二节中例题4给出的数学模型也是微分方程在第二章第一节最优价格模型中我们有一
21、个泛函方程的例子,设计一种数学表达式往往是根据物理定理、原理,经过机理分析和合理假设来得到。但有的时候只能借助数据所含的信息建立经验模型来实现。数据含有所涉及问题的大量信息,对数据进行充分观察和分析,获得有关信息,揭示变量间的内在联系,从而选择适当的数学表达式拟合变量间的关系,这就是建立经验模型。,我们将例1.3.3中表1.3.1的数据画出散点图,图1.3.2和图1.3.3分别是氮施肥量N和磷施肥量P关于马铃薯产量y的散点图,将图1.3.2中的点用线连接起来,看起来象是开口乡向下的一段抛物线,这表明氮施肥量N与马铃薯产量y(N)之间可能是一种非线性关系。设x为氮施肥量,y为马铃薯产量,我们选择
22、数学表达式表示氮施肥量x与马铃薯产量y之间的关系。其中a , b , c为待确定的参数。,将图1.3.3中的点用线连接起来,看起来象是前一段呈上升趋势,而后一段趋于平缓,磷施肥量超过100斤以后,马铃薯产量出现徘徊,大致不超过43吨。设x为磷施肥量,y为马铃薯产量,我们可选择数学表达式 表示磷施肥量x与马铃薯产量y之间的关系,选择适当的参数a和b,就可以得到较好的拟合。我们也可以选择另一种数学表达式表示磷施肥量x与马铃薯产量y之间的关系这里有三个参数A,B和C。,模型的分析和检验完成一个模型,需要对模型进行分析检验。这步工作并不是要证明模型的“正确”,而是要作出一个正确的估计。我们前面说过,建模没有唯一正确的答案,从某种意义上讲,任何模型都有“错误”,没有绝对完美的模型。一个模型的建立是否成功,主要取决于它是否达到了建模的目的,是否有效地应用于实际,即模型要通过实际检验。,本章结束 谢谢!,