变量赋值的邻域可以是只改变一个变量的值能到达的所有赋值。对于同一个问题可以有很多种邻域的定义。如果一个局部优化算法将邻域定义为只改变 k 个成分能够到达的解，那么这个算法可以称为 k-opt。通常，每个候选解的邻域包含多个解。所谓局部搜索，就是只根据邻域中的信息来决定移动方向。如果选择的是最大化目标函数的解，那么这种局部搜索算法又可以叫做爬山算法。当邻域中已经没有比当前最优的解的时候，局部搜索就困在了局部最优解。为了离开局部最优解，可以使用很多种方法，包括在不同的初始值重复整个算法，或者使用更复杂的