紧急!!!最优化计算法求解,数学与理工科领域,求解第1.19题的解答!
常言道“一触即发”,想必大家小时候玩过“打水漂”的游戏。现有一个圆形的波浪实验水池,其中心位置存在两个振动源,在t秒内,它们引起的水面波动分别由函数y1=sin t和y2=sin(t+2π/3)来描述。当这两个振动源同时运作时,为了使原本平静的水面继续保持平静,则需要再增加一个振动源(假设不考虑其他因素,水面波动由几个函数的叠加表达),请写出这个新增振动源的函数解析式。
答案
y3=sin(t+4π/3)
解析:由于y1+y2+y3=sin t+sin(t+2π/3)+y3=0,
即(1/2)sin t+(√3/2)cos t+y3=0,
所以y3=sin(t+4π/3)时符合题意。
本题也可为y3=sin(t-2π/3)(答案不唯一)。
故答案为:y3=sin(t+4π/3)
说明
由“要使原本平静的水面保持平静,”可知y1+y2+y3=0,从而求得y3。
本题主要考察应用题的基本方法,要注意关键字、词与关键句建立数学模型。
关于启发式算法
启发式算法是指从大自然的运行规律或面向具体问题的经验、规则中启发出来的方法。现代的启发式算法并非全部来源于自然规律,也有来自人类积累的工作经验。例如,驾驶汽车到达某人的家,写成算法可能是这样的:沿167号高速公路往南行至阳谷;从阳谷高速出口出来后往山上开4.5英里;在一个杂物店旁边的红绿灯路口右转,接着在第一个路口左转;从左边褐色大房子的车道进去,就是某人的家。而用启发式方法描述则可能是这样:找出上一次我们寄给你的信,照着信上面的寄出地址开车到这个镇;到了之后你问一下我们的房子在哪里。这里每个人都认识我们—顶肯定有人会很愿意帮助你的;如果你找不到人,那就找个公共电话亭给我们打电话,我们会出来接你。
建议你了解a*算法,它简而言之就是会有一个评估函数进行评价以辅助选出最优解。
经典的启发式算法包括蚁群算法、模拟退火、禁忌搜索、人工神经网络等。
推荐教材《现代优化计算方法》第二版邢文训,谢金星清华大学出版社;另一本补充,《最优化理论与方法》黄平清华大学出版社。
对启发式算法的理解
解决实际问题时,要建立模型,然后求解。求解时需要选择算法,只有我们对各种算法的优缺点都很熟悉后才能根据实际问题选出有效的算法。但是对各种算法都了如指掌是不现实的,但多知道一些,会使你的选择集更大,找出最好算法的概率越大。现在研一,要开题了,有些点文献综述,愿与大家分享。
大自然是神奇的,它造就了很多巧妙的手段和运行机制。受大自然的启发,人们从大自然的运行规律中找到了许多解决实际问题的方法。对于那些受大自然的运行规律或面向具体问题的经验、规则启发出来的方法,人们常常称之为启发式算法(Heuristic Algorithm)。现在的启发式算法并非全部来源于自然规律,也有来自人类积累的工作经验。
启发式算法的发展:
启发式算法的计算量都比较大,所以随着计算机技术的发展,启发式算法取得了巨大的成就。
40年代:由于实际需要,提出了启发式算法(快速有效)。
50年代:逐步繁荣,其中贪婪算法和局部搜索算法等受到人们的关注。
60年代:反思,发现以前提出的启发式算法速度很快,但是解的质量不能保证,而且对大规模的问题仍然无能为力(收敛速度慢)。
启发式算法的不足和如何解决方法:
(水平有限,仅提出6点)
-
启发式算法目前缺乏统一、完整的理论体系。
-
很难解决!启发式算法的提出就是根据经验提出,没有什么坚实的理论基础。
-
由于NP理论,启发式算法解得全局最优性无法保证。
-
各种启发式算法都有各自优点,如何完美结合。
-
如果你没有实际经验,你就别去干这个,相结合就要做大量尝试,或许会有意外的收获。
-
启发式算法中的参数对算法的效果起着至关重要的作用,如何有效设置参数。
-
启发算法缺乏有效的迭代停止条件。
-
启发式算法收敛速度的研究等。
你会发现,没有完美的东西,要快你就要付出代价,就是越快你得到的解也就越差。其中(4)集中反映了超启发式算法克服局部最优的能力。虽然人们研究启发式算法将近50年,但它还有很多不足:1. 启发式算法目前缺乏统一、完整的理论体系。2. 由于NP理论,各种启发式算法都不可避免地遭遇到局部最优的问题,如何判断。3. 各种启发式算法都有各自优点,如何完美结合。4. 启发式算法中的参数对算法的效果起着至关重要的作用,如何有效设置参数。5. 启发算法缺乏有效的迭代停止条件。6. 启发式算法收敛速度的研究等。
70年代:计算复杂性理论的提出,NP问题。许多实际问题不可能在合理的时间范围内找到全局最优解。发现贪婪算法和局部搜索算法速度快,但解得不好,原因主要是它们只是在局部的区域内找解,得到的解没有全局最优性。
70年代:计算复杂性理论的创立,NP问题。众多实际问题难以在合理时间内找到全局最优解。发现贪婪算法和局部搜索算法速度较快,但其解的质量不佳的原因主要在于它们仅限于局部区域寻解,所得解缺乏全局最优性。
因此,必须引入新的搜索机制和策略………..
Holland的遗传算法(Genetic Algorithm)的问世,再次激发了人们对启发式算法的研究兴趣。
80年代以后:
模拟退火算法(Simulated Annealing Algorithm)、人工神经网络(Artificial Neural Network)、禁忌搜索(Tab……
什么是启发式算法(转)
启发式方法(试探法)是一种辅助寻找答案的技术,但其提供的答案具有偶然性(subject to chance),因为启发式方法仅指导如何寻找,而未明确目标。它无法直接指示从A点到达B点的路径,甚至可能连A点和B点的位置都不清楚。实际上,启发式方法是披着小丑外衣的算法:其结果难以预测,也颇具趣味,但无法提供30天无理由退款保证。
驾驶汽车到达某人的家,用算法描述如下:沿167号高速公路往南行驶至Puyallup;从SouthHillMall出口出来后往山上行驶4.5英里;在一个杂物店旁边的红绿灯路口右转,接着在第一个路口左转;从左边褐色大房子的车道进入,就是NorthCedar路714号。
用启发式方法描述则可能是这样:找出我们上次寄给你的信,按照信上的寄出地址开车到这个镇;到了之后询问我们的房子在哪里。这里每个人都认识我们——肯定有人会很乐意帮助你;如果你找不到人,那就去公共电话亭给我们打电话,我们会出来接你。
从上述启发式算法的解释中可以看出,启发式算法的难点在于建立符合实际问题的启发式规则。启发式算法的优点在于其比盲目搜索法更高效,一个精心设计的启发函数往往能在短时间内找到搜索问题的最优解,对于NP问题,亦可在多项式时间内找到较优解。
启发式算法的最短路径
所谓的最短路径问题有很多种含义,在这里启发式指的是在搜索树的节点上定义的函数h(n),用于评估从该节点到目标节点的最短路径。启发式通常用于信息丰富的搜索算法,例如最佳优先贪婪算法与A。最佳优先贪婪算**选择启发式函数代价最低的节点;A则会选择g(n)+ h(n)代价最低的节点,其中g(n)是从起始节点到当前节点的路径的实际代价。如果h(n)是可接受的(admissible),即h(n)未曾付出超过达到目标的代价,则A一定能找到最佳解。最能体现启发式算法优势的经典问题是n-puzzle。该问题在计算错误的拼图图形、计算任意两块拼图的曼哈顿距离总和以及距离目标有多远时,使用了本算法。注意,上述两个条件都必须在可接受的范围内。
什么启发式算法可以短时间求到最优解
马踏棋盘问题很早就有人提出,早在1823年,J.C.Warnsdorff就提出了一个著名的算法。在每个节点对其子节点进行选择时,优先选择“出口”最小的进行搜索,“出口”的意思是在这些子节点中,它们的可行子节点的个数最少。
启发式算法的新算法
如何找到一个分叉率较低且通用的合理启发式算法,已被人工智能领域深入探讨。他们使用几种常见技术:部分问题的解答代价通常可以评估解决整个问题的代价,通常很合理。例如一个10-puzzle拼盘,解题代价应该与将1到5的方块移回正确位置的代价相近。通常解题者会先建立一个储存部分问题所需代价的模式数据库(pattern database)以评估问题。解决较易的近似问题通常可以用来合理评估原始问题。例如曼哈顿距离是n-puzzle问题的简单版本,因为我们假设可以独立移动一个方块到我们想要的位置,而暂不考虑会移到其他方块的问题。给我们一些合理的启发式函数h1(n),h2(n),...,hi(n),而函数h(n)= max{h1(n),h2(n),...,hi(n)}则是一个可以预测这些函数的启发式函数。一个在1993年由A.E. Prieditis编写的程序ABSOLVER就运用了这些技术,该程序可以自动为问题生成启发式算法。ABSOLVER为8-puzzle生成的启发式算法优于任何先前存在的!而且它还发现了第一个有用的解魔术方块的启发式程序。
启发式算法的概括内容
计算机科学的两大基础目标,就是发现可证明其执行效率良好且可得最佳解或次佳解的算法。而启发式算法则试图一次性提供一或全部目标。例如它常能找到不错的解,但无法证明它不会得到更差的解;它通常可在合理时间内解出答案,但无法保证每次都能以这样的速度求解。有时人们会发现,在某些特殊情况下,启发式算**得到很差的答案或效率极差,然而造成这些特殊情况的数据组合,也许永远不会在现实世界出现。因此,现实世界中常使用启发式算法解决问题。启发式算法处理许多实际问题时通常可以在合理时间内得到不错的答案。一类通用的启发式策略称为元启发式算法(metaheuristic),通常使用随机搜索技巧。它们可以应用于非常广泛的问题,但不能保证效率。近年来,随着智能计算领域的发展,出现了一类被称为超启发式算法(Hyper-Heuristic Algorithm)的新算法类型。最近几年,智能计算领域的著名国际会议(GECCO 2009, CEC 2010,PPSN 2010)[1]分别举办了专门针对超启发式算法的工作坊或会议。从GECCO 2011开始,超启发式算法的相关研究正式成为该会议的一个领域(self search-new frontier track)。国际智能计算领域的两大著名期刊Journal of Heuristics和Evolutionary putation也在2010年和2012年分别安排了专刊,着重介绍与超启发式算法有关的研究进展。
计算机科学的两大核心目标,在于探寻那些能够证明其执行效能优越并能找到最优或次优解的算法。而启发式算法则尝试一次性实现上述一个或全部目标。例如,它往往能找到相当不错的解,但无法确保不会找到较差的解;它通常能在合理的时间内找到答案,但无法保证每次都能以这样的速度求解。有时人们会发现,在某些特殊情况下,启发式算法可能会得到很差的答案或效率极低,然而导致这些特殊情况的数据组合,可能永远不会在现实世界中出现。因此,在现实世界中,启发式算法常被用于解决问题。启发式算法在处理许多实际问题时,通常能在合理的时间内找到不错的答案。一类通用的启发式策略被称为元启发式算法(metaheuristic),通常采用随机搜索技巧。它们可以应用于非常广泛的问题,但不能保证效率。近年来,随着智能计算领域的发展,出现了一类被称为超启发式算法(Hyper-Heuristic Algorithm)的新算法类型。最近几年,智能计算领域的知名国际会议(GECCO 2009, CEC 2010,PPSN 2010)[1]分别举办了专门针对超启发式算法的工作坊或会议。从GECCO 2011开始,超启发式算法的相关研究正式成为该会议的一个领域(self* search-new frontier track)。国际智能计算领域的两大知名期刊Journal of Heuristics和Evolutionary putation也在2010年和2012年分别安排了专刊,重点介绍与超启发式算法有关的研究进展。
何谓启发式
近期我在阅读关于民航调度的文章,发现许多文章都提到了“启发式”算法,感觉与智能算法相似,那么它究竟是什么呢?我找到了以下一些我认为较好的解释:------------------------------------------------------------------------------------------------------------------------A heuristic(hyu-'ris-tik) is the art and science of discovery and invention. The word es from the same Greek root as"eureka" meaning"to find". A heuristic for a given problem is a way of directing your attention fruitfully to a solution. It is different from an algorithm in that a heuristic merely serves as a rule-of-thumb or guideline, as opposed to an invariant procedure. Heuristics may not always achieve the desired oute, but can be extremely valuable to problem-solving processes. Good heuristics can dramatically reduce the time required to solve a problem by eliminating the need to consider unlikely possibilities or irrelevant states. As such, it is particularly useful to those in the process of discovery and the are constantly rethinking their strategies in the face of a stubborn unknown.--------------------------------------------------------------------------------------------------------------------------启发式方法(试探法)是一种帮助你寻找答案的技术,但它给出的答案是具有偶然性的(subject to chance),因为启发式方法仅仅告诉你该如何去找,而没有告诉你要找什么。它并不告诉你该如何直接从A点到达B点,它甚至可能连A点和B点在哪里都不知道。实际上,启发式方法是穿着小丑儿外套的算法:它的结果不太好预测,也更有趣,但不会给你什么30天无效退款的保证。驾驶汽车到达某人的家,写成算法是这样的:沿167号高速公路往南行至Puyallup;从South Hill Mall出口出来后往山上开4.5英里;在一个杂物店旁边的红绿灯路口右转,接着在第一个路口左转;从左边褐色大房子的车道进去,就是North Cedar路714号。用启发式方法来描述则可能是这样:找出上一次我们......