高级优化:旅行商问题求解
1. 优化问题概述
优化问题在很多领域都有广泛应用,常见的梯度上升/下降法能帮助我们“爬山”以找到最大值或最小值。然而,这种方法存在一个明显的缺陷,它可能会让我们找到的只是局部最优解,而非全局最优解。就好比爬山时,它可能会把我们带到一个小山丘的顶部,而实际上只要稍微往下走一段路,就能开始攀登我们真正想爬的大山。解决这个问题是高级优化中最困难也是最关键的部分。
2. 旅行商问题(TSP)介绍
旅行商问题是计算机科学和组合数学中一个极其著名的问题。假设有一位旅行商想要访问多个城市来推销他的商品,由于各种原因,如收入损失、汽油成本、长途旅行后的头痛等,城市之间的旅行是有成本的。TSP 的目标就是确定城市之间的旅行顺序,以最小化旅行成本。这个问题表述起来很简单,但求解却极其困难。
3. 问题设置
我们使用 Python 来解决这个问题。首先,随机生成一个旅行商要遍历的地图。
- 选择一个数字 N 表示地图上的城市数量,这里设 N = 40 。
- 使用 numpy 模块随机选择 40 组坐标,每组坐标包含一个 x 值和一个 y 值,代表一个城市的位置。
import numpy as np
random_seed = 1729
np.random.seed(random_seed)
N = 40
x = np.random.rand(N)
y = np.random.
超级会员免费看
订阅专栏 解锁全文
93

被折叠的 条评论
为什么被折叠?



