The Lecture focused entirely on Ant Colony Optimization.
Contrary to what announced there will not be a Task 4 in the Competition. Task 4 is substituted by Exercise 1 below. The analysis of results are left to the students after the Lecture on Experimental Analysis which will come the next week.
Ant Colony Optimization is described in the article 8 of the Notes.
The exercise consists of two parts. Some methods for Part 2 will be introduced in Lecture 12.
Part 1. Implement and configure one of the following population-based metaheuristics. There is freedom in the choice of components. Those in parenthesis are however some suggestions.
(Initial solution: a randomized form of Greedy Heuristic
(Multiple Fragment Heuristic). Add
(
) edges as follows:
select a vertex
randomly and grow a partial tour of length
by adding with probability 2/3 the shortest edge and with probability
1/3 the second shortest edge. Complete the construction with the
Greedy Heuristic.
Crossover: GX operator which generates one cross offspring in four steps:
Selection for recombination:
pairs at random.
Mutation: Double bridge
New Population:
method
Restart: if average bond distance between tours in the population falls below 10.
(In the
Ant System version:
Construction graph: corresponds to the original set of vertices, completely connected.
Construction mechanism: starting from a randomly chosen vertex
in each construction step, the current partial tour
is
extended with a vertex
chosen probabilistically (transition
rule) from a candidate list comprising the
nearest neighbors.
Pheromone: indicates the desirability of going from one vertex to another hence assigned on the edges of the graph.
Heuristic: also on the edges of the graph:
Pheromone update: only the best candidate solution found during
the search updates the pheromone with
,
, where
is the number of ants.
,
,
,
Part 2. Configure and tune the algorithm on the instances of Task 3. Compare then the obtained algorithm, thoroughly defined in the components and parameters, with the algorithms of Task 3 using the instances of Task 1. (The separation of instances into training instances, used for parameter tuning, and test instances, on which the algorithms are compared, is a procedure used to avoid over-fitting.)