1. 程式人生 > >關於貨倉選址問題的方法及證明(在數軸上找一點使得該點到所有其他點的距離之和最小)

關於貨倉選址問題的方法及證明(在數軸上找一點使得該點到所有其他點的距離之和最小)

否則 關於 中位數 多個 而且 如果能 最小 包括 其他

在數軸上找一點使得該點到所有其他點的距離之和最小

技術分享圖片

方法:找到大小為中位數的點,該點就是要求的點(如有兩個取之間任意一點都行)

證明:

  先看看當只有2個點時的情況:

 技術分享圖片

  分類討論:

  如果在A的左邊(如P1),距離之和(sum)為:dis(P1,A)+dis(P1,B)=dis(P1,A)+dis(P1,A)+dis(A,B)

  (dis(a,b)為 a 到 b 的距離)

  如果在A和B的中間(包括A,B): sum=dis(P2,A)+dis(P2,B)=dis(A,B)

  如果在右邊: sum=dis(P3,A)+dis(P3,B)=dis(A,B)+dis(P3,B)+dis(P3,B)

  顯然在A和B中間時距離之和最小。

  那對於3個點時呢:

技術分享圖片

  設中間的點為C,旁邊的為A,B

  一個點P到各個點的距離之和為: dis(A,P)+dis(B,P)+dis(C,P)=(dis(A,P)+dis(B,P))+dis(C,P)

  如果在能夠滿足(dis(A,P)+dis(B,P))最小的情況下還能滿足dis(C,P)最小,那麽就一定是最優的方案

  顯然 當P在A,B中間時滿足(dis(A,P)+dis(B,P))最小,

  又因為 點C在A,B中,所以當點P和點C重合時不僅dis(C,P)=0最小,而且(dis(A,P)+dis(B,P))最小

  所以取中間的點C是最優的方案。

  對於4個點時:

技術分享圖片

  同樣的思路:

  設中間的點為C,D,旁邊的為A,B

  如果能滿足在A,B中間能找到一個點P使得P到C,D的距離之和最小

  那麽P就是最優方案(因為已經滿足P到A,B的距離之和最小了...)

  由前面可知,當P在C,D中間時P到C,D的距離之和最小,並且因為C,D又在A,B中間

  所以當P在C,D中間時,P到各點的距離最小。

  那麽對於多個點時:

  首先找到最外面的兩個點,點P要在它們之間

  然後在找次外面的點,點P也要在它們之間

  ......

  一直找到只剩1或2個點

  如果只剩一個點,那麽最優方案就是P取這個點

  否則P可以取兩個點之間的任意位置

  這樣就可以保證方案最優

   即:找到大小為中位數的點(如有兩個取之間任意一點都行)

證明完畢.

  

關於貨倉選址問題的方法及證明(在數軸上找一點使得該點到所有其他點的距離之和最小)