相关疑难解决方法(0)

如何将numpy.linalg.norm应用于矩阵的每一行?

我有一个2D矩阵,我想采取每行的规范.但是当我numpy.linalg.norm(X)直接使用时,它需要整个矩阵的范数.

我可以通过使用for循环然后取每个行的规范来获取每行的范数X[i],但是因为我有30k行所以需要很长时间.

有什么建议可以找到更快的方法吗?或者是否可以应用于np.linalg.norm矩阵的每一行?

python numpy

62
推荐指数
4
解决办法
4万
查看次数

Python 中旅行商问题的可扩展实现

我有(比方说)100 分。我想在它们之间生成一条路径,越短越好。这就是旅行商问题。由于TSP 是 NP 难的,我对没有找到全局解决方案感到满意。我的方法可以快速给出解决方案并且扩展性良好。

生成示例点:

import numpy as np
points = np.random.RandomState(42).rand(100,2)
Run Code Online (Sandbox Code Playgroud)

生成距离矩阵,其中i,j条目包含point[i]和之间的距离point[j]。使用这个答案:

z = np.array([[complex(*c) for c in points]]) # notice the [[ ... ]]
distance_matrix = abs(z.T-z)
Run Code Online (Sandbox Code Playgroud)

我如何继续找到一条至少具有局部最小路径长度的最短路径?


一些相关问题:

此线程:scipy 中的旅行推销员提供了用于查找 TSP 解决方案的代码。但它以迭代方式工作,因此如果要访问的点数量很大,则脚本不会在合理的时间内生成解决方案。

此主题:如何使用 python 中的 or-tools 解决累积旅行商问题?没有代码答案,并且不专注于经典 TSP。

此线程:优化旅行商算法(时间旅行者算法)提供了问题的迭代解决方案(这意味着糟糕的扩展)

python

9
推荐指数
1
解决办法
3160
查看次数

标签 统计

python ×2

numpy ×1