生成成本矩阵

时间:2012-11-26 20:12:48

标签: java traveling-salesman

我需要在JAVA中获取TSP的成本矩阵,我的输入文件是这样的:

5
1   2   439
1   3   678
1   4   1814
1   5   1635
2   1   436
2   3   543
2   4   1744
2   5   1564
3   1   700
3   2   500
3   4   1644
3   5   1464
4   1   1794
4   2   1666
4   3   1601
4   5   668
5   1   1690
5   2   1562
5   3   1497
5   4   665

请帮忙!

1 个答案:

答案 0 :(得分:1)

此输入已为您提供成本矩阵。第一行给出了城市的数量,即矩阵中的行数和列数。后续行以row column distance(或column row distance)格式给出矩阵的元素。

在Java中表示这一点的最简单方法是使用2D数组。您可以使用Scanner类来解析输入并将其存储在数组中。

您的TSP似乎(略微)不对称,因此您需要注意不要将行索引与列索引混淆,否则您的旅行方向将完全错误。

最后,成本矩阵的对角元素不存在于文件中,因为它们不能作为有效TSP游览的一部分出现。您可能会发现将这些条目设置为正无穷大很有帮助,因为它可能会让您的生活更加轻松。