Python:n个点的费马问题

问题描述 在平面内有n(n>=3)个点N1(x1,y1),N2(x2,y2),...,Nn(xn,yn),现求一点P(x,y),使得P到各点直线距离之和最小。

问题描述

在平面内有n(n>=3)个点N1(x1,y1),N2(x2,y2),...,Nn(xn,yn),现求一点P(x,y),使得P到各点直线距离之和最小。

算法分析

当n=3时,这是著名的三角形费马点问题,网上有详细介绍和证明。

然而,那些平面几何证明看似巧妙,但真正涉及到了n个点的时候,就只能呵呵了,还是得用解析法来想办法。

目标函数为:

 

我们需要求它的最小值。

分别对x和y求偏导数:

fx(x,y) =  =0

fy(x,y) =