1、数 学 建 模,主讲:刘奇飞2011年8月,一. 建模比赛经验交流二. 建模知识讲解运筹学三. LINGO介绍四. 实际问题的LINGO求解技巧五. 建模题实战演练六. 知识小结,讲 课 提 纲,数 学 建 模,一、建模比赛经验交流,经验交流: 第一点:团队精神第二点:合理安排时间第三点:资料查找第四点:论文写作第五点:熟知常用算法,一、建模比赛经验交流,建模常用算法 1、蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性) 2、数据拟合、参数估计、插值等数据处理算法3、线性规划、整数规划、多元规划、二次规划等规划类问题,一、建
2、模比赛经验交流,4、图论与算法5、动态规划、回溯搜索、分治算法、分支定界等计算机算法6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法,一、建模比赛经验交流,7、网格算法和穷举法8、一些连续离散化方法9、数值分析算法10、图象处理算法,例题1(合理配料问题)根据对77种食物所含的九种营养物:热量(糖与脂肪)、蛋白质、钙、铁、维生素A、维生素BI、维生素B2、草酸与维生素C的成份及食物的市场价格调查,按照医生所提出的对每个人每天所需的营养要求,可得表5.3问怎样采购食物才能在保证营养要求的前提下花费最省?这就是营养问题或饮食问题,配料问题就是由此而推广来的。,Matlab软件求解线性
3、规划的命令如下:,例题2(合理下料问题)某厂生产过程中需要用长度分别为31米、25米和17米的同种棒料毛坯分别为200、100和300根,而现在只有一种长度为9米的原料,问应如何下料才能使废料最少?,解 解决下料问题的关键在于找出所有可能的下料方法(如果不能穷尽所有的方法,也应尽量多收集各种可能的下料方法),然后对这些方案进行最佳结合。 对给定的9米长的棒料进行分割,可以有9种切割方法,见表5.2所示。,表5.2 毛坯切割方案表,例1某照相机厂生产A1,A2两种型号的照相机,生产一台A1型、A2型照相机的利润分别为25元和40元.生产每种照相机都需要三道工序,生产一台不同型号的照相机在不同工序
4、上所需要的工时(单位:小时)如表3-1.每一工序每周可供使用的工作时间也在表3-1中给出.那么工厂应如何安排生产,使其获得最大利润?,整数规划,表3-1,解:假设工厂每周应生产A1型照相机x1台,A2型照相机x2台,由问题所给条件可以得到下面的数学形式:由于所有变量要求取整数,所以这是一个整数线性规划问题.我们称这类问题为全整数线性规划问题.有时只要求部分变量取整数,这样的问题称为混合整数线性规划.,例2 某地区计划修建五个新工厂A1,A2,A3,A4,A5,它们所需的投资金额分别为100,150,125,200和250(单位:万元),现仅有资金总额750万元.又据估计,工厂建成后每年可获利润
5、分别为20,25,20,40和45(单位:万元).试决定应修建哪些工厂,使投资总额不超过现有资金总额,并且使工厂建成后每年获得的总利润最大?,解:对于工厂Ai (i=1,2,5)来说,只有修建或不修建两种情形.因此,可设这样的变量称为0-1变量.利用0-1变量,该问题的数学模型可以写为:由于所有的变量都只能取0或1,所以这样的整数线性规划问题简称为0-1规划.,bintprog 求解0-1规划问题,f=-1*20,25,20,40,45;A=100,150,125,200,250;b=750;x,fval=bintprog(f,A,b),X=1 ,1,0,0,1,1, f=-130,注意,若在
6、问题中再添加其他条件,则应添加相应的约束.如:(1)修建工厂A3必须先修建工厂A2,这时约束条件中就应添加约束不等式x2x3;(2)至少要修建工厂A4,A5中的某一个,这时约束条件中要添加约束不等式x4+x51.,例3 某地区已有两个水泥厂A1,A2,计划再建设A3,A4两个水泥厂中的一个,以解决水泥供不应求的问题.现有工厂和计划建设的工厂的年生产能力如表3-2所示.表3-2,这些工厂生产的水泥计划供应四个城市B1,B2,B3,B4,其需求量分别为35,40,30,15(单位:万吨).由各工厂到各城市的运输费用如表3-3.表3-3 运价表 单位:万元/万吨,工厂A3,A4开工后,每年的费用估计
7、为120万元和150万元.那么应建设哪个工厂呢?,解:首先引入0-1变量,设,再设xij表示由工厂Ai运往城市Bj (i=1,2,3,4;j=1,2,3,4)的水泥数量(单位:万吨).如果我们希望工厂建成后总运费与开工费之和最少,则问题的数学模型可写为:,因为变量中仅要求yi(i=1,2)取整数值0或1,所以这是一个混合整数规划问题. (YALMIP 工具箱),例4 有m台同一类型的机床,要加工n种零件.设各种零件(所需)的加工时间分别为a1,a2,an.问如何分配,使各机床的总加工时间相等,或者说尽可能均衡.解:引进变量xij(i=1,2,m;j=1,2,n).规定:则第i台机床加工各种零件
8、的总时间为:另外,一个零件只能在一台机床上加工,有,于是这一问题可以归结为:此例中所有变量必须取0或1,故称这类整数规划问题为0-1规划问题.,非线性规划的实例及数学模型,例题6.1 投资问题:假定国家的下一个五年计划内用于发展某种工业的总投资为b亿元,可供选择兴建的项目共有几个。已知第j个项目的投资为 亿元,可得收益为 亿元,问应如何进行投资,才能使盈利率(即单位投资可得到的收益)为最高?,例题6.4 砂石运输问题 设有 的砂、石要由甲地运输到已地,运输前需要先装入一个有底无盖并在底部有滑行器的木箱中,砂、石运到已地后,从箱中倒出,再继续用空箱装运,不论箱子大小,每装运一箱,需0.1元,箱底
9、和两端的材料费为20元/ ,箱子两侧材料费为5元/ ,箱底的两个滑行器与箱子同长,材料费为2.5元/ ,问木箱的长、宽、高应各为多少米,才能使运费与箱子的成本费的总和为最小。,多目标评价函数方法,在本节中将对多目标规划问题给出一些处理的方法.这些方法都是基于某种评价意义,把多目标规划问题化为单目标规划问题去求解.这里只给出五种处理方法.(一)线性加权和方法事先我们对p个目标f1(x),f2(x),fp(x)的重要性,通过邀请一批对这个问题有经验、有专门研究的老手(如专家、教授、技术人员、干部、工人等)发表意见,最终确定出一组权系数,并且满足令评价函数为:求规划问题,的最优解 .,(二)平方和加
10、权法先对每一个目标估计一个尽量好的希望值,例如对于第i个目标fi(x)给出一个估计值f0i,它满足条件: 再对p个目标f1(x),f2(x),fi(x),fp(x)给出一组权系数:1,2,i,,p,其中令评价函数为:求非线性规划问题的最优解 .,平方和加权法体现了通常所说的自报公议的原则.即让那些强调目标fi(x)重要者预先给出最优值 的一个尽可能好的估计f0i,然后,通过公议(例如请老手评议)给出一组表明各目标重要性的权系数1,2, p.(三)理想点法先求p个单目标规划的最优值,记这样,我们得到了一个点,它是各目标的理想值的点,称为理想点(因为多目标规划的绝对最优解往往是不存在的,可见,F*
11、只不过是理想值而已).令评价函数为:其中而为欧氏模(距离),即,求非线性规划问题的最优解 .(四)“min-max”法(“最小-最大”法)在对策论的研究中,选取最优策略的一种思想是在最不利的情况下选取最有利的策略,即所谓最小-最大的原则.借用这一思想,我们可得到评价函数,再求规划问题的最优解 .这里, 是变量x的函数,当n=1时如图5-19所示.,五)乘除法考虑具有p个目标的多目标问题,其中xR,并且在上述p个目标当中,有一些目标希望越小越好,另一些目标希望越大越好.不失一般,设 要求越小越好;而目标,要求越大越好.此时令评价函数为:再求规划问题的最优解,多目标规划,例12 某家具厂只生产两种
12、产品:桌子和椅子.售出一张桌子的利润为3元,售出一把椅子的利润为4元.又知桌子和椅子需经过两个加工工段:装配工段和精整工段,其中每个桌子和椅子所需工时,以及各工段的生产能力由表5-3给出.,如果要求利润最大,不难写出,有由图解法得到最优解(见图5-31):,相应的最优值为26.现在根据三种不同要求建立三种模型.(1)要求一天的利润达到20元,两种产品各应生产多少?除了假设桌子的生产数量为x1,椅子的生产数量为x2之外,还设d-=利润不足20元时的差额值(简称为负偏差)d+=利润超过20元时的超出值(简称为正偏差)建立目标规划模型为:,在这个问题中的目标函数为:其原因是负偏差及正偏差都为非负变量
13、,因此,目标值(d-+d+)0,如果能求得最优解使得目标值min (d-+d+)=0,这只有正偏差及负偏差都为0,于是就能实现我们希望利润达到20元的目的.,(2)要求一天内的利润值不少于20元(允许超过20元,但尽可能不要少于20元),问两种产品应各生产多少?我们可以建立这样的目标规划模型:其中x1,x2,d-,d+的意义与问题(P1)相同.在问题(P2)中的目标函数为:min d-,其原因是变量(负偏差)d-为非负变量,我们希望目标的最优值min d-=0,因为若(P2)的最优解 , , , 中的 =0,则因为正偏差 ,故利润值为:即利润值不少于目的值20元.(3)要求一天的利润不少于23
14、元,装配车间的总工时不超过28工时(允许少于28个工时,但尽可能不要超过28个工时),问两种产品应各生产多少?,建立的目标规划模型为:其中x1,x2的意义与前面的几个问题相同,即x1为生产的桌子数,x2为生产的椅子数,但是d-,d+与前面的问题都不同,在这里d-=装配车间工时不足28时的差额值(负偏差)d+=装配车间工时超过28时的超出值(正偏差),问题(P3)的目标函数为:min d+其原因是变量d+(正偏差)为非负变量,我们希望目标的最优值min d+=0,因为若(P2)的最优解 , , , 有 =0,则因为负偏差 ,故得到装配车间的工时为:即工作时间少于28.,从上面的例子可以看出目标规
15、划的一个特点,就是把原来的目标函数(性能指标)通过引进正偏差与负偏差转化为约束条件,而用正偏差及负偏差的不同组合形式作为目标规划的目标函数.一般地,假设有一个性能指标为:它的一个给定的目的值为f0,则令d-=指标f(x)不足f0时的差额值(负偏差), d+=指标f(x)超过f0时的超出值(正偏差), 有如下的约束条件:,目标规划可以有以下五种目标函数的形式:1.要求性能指标f(x)尽量达到目的值f0(即不足f0不好,超过f0也不好),此时目标规划的目标为:min (d-+d+)2.要求性能指标f(x)的值不少于目的值f0(即允许超过f0,但尽可能不要少于f0),此时目标规划的目标为: min
16、d-3.要求性能指标f(x)的值不超过目的值f0(即允许少于f0,但尽可能不要超过f0),此时目标规划的目标为: min d+以下两种情况4与5是我们前面几章中研究过的普通规划问题的提法,这里只不过是用目标规划的语言做了统一处理.,4.要求性能指标f(x)的值越大越好,此时目标规划的目标为:min (d-d+)(实际上,由f(x)=f0-(d-d+)可知,要求max f(x)等价于min(d-d+).5.要求性能指标f(x)的值越小越好,此时目标规划的目标为:min (d+-d-)(实际上,由f(x)=f0+(d+-d-)可知,要求min f(x)等价于min (d+-d-)).以上是为了便于
17、说明目标规划的性质,所以暂时借用单个目标来讨论.现在根据对单个目标的目标规划的五种形式来讨论多目标的情况.,例13 在例12中,有如下两个要求:第一,要求一天内的利润达到20元;第二,在利润尽可能达到20元的前提下,装配车间剩余的工时越多越好(即在完成全厂利润20元的前提下,尽量早下班),问如何安排桌子与椅子的生产数?解:假设x1为生产桌子的数量,x2为生产椅子的数量,且设,依题意,约束条件为:第一等级目标为(记为f1):第二等级目标为(记为f2),我们引进表示等级顺序的记号P1及P2,记号表示两个等级的目标,第一个等级的目标为min (d-1+d+1),第二个等级的目标为min (d+2-d
18、-2).于是,问题可以写成,由上面两个例子可以看出,目标规划方法是根据问题本身提出的要求(目的),引入相应的正、负偏差以及约束条件,再根据重要性次序把目标分为若干等级(在同一个等级中可以有一个以上的目标). 例15某厂生产两种型号的产品:产品甲与产品乙.产品信息如表5-10所示.,又知该厂的工作时间为48小时/周.有如下要求(要求的次序即目标的等级次序):第一,尽量达到计划产值4000元/周;第二,避免加班(厂方意见);第三,争取外汇(外贸部门意见);第四,产品数量不要低于计划值(产品乙为新型号,从发展来看会具有竞争能力,应争取多生产.两种产品产量的重要程度之比为甲乙=12);第五,如果提前完
19、成生产任务,早下班的时间也不要多于5小时/周(厂方意见).解:根据题意,令,有如下相应的约束条件:,有如下相应的目标,三. 图论问题的LINGO求解技巧,介绍使用LINGO求解图论与网络问题中的一些典型问题。 如最短路问题、最大流问题、关键路径问题、最优树问题,以及TSP问题。这里主要介绍使用LINGO求解的方法,重在应用和解决问题。,四. 07年建模B题实战演练,B题:乘公交,看奥运 我国人民翘首企盼的第29届奥运会明年8月将在北京举行,届时有大量观众到现场观看奥运比赛,其中大部分人将会乘坐公共交通工具(简称公交,包括公汽、地铁等)出行。这些年来,城市的公交系统有了很大发展,北京市的公交线路
20、已达800条以上,使得公众的出行更加通畅、便利,但同时也面临多条线路的选择问题。针对市场需求,某公司准备研制开发一个解决公交线路选择问题的自主查询计算机系统。 。,四. 07年建模B题实战演练,公交查询系统的最佳乘车方案研究与设计【摘要】 本文将站点实体间的线路选择抽象为图论最短路模型采用0-1 整数规划表述。建立直达数据库Q 作为数据基库,根据用户需求建立不同目标的0-1 规划模型运用邻接算法与Lingo 分别求解,最终方案集通过多目标分层序列排序输出到用户终端。 。,一. 建模比赛经验交流二. 建模知识讲解图论三. 图论问题的LINGO求解技巧四. 07年建模B题实战演练五. 知识小结,讲 课 提 纲,数 学 建 模,例题1 (生产计划问题) 某厂计划内将安排生产I,II两种产品,已知生产单位重量的产品所需的设备为A及B、C两种原料的消耗如表1所示:生产单位重量的产品I可获利2万,生产单位重量的产品II可获利5万。问:如何安排生产可使工厂获得的利润最多?,Thank You !,