• No se han encontrado resultados

Lenguaje de Dominio en el Procesamiento por Lote

Capítulo 2. Propuesta de Solución

4. Arquitectura de Spring Batch

4.4. Lenguaje de Dominio en el Procesamiento por Lote

Research in ant colony optimisation has shown that for applications on combinatorial optimisation problems, the best results are obtained if the ants are enhanced by additional capabilities. The local search is part of the DaemonActions of the ACO algorithm as shown in the ACO framework in section 5.2.2. In many of the most efficient implementations of ACO algorithms, ants may apply local search to improve the solutions they have constructed (Dorigo and Gambardella, 1997, Stützle and Hoos, 2000). Therefore, many researchers have developed local search for ACO and have applied these methods to a range of different problems such as the redundancy allocation problem (Liang and Smith, 2004), the inter-cell layout problem in cellular manufacturing (Solimanpur et al., 2004), single row layout in flexible manufacturing systems (Solimanpur et al., 2005), image pre-processing (Laptik and Navakauskas, 2009) and construction site layout planning (Ning et al., 2010). The reason for adding local search algorithms to ACO is to enhance performance and to yield high quality solutions, such that near-optimal solutions can be found. Advantages and disadvantages of using local search can be explained as following:

Advantages of local search

1. Cost of generating neighbouring solutions: typically, for generating a neighbouring solution the computational complexity is much lower than generating a new solution from scratch. In addition, for evaluating a neighbouring solution, it often does not need to generate it explicitly at all.

2. Cost of evaluating neighbouring solutions: typically∆-evaluation can be done in a computational cost that is much less than computing solution cost from scratch (Stützle, 2003).

109

Disadvantages of local search

1. Iterative improvement may take exponential time in the worst case but usually this occurs only rarely and for few problems.

2. Problem of local optimality.

The particular local search used is almost completely problem-dependent, but the important idea is that a solution to the problem in hand has an identifiable solution neighbourhood.

Usually, the neighbourhood of a solution can be defined as all those solutions which may be different from the original solution by a single „„step‟‟. The most well-known local search algorithm, called iterative improvement, first builds an initial solution by some means (possibly creating one at random). The algorithm then checks through some or all of the neighbours of the initial solution looking for better solution. If an improved solution is obtained, then the current solution is replaced with it and the process repeats until no further improvement can be found. A drawback of this algorithm is that it may stop at poor quality local optima. As a result, possibilities have to be devised to improve its performance. One would be to increase the size of the neighbourhood used in the local search algorithm.

Clearly, there is a higher possibility to obtain an improved solution, but it also takes longer time to assess the neighbouring solutions. This leads to this approach being impractical as the neighbourhoods increase. Another possibility is to allow the local algorithm to generate a new random solution. However, the search space normally contains a massive number of local optima. As a result, this approach becomes increasingly ineffective as the problem becomes complex.

Several applicable improvements of local search methods have been suggested. The aim is to avoid these drawbacks of iterative improvement methods. The improvement of the local search methods is based on either by accepting worse solutions, hence allowing the local search to escape from local optima, or by creating good starting solutions for local search

110

algorithms in a more intelligent way (such as ACO) than just providing random initial solutions (Solimanpur et al., 2004). Moreover, since the improvement algorithms start from bad solutions, the computation time required by improvement algorithms would be more.

Besides, ant algorithms are population-based adaptive metaheuristics that are able to construct relatively good solutions and therefore their integration with a local search mechanism may result in optimum or near optimum solutions. Owing to the fact that the quality of initial solutions created by ant algorithms is good, the integrated local search mechanism needs only a few iterations to enrich these solutions to their local optimum resulting in reasonable computation time. In addition, to yield a further reduction in run-time and to focus the local search around the part where potentially improve can be found don’t look bits is used (Ferreira et al., 2012). This prevents cycling, and also helps to promote a diversified coverage of the search space.

To apply iterative improvement algorithms, two commonly recognised approaches are first ascent and best ascent. In the first method, the first neighbour which is an improvement is selected, whereas the second method searches through all potential neighbouring solutions and then selects the one which offers the greatest improvement. In TSP, the 2-opt neighbourhood is defined as a neighbour if it differs by at most two arcs. This can be generalised to deal with k arcs. An example of a solution and an improved neighbour is given in Figure 5.5.

The idea of using a mechanism to generate initial solutions which are improved by a subsequent local search is also applied in other nature-inspired algorithms such as simulated annealing and genetic algorithms. The most recent of these nature-inspired algorithms is ant colony optimisation. In the ACO algorithm, the search process can be used to identify promising regions of the search space with high quality solutions. This can be done by using

111

pheromone trails as an adaptive memory of solution components which have been part of the best local minima found so far.

Figure 5.5: Illustration of a 2-opt neighbour in the TSP. (s is an improved neighbour of s because it varies by two arcs, and its tour length is 4-four less than s) (Ritchie, 2003).

These solution components are combined in subsequent iterations by a stochastic construction mechanism, which is biased by the pheromone trails and local heuristic information. A further advantage of using a constructive algorithm such as the MMAS is that by creating good initial solutions, the subsequent local search requires fewer steps to arrive at a local optimum. However, based on the previous literature review in chapter 2, none of the surveyed methods in the AOIS problem used local search to improve their performance.

Local search methods for the AOIS problem will be developed to improve the performance of the MMAS algorithm and will be introduced in the next chapter.