了解 EUC_2D 边权重

Understanding EUC_2D edge weighting

我正在为旅行商问题构建超启发式框架。

我目前正在使用如下所示的成本矩阵(请原谅 PHP 语法):

("New York") => array(0, 2451,  713),
("Los Angeles") => array(2451,    0, 1745), 
("Chicago") => array( 713, 1745,    0),

这是不言自明的,从纽约到洛杉矶的距离为 2451,从纽约到芝加哥的距离为 713。

我正在尝试构建一个解析器,将 EUC_2D 边权重解析为我上面显示的格式。问题是我无法理解 EUC_2D 边缘加权的语义。

下面显示了 EUC_2D 权重的示例(取自 here):

1 0 13
2 0 26
3 0 27
4 0 39
5 2 0
6 5 13
7 5 19
8 5 25
9 5 31
10 5 37 

谁能解释一下 EUC_2D 边缘加权的工作原理?

您提到的示例包含地图上的城市列表。 每行使用 3 个数字描述一个城市。

city_number - coordinate_x - coordinate_y

例如行

60 28 43

表示60号城市在地图上的坐标为(28, 43)。

到城市 A 和 B 的距离定义为

A x1 y1
B x2 y2

是使用四舍五入到最接近的整数的欧里德距离计算的:

dist(A, B) = round(sqrt((x1 - x2)^2 + (y1 - y2)^2))