(DOPs)
In this work, the performance of three different ACO algorithms are compared. The three algorithms investigated are P-ACO developed by Guntsch and Middendorf [36]; MMAS developed by St¨utzle and Hoos [37]; and ACS developed by Dorigo and Gambardella [39, 40]. Details of these algorithms can be found in Section 2.2.2, Section 2.2.3 and Section 2.2.4 respectively.
These three versions of the ACO algorithm were chosen as they are ones com- monly observed in current ACO research papers. This suggests that they have consistently good, research-worthy, performance. In fact, MMAS is considered a ‘state-of-the-art’ ACO algorithm [128]. P-ACO is seen less frequently, however, it was included because its inbuilt memory makes it very suitable for dynamic opti- misation problems as information from before the change is automatically carried over to after the change. In addition, P-ACO has previously been applied to the dynamic TSP [129] and a dynamic junction rescheduling problem (see Chapter 4) with good results.
A final reason for the comparison of these three algorithms is that the mode of operation for each is very different. P-ACO holds a memory of previous solutions that are used to update the pheromone values. MMAS starts with initial high pheromone values and then reduces them over time, proportional to the performance of the best ant. ACS updates the pheromones with both a local and a global update. Applying algorithms with different modes of operation may make it more likely to find an algorithm that works well on this specific problem.
6.3.1
Related Work Using ACO for Dynamic Rescheduling
As previously mentioned in Section 6.2.1, the reallocation sub-problem, of the DSRP, can be considered to be a dynamic JSP, while the resequencing sub-problem can be considered to be a dynamic TSP similar to the DRJRP in Chapter 4. Related work concerning the application of ACO to the dynamic TSP has already been described in Section 3.6. In this section, related literature concerning the application of ACO to dynamic JSP problems is considered.
For a JSP, the aim is to assign jobs to machines at particular time slots. In the reallocation sub-problem, the jobs correspond to trains and the machines correspond
to station platforms. Previous work in applying ACO to dynamic JSPs has shown promising results. Both Xiang and Lee [130] and Renna [131] combined ant colony intelligence with a multi-agent system (MAS) to solve a dynamic JSP. Xiang and Lee found that the MAS with ant colony intelligence outperformed a MAS with a first in first out (FIFO) dispatching rule, while Renna found that the ant intelligence approach gave a solution that was comparable with a coordination approach when the dynamic changes were of low or medium frequencies. Zhou et al. [132] applied ACO to a dynamic JSP and found that it outperformed a heuristic based on the shortest processing time (SPT) while Lu and Romanowski [133] found that their version of ant colony system (ACS) outperformed well-known dispatching rules such as FIFO and SPT. This research suggests that ACO may show good performance when applied to the dynamic reallocation sub-problem of the DSRP.
6.3.2
The Reallocation and Resequencing Colonies
One of the goals of this work is to investigate the effectiveness of combining two dif- ferent ant colonies to carry out the reallocation and resequencing tasks. One colony (COLONY-R) reallocates trains to platforms while a second colony (COLONY-S) resequences trains to determine the order that the trains should leave the station.
In the following sections the colonies used for reallocation and resequencing are described in detail. Each colony uses the same detection and resolution of conflict for the trains at the timing point described in Section 6.2. The difference between them is the format of the tour provided by the ant and the way the tour is interpreted. The interpretation of the tour for each ant colony is described below.
COLONY-R
COLONY-R determines the platforms to be used by each train in the problem. The solution made by an ant from COLONY-R consists of a list of trains with an associated platform. The ants can potentially assign a new platform to every train in the problem.
To apply ACO to an optimization problem, it has to first be decomposed into a fully connected weighted graph G = (V, E), where V is a set of vertices or nodes and E is a set of edges or connections between the nodes. In this problem, each node represents a train on a platform. For example, node 1 represents train A on platform 1, node 2 represent train A on platform 2, etc (see Fig. 6.10). Ants move from node to node recording the nodes visited. Once they have selected a platform for one train they move on to the next train. At the end of their tour, they have
Figure 6.10: The directed edge graph the ants use to construct their tour. Each circle represents a node.
constructed a solution that consists of a list of trains and the platforms they have been allocated to. At the end of the iteration, the best ant deposits pheromones on the edges of the graph, reinforcing its choices for the next iteration of ants. Ants are presented with trains in the order they arrive at the station. This is to prevent them from creating an infeasible solution in which a train is placed on a platform in front of a train that arrives before it.
After a delay some trains will have been removed from the problem as they will have arrived at the station and it will be too late to change their platform. These trains are no longer of interest to the ants. Therefore, they are removed from the directed edge graph that the ants move around to construct their tour, and are also removed from the pheromone matrix. However, new trains will be approaching the station and will be included in the new problem passed to the ants. These new trains are added both to the directed edge graph and to the pheromone matrix.
The outcome of this algorithm is a list of trains and their associated platforms. The list is passed to the reallocation evaluation function described in Section 6.2.2 that decodes the solution and resolves any conflict at the station, and on the trains’ ongoing journeys, that results from the reallocation decisions.
COLONY-S
COLONY-S determines the order the trains leave the station. A solution made by an ant from COLONY-S consists of a list of trains in the order they are to depart the
Figure 6.11: The directed edge graph the ants in COLONY-S use to construct their tour. Each circle represents a train. The horizontal lines represent platforms.
station. As there are four platforms that feed into one exit line there is a potential for up to four trains to be waiting to leave the platform on the same exit line. This algorithm decides which of those trains should depart next. This means that a train that has a higher delay penalty has the potential to be allowed to leave first which may reduce its ongoing delay penalty.
In this problem the directed edge graph has a different format to COLONY-R and its design ensures that the ants cannot make infeasible solutions where a train is assigned to leave the station before a train that is before it on the same platform. Fig. 6.11 shows the directed edge graph for the resequencing sub-problem. In this case each node represents a train. Each horizontal row in the graph represents a different platform. To prevent infeasible solutions the trains are placed on the platforms in the order they arrive at the station. An ant moves along the graph from left to right selecting the next train to leave the station. The arrows between trains on the platform indicate that the ant can only move one way and therefore cannot select train C before train A, for example. Node 0 represents the start node. At the beginning of each iteration, all ants are placed on this node. After a change, the graph may shrink or grow depending on the number of trains added and the number of trains removed from the problem because they have passed through the station and are no longer relevant.
In this sub-problem, there is no computationally efficient and effective problem- specific heuristic available. Therefore, the ants rely purely on the pheromone values for guidance.
Algorithm 5 Multi-colony algorithm MC1
1: Input BS-R . Best solution Colony-R
2: Input BS-S . Best Solution Colony-S
3: Input BS . Best Solution over both colonies
4: Input trains . Trains in current time window
5: Input c . The number of changes
6: Initialise Colony-R
7: for (i=0 to i=c − 1) do . for each change
8: while (termination condition not satisfied) do
9: run Colony-R
10: end while
11: BS-R = ColonyR.bestSolution . Store best solution for Colony-R
12: Update arrival order of trains based on BS-R
13: Initialise Colony-S
14: while (termination condition not satisfied) do
15: run Colony-S
16: end while
17: BS-S = ColonyS.bestSolution . Store best solution for Colony-S
18: if BS-S.fitness < BS-R.fitness then
19: BS = BS-S
20: else if BS-R.fitness ≤ BS-S.fitness then
21: BS = BS-R
22: end if
23: if change occurs then
24: Reinitialise Colony-R using BS for snapshot
25: end if
26: end for
from the station. The list is passed to the evaluation function described in Sec- tion 6.2.3 that determines the times the trains leave the station to ensure there is no conflict between any of the trains when they depart.