2012-05-25 90 views
5

我一直在寻找一种算法来优化2列坐标之间的距离并选择坐标应该走在一起。最小化坐标之间距离变化的算法

说我有表1:

205|200 
220|210 
200|220 
200|180 

表2:

210|200 
207|190 
230|200 
234|190 
COORDS之间

计算的距离:

205|200 to 210|200 == 5.00 
205|200 to 207|190 == 10.20 
205|200 to 230|200 == 25.00 
205|200 to 234|190 == 30.68 

220|210 to 210|200 == 14.14 
220|210 to 207|190 == 23.85 
220|210 to 230|200 == 14.14 
220|210 to 234|190 == 24.41 

200|220 to 210|200 == 22.36 
200|220 to 207|190 == 30.81 
200|220 to 230|200 == 36.06 
200|220 to 234|190 == 45.34 

200|180 to 210|200 == 22.36 
200|180 to 207|190 == 12.21 
200|180 to 230|200 == 36.06 
200|180 to 234|190 == 35.44 

这种算法会选:

205|200 to 230|200 == 25.00 
220|210 to 207|190 == 23.85 
200|220 to 210|200 == 22.36 
200|180 to 234|190 == 35.44 

算法会选择这些数字,因为它们是距离最小的组。 条件:

  1. 坐标只可从每个列表中使用那些
  2. 如果列表1或列表2大于它仍然只使用每个坐标一次,但它会尝试获取的最小距离方差和什么也不做与未使用的坐标。

如果您需要更多解释,请询问。

P.S.我看过匈牙利的算法,看起来好像会做这项工作,但并不完全符合我的期望。匈牙利语算法只会尝试使距所有坐标最小的距离,这可能意味着最小的方差,但不是每一次方差都更重要,因此最小距离优化。

回答