码迷,mamicode.com
首页 > 其他好文 > 详细

关于货仓选址问题的方法及证明(在数轴上找一点使得该点到所有其他点的距离之和最小)

时间:2018-08-26 18:17:05      阅读:597      评论:0      收藏:0      [点我收藏+]

标签:中位数   就是   证明   大小   bsp   nbsp   style   分享   包括   

在数轴上找一点使得该点到所有其他点的距离之和最小

技术分享图片

方法:找到大小为中位数的点,该点就是要求的点(如有两个取之间任意一点都行)

证明:

  先看看当只有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可以取两个点之间的任意位置

  这样就可以保证方案最优

   即:找到大小为中位数的点(如有两个取之间任意一点都行)

 证明完毕.

  

 

关于货仓选址问题的方法及证明(在数轴上找一点使得该点到所有其他点的距离之和最小)

标签:中位数   就是   证明   大小   bsp   nbsp   style   分享   包括   

原文地址:https://www.cnblogs.com/LLTYYC/p/9537677.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!