Literature review
2.2 Frameworks for combinatorial optimisation
2.3.3 Meta-heuristic methods
Meta-heuristics are widely used to solve important practical combinatorial optimisation problems. Basically, a meta-heuristic is a top-level strategy that guides an underlying heuristic solving a given problem. That is, a meta-heuristic is an iterative master process that guides and modifies the operations of subordinate heuristics to efficiently produce high-quality solutions. It may manipulate iteratively a complete (or incomplete) single solution or a collection of solutions. The subordinate heuristics are e.g. high- (or low-) level procedures, simple local search, or just a construction method. Meta-heuristics may use learning
strategies to structure information in order to find optimal or near-optimal solution effectively (Osman and Kelly, 1996; Glover and Laguna, 1997).
2.3.3.1 Simulated annealing
Simulated annealing is a meta-heuristic technique for combinatorial optimisation problems which is designed as a simple and robust algorithm (Kirkpatrick, 1984). The term simulated annealing derives from the physical process of heating and cooling a substance to obtain a strong crystalline structure. A simulated annealing algorithm repeats an iterative procedure that looks for better solutions, whilst offering the possibility of accepting, in a controlled manner, worse solutions. This second feature allows the algorithm to escape from the local optima.
Huntley et al (1995) used simulated annealing to solve a railway scheduling problem at the CSX transportation company. They used a perturbation move operator that inserts or deletes a stop from the route and adjusts the departure times of the trains. The computational results showed that the algorithm was useful for analysing a variety of scenarios, and producing train schedules having similar properties to those of solutions in use by the CTX company, but with a smaller cost.
Brucker et al. (1999) used simulated annealing for freight rail routing. They defined neighbourhoods using the ideas from the network simplex method for min-cost flow problems. Afterwards, they proposed a two-phase local search method based on simulated annealing which executes a series of local search applications to single commodity problems.
In the first phase, the algorithm tries to cover a large part of the search space and to identify
a good solution. In the second phase, the algorithm starts with the best solution found in the first phase and tries to improve this solution. They applied the two phases several times (multiple restarts).
2.3.3.2 Genetic algorithm
A genetic algorithm is a heuristic search algorithm premised on the evolutionary ideas of natural selection and genetics (Holland, 1975). The algorithm starts with a set, called a population, of solutions (represented by chromosomes). Solutions from one generation are taken and used to form a new population. Solutions which are then selected to form new solutions (offspring) are selected according to their fitness; the more suitable they are the more chances they have to reproduce.
Salim and Cai (1997) used a genetic algorithm to schedule rail freight transportation. The algorithm begins with randomly generating the initial population, and then finds the arrival time and departure time of each train at every loop by using stopping and starting matrix schedules and evaluates the cost of the population. Afterwards, the algorithm performs a crossover operation on the randomly chosen individuals to yield two new strings and replace the duplicates in the population with the newly formed individuals. The algorithm terminates if the best individual in the population has not changed for a predefined number of iterations.
Arshad et al (1998) used a genetic algorithm combined with constraint programming for container transport chain scheduling. The objective function is to minimise the empty containers between terminals, depots, and clients under operational constraints. Constraint
programming was used to compute feasible solutions on a subset of search space. A genetic algorithm was used to explore the space formed by solutions provided by CP, and to perform optimisation. The feasibility of the solutions was defined intrinsic to the chosen representation and integrated within the creation of the chromosomes in the different steps (initialisation, crossover, and mutation), and within the fitness.
2.3.3.3 Tabu search
Tabu search is a heuristic method proposed by Glover (1986) for solving combinatorial optimisation problems. Tabu search allows acceptance of non-improved solutions in order to avoid being trapped in local optima. To prevent going back to recently visited solutions, a memory scheme is used to record the moves made in the recent past of the search. This recorded search history is usually represented by a tabu list of moves, which are forbidden for a certain number of iterations.
Marin and Salmeron (1996) used tabu search to plan freight rail services. The algorithm was based on the decomposition of the planning model in two problems; routing for the freight cars and grouping of cars in the trains. Heuristic routing and sequential loading algorithms were proposed. In tabu search, recency-based memory with frequency was used to prevent the search going back to recently visited solutions. They also compared tabu search with simulated annealing and descent methods. The comparison amongst these methods was made with the help of statistical analysis. They assumed the hypothesis that the distribution of local minima can be represented by the Weilbull distribution in order to obtain an approach to the global minimum and a confidence interval. The global minimum estimation was used to compare the heuristic methods.
A combination of genetic algorithm and tabu search was used by Gorman (1998) to solve the rail scheduling problem. In GA, the population was formed by all possible train schedules.
Every time an individual schedule is generated, its fitness (total operating cost) is evaluated.
Mutations are obtained by either adding or deleting a train, or by shifting a train to an earlier or a later time in the schedule. To improve the performance of the genetic algorithm, each solution is cloned and modified with a tabu search algorithm, thus simulating the use of knowledge based mutation operators. However, implementing random starting solutions and simple tabu moves still suffers from misdirected search.
Much attention has been focused on meta-heuristic methods as conceptually simple, domain-independent frameworks for solving railway scheduling problems. However, classical meta-heuristics, applied totally independently of problem domain knowledge, rarely work well for real industrial problems. Often meta-heuristics are enhanced by incorporating intensive domain-knowledge, and good solutions may be obtained by fastidious tuning of various parameters. The meta-heuristics then lose their appeal as general solution approaches and quickly become algorithms highly specialised for the given problem. Meta-heuristics may be hybridised to be more effective. However, the resulting algorithms would be complex, and they often still have to exploit domain knowledge to be effective.