数学建模-第一章组合优化模型与计算复杂性.ppt_第1页
数学建模-第一章组合优化模型与计算复杂性.ppt_第2页
数学建模-第一章组合优化模型与计算复杂性.ppt_第3页
数学建模-第一章组合优化模型与计算复杂性.ppt_第4页
数学建模-第一章组合优化模型与计算复杂性.ppt_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第一章 组合优化模型与计算复杂性,组合优化理论,Combinatorial Optimization Theory,2,第一章 组合优化模型 与计算复杂性,1 组合优化模型与算法,2 计算复杂性问题,3 启发式算法,3,第一章 组合优化模型与计算复杂性,模型(model )是所研究的系统、过程、事物或 概念的一种表达形式 .,1 组合优化模型与算法,(一) 模型的概念,模型不是研究对象本身,而是对研究对象的一种 抽象,它反映现实中对象系统的主要特征,但它又高 于现实,因而具有同类问题的共性 .,由于研究目的的不同,对于同一个对象系统, 可以建立完全不同的模型,分别反映该系统的不同 侧面;出

2、于相同的研究目的,对于同一个对象系 统,也可能建立不同的模型,反映不同的研究角 度、考察因素和价值取向 .,一、关于模型,4,1 组合优化模型与算法,(二) 模型的本质,从系统概念上看,模型是系统中各种关系的表达 形式 . 因此,建立模型要从状态和过程两个方面去寻 找、把握和描述各系统要素之间的相互关系 .,状态:事物在某个时刻所处的状况或表现形态,过程:事物状态的变化在时间上的持续和空间上的延伸,过程和状态两者紧密联系、不可分割,状态决 定和影响过程,过程又决定和影响新的状态 .,状态和过程是相对的 .,5,从认识论上看,模型是作为认识与实践活动的中介 .,现实世界,认识(信息),模 型,实

3、践活动,概念化,用信息载体表达,决策(行动方案),产品和服务,模型化过程示意图,模型既是认识的表达,又是实践活动的先导 .,模型参与认识世界和改造世界的不断的循环往复 过程,既是认识不断深化的体现,又是实践活动不断 拓展的体现 .,第一章 组合优化模型与计算复杂性,6,1 组合优化模型与算法,从信息论上看,模型和认识之间存在密切的反馈 关系 . 从已知信息可以通过模型加工产生出新的信 息,相关信息的积累可以从量变产生质变,形成新的 概念,促使认识深化 .,因此,模型的建立和完善不仅要注重对系统物质 形态和能量形态的认识、把握和描述,而且也依赖于 对系统相关信息不断的采集、积累和加工,这就是用

4、模型研究问题的现实活动 .,7,(三) 模型的分类,1、原样模型,原样模型是在工程开发末期建立的一种具象实 体,是具有实物形态的模型 .,它与目的工程在结构和过程方面基本相同 .,原样模型经过试验改进和完善后便是所要开发 的目的工程 .,新产品的样机、新著作的原稿 ,第一章 组合优化模型与计算复杂性,8,1 组合优化模型与算法,2、相似模型,相似模型是根据不同系统间的相似规律(包括几 何相似、逻辑相似和过程相似等)而建立的用于研究 的模型 .,3、图形模型,地球仪、船体放样 模型、飞机风洞实验模 拟模型等等,图形模型可以表达非常丰富的内容,主要有:, 图画 一种可以示形的图形;, 草图 一种可

5、以示意的图形;, 框图 一种可以表示系统的部分之间或部分 与整体之间联系的图形;,称为不严格图 (没有严格的规范),系统分析和设计人员常常借助于这些图形模型来 开发、构建一个新系统的想象力和创造力,逐步引申 出与之有关的问题和需要进一步探索的问题,使所要 开发的系统变得越来越清晰、越来越具体 .,9, 逻辑图 一种可以反映因素或对象间逻辑关系 的图形;,如:程序流程图、控 制关系图 etc., 工程图 一种可以反映物体确定的结构和顺序 关系的图形;,如:建筑工程图、铁路站场配置图 etc., 图论图 包括图论所定义的无向图 G(V,E) 、 有向图 G(V,A)、加权有(无)向图G(V,A(E

6、),w).,关系,称为严格图 (有严格确定的结构形式和规范),4、数学模型,数学模型是指运用数学符号和公式来表达、研究 对象系统的结构或过程的模型 .,数学模型是用数学的语言、方法去近似地刻画实际 , 是由数字、字母或其他数学符号组成的,描述现实对 象数量规律的数学公式、图形或算法 .,是对现实对象本质属性的抽象而又简洁的刻画, 它或能解释某些客观现象,或能预测未来的发展规 律,或能为控制某一现象的发展提供某种意义下的最 优策略或较好策略 .,Go back,第一章 组合优化模型与计算复杂性,10,二、 数学模型,Example 1,七桥问题,18世纪的德国有个哥尼斯堡城,在流贯全城的普 雷尔

7、河两岸和河中两个岛之间架设了七座桥,把河的 两岸和两岛连接起来,能否有这样一种走法,它通过 每座桥一次且仅一次 .,该问题由Euler在1736年解决,Solution :,1 组合优化模型与算法,11,A,B,C,D,显然,解决该问题时, 两岸和岛的大小、形状以及 桥的长短曲直都无关,重要 的是什么?,每块陆地间有几座桥,对问题进行数学抽象:,把两岸和两岛都看做顶点,将连接这些顶点的桥 当作边,于是得到一无向图 .,则七桥问题就成为无向图中是否存在通过每一边 一次且仅一次的路(即一笔画)问题 .,第一章 组合优化模型与计算复杂性,12,1 组合优化模型与算法,A,B,C,D,Euler 在他

8、的论文中证明:,一个图中存在一笔画的 充要条件是同时满足:,1、图是连通的;,2、与图中每一顶点(可能有两点例外)相连的边 (线度)必须是偶数条 .,这是关于图论 的第一篇论文,见图可知,与四个顶点相连的边都是奇数条,因 而不可能存在通过每条边一次且仅一次的画法,即一 笔画不存在 . 故七桥问题不可能有解 .,问题原型 七桥问题,数学模型 一笔画问题,无 解 (一次过七座桥不可能),无 解 (一笔画不可能),数学抽象,逻辑推理,翻译回去,有无解?,这是利用数学模型分析和解决问题的一个成功范例,13,(一) 数学模型的特点,1、高度的抽象性,数学方法不仅要抛开事物的次要属性,突出事物 的本质属性

9、,而且要舍弃事物的物质和能量方面的具 体内容,只考虑其数量关系和空间形式,同时还要把 这些数量关系和空间形式作进一步的抽象,加以形式 化和符号化,以便能够进行逻辑推理和数值运算 .,这种高度的抽象性,实质是对事物认识上的高度 概括和深化,对同类问题包含更多的经验和理解 .,第一章 组合优化模型与计算复杂性,14,1 组合优化模型与算法,2、高度的精确性,数学方法的高度精确性表现在三个方面:,一是表达各种因素、变量和它们之间的关系相当 明确、清楚;二是逻辑推演和运算规则十分严密;三 是结论非常确定 .,数学方法可以处理多变量、关系复杂的问题,可 在有意义的范围内获得令人满意的计算精度 .,特别适

10、合于揭示事物的量的规定性,成为定量研 究的有力工具 .,15,3、应用的普适性,数学方法的高度抽象和精确,使之比任何一种科 学方法的应用范围都更为广泛 .,只存在尚未运用数学方法的领域而不存在不能运 用数学方法的领域 .,许多相同形式的数学模型可用于不同的实际问 题,具有重要类比和借鉴意义 .数学方法的形式化和 公理化,使模型本身、计算过程和计算结果都便于交 流,数学模型易变动,便于修改和改变计算关系,分 析和求解问题速度快,求解成本低 .,数学模型缺乏直观性、形象性和实时感,第一章 组合优化模型与计算复杂性,16,1 组合优化模型与算法,(二) 数学模型分类,数学模型分类的方法很多,如:,1

11、、按所研究问题的性质分类, 静态模型与动态模型, 确定型模型与随机型模型, 连续模型与离散模型, 线性模型与非线性模型, 宏观模型与微观模型,17,2、按模型的解的特征分类,解析模型与数值模型,3、按模型所用的数学方法分类,初等模型、微分方程模型、差分方程模型、优 化模型等,4、按模型研究的实际范畴分类,人口模型、生态系统模型 、交通流模型、经济 模型、 基因模型等,5、按对实际问题了解的程度分类,白箱模型、灰箱模型、黑箱模型,第一章 组合优化模型与计算复杂性,18,1 组合优化模型与算法,(三) 数学建模的基本步骤,数学模型因问题不同而异,对同一问题,从不同 角度、不同要求出发,甚至问题的解

12、表示结构不同, 都可以建立不同的数学模型. 建立数学模型也没有固 定的方法、标准 . 不同的实际问题,建模模式千差万 别.,在此介绍通常的几个步骤:,数学建模问题直接来源各领域实际,往往含糊不 清(目的、条件、类型 etc.). 首先,要对该问题进 行全面的、深入细微的调查和研究. 明确所解决问题 的性质,着手收集数据 ;,1、明确问题,合理地、有目的地,注意精度,19,2、合理假设,现实问题错综复杂,涉及面非常之广. 一个数学 模型面面俱到、无所不包地反映一个现实是不可能 的,即使可能,也因其过于复杂而很难求解,也是没 有必要的 . 所以,要作合理的假设 .,1、简化问题 2、限定适用范围,

13、但也不能忽略实质相关的因素,作假设的依据通常是出于对问题内在规律的认识, 或来自对数据或现象的分析,也可以是二者的综合. 善于辨别问题的主次,抓住主要因素,通过合理假设, 使问题简化以便进行数学描述 .,假设是在模型的建立、求解和分析过程中完善 .,通常开始让问题尽可能简化,第一章 组合优化模型与计算复杂性,20,1 组合优化模型与算法,3、建立模型,建模时,要分清问题的类型恰当使用数学工具; 抓住问题的本质简化变量之间的关系 .,用什么样的方法建立数学模型,没有绝对的标 准;数学模型的形式可以是多种多样,数学公式、表 格、图形、算法 .,模型的优劣在于是否采用了恰当的方法,合理地 描述了实际

14、问题,而不在于是否用到了高深的数学工 具 .,数学建模是一个过程 .,21,4、模型求解,不同的模型要用到不同的数学工具求解 . 这就要 求从事实际工作者对相应的数学分支知识有一定的了 解 .,可借助计算机,特别是利用数学工具软件 .,5、模型分析,对模型求出的解进行数学上的分析,有助于对实 际问题的解决 .,如:, 结果的误差分析,误差是否在允许的范围内,分析误差来源:,建模假设的误差;,数据测量的误差;,近似求解方法的误差;,计算工具的舍入误差 ., 结果的统计分析,结果是否符合特定的统计规律, 模型对数据的灵敏度分析,模型的结果是否会因数据的微小改变而发生大的变化, 对假设的鲁棒性分析,

15、模型的结果是否对某一假设非常依赖, 不同模型间的对比分析,robustness,第一章 组合优化模型与计算复杂性,22,1 组合优化模型与算法,6、模型检验,将求解结果和分析结果翻译回到实际问题之中, 与实际现象、实际数据进行比较,检验是否与实际吻 合 . 如果吻合较好,则模型及其结果可以应用于实际 问题;如果吻合不好,则需要对模型进行修正 .,7、改进模型,吻合不好,问题常常出现在模型假设上 . 可能由 于假设了过于苛刻的条件,或者忽略了一些不该忽略 的因素. 所以, 要对实际问题中的主次因素再次分析, 对模型进行修改、补充、完善 . 需要多次反复才能达 到比较满意的程度 。,23,8、模型

16、应用,数学建模最终的目的是为了解决问题 . 一方面可 以解释以前的实践成果;另一方面可以为现在的实际 问题提供解决方案,甚至可以对一些不确定的现象或 规律作出预测 .,现实问题,简化、假设,建立模型,求解模型,检验分析模型,模型应用,观察、分析,收集数据,确定主要因素,及相互关系,Go back,第一章 组合优化模型与计算复杂性,24,三、 组合优化模型,Example 2,某商场根据客流量统计得出一周中每天所需要的 营业员数如表:,营业员配置问题,如果规定每个营业员每周连续工作 5 天,休息 2 天,求总人数最少的营业员排班方案 .,Solution :,设 xj 为从周 j 开始连续工作

17、5 天的营业员 人数,j = 1,7 (其中 x7 为周日开始连续工作 5 天的 营业员数),则,可行解集是有限集,1 组合优化模型与算法,25,Example 3 旅行商问题,(Traveling Salesman Problem),TSP :,有一位旅行售货员,欲到城市 v1,v2,,vn 进行商品销售,已知: 的距离为 wij.( , ).他从其中某个城市出发,需访问每一个 城市一次而回到出发的城市.问应如何计划他的旅行 路线,使他所走路线的总长度最短?,TSP可分为:对称(dij = dji) 和非对称(dij dji)距离两种,第一章 组合优化模型与计算复杂性,26,1 组合优化模型

18、与算法,Hamilton 回路:,不含平行边及自环,这是1856年,Hamilton 首先提出的所谓环球 航行问题而得名。它的存在性远比 Eular 回路的存 在性复杂得多。,最优 Hamilton 回路:,在赋权图中,权和最小的 Hamilton 回路 .,过简单图 G 的每一个顶点一次且仅一次的回路 .,27,最优旅行商问题与最优 Hamilton 回路一样吗?,如果不满足三角不等式,则可通 过求最短路方法,构造新图,使之满 足三角不等式 . 所以以下仅讨论最优 的 Hamilton 回路 .,2 5,2 3,Theorem 1 如果赋权图满足三角不等式 (欧氏距离),则它的最优旅行商回路

19、 与最优 Hamilton 回路相同 (Hamilton 回路存在时).,第一章 组合优化模型与计算复杂性,28,1 组合优化模型与算法,TSP 问题的数学模型(非对称的):,v6,v4,v5,v3,v2,v1,Note:条件(1),(2)表示每个城市经过一 次,但不能保证它可行.,要求局部不构成圈,条件(3)就是为 了约束这一点 .,29,共同特点:可行方案是有限的 组合优化问题,Definition 1 组合优化问题是一个极小化(或极大 化)的问题,它是由以下三部分组成:,(1)实例集合 ;,(2)对每个实例 I,有一个有穷的可行解集合 S(I);,(3)目标函数 f ,它对于每个实例 I

20、 和每个可行解 S(I),赋以一个实数 f (I, ). 则实例I的最优解为 这样一个可行解 * S(I) ,它使得对于所有S(I), 都有 (I, *) f (I, ) (f (I, *) f( I, )).,问题:一类实际问题的数学模型的总称,如TSP、 LP etc ; 实例:(一个问题中总包含了若干个参数)对问题 给定一组参数所得到的例子.,第一章 组合优化模型与计算复杂性,30,1 组合优化模型与算法,组合优化的数学模型:,Min f(x) s.t. g(x) 0 xD,其中x为决策变量,f(x)为目标函数,g(x)为约束函数,D为决策变量的定义域,F=x|x D, g(x) 0可行

21、域(有限集),很多组合优化问题都可以给出整数线性规划描 述,甚至在一些时候还不得不利用整数线性规划的技 巧来解 . 当然也可以用文字、网络等来叙述 .,线性规划是连续模型,但由于它的解的特殊结 构,也可以作为组合优化问题考虑 .,31,四、 关于算法,有两种思想,像珠宝商放在天鹅绒上的宝石一样 熠熠生辉,一个是微积分,另一个就是算法,微积分 以及在微积分基础上建立起来的数学分析体系造就了 现代科学,而算法则造就了现代世界 .,伯林斯基(D. Berlinski ),算法思想:指通过把数学问题的求解分解为简单的、 刻板的、重复的机械动作,达到以数目较多的、简单 的量的工作去实现较复杂的质的目的

22、.,算法思想是数学发展的一个重要源泉,20 世纪中叶计算机的问世是人类智力最伟大的成 就之一 . 算法是计算机的灵魂,随着计算机融入现代 科学实践和社会生活的各个方面,算法思想的意义与 作用日益为数学家所认识 . 是数学发展的机械化之路.,第一章 组合优化模型与计算复杂性,32,一个科学的计算过程,指一步步求解问题的通 用程序,它是解决问题的程序步骤的一个清晰 描述 .,算法是相对问题而言的,不单单是针对问题的 某个实例 .,算法:,Note:,假设你想把某个解决问题的方法传授给一台没有 任何智能的机器,以便由它来帮你完成解决这类问题, 机器会要求你怎么做?,( 算法的能行性 ),你当然不能只

23、告诉它一个大概或者模棱两可、含 糊其辞,而应该明确无误地告诉它所有解决问题的细 节,而且这些细节应详细到机器可以执行的程度(机 械性);你当然也不可能无休止地进行传授,而只能 用到一些有限的符号,告诉它一些有限的规则(有限 性) .,1 组合优化模型与算法,33,如果算法从前一步到后一步的运行是由 当时状态唯一确定的. 如:单纯形 法,表上作业法 .,遗传算法是随机性算法 .,确定性算法:,数学上常常将算法分为数值算法和非数值算法 . 一般来说,数值算法用于科学计算,主要进行代数运 算;而非数值算法则用于数据处理,主要进行比较和 逻辑运算(也含代数运算) .,第一章 组合优化模型与计算复杂性,

24、34,对于一个极小化(极大化)优化问题, 如果给定任意一个实例I,算法A总能找到一个可 行解* S(I)。 使得 f(I, *) f(I, )(f(I, *) f(I, )),启发式算法(近似算法,在4 中介绍),组合优化总存在最优算法,仅讨论可计算问题,最优算法:,是否任何数学问题都有算法求解吗?,答案是否定的 (不可计算),停机问题:给定一个带输入的计算机程序,它会停机 吗?,英国数学家图灵 (Turing) 证明了不存在一 个算法,它能对该问题的一切实例给出正确答案 .,D.Hilbert 23个问题之10 Diophantus 方程的 可解性 . (求出一个整系数方程的整数根),算法的

25、正确性不蕴含算法的有效性,1 组合优化模型与算法,35,五、 算法设计的基本方法,本节介绍算法设计的一些基本方法 . 在进行复杂 的算法设计时,常常利用这些基本方法(思想),有 必要熟练掌握 .,(一) 穷举法,穷举法:穷举所有可能的解并进行比较和选优的方法 .,优点:获得最优解是确切无疑的(算法的正确性),对于运算规模较小的、运算时间允许的优化问 题,如无适合该问题的优化算法时,可采用穷举法 .,缺点:需要大量的机时和内存空间(算法的有效性),引言中对TSP问题已有说 明,复杂性为O(n-1)!),采用穷举法的关键在于: 1、能否在理论上确定所求解问题的全部可行解集; 2、对所求解问题的全部

26、可行解集进行比选是否可能. (计算时间复杂性),第一章 组合优化模型与计算复杂性,36,(二) 登山法 (也称贪心法),登山法:从对问题的某一初始推测或初始解出发,逐 步逼近给定的目标,并尽可能快地逼近更好的解;当 进行到某一步,不能再继续逼近时,算法便终止 .,得到的是近似解 或局部最优解,方法简单、 适用面广,登山法是一个多步决策过程,每一步的选择都是 为了能构成问题的一个可行解,同时使目标函数的值 增加最大或最小 .,选择过程是以某些最优化量度为依据 .,最优化量度可以是目标函数,也可以是别的量 度,它的选择是登山法的关键 .,1 组合优化模型与算法,37,TSP 的距离矩阵,Examp

27、le 2 用登山法求 TSP .,v5,v4,v3,v2,v1,4,1,4,3,2,3,5,7,2,1,Solution :,优化准则:最短距离.,从 v1 出发,有4 个选择, 按优化准则:选 v2 ;,得: v1 v2 v5 v3 v4 v1,总距离为:14,复杂性为 O(n2) .,记住:没有免费的午餐!,从选择 p 个不同的 城市出发,分别用登山法得到 p 个结果 . 比较得距离和最短 的路线 .,复杂性为 O(pn2) .,但求得的解更接近于最优解,如从 v2 出发,得:,v2 v1 v3 v4 v5 v2,总距离为:10,这是最优解(运气好).,也可以从一个可行解出 发,交换相邻两

28、个城市位置, 优化准则:总距离下降.,v1 v2 v5 v3 v4 v1,第一章 组合优化模型与计算复杂性,38,(三) 分枝与定界法,分枝与定界法的基本思想是对有约束条件的最优化问 题的所有可行解(其数目为有限集)空间适当地进行 搜索 .,具体执行时,把可行解空间不断分割为越来越小 的子集(称为分枝),并确定每个分枝内的解值的下 界或上界(称为定界). 在每次分枝后,对凡是界超 出已知可行解值的子集被剪去,从而不断缩小搜索范 围.,这个过程一直进行到找出最优解为止,该可行解 的值不大于或不小于任何子集的界 .,优点:1、适用面广 2、可检查较少的解(运 气好)3、可获得最优解,缺点:本质是穷

29、 举,复杂性大于穷举法,给出一个重要思想: 设门槛 (称为隐枚举),1 组合优化模型与算法,39,设,如果 则称问题(2)是问题(1)的松弛问题.,Note :,1、松弛问题未必比原问题难解;,如:整数规划与线性规划;TSP 与指派问题 etc.,如: A:寻找全国18 岁百米最快的运动员.,B:寻找全国所有百米最快的运动员.,显然,B 问题是 A 问题的松弛问题,且B 问题更易解 .,2、如果松弛问题易解,则先解松弛问题是有益的 .,1)设 x0 是松弛问题的最优解,且 则原问题已解,2)即使 给出了原问题最优值的界 f(x0) .,x0,B,A,B,A,x0,第一章 组合优化模型与计算复杂

30、性,40,分枝与定界法为什么能少检查一些解?,B,10s,B1,B2,10.2s,*,10s,B3,B4,10.3s,*,几点注意:, 确定问题(子问题)的最优值的界,通常是通过求解松弛问题, 用松弛问题的解作为界,也可 以用启发式算法得到 .,Note : 松弛问题选择的原则,1、松弛问题要与原问题的 最优值尽量接近;,2、松弛问题要尽量容易解 .,这两个原则不易统一,所以可选择不同的松弛问题,1 组合优化模型与算法,41, 划分方法的选择,原则是希望分出来的子问题容易被查清,可加快计算., 选哪个活问题先检查,1、先检查最大上界(极大化问题)的活问题,优点:检查子问题较其他规则为少;,缺点

31、:计算机储存量较大 .,2、先检查最新产生的最大上界的活问题,优点:计算机储存量较少 ;,缺点:需要更多的分支运算 .,选择的不同,提供了发挥的余地,分枝与定界法的重要在于它提出了一类新的思 路(隐枚举法),使得许多原来不好解决的问题有 了解决的可能性. (具有普适性),第一章 组合优化模型与计算复杂性,42,(四) 分治法,分治法就是把原问题分成若干个规模较小的子问题, 这些子问题互相独立且与原问题形式相同,对每个子 问题分别求解,然后将各子问题的解合并得到原问题 的解 .,如果子问题仍较复杂,可递归使用上述方法 .,Note:问题的类别在细分过程中不允许改变,改变的 只是问题的尺度 .,分

32、治法的基本步骤:,分治法在每一层递归上都有三个步骤:,分解:将原问题分解为若干个规模较小,相互独立, 与原问题形式相同的子问题;,解决:若子问题规模较小而容易被解决则直接解,否 则递归地解各个子问题;,合并:将各个子问题的解合并为原问题的解.,1 组合优化模型与算法,43,整序问题的快速算法是典型的分治策略运用.,8 1 9 6 7 5 3 2,8,1,9,6,7,5,3,2,合并,合并,合并,合并,1 8,6 9,5 7,2 3,1 6 8 9,2 3 5 7,1 2 3 5 6 7 8 9,合并,合并,合并,第一章 组合优化模型与计算复杂性,44,分治法所能解决的问题一般具有以下几个特征:

33、,1、该问题的规模缩小到一定的程度就可以容易地解决;,2、该问题可以分解为若干个规模较小的相同问题;,3、利用该问题分解出的子问题的解可以合并为该问 题的解;,4、该问题所分解出的各个子问题是相互独立的,即 子问题之间不包含公共的子子问题 .,如何使用,因问题而异.,分治法的应用很广,如铁路运输技术计划中的 空车调度计划等.,1 组合优化模型与算法,45,(五) 递归方法,递归就是自己调用自己的过程 . 这里的“自己”可以 是函数、过程、语言结构和解题方法等 .,递归方法思路: 第一步骤(递归步骤):将规模较大的原问题分 解为一个或多个规模更小、但具有类似于原问题特性 的子问题。即较大的问题递

34、归地用较小的子问题来描 述,解原问题的方法同样可用来解这些子问题. 第二步骤:确定一个或多个无须分解、可直接求 解的最小子问题(称为递归的终止条件).,第一章 组合优化模型与计算复杂性,46,Example 4,斐波那契数定义为下列无穷整数的序列:,1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,,第 n 个元素是紧接在它之前的两个元素之和,用 FIB(n) 表示第 n 个斐波那契数,则可用如下递归关系 式定义:,FIB(n) = FIB(n-1) + FIB(n-2) FIB(1) = 1 FIB(2) = 1,为了计算 FIB(n) ,要递归调用 FIB(n-1)

35、 、FIB(n-2) , 而为了计算 FIB(n-1) ,除了利用已调用的 FIB(n-2) 外,还要调用FIB(n-3),因此,为了计算FIB(n) 需作 n-1 次递归调用 .,递归调用次数 递归深度,分治与递归像一对孪生兄弟,经常同时应 用在算法设计之中,并由此产生许多高效算法.,1 组合优化模型与算法,47,(六) 动态规划法,Example 5,100多年前,有位美国推销员乘驿站马车 向西旅行 ,从州A (state ,状态) 到州E 如图,需要4个 驿程(stage,阶段)。问题为求从 State A到 State E 走哪条途径使他最安全?,原问题为求从 A 到 E 走哪条途径使

36、保险单 (policy,策略)的总费用达到最小?,6,4,第一章 组合优化模型与计算复杂性,48,6,4,Note :,作出各相继驿程上最佳决策。不一定产生总 的最佳决策(即Greedy 算法未必取得最佳策略).,如: A 2 B1 4 C2 3 D2 4 E,费用和为13,而 A 3 B3 1 C2,费用更低廉,穷举法:,即列出所有的可行路径,逐个路径进行比 较,并从中选出最佳路径.,共有路径 18 条 .,1 组合优化模型与算法,49,如果 s1s2sk sk+1 sn 是 s1 sn 的最短路, 则该路上任一点sksk+1sn 是sk sn 的最短路 .,结论:,设 Sk 表示在第k个驿

37、程上出发州的集合(状态集 合), S1 = A , S2 = B1,B2,B3 , S3 = C1, C2,C3 ,S4 = D1,D2 ,,uk(sk) = sk+1 表示在第k个驿程从 sk 出发所作的决 策 , 如:u2(B1) = C1 或 C2 或 C3 ( C1,C2,C3 表示第k 驿程从B1出发的允许决策集合) .,第一章 组合优化模型与计算复杂性,50,6,4,fk(sk) 表示从第 k 个驿程的出发州 sk E 的最短 路的费用和,f1(s1) 即为所求.,若已知 f2(B1)、f2(B2)、f2(B3),则,当k = 4时,,3,4,1 组合优化模型与算法,51,6,4,

38、3,4,当k = 3时,,5,7,6,第一章 组合优化模型与计算复杂性,52,6,4,3,4,5,7,6,当 k = 2 时,,8,8,11,1 组合优化模型与算法,53,6,4,3,4,5,7,6,8,8,11,当 k = 1 时,,11,u2( B3 ) = C2 u3( C2 ) = D2 u4( D2 ) = E 最安全道路为AB3C2D2E,最小费用为11 .,Note 优点: 减少计算量,(共 18 次加法,11次比较); 丰富了计算结果 .,第一章 组合优化模型与计算复杂性,54,动态规划是解决多阶段决策过程最优化的数量化方法.,动态规划的成功之处在于,它可以把一个 n 维决 策

39、问题变换为 n 个一维最优化问题 ;,另外,动态规划能够得到全局最优解 .,以空间换时间;,动态规划是求解某类问题的一种方法,是一种算 法设计的策略,而不是一种特殊的算法(不像 LP 有 统一的数学模型和算法).,必须对具体问题进行具体 分析:适用动态规划的问题必须满足最优化原理和无 后效性;以丰富的想象力和灵活的技巧建立动态规划 模型及求解 .,动态规划法的关键就在于,对于重复出现的子问 题,只在第一次遇到时加以求解,并把答案保存起 来,让以后再遇到时直接引用,不必重新求解.,最优化原理(最优子结构性质):一个最优化策略具 有这样的性质,不论过去状态和决策如何,对前面的 决策所形成的状态而言

40、,余下的诸决策必须构成最优 策略. 简言之, 一个最优化策略的子策略总是最优的.,无后效性(马尔科夫性)是指:如果给定某一阶段的 状态,则在这一阶段以后过程的发展,不受这阶段以 前各阶段状态的影响,而只与当前的状态有关. 换句 话说,过程的过去历史只能通过当前的状态去影响未 来的发展 . 每个状态都是过去历史的一个完整总结.,用到了递归,与贪 心法、分治法、分 枝与定界区别?,1 组合优化模型与算法,55,动态规划问题具有以下基本特征: 1、问题具有多阶段决策的特征; 2、每一阶段都有相应的“状态”与之对应; 3、每一阶段都面临一个决策; 4、每一阶段的最优解问题可以递归地归结为下一阶 段各个

41、可能状态的最优解问题,各子问题与原问 题具有完全相同的结构 .,动态规划的基本概念:,1、阶段(stage) 是对整个过程的自然划分. 用 k = 1,2, n 表示阶段序号,把 k 称为阶段变量 .,第一章 组合优化模型与计算复杂性,56,2、状态 (state) 状态表示每个阶段开始时所面临的自然 状况或客观条件. 既是该阶段某支路的始点,又是前 一阶段某支路的终点.,描述状态的变量称为状态变量,记作sk,它表示第 k 阶段所处的状态. 状态变量取值的全体,称为允许 状态集合,记作Sk . 显然有 sk Sk,如前例 S1= A ,S2= B1,B2,B3 ,etc. 而 s2 可取B1,

42、B2,B3 .,3、决策 (decision) 当某阶段的状态确定后,可以作 出各种不同的选择,从而确定下一阶段的状态,这种 选择称为决策.,1 组合优化模型与算法,57,描述决策的变量称为决策变量,用 uk(sk) 表示第 k 阶段当状态处于 sk 时的决策变量.,决策变量允许取值的范围称为允许决策集合,常 用Dk(sk) 表示第 k 阶段从状态 sk 出发的允许决策集 合, 显然有 uk(sk) Dk(sk) .,在前例中,D1(A) = B1,B2,B3 , D2(B1) = C1,C2,C3 etc .,4、策略 (policy) 是一个按顺序排列的决策组成的集合,由过程的第 k 阶段

43、开始到终止状态为止的过程, 称 为问题的后部子过程 .,第一章 组合优化模型与计算复杂性,58,由每阶段的决策按顺序排列组成的可行决策函数 序列 uk(sk) ,uk+1(sk+1) , ,un(sn) ,称为 k 子过程 策略,简称子策略.,记为 pk , n(sk)= uk(sk) , uk+1(sk+1) , , un(sn) .,当 k = 1 时,此决策函数序列称为全过程的一个 策略,简称策略,记 p1,n(s1) .,可供选择的策略有一定的范围,称为允许策略集 合,用 P1, n(s1) 表示 . 从 P1, n(s1) 中找出达到最优效果 的策略称为最优策略,记 p1,n*= p

44、1,n*(s1)= u1*(s1) ,u2*(s2),,un*(sn) .,1 组合优化模型与算法,59,5、状态转移方程 (equation of state transition) 反映 前后阶段状态之间的关系的方程 记为:sk+1=Tk(sk,uk) .,体现了无后效性,正是能将多阶段化为单阶段决策的理论依据,(前例: sk+1 = uk(sk)),6、指标函数和最优值函数 (objective function and optimal value function) 阶段的指标函数是对应某一阶 段状态和从该状态出发的一个决策的某种效益度量, 用vk(sk,uk) 表示 .,过程指标函数

45、(又称目标函数) 是用来衡量所实现过程优劣的一种数量指标,它是定 义在全过程和所有后部子过程上的数量函数,记作 Vk,n =Vk,n(sk , uk , sk+1 , uk+1 , , sn , un) ( k = 1,2,,n ),当 k = 1 时,就是全过程的指标函数 . 指标函数也是初始状态和策略的函数 即 Vk,n = Vk,n(sk,pk,n(sk).,第一章 组合优化模型与计算复杂性,60,Note 指标函数应具有可分离性,即Vk,n可表示为:,Vk,n(sk , uk , sk+1 , uk+1 , , sn , un) =,且 对于Vk+1 , n 严格单调.,常见的指标函数

46、的形式有: 全过程和它的任一后部子过程的指标函数等于各 阶段指标函数之和,即:,Vk,n(sk , uk , sk+1 , uk+1 , , sn , un) =,或,1 组合优化模型与算法,61, 全过程和它的任一后部子过程的指标函数等于各阶 段指标函数之积,即:,指标函数的最优值,称为最优值函数,记 fk(sk),(opt 即 optimization, 具体问题可取 min,max),或,f1(s1) 即为全过程的最优策略.,第一章 组合优化模型与计算复杂性,62,Note 当初始状态给定时,用逆序的方式比较好,当 终止状态给定时,用顺序的方式比较好,通常初始 状态给定的情况居多,所以用

47、逆序的方式比较多 .,对第一类指标函数其基本方程为:,1 组合优化模型与算法,63,Example 6,用动态规划法解 TSP,距离矩阵如右:,Solution :,不妨设从 v1 出发回 到 v1 .,用 f( vi; V) 表示从 vi 出 发,经顶点集合 V 中的点各一 次,回到 v1 点的最短路 .,则动态规划函数方程为:,用 f(v1; v2,v3,v4) 表示从 v1 出发经 v2,v3,v4 各一次 最后返回 v1 的最短路长度 .,第一章 组合优化模型与计算复杂性,TSP 的距离矩阵,64,由动态规划函数方程有:,为了计算 ,,必须先计算,而,1 组合优化模型与算法,65,计算

48、顺序为:,第一章 组合优化模型与计算复杂性,TSP 的距离矩阵,66,TSP 的距离矩阵,最后计算:,通过下标,不难得最优回路为: v1v3v4v2v1,用动态规划算法求 TSP , 其时间复杂性为 O(n 2n) .,1 组合优化模型与算法,67,(七) 探索法,探索法是一种对给定的问题能通过某种途径(容易得 到、比求最优解的算法速度快)进行探索而找到一个 较好的解(不一定是最优解,有时探索甚至失败)的 算法 .,设计探索法的一种常用方法是列出精确解的所有 要求,并把这些要求分成两类: 1、必须满足的要求;2、允许折衷的要求 . 探索算法的设计目标就是保证第一类要求得到满 足,对第二类要求要

49、尽量满足,但并不一定满足 .,第一章 组合优化模型与计算复杂性,启发式算法,68,(八) 倒推法,倒推法是从某个目标或某个解出发,倒推到这个问题 的初始陈述 . 如果这个过程是可以逆转的,则从问题 的陈述可以推得问题的解 .,倒推法不是从某个解推导出什么新的结论,而是 猜测能使结论成立的前提条件,然后再从这些前提条 件出发,找出能导致它们成立的新的前提条件,如此 继续寻找 .,有可能在进行到某一步时新的前提条件会 与已知条件(即问题的初始陈述)一致 . 这时,由于 已知条件成立,所以在已知条件和解之间所有的前提 条件都成立,从而解必定成立 .,适用于倒推法的问题应满足以下两个条件: 1、问题必

50、须有唯一解; 2、在问题中出现的函数是单值的,或者说对每一条 输出信息都可以找到唯一的一条输入信息(又称 1 对 1 运算).,1 组合优化模型与算法,69,Example 7,水罐问题,有两个水罐,它们的容积分别为 7L 和 3L,除此 之外没有别的容器 . 水的供应是充分的 . 怎样用这两 个水罐量出 5L 水?,Solution :,这个问题的解是在大罐里装有 5L 水 .,从解往前倒推,有五种情况可能导致解的产生:, 大罐里有 2L 水,再从小罐里倒入 3L 水;, 大罐里装满水,小罐里有 1L 水,从大罐里倒出2L 水到小罐里,剩下 5L;, 大罐里有 3L 水,再从小罐里倒入 2L

51、 ;, 大罐里有 4L 水,再从小罐里倒入 1L ;, 大罐里有 6L 水,小罐里有 2L ,从大罐里往 小罐里倒入 1L 水,剩下 5L 水 .,在这五种情况中,第一和第二两种情况的可能性 大,下面从第二种情况出发再往前推 .,先把大罐装满,再用小罐从大罐里量出两次共 6L 水,使之剩下 1L 水,把它倒入小罐,然后把大罐 再装满 . 这就得到了上述第二种情况 . 这种情况发生 后,从大罐往小罐到2L 水,剩下 5L 水,问题得到了 解决 .,第一章 组合优化模型与计算复杂性,70,(九) 回溯法,回溯法是一种满足一定约束条件的穷举式搜索法,它 的搜索方式与对树的深度优先搜索方式相似,但由于

52、 规定了问题的解必须满足一些约束条件,因此需要搜 索的空间大大减少 .,如果问题的解能表示为一个 n 元组 (x1, x2, , xn) 则可采用回溯法求解 .,回溯法求解的约束条件一般分为两类:,1、显约束,每个 xi 的取值范围;,2、隐约束,满足判定函数的关于解空间上的多元式 .,1 组合优化模型与算法,71,Example 8,设有一 44 的棋盘(即每行每列都有 4 个正方格的棋盘),用 4 个棋子布到格子上,要求满 足一下两个条件:,1、任意两个棋子不在同一行和同一列上;,2、任意两个棋子不在一对角线上 .,试问有多少种的布局 ?,Solution :,如果采用穷举式搜索,先不考虑

53、 1、2 两 个条件,则布到每一行的棋子有 4 个选择,故共有 44 = 256种方案 .,设 xi 表示放在第 i 行上的棋子的列数,,这是显约束,显然没有必要!,第一章 组合优化模型与计算复杂性,72,隐约束有:,不同列,不在一对角线上,搜索过程如下:,这种一旦发现前面已是“此路不通”,立即回头, 改换路径,而不是一条道走到底的策略,就是回溯法 的基本思想 .,向前走,碰壁回头,1 组合优化模型与算法,73,(十) 模拟法,在实际科研和生产中有许多大系统,要构造大系 统的模型、对它们分析和求解都是相当困难的 . 变量 之间的关系难以确定,随机变量的分布不得而知,甚 至影响因素就找不全 .

54、利用计算机对大系统进行模拟是研究大系统的一 种好方法 .,模拟法有许多优点: 1、它能按预定要求去研究系统的各个方面,借助计算 机的高速运算和逻辑判断能力,可以同时顾及系统各 个方面的结构,容易展现系统动态变化的具体细节 ;,第一章 组合优化模型与计算复杂性,直接解决问题的方法,是一种建模方法.,74,2、模拟的方法比将系统置于实际环境直接进行试验 的方法要节省很多时间和经费; 3、模拟可用不同的时间比例尺进行, 可放慢时间,在 微观上认真考察系统的性态;也可加快时间,在宏观 和大范围上观察系统的行为;还可以使时间暂停、返 回和重置,以便反复、详尽地研究系统在任意时段的 各种反常的或重要的性态

55、及行为,这些都是在实际系 统中很难或根本不可能实现的 .,模拟是一项实验技术,其实验结果取决于所采用 的模型和数据 .,其他需要应用模拟的情况: 1、有危险性或代价过高的事情; 2、一旦实施,无法复原或产生严重后果的事情; 3、某种理论研究的结果需要验证 . etc .,以上介绍了十种基本的算法设计方法,在实际应 用中,常常是几种方法配合使用,以提高算法的效率 .,Go back,1 组合优化模型与算法,75,在广泛的意义下,执行算法的效率是用执行算法 所用的全部计算资源的多少来衡量(时间、空间),但通 常用时间作为衡量标准,这就是计算(时间)复杂性问题.,一、 如何计算时间,1 与实例的输入

56、规模有关,是输入规模 的函数(输入规模指的是:一个问题的实例所有参数 的二进制表示的长度的总和。可简化为决策变量的个 数n,或者顶点的个数m .)f(n) , g(m) etc.,用初等运算算术运算、比较、转移等指令的次 数,来表示一个算法在假设的计算机上执行时所需的 时间。,相关因素:,第一章 组合优化模型与计算复杂性,2 计算复杂性问题,76,2 与实例的参数有关 , 如LP 问题: max z=cx s.t. Axb x0, c 0 , b 0,算法的时间复杂性是关于实例输入长度 的函数,用来表示算法的时间需求. 对于每一个可能 的输入长度,它是该算法解此输入长度的最坏可能的 实例所需的

57、时间(基本运算步骤).,相关因素:,Definition 1,2 计算复杂性问题,77,研究计算复杂性问题主要是针对n很大的情形,1 9n2 与 2n2 O(n2),2 f(n) = 12n4 - 8n3 + 5n2 + 2n - 80,f(n) = O(n4),当n无限增大时,,Ln n , n( 0) , an (a 1),趋向于无穷大的速度如何?,Note:,问:,第一章 组合优化模型与计算复杂性,78,复杂性分析的一个研究方向:对算法进行评价,给定n个整数x1,x2,xn, 要求将他们从小到大重新排列,取出x1,x2,xn中的最小者(需比较 n-1次)令其为b1(需n次赋值),从x1,

58、x2,xn中去 掉b1,在余下的n-1个数中选出最小者,令其为b2, 直到得到b1,b2,bn,易知其算法共做了n(n-1)/2次比 较,至多n(n+1)/2次赋值,计算复杂性为,O(n2).,Example 9 整序问题:,比较交换法:,二、如何评价算法的好坏(从计算复杂性角度),2 计算复杂性问题,79,先 将两个单调不减的数列u1,u2um与v1,v2vm 合并为一个单调不减的数列w1,w2w2m方法为u1与v1 比较,若u1 v1,w1 :=v1 . 再对u1与v2进行比较, 依次对 w2,w3w2m赋值,计算量为O(m).,快速算法:,将 x1,x2,xn从小到大重新排列(设:n=2p+1 如果n 不是2的幂次可补充 若干个很大的数字使之成 为2的幂次).,确定一个wj 需要一次比较一次赋值,共需要(2m-1)次比较,2m次赋值 .,第一章 组合优化模型与计算复杂性,80,将2p+1个数分成2p个单调不减的2元组,计算量为O(2p),O(2p)= 2p-1 O(2),计算量为O(2p),综上,算法总工作量为: (p+1) *O(2p)=O(n logn),8 1 9 6 7 5 3 2,(8 1)(9 6)(7 5)(3 2),1 8 6 9 5 7 2 3,(1 8 6 9) (5 7 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论