目录
15.6 基于Hopfield网络的路径优化
15.6.1 TSP问题
15.6.2 求解TSP问题的Hopfield神经网络设计
15.6 基于Hopfield网络的路径优化
15.6.1 TSP问题
旅行商问题(Traveling Salesman Problem,简称TSP)可描述为:已知N个城市之间的相互距离,现有一推销员必须遍访这N个城市,并且每个城市只能访问一次,最后又必须返回出发城市。如何安排他对这些城市的访问次序,使其旅行路线总长度最短。
旅行商问题是一个典型的组合优化问题,其可能的路径数目与城市数目呈指数型增长的,一般很难精确的求出其最优解,因而寻找其有效的近似求解算法具有重要的理论意义。另一方面,很多实际应用问题,经过简化处理后,均可化为旅行商问题,因而对旅行商问题求解方法的研究具有重要的应用价值。
旅行商问题是一个典型的组合优化问题,特别是当城市的数目很大时,用常规的方法求解计算量太大。对庞大的搜索空间中寻求最优解,对于常规方法和现有的计算工具而言,存在着诸多的计算困难。使用Hopfield网络的优化能力可以很容易地解决这类问题。
15.6.2 求解TSP问题的Hopfield神经网络设计
Hopfield等采用神经网络求得经典组合优化问题(TSP)的最优解,开创了优化问题求解的新方法。
TSP问题是在一个城市集合Ac,Bc,Cc,…中找出一个最短且经过每个城市各一次并回到起点的路径。为了将TSP问题映射为一个神经网络的动态过程,Hopfield采取了换位矩阵的表示方法,用N*N矩阵表示商人访问N个城市。例如,有四个城市Ac,Bc,Cc,Dc,访问路线是Dc-Ac-Cc-Bc-Dc,则Hopfield网络输出所代表的有效解用下面的二维矩阵表15-1来表示:
针对TSP问题,Hopfield定义了如下形式的能量函数[3]:
Hopfield将能量函数的概念引入神经网络,开创了求解优化问题的新方法。但该方法在求解上存在局部极小、不稳定等问题。为此,文献[4]将TSP的能量函数定义为:
取式(15.24),Hopfield网络的动态方程为:
以8个城市的路径优化为例,其城市路径坐标保存在当前路径的程序cities8.txt中。如果初始化的寻优路径有效,即路径矩阵中各行各列只有一个元素为1,其余为0,则给出最后的优化路径,否则停止优化,需要重新运行优化程序。如果本次寻优路径有效,经过2000次迭代,最优能量函数为Final_E=1.4468,初始路程为Initial_Length=4.1419,最短路程为Final_Length =2.8937。
由于网络输入Uxi(t)初始选择的随机性,可能会导致初始化的寻优路径无效,即路径矩阵中各行各列不满足“只有一个元素为1,其余为0”的条件,此时寻优失败,停止优化,需要重新运行优化程序。仿真过程表明,在20次仿真实验中,有16次可收敛到最优解。
仿真结果如图15.20和图15.21所示,其中图15.20为初始路径及优化后的路径的比较,图15.21为能量函数随时间的变化过程。由仿真结果可见,能量函数E单调下降,E的最小点对应问题的最优解。
仿真程序说明:仿真中所采用的关键命令如下: