全局优化算法实践
全局优化算法概述
我们讨论的无约束优化方法仅限于凸优化,这些方法的使用很依赖函数的性质和初始迭代点的选取,在很多情况下只能收敛到局部最小点。为了在更大尺度,更复杂的函数中搜索,我们需要一些不被局部最优局限的方法。一般来说,随机优化方法将能够实现这个目标,但因为随机算法的可行种类非常多,这些算法的理论甚至可以单独拿出来作为一门课讲解。(可以参考《智能优化算法及其MATLAB实例》),我这里就把它们作为一种算法概念进行叙述,至于算法的具体实现和应用则按照兴趣来。
各类智能算法的核心思想其实是类似的,都是用随机优化来摆脱局部最优解。
旅行商问题
Python实现
解10城市的旅行商问题,给定城市的初始坐标,城市之间的距离是欧拉距离
cood = [(41, 94),(37, 84),(54, 67),(25, 62),(7, 64),
(2, 99),(68, 58),(71, 44),(54, 62),(83, 69)]
graph = [[0 for _ in range(10)]for _ in range(10)]
for i in range(10):
for j in range(10):
graph[i][j] = ((cood[i][