资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,典型问题,组合优化问题,(Combinatorial,Optimization,Problems),什么是组合优化,定义:,min,f,(,x,),s,.,t,.,x,S,S,X,S,X,:拥有有限个或可数无限个解的离散集合,假设是一个求极小的问题,目标函数为,f(x),问题的解,x,属于,S,,而,S,包含于,X,,,X,是,解空间,,,S,是,可行解空间,(可行区域),所谓组合优化,是指在,离散的、有限的数学结构,上,,寻找一个,(,或一组,),满足给定约束条件并使其目标函,数值达到最小的解。,组合优化问题的特点,min,f,(,x,),s,.,t,.,x,S,S,X,S,X,:拥有有限个或可数无限 个解的离散集合,如果,S,是有限集合的话,从理论上来讲,,只要遍历所,有的组合,就能找到最优解,。,然而,随着问题规模的增大,,S,中解的个数会迅速增大,,实,际上要想遍历所有的解,几乎是不可能的,。,一般来说,组合优化问题通常,带有大量的局部极值点,,,往,往是不可微的、不连续的、多维的、有约束条件的、高度,非线性的,NP,完全,(,难,),问题,组合最优化,无法利用导数信息,精确地求解组合优化问题的全局最优解的,“有效”算法一,般是不存在的,。,组合优化的研究,怎么才能把一些社会现象、活动等捕捉归纳,为组合优化问题?,怎么才能够在尽可能短的时间内求解组合优,化问题?,各种组合优化问题拥有什么性质?,为了构造快速解法,什么样的性质是有用的?,求解方法分类,从求解方法的大的分类上,可以分为:,精确的求解方法,可以得到问题的最优解,对小规模问题适用,当问,题的规模较大时,一般无法在有限的时间内获得问,题的最优解,所以,对于组合优化问题,通常采用的是近似求解,方法。,近似的求解方法,可以进一步划分为:,以,确保解的精度,为目标的方法,以,尽可能获得更好解,为目标的方法,包括:,启发式,(Heuristics),亚启发式,(Meta-Heuristics),近似求解方法,以确保解的精度为目标的方法,能保证一定的精度,且成本较低,例如:,程序所获得的目标函数值和最优解的目标函数值相,比,达到,90%,或,99%,以上,而且获得这样的解的成,本不超过获得最优解的成本的,10%,或,20%,,这样的,算法是可接受的。,当然,从数学上准确地保证并不是一件简单的,事情,这类近似方法的研究,会产生很多有趣的数学,特征,吸引了很多从事理论研究的学者,从事,这方面的工作。,近似求解方法,亚启发式,(Meta-Heuristics),从算法的角度来讲,是指,不依赖于特定问题,的启发,式算法。,其算法的,基本框架被设计成不论对什么样的问题都,具有通用性,。,一般情况下,亚启发式算法要比特定问题专用的启,发式算法的解的精度要差。,所以,针对特定的问题,要精心设计特定的算法。,也有人把以邻域搜索为基础的组合优化方法统称为,亚启发式,贪婪算法(,greedy,method,),采用逐步构造最优解的方法。在每个阶段,,都作出一个看上去最优的决策(在一定的标,准下)。决策一旦作出,就不可再更改。,作出贪婪决策的依据称为,贪婪准则,(,greedy,criterion,)。,一种近似求解方法,货箱装船、机器调度、最短路径、背包问题,等方面都有应用,贪婪算法,例,最短路径,:,给出一个有向网络,要求找一条从初始点,s,到达目的,点,d,的最短路径。,贪婪算法分步构造这条路径,每一步加入一个顶点。,假设当前路径已到达点,q,,且顶点,q,并不是目的点,d,。,加入下一个顶点所采用的,贪婪准则,为:,选择离,q,最近且目前不在路径中的顶点。,q,d,S,2,32,4,3,这种贪婪算法并不一定能获得最短路径。,人工智能的方法,神经网络,遗传算法,由于要进行高度复杂的计算,所以计算效果,比较好,当然也需要花费更长的计算时间。,小结,同样的组合优化问题,采用不同的近似求解方,法,所得到的解、以及解的精度是不一样的。,同样一个算法,用于不同的问题,其性能与效,率也不尽相同。,某些算法,只要稍微做些改变,就有可能导致,解的精度或搜索效率的大幅度提高。,因此,对于什么样的问题,应该采用什么样的,方法,怎样使用这种方法才更有效果,在这方,面人们已经进行了很多的研究。,典型问题,旅行商问题,(Traveling,Salesman,Problem),旅行商问题,TSP的历史很久,最早的描述是,1759,年欧拉研究的骑士周游问题,即对于国际象棋棋,盘中的,64,个方格,走访,64,个方格一次且仅一次,并且最终返回到,起始点。,一般性描述:,有一个推销员,要到,n,个城市推销商品,他要找出一个包含所有,n,个城市的具有最短路程的环路。,同样的问题,在中国还有另一个描述方法:,中国邮递员问题(,Chinese,Postman,Problem,CPP,):一个邮递员从,邮局出发,到所辖街道投递邮件,最后返回邮局,如果他必须走遍,每条街道至少一次,应如何选择投递路线,使所走的路程最短。,在过去的几十年中,在求旅行商问题的最优解方面取得了极大,的进展。,48,个城市的问题、,120,、,318,、,532,、,666,、,2392,、,24978,个城市的问题,尽管有这些成就,但旅行商问题还远未解决。问题的许多方面,还要研究,很多问题还在期待满意的回答。,特点,NP,完全问题,它的解是多维的、多局部极值的,很难用数学公式描述,TSP,问题,吸引了许多不同领域的研究者,包括,数学、,运筹学、,物理、,生物、,人工智能等领域。,TSP,展示了组合优化的所有方面,,它已经成为并将,继续成为测试新算法的标准问题,如:,模拟退火、,禁忌搜索、,神经网络以及进化算法等都用,TSP,来测试。,应用,旅行路线的确定,配送路线问题(,Route,of,Distribution,),TSP,问题在,物流,中的描述是对应一个物流配送公司,(,快递员),欲将,n,个客户的订货(快件)沿最短路线全部送到,如何确定最短路线,例如:连锁店的货物配送路线确定问题等,例如:金融押运车辆的调度问题(机构网点相当于城市,这类问题,属于多旅行商问题。),“一笔画”问题(,Drawing,by,one,line,),平面上有,n,个点,用最短的线将全部的点连起来。称为“一笔画”,问题。,类似的问题:机械加工当中,,要在一个零件(或者一个电路板),上加工很多孔,如何安排刀具的,走刀路径,能使走刀距离最短,,(孔相当于城市、孔之间的距离,相当于城市间的距离)。,s,应用,机器人焊接路径规划问题,例如汽车制造的车身焊接,焊点多达,4-5,千个,一条合理的焊接路径,可以减少机器人工位的生产时间,缩短整体工时,提高生产效率。,这里焊点相当于城市、焊点间的距离相当于城市间的距离。,再如一个印刷线路板需要安装大量的元器件,不同的安装点可以看,做是不同的城市,问题是:如何规划机器人的路径,以缩短运动时间,提高工作效率。,多品种装配顺序确定问题,装配企业中,对许多品种的产品进行装配时,一个产品装配完以后,要卸下夹具并换上装配另一个产品的夹具,更换两个不同的夹具所,需的时间是不一样的。问题是如何安排多品种的装配顺序,能使更,换夹具的时间最短。这里的品种相当于城市、更换时间相当于距离,车间配送路径优化问题,工厂当中要将一匹零件分配到很多个车间,如何选择一条路径使得,每个车间走一遍后回到起点,且所走的路径最短,构成,TSP,问题。,一般的求解方法,精确算法,TSP,问题最简单的求解方法是枚举法,动态规划法,分支定界法,回溯求解算法,近似算法,最近邻点法(,Nearest,Neighbor,),最近插入法(,Nearest,Insertion,),2OPTk-OPT,节约里程法(,Saving,Algorithm,),扫描算法(,Sweep,Algorithm,),一般的求解方法,最近邻点法(,Nearest,Neighbor,),首先从零点开始,作为整个回路的起点,,然后找到离刚刚加入到回路的上一节点最近的一个,节点,并将其加入到回路中。,重复上一步,直到所有的节点都加入到回路中,,最后,将最后一个加入的节点和起点连接起来,构,成了一个,TSP,问题的解。,s,一般的求解方法,最近插入法(,Nearest,Insertion,),首先从一个节点出发,找到一个最近的节点,形成一个往返式,子回路;,在剩下的节点中,寻找一个离子回路中某一节点最近的节点,,再在子回路中找到一个弧,,使弧的两端节点到刚寻找到的最近,节点的距离之和减去弧长的值最小,,实际上就是把新找到的节,点加入子回路以后使得增加的路程最短,就把这个节点增加到,子回路中,并去掉子回路中相应的弧。,重复以上过程,直到所有的节点都加入到子回路中。,s,GA,求解,TSP,已成为遗传算法学界的一个主要研究目标,对,TSP,的研究为遗传算法求解组合优化问题提,供了丰富的经验和牢固的基础。,主要的努力在以下三个方面,:,采用适当的表达方法进行编码,;,设计可用的遗传算子,以保持父辈特性并避免不可,行性,;,防止过早收敛。,GA,求解,编码,TSP,问,通常的二进制编码,不能较好地适用于,题。,人们为,TSP,提出了几种染色体表达方法,其中:,随机键表达,换位表达,TSP,,也适用于其,这两种表达方式不仅适用于,它组合优化问题。,虽然遗传算法已经提出了有四十多年的历史,但是人们对于遗传算法的研究和改进一直都没有中断过。不少研究者已经对遗传算法进行了许多很有价值的改进,比如对编码方式和遗传算子的改进,或者在遗传算法中引入启发式算法或模拟退火算法等所构成的混合遗传算法,如何理论这些理论和方法更加有效地解决工程技术中的实际问题(车辆路径问题,公交调度问题等),都将需要人们进一步的讨论。,另外由于遗传算法本质是通过借鉴了自然界生物进化过程中创立的。随着当前生物技术与基因工程的进一步发展,把新的生物和基因技术引入到遗传算法的改进中也是当前科学研究的一个重要的方向。最后还能希望将神经网络、专家系统等前沿学科也融入到遗传算法改进中来,以求达到遗传算法应用领域的广泛性和解决实际问题的有效性。,未来研究,End,典型优化问题的模型与算法,-R03,185,
展开阅读全文