I have a standard ACO implementation for the TSP problem, with local hill climbing using a full 2-opt (exchanging edges until no further improve can be achieved). The algorithm does fairly well to find pretty good solutions, however, it converges very quickly. After a few hundred iterations all ants are sampling more or less the same path, and the pheromone trails have only a few edges with pheromones > 1, exactly those edges that lie in the best path found.
At this point I'm doing a restart, since the algorithm has lost all ability to search for new paths. I've toyed around adding some tabu-like mechanism to increase diversity after this restart. I've tried with "tabuing" all edges in the best path or some of them (the best n, the worst n, etc.) but in all cases the algorithm fails to find solutions as good as in the first iterations. I basically think that edges are way too general features, and "tabuing" them is too strong. Instead, I would like to tabu parts of the specific best paths found so far.
Is anyone aware of results in this direction?