tsp旅行商问题和高级搜索方法

一、    问题介绍

中国邮递员问题tsp

输入:中国144个城市数据

输出:最短路径序列及路径长度

1.       采用局部搜索算法实现

2.       采用模拟退化算法实现

二、    程序设计与算法分析

1.     待解决的问题实际上是优化与组合优化问题。很多问题属于优化问题,或者可以转化为优化问题,如TSP问题,皇后问题等。

2.     用一个城市的序列表示一个可能的解,通过交换两个城市的位置获取S的邻居。

逆序交换方法设xi、xj是选取的两个城市,所谓的逆序交换方式是指,通过逆转xi、xj两个城市之间的城市次序来得到S的邻居。

3.     local search:

基本思想:在搜索过程中,始终向着离目标最接近的方向搜索。

目标可以是最大值,也可以是最小值。

本题中目标为最小值。

算法步奏:

1.随机的选择一个初始的可能解x0∈D,xb=x0,P=N(xb);

2.    如果不满足结束条件,则

3.    Begin

4.    选择P的一个子集P',xn为P'中的最优解

5.    如果f(xn)<f(xb),则xb=xn,P=N(xb),

转2;f(x)为指标函数。

6. 否则P=P–P',转2。

7.    End

8.    输出计算结果

9.    结束

                      4.    localsearch中存在的问题:

                                 得到的答案往往是局部最优,而不是全局最优解。

                      5.    解决local search中问题的方法:

1)       每次并不一定选择邻域内最优的点,而是依据一定的概率,从 邻域内选择一个点,指标数优的点,被选中的概率比较大, 而指标函数差的点,被选中的概率比较小。

2)       函数的递增递减可能不均匀,在最优值附近可能变化极快,最好采用变步长的方式,越接近最优解时步长越小。

3)       起始点的选择可能会影响最终的解:随机的生成一些初始点,从每个初始点出发进行搜索,找到各自的最优解。再从这些最优解中选择一个最好的结果作为最终的结果。

6. 以上决方法可以结合在一起使用,比如第一、第二种方 法的结合,就产生了模拟退火方法。

7. 模拟退火思想综述:

在高温下,系统基本处于无序的状态,基本以等概率落入各个状态在给定的温度下,系统  落入低能量状态的概率大于系统落入高能量状态的概率,这样在同一温度下,如果系统交换的 足够充分,则系统会趋向于落入较低能量的状态。随着温度的 缓慢下降,系统落入低能量状态的概率逐步增加,而落入高能量状态的概率逐步减少,使得系统各状态能量的期望值随温度的下降单调下降,而只有那些能量小于期望值的状态,其概率 才随温度下降增加,其他状态均随温度下降而下降。因此,随着能量期望值的逐步下降,能量低于期望值的状态逐步减少, 当温度趋于0时,只剩下那些具有最小能量的状态,系统处于其他状态的概率趋近于0。因此最终系统将以概率1处于具有最小能量的一个状态。

                       8.  达到最小能量状态三个条件:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值