Ho bisogno di aiuto per definire l'operatore di mutazione per il problema del commesso viaggiatore.
Attualmente sto usando questo ora (pseudocodice):
mutate ( strand ):
for n in random_interval ( min_gene_index, max_gene_index ):
i := random_interval ( min_gene_index, max_gene_index );
j := random_interval ( min_gene_index, max_gene_index );
swap ( strand[i], strand[j] );
Quindi, quando lo swap viene eseguito, vengono scambiate due città nel percorso. L'obiettivo è che deve essere veloce ed efficace. Non voglio che sia un successo nel circuito principale. Posso migliorare la mia implementazione o c'è qualche altra alternativa che sia migliore?