旅行推销员蛮力最近邻算法,循环问题

时间:2014-04-22 15:36:50

标签: java algorithm traveling-salesman

在过去一小时左右的时候,我的主要方法的循环一直在摆弄,但无济于事。问题来自于值数组和单位矩阵中的Array Out of Bounding。

假设所有其他方法等都有效。

public static void main(String args[])
{
    double adjacency_matrix[][] = new double[80][80];
    double[] values = new double[160];
    String[]contents = new String[160];

    FileIO reader = new FileIO();
    contents = reader.load("C:\\Users\\Mark\\Documents\\Java Workspace\\CS211\\src\\TSP\\locations.txt");

    double temp1,temp2,temp3,temp4;
    int count = 0,count2 = 0;

    for(int i=0; i<values.length; i++)
    {
        values[i] = Double.parseDouble(contents[i].substring(0,contents[i].length()-1));
    }

    for(int i=0; i<=79;i++)
    {
        for(int j=0; j<=79; j++)
        {
            if(i == j)
            {
                adjacency_matrix[i][j] = 0.0;

            count2+=1;
            }

            else
            {
                temp1 = values[i+count];
            temp2 = values[i + count + 1];
            temp3 = values[j + count2];
            temp4 = values[j +count2 + 1];

            adjacency_matrix[i][j] = GPSDistanceHarversine.gpsDistance(temp1, temp2, temp3, temp4);

            count2+=1;
            }

            count+=1;
            count2 = 0;
        }
    }

    System.out.println("The cities are visited as follows:");

    TspMain tspNearestNeighbour = new TspMain();

    tspNearestNeighbour.tsp(adjacency_matrix);
}

嵌套距离检查循环导致问题。任何人都可以看到可能搞砸了什么?

0 个答案:

没有答案