如何找到与所有给定线段的欧氏距离之和最小的 3d 点?
How to find 3d point with minimum sum of euclidean distances to all given segments?
给出了 3d space 中的 N 个片段。段由 2 个点表示。问题是找到到所有线段的距离总和最小的点。
设段为 p1 q1, …, pn qn。我们制定一个优化问题:
minimize ∑i ‖x − ((1 − yi) pi + yi qi)‖
subject to
x ∈ ³
∀i, yi ∈ [0, 1]
变量x就是我们要找的点。变量 yi 利用我们正在尝试最小化最小值(到 x 的最小距离)并用于在 objective.[=11 中形成凸组合=]
这是一个凸问题,所以 cvxpy 或 scipy.optimize 应该都能很好地处理它。
给出了 3d space 中的 N 个片段。段由 2 个点表示。问题是找到到所有线段的距离总和最小的点。
设段为 p1 q1, …, pn qn。我们制定一个优化问题:
minimize ∑i ‖x − ((1 − yi) pi + yi qi)‖
subject to
x ∈ ³
∀i, yi ∈ [0, 1]
变量x就是我们要找的点。变量 yi 利用我们正在尝试最小化最小值(到 x 的最小距离)并用于在 objective.[=11 中形成凸组合=]
这是一个凸问题,所以 cvxpy 或 scipy.optimize 应该都能很好地处理它。