artificial-intelligencemathematical-optimizationtraveling-salesmanant-colony

In a MAX-MIN ant system (MMAS), how does the initial pheromone depend on the best solution if it's not yet been found?


I'm learning how add the max-min ant system into my current ant system. From what I've read the trial pheromone is initialized tMax, tMax is calculated by,

tMax = 1 / best tour length

But how exactly would it be possible to initialize the trail pheromone to tMax if it depends on a tour which doesn't yet exist?

tMin also depends on tMax which also makes it impossible to initialize without a best solution.


Solution

  • In MMAS, all edges are initialised to tauMax, but the definition of tauMax is slightly different from what you've stated above:

    tauMax <-- 1 / (rho * bestTourSoFarLength),
    

    where rho is the evaporation rate (typically set to 0.5), and where focus on the tour length is best so far (see below). tauMax is repeatedly updated during algorithm execution, each time the incumbent best tour (so far) is updated.

    For initialisation, an initial feasible tour is constructed heuristically. Typically, the nearest neighbour tour for a random starting city is used.

    Recall that in the context of stochastic optimisation methods such as Ant Colony Optimization (ACO)/MMAS, we can generally not prove optimality of the best incumbent solution (tour) at algorithm termination (we know from practice, however, that ACO/MMAS does perform well on some set of problems, most notably variations of the travelling salesman problem (TSP)). Hence, in contexts such as these, the term "best solution" non-rigorously denote varied meanings from varied authors; "best so far", "best at algorithm termination" and so on, so be aware of that when reading literature on the subject.

    Finally, as a note, tauMin depends---as you've noted---on tauMax, but is typically not updated after initialisation. When imposing pheromone limits, the important "dynamic" part is the monotonically decreasing tauMax, whereas pheromones for most edges will land at the constant tauMin eventually, due to evaporation. A suitable value of tauMin is given by the hideous expression (based on empirical data)

    tauMin = tauMax*(1-(0.05)^(1/n))/((n/2-1)*(0.05)^(1/n)).