深度搜索法求解不定期最短路径问题

深度搜索法求解不定期最短路径问题

ID:25546123

大小:409.00 KB

页数:7页

时间:2018-11-20

深度搜索法求解不定期最短路径问题_第1页
深度搜索法求解不定期最短路径问题_第2页
深度搜索法求解不定期最短路径问题_第3页
深度搜索法求解不定期最短路径问题_第4页
深度搜索法求解不定期最短路径问题_第5页
资源描述:

《深度搜索法求解不定期最短路径问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、深度搜索法求解不定期最短路径问题问题的提出所谓不定期最短路径问题是指如何从不同的节点处通过有限次到达终点,求解到达的最短路径。此类问题形式上属于网络和图,但是我们完全可以通过动态规划方法来求出最优解。求解方法的弊端通常求解此类问题的方法是运筹学中的函数迭代法和策略迭代法。这两种办法都不同程度地存在着浪费计算的问题:有些节点显然不可能是最优路径,但是为了求解的完整性,我们必须求出许多冗余数据。而且随着节点数的增多,计算量会以平方级数大大增加。新的求解思路我们发现,人来求解此类问题并不是从一个一个节点地遍历计算每一个结果,最后来比较的,而是先有选择地找到一些感觉上比较好的路径,在

2、计算一些简单的数,最后比较的个数就少多了。而且人经常不自觉地会顺着一些“捷径”来找最短路径,往往几个节点的最短路径都在一条路上。所以通过模拟人类求解此类问题的方式,我采用了一个树形结构来求解最终值,这种办法就形象地被称为深度搜索法。它可以使用计算机来求解,而且通过层层筛选后,实际的计算量少得多。当节点数增加的时候,这种办法的优越性就体现出来了,他的计算量增长是线性递增的。下面我一个例子来阐述这个方法。例题[选自《运筹学基础》(张莹编著)第221页]设总共有N个城市,是任两城城i与城j之间的距离,有。求:各城市到第5个城市之间的最短路径和最短距离(不限定步数)。图图1路线图例题

3、分析求解这道题书上用了两种思路——函数迭代法和策略迭代法。7但是求解的出发点都是把这个系统模型化,尽量算出可能的解,最后经过比较,得出最小路径。我们可以清楚地看到,包含了这么少信息的一道题,书上用了两页的篇幅来阐述解法,而且其中只罗列出了每一步的最优结果;而我们其实自己来做的话,可能通过心算就可以解决了,这就是为什么我看到这个解法有些干着急的原因。新的求解思路:为了更清楚地阐述深度搜索法的求解步骤,我想先让大家跟我一起了解我是如何想出这个办法的。一般以人的思路来说,我们首先先找到每个节点到5节点的步数;其次从第1点开始,我们看到除了直接到5节点外,其他的方法的步长都不是最优的

4、。当然我们看到2点的时候,总是自然而然地先找最小步长的出路(2-)3),在一步步地沿着最小步长的路找到5点,由于步数最多有4步,所以很容易地找到最优的解,于是我们按照这种方法就很快地得出最优解:节点名称路径方式->->->->->->->路径长度2543总结上面的方法,我们发现,这种思路与先前的思路截然不同的地方是:这种方法是面向节点的,而不是面向步长的,由于节点的有限性,决定了这类方法的步数的有限性,在求解中,我们可以从一个节点走向另一个节点,当发现不行的时候再退回来,选择其他节点,这种解题的思路有些像计算机算法里的树形结构,树的深度只有有限层,到了叶子后再退回来走其他分支

5、,最后找到最优的路径。所以我将这种算法叫做深度搜索法。具体求解方法:Ø第一步,找出图中的起始点和目标点。本例中起始点是,,,;目标点是。Ø第二步,找出起始点到目标点最短距离,作为参考点。选择这个参考点的意义在于,不管步长如何,我们总是直接或间接地通过起始节点(,,,)中的一个到达目标点,所有起始点到目标点的最短步长肯定是起始点到目标点的最短直接距离,我把这个点称为参考点。本例中,直接距离分别是的距离是2;的距离是7;的距离是5;的距离是3。所以取点为参考点。Ø第三步,建立初始约束条件,p0(k),k=(1,N),约束条件是个各自节点到目标点的直接距离,最优解不可能超过直接距离

6、。本例中的约束条件是Ø第四步,迭代约束条件,由于环状结构不可能是最优的解,所以迭代的步数是N-1。7Ø第五步,作图,画出树形结构图的第一层,目标点为树的根结点,除了起始点和直接步长最长的节点外,把其他节点作为树的第一层叶子(如图2)。本例中,第一层叶子为节点1,3,4。约束条件:图2第一层搜索Ø第六步,分别以第一层节点为子根,继续向下搜索,不满足约束条件的叶子就去掉。如果搜索到的路径比约束条件好,就把该路径定义为下一级节点的约束条件,前面到过的节点就不要在下层的叶子中出现了。停止搜索的条件:路径长度比所有的约束长度都大。本例中,->->,->->,->->,->->的步长超过

7、了所有的约束步长,删除该路径,并且的约束条件改为,改为。约束条件:图3第二层搜索第七步,重复执行第六步,停止的条件:1.所有的叶子都不可往下搜索;2.已经搜索到了第N-1层。7约束条件:图4第三层搜索约束条件:图5第四层搜索第八步,删除所有的无用节点,从中寻找最佳的路径。根据约束条件找到最短路径的实现方法。本例中,最佳的路径被选为下表所示:节点名称路径方式->->->->->->->路径长度2543图6搜索结果7结果分析按照深度搜索的方法,我们可以很快的得到所需要的解,与先前按照迭代法得出的结论完全一致

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。