【发布时间】:2015-04-28 01:19:20
【问题描述】:
基于这个伪代码,我正在尝试为旅行推销员问题实现一个 java fittness 函数,但我不确定我是否做得对,有人可以帮帮我。
N The number of cities to visit
T A tour (list of integers of size N)
D An N by N matrix containing each d(i,j)
Let s = 0
For i = 1 to (N-1)
Let a = ti
Let b = ti+1
Let s = s + d(a,b)
End For
Let end_city = tn
Let start_city = t1
Let s = s + d(end_city,start_city)
The tour length s
我尝试用java写这个
public static ArrayList<Integer> Fitness(){
int n = 10; // Number of cities to visit
ArrayList<Integer> t = new ArrayList<Integer>();
int[][] d = null;
int s = 0, a, b;
for (int i = 1; i<n; i++){
for (int j = 1; j<n; j++){
d = new int[i][j];
}
for( i = 1; i<n; i++){
a = t.get(i);
b = t.get(i+1);
s = s + d[a][b];
}
int end_city = t.get(n);
int start_city = t.get(1);
s = s + d[end_city][start_city];
}
return t;
谁能帮帮我。谢谢。
【问题讨论】:
-
注意——java中的数组索引是从0开始的,详见tutorial
标签: java arraylist traveling-salesman