上述,只不过是解决旅行商问题的大体思路,解决这一问题还需确实、可行的办法。例如可以采用枚举法、回溯法、分支限界法、贪婪算法等方法来实现。枚举法虽然直观,容易理解,但其随着规模的扩大,运算所需要的时间会变长,空间变大,从而导致运算复杂。回溯法是在枚举法的基础上,加上显性或隐性约束条件,这样能在一定的程度上提高运算效率。分支限界法采用FIFO分支限界从两方面提高了算法的搜索效率。一方面是选择最小成本的节点,最快进入最佳解的分支。另一方面省去不可行解和导致不是最佳解的子节点[2]。贪婪算法运用于优化问题时虽然简单、迅速,但是求得的最优解往往是局部最优解,而不是全部最优解,这对探索旅行商问题的准确性造成了影响。由于旅行商问题是典型的NP问题。在1960年,人们对模拟生物产生了浓厚的兴趣,所以提出了仿生优化算法。人类的许多创造思想来源于自然,因此,仿生算法是人类根据自然而提出来的,其目的是利用自然界的一些高效优化的方法来解决人类的实际所需要解决的问题。仿生化学算法包括遗传算法、粒子群算法、模拟退火算法、人工神经网络、人工免疫算法、蚁群优化算法等[3]。这一类的算法都是不确定的概率型全局优化算法,其不确定性是跟随随机性而来的,求全局最优解有更多的机会,运用比较灵活。
遗传算法是通过模拟自然进化过程来寻找最优解,按照适者生存不适者淘汰的原则,逐代演化成最优解[4]。其不受约束条件的限制,从问题解的一个集合搜索,不容易陷入局部最优。但其搜索时间长,所需空间大,容易产生早熟收敛的现象[5]。模拟退火算法源于固体退火原理,将固体的温度加温的一定的温度,在这加热的过程中,固体内部粒子构造变成无序状,内能增大,降温时,粒子的结构趋于有序状,待降低原来的温度时,内能最小[6]。其适用的范围广,质量高,但是在优化问题上面需要的时间较长。人工免疫算法模拟人体免疫系统所具有的自适能力,增强人体免疫系统,采用基于浓度的选择更新策略,防止早熟现象的发生,保证向全局最优化发展。人工免疫算法具有分散性和独立性,适合于多样搜索[7]。其数学模型虽然简单,易于实现,但是容易失真,而且智能性相对于其它而言也差,改进较麻烦,所有不适用。粒子群算法与模拟退火算法相似,比遗传算法规则更简单,通过追随当前已经搜索到的最优解来搜索全局最优。其原理简单、参数少、收敛快,容易实现,但容易陷入局部最优[8]。人工神经网络因为具有高维性和神经元之间的广泛互联性,所以能够广泛地索引知识。但其是一种局部搜索算法,容易陷入局部最优解[9]。并且学习速度慢,不利于旅行商近快地确定最优路径。并且网络结构的选择只能依靠经验选定,在专业的问题上缺乏理论性的证明。
蚁群优化算法是一种增强性的学习系统,利用正反馈原则,通过信息速的不断更新,个体与个体之间不停地进行信息的交流与传递,在一定的程度上加快进程,从而收敛于最优解[10]。但蚁群优化算法运行速度慢,收敛性能差,容易呈现出停滞、早熟和局部最优解的现象。所以本论文对蚁群优化算法进行三方面的改进,第一方面是限定信息素浓度的大小,第二方面是重视每次周游后的最优解,第三方面是各参数的初始值。改进后的蚁群算法称为最大最小蚁群算法(MMACA)[11]。最大最小蚁群优化算法可以提高蚂蚁的寻优效率,扩大解的范围,避免陷入局部最优解。
1.3 论文的构成及研究内容
基于蚁群算法的中国旅行商问题研究(3):http://www.751com.cn/zidonghua/lunwen_52249.html