我有一个L
点(纬度,经度)。我想找到 N=10 个点(我们称它们为仓库),这样:
被最小化。
是否有解决此问题的文档化算法或方法?现在我在想 Excel 可能能够处理这个任务。但是我有太多的 Excel 数据,需要在 Python / Pandas 中实现。
我有一个L
点(纬度,经度)。我想找到 N=10 个点(我们称它们为仓库),这样:
被最小化。
是否有解决此问题的文档化算法或方法?现在我在想 Excel 可能能够处理这个任务。但是我有太多的 Excel 数据,需要在 Python / Pandas 中实现。
Scipy 已经拥有大部分工具。
locations = train[['latitude', 'longitude']].values
center = locations.mean(axis=0)
warehouses = np.repeat(np.expand_dims(center, 0), 20, 0)
warehouses = warehouses.flatten()
def Distances(warehouses):
warehouses = np.reshape(warehouses, [20, 2])
distances = scipy.spatial.distance.cdist(locations, warehouses)
closests = distances.min(axis=1)
other_way = distances.min(axis=0)
return np.append(closests, other_way)
x = scipy.optimize.least_squares(Distances, warehouses, verbose=2)