Bonjour,
Je cherche à faire tourner les algorithmes suivants :
Le code d'erreur est le suivant :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 maketsp=function(nCities) { positions = 2*runif(nCities,2)-1 distances = matrix(rep(0,(nCities*nCities),nCities,nCities)) for (i in seq(nCities)) { for (j in seq(i+1,nCities)) { distances[i,j] = sqrt((positions[i,0] - positions[j,0])**2 + (positions[i,1] - positions[j,1])**2) distances[j,i] = distances[i,j] print (distances) } } }
Je ne vois pas comment implémenter la matrice distanceError in positions[i, 0] : incorrect number of dimensions In addition: Warning message: In runif(nCities, 2) : NAs produced
Le deuxième algorithme est le suivant:
L'erreur est la suivante :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 greedy=function(distances) { nCities = seq(1,distances) distanceTravelled = 0 cityOrder = seq(0,nCities) cityOrder[0] = runif(nCities) distances[,cityOrder[0]] = Inf for ( i in seq(nCities-1)) { cityOrder[i+1] = wich.min(distances[cityOrder[i],]) distanceTravelled = distances[cityOrder[i],cityOrder[i+1]] dist[,cityOrder[i+1]] = Inf distanceTravelled = distances[cityOrder[nCities-1],0] return(cityOrder) return(distanceTravelled) } }
Les objets sont des matrices mais je ne sais pas comment les implémenter.Error in seq.default(0, nCities) : 'to' must be of length 1
