论文:A discrete tree-seed algorithm for solving symmetric traveling salesman problem
TSP问题可以通过exact menthods和heuristic method解决。
exact menthods包括e branch and bound , branch and cut , branch and price , cutting planes , Lagrangian dual等。
heuristic method包括ABC,PSO,SA,ACO,neural network,tabu search,artificial immune systems,cuckoo search, black hole (BH) , STA , fruit fly , imperialist competitive algorithm (ICA), physarum-energy optimization (PEO) 和 GA等。
解决permutation coded optimization problems由两种方法,path construction 和 path improvement。path construction是采用problem information去生成新的solutions,path improvement通过crossover,mutation和swap生成新的solutions。通常,path improvement不利用problem information使用较少的时间生成候选集candidate solution,但是需要迭代很多次获得一个高质量的解。本文的只在生成候选集的时候使用information,初始化算法时候一个solution通过悬着最近的nodes分配给一个tree,以改善DTSA的收敛性。对于其他的trees,随机生成permutatuion solutions。当满足终止条件时,solution由2-opt algorithm改进。2-opt algorithm是一种local search 技术可以增强solution的质量。
metaheuristic algorithms元启发式算法产生候选集有三个阶段:初始化,交叉和变异。
对于permutation-coded path 编码问题,初始化可以通过random permutation 或者 nearest neighbor tour construction heuristic两种方式产生。
1)关于 evolutionary computation 和 swarm intelligence methods的研究
crossover交叉方式:
变异方法:
Larranaga 对TSP问题进行了不同的编码如 binary, path, adjacency, ordinal and matrix,对不同的交叉,变异方式在3个TSP问题上进行了测试,发现ERX比其他交叉操作更好,不同的变异操作没有明显差异,TSP最好的编码方式是path。
discrete artificial bee colony algorithm 生成候选集的方法有:
swapping group
insertion group
local edge exchange启发方法有:
PACO-3Opt 算法采用了 3-opt local search algorithm 由于局部搜索非常耗费时间因此该算法采用了 parallelization 。这个算法克服了ACO过早收敛的缺点。
选择方法:
Tree-Seed Algorithm (TSA) 2015年提出,用于解决连续优化问题的population-based算法,以往的文献中多用于解决基于约束的和二进制的TSP问题,这篇文章对决策变量是整数的discrete TSA(DTSA)的问题进行了研究。DTSA是用于permutation-coded 问题的新颖的和交互的离散优化算法。
这篇文章对TSA的几个参数进行了研究:search tendency, number of seeds, number of trees。
下面介绍一下TSA的原理:trees and seeds表示可能的solutions,初始化阶段,trees随机生成,trees的数量称为stand size,seeds数量在10%-20% stand size之间,seeds通过下面的公式生成
T(i) 是 第i个 tree, S(k) 是T(i)第k个seed , a 是- 1 和 1之间均匀分布的随机数, B 是目前得到最好的tree, T(r) 是与 T (i)不同的一颗随机tree。这两个生成seeds的公式由Search Tendency (ST) parameter控制,参数在[0,1]取值,在搜索过程中,一个在[0,1]均匀分布的随机数生成了,并与ST进行比较,如果ST小于随机数,执行第一个公式,否则执行第二个。公式1提高了收敛性,公式2提供了多样性。
discrete tree-seed algorithm (DTSA):
初始化时,随机生成permuttations trees和一个最近邻tour被分配给一个tree,在DTSA中使用Transformation operators生成seeds而不是上面的两个公式。当满足结束条件后,得到的solution应用2-opt 算法进行更新。
Transformation operators:seeds生成的方法有swap, shift and symmetry。seeds是在可行域空间中生成的,因此不需要修复机制。
DTSA算法框架:
首先初始化生成根据最近邻tour一个solution,再生成N-1个随机permutation solution,然后将TSA算法与swap,shift,symmetry transformation operators混合进行迭代,当满足结束条件后,得到的solution应用2-opt 算法进行更新。
测试TSP问题,指标采用relative error (RE)
Experiment 1: Comparisons of transformation operators for TSP
symmetry operator获得了最好的结果,因为提供了更大的多样性
Experiment 2: determining the N and ST parameters for DTSA
trees (N)设置为10–300 ,step为10,N的取值影响不大。ST取值为0.1-0.9,step=0.1,影响也不大,最后取ST=0.5。seeds (NS)设置为6。