CAPÍTULO III: ESTRUCTURA ORGANIZACIONAL DE LA SUBDIRECCIÓN TÉCNICA DEL CESGE
3.2 ESTRUCTURA ORGANIZACIONAL
3.2.2 A Nivel de Subdirección de Tecnología
Combinatorial optimisation problems involve finding values for discrete variables such that the optimal solution with respect to a given objective function is found. Many optimisation problems of practical and theoretical importance are of combinatorial nature. Combinatorial optimisation problem is either a maximisation problem or a minimisation problem with an associated set of instances. Examples are Travelling Salesperson Problem (TSP), the Quadratic Assignment Problem (QAP) and the Job Shop Scheduling Problem (JSP) (Ridge, 2007). Combinatorial optimisation problems are very hard to solve, which means that very often these problems are classified in the Non-Deterministic Polynomial (NP) class. NP problems are those problems that can only be verified but not be solved in deterministic polynomial time (McCallum, 2005). Within this set there are two related sets, NP-Complete
64
and NP-Hard. NP-Hard problems are those problems for which all decision problems in NP can be reduced to by a polynomial reduction (McCallum, 2005). If a problem is in the class NP and is NP-Hard then it is called NP Complete.
4.2 Exact methods
The concept of exact methods is based simply on enumerating the full solution space. Some of the most popular exact methods are the Complete Enumeration Method (CEM), Integer Programming (IP), Linear Programming (LP), Non-linear Programming (NLP), Branch and Bound (B&B) and Dynamic Programming (DP). Exact algorithms are guaranteed to find the optimal solution, and prove its optimality for every instance of a combinatorial optimisation problem. However, owing to the inherent complexity of combinatorial optimisation problems, many of them are NP-hard, exact methods that need an exponential run-time in the worst case.
As described in the literature review that complex problems such as the AOIS problem may require exponential time in the worst case. Liang and Smith (2004), Ridge (2007), Volsem and Neirynck (2009) and Azadeh et al (2012)described that using exact methods is infeasible as a result of the exponential size of the solution space with increasing problem complexity.
Therefore, one has to resort to using different algorithms and, typically, to sacrifice the guarantee of finding optimal solutions for the sake of obtaining good solutions in polynomial-time. The exact methods are excluded in this chapter and described in Appendix A.
4.3 Metaheuristic methods
A metaheuristic is formally defined as: „an iterative generation process, which guides a subordinate heuristic by combining intelligently different concepts for exploring and exploiting the search space, learning strategies are used to structure information in order to find efficiently near-optimal solutions‟ (Osman and Laporte, 1996).
65
Meatheuristics are a more recent attempt to combine basic heuristics into a flexible higher-level framework, in order to better solve complex problems (Ridge, 2007). Some of the most popular metaheuristics for combinatorial optimisation are Simulated Annealing (SA), Tabu Search (TS), Genetic Algorithm (GA), Particle Swarm Optimisation (PSO), Evolution Strategy (ES), Estimation of Distribution Algorithms (EDAs), Differential Evaluation (DE), Covariance Matrix Adaptation Evolution Strategy (CMA-ES) and Ant Colony Optimisation (ACO). Many of these metaheuristics have achieved notable successes in solving difficult problems.
4.3.1 Simulated annealing
Simulated annealing is a stochastic search method, emulative of the physical annealing process, where an alloy is cooled gradually so that a minimal energy state is achieved.
Kirkpatrick et al. (1983) were the first to propose and demonstrate the application of simulated annealing techniques for combinatorial optimisation problems. SA attempts to solve combinatorial optimisation problems by a process analogous to physical annealing. The analogy associates the set of solutions to the problem with the states of the physical system;
the objective function corresponds to the physical energy of the solid, and the ground state corresponds to a globally optimal solution.
While applying SA, a tentative solution sis generated in each step, which is accepted if the objective function is improved. If the tentative solution sis worse than the current solution, then it is accepted based on probability, which depends on the objective function difference of the current solutions, new solution sand parameter T, called temperature (Stützle, 1998b). This parameter T is lowered (as is also done in the physical annealing process) during the run of the algorithm, reducing the probability of accepting worsening moves. The probability paccept to accept worse solutions is often defined according to the Metropolis distribution, as shown in equation (4.1).
66 solutions than its current best. This gives it a greater probability of getting itself out of local optima (McCallum, 2005). The probability of such a move gradually decreases during the search, until a point is reached whereby only moves that result in high quality solutions are accepted. Because of this, the SA technique has been widely applied for a variety of complex problems. However, El Gamal et al. (1987) and Ram et al. (1996) pointed out that a major disadvantage of the technique, is the need for a great deal of computer time for many runs and also determining the „cooling schedule‟ is difficult; for example, what is a sufficient amount of iterations at each temperature? In addition, determining the initial temperature is also difficult. Starting too high will waste computation time, while starting too low will decrease the quality of the search.
4.3.2 Tabu search
Tabu search is an iterative procedure for solving discrete combinatorial optimisation problems. It was first suggested by Glover (1977), has become very popular and been applied to many difficult combinatorial optimisation problems, in a number of different areas.
Thiesen (1998) stated that the TS approach has four main elements:
a local search strategy.
a mechanism to discourage a return to a recently visited solution, the „Tabu list‟.
a „Tabu tenure‟ policy, used to determine how long a solution will remain in the Tabu list.
a mechanism to alter the search path when no improvement has been made for some time.
The local search is, usually, a simple, greedy strategy, which finds an improved solution in the immediate neighbourhood of a current solution. Tabu search is equipped with a special
67
mechanism to avoid being trapped in local optima. It uses a short-term memory to escape from local optima. To prevent the local search returning immediately to a previously visited solution and to avoid cycling, in TS moves to recently visited solutions are forbidden (Glover, 1986). In TS recently visited solutions are added to the Tabu list, and if a solution found by the local search already exists in the Tabu list it is forbidden, and an alternative, non-Tabu, solution will be used. To ensure the search does not quickly exclude all neighbours, solutions are only held in the Tabu list for some period of time. This policy is usually called Tabu tenure. The mechanism used to adjust the search path differs from problem to problem, but a common approach is simply to choose a random solution in the neighbourhood of the current solution. Consequently, Tabu search sometimes allows non-improving solutions to be used for the sake of avoiding local optima.
The Tabu search algorithm, like most of the computational intelligence methods, provides a simple method for solving complex problems. However, the method requires advanced parameter tuning, particularly for Tabu list size (tl) and Tabu tenure. Good parameter setting can only be found empirically and requires considerable fine-tuning (Stützle, 1998b).
4.3.3 Genetic algorithm
A genetic algorithm is a metaheuristic strategy inspired by Darwin‟s principle of natural selection. GA employs random choice to guide a highly exploitative search, striking a balance between the exploration of the feasible domain and the exploitation of good solutions. Genetic algorithms are a specific type of evolutionary algorithms, which are population-based, adaptive search algorithms designed to tackle optimisation problems. They are inspired by models of the natural evolution of species, and use the principle of natural selection for further evolution. Each individual in an evolutionary algorithm represents a solution with an associated fitness value.
68
The three key functions used in GA are selection, mutation, and recombination. Selection prefers fitter individuals to be chosen for the next generation, and for the application of the mutation and recombination operator. Mutation is a unary operator, aimed at introducing random modifications to an individual. Recombination combines the genetic material of two selected individuals, also called „parents‟, by means of a crossover operator to generate new individuals, called „offspring‟. The crossover operator is usually understood as the main operator driving the search in genetic algorithms. The idea of crossover is to exchange useful information between two individuals and, in this way, to generate hopefully better offspring (Langner et al., 2002).
Elitism may be incorporated as a feature where the fittest member of the current generation survives into the next generation. Elitism strategy preserves the best individuals in one generation and translates them to the next generation without any change (Weise, 2009).
Kumar and Rockett (2002) described that in a single-objective optimisation, elitism may have the disadvantage of premature convergence, but in the case of multi-objective optimisation the elitism improves the performance. Mutation is understood as a background operator, which introduces small, random modifications to an individual. To keep the population at a constant size the selection operator is used, choosing individuals with preferably higher fitness (survival of the fittest). Finally, the complete cycle of recombination, mutation and selection is called „generation‟.
Genetic algorithms model the natural processes of the inheritance of coded knowledge and survival, by fitness or degree of adaptation to the environment. New application of GA requires only a coding of the problem to this artificial space. However, the quality of such coding is crucial to the genetic algorithms performance. Operating in this space means using problem blind operators that often ignore some important information that could be utilised to guide the search (Janikow, 1993). In addition, determining the size of the population in GA is
69
a crucial factor. Choosing too small a population size increases the risk of converging prematurely to local minima, since the population does not have enough genetic material to cover the problem space sufficiently. On the other hand, a larger population has a greater chance of finding the global optimum at the expense of more CPU time (Viswanadham et al., 1996).
4.3.4 Evolution strategy
Evolution strategies (ES) were introduced by Rechenberg (1964) and Schwefel (1965). The first version of the algorithm was a so-called (1+1)-ES, in which one parent created one offspring by mutation. The offspring replaced the parent if it had a better fitness. After that, ES has been extended by many studies with a population of parents creating offspring using both mutation and recombination. The main difference between ES and the generational EAs is the selection procedure. Evolution strategies use deterministic selection whereas selection in generational EAs is probabilistic. Two main selection strategies exist in ES; the ()-ES and the (, )-ES. In ()-ES, the parents create offspring. The next population is then formed by deterministically selecting the best individuals among the available individuals. The number of offspring is usually less than the total population size, which gives an algorithm with overlapping populations (Dianati et al. 2002).
For this reason, ()-ES is sometimes referred to as a Steady-state EA (Ursem, 2003). The other strategy, (, )-ES, also generates individuals from the parents. However, in
) ,
( -ES the parent population is not included in the source population in the selection procedure. The population in (, )-ES is therefore non-overlapping. Hence, must be larger than, because individuals are not cloned in ES. Most ES algorithms use adaptation to adjust the search process to the problem (Ursem, 2003). The idea in self-adaptation is to encode algorithmic parameters in the genome and use these parameters to
70
modify the individual. The hypothesis is that good solutions carry good parameters; hence, evolution discovers good parameters while solving the problem.
4.3.5 Estimation of distribution algorithms
Estimation of distribution algorithms (EDAs) are also known as probabilistic model-building genetic algorithms (PMBGA) or iterated density estimation evolutionary algorithms (IDEA) (Shan al., 2006). EDAs explicitly encode the knowledge accumulated in the course of the search into well-structured models, typically probabilistic models, and thus it becomes possible explicitly to exploit that knowledge to improve the efficiency of the search adaptively. More specifically, these models are inductively learnt from good individuals (training examples), and are sampled to create the new individuals of the next generation. A population is not usually maintained between generations, and genetic operators are omitted from EDAs, either partially or completely. Teytaud (2011) stated that the principle of the EDA is to use a probability distribution to represent the potential solutions. Teytaud described how the EDA iteratively estimates the parameters of the distribution by:
Sampling the domain with the current parameterised distribution.
Evaluating the sampled points.
Selecting the best points.
Rebuilding the probability distribution described by these points.
EDAs are designed to capture the interactions among genes, which represent the internal structure of problem solutions, and in this way they estimate the distribution of good solutions directly, rather than by employing genetic operators.
In practice, EDAs are often combined with other heuristics such as local search, guided local search and genetic algorithms to solve hard optimisation problems (see, for example, Zhang et. al. (2003a, b, 2004)). Hauschild and Pelikan (2011) stated that building explicit
71
probabilistic models is often more time-consuming than using implicit models defined with simple search operators, such as tournament selection and two-point crossover. That is why it may sometimes be advantageous to use implicit models from conventional evolutionary algorithms instead of explicit models from EDAs.
4.3.6 Differential evaluation
Differential evolution (DE) is one of the recent population-based stochastic evolutionary optimisation techniques. Storn and Price (1995) first proposed DE as a heuristic method for minimising non-linear and non-differentiable continuous space functions. Differential evolution is a population-based search algorithm, which is an improved version of the genetic algorithm. The main reason why better solutions are constructed is that genetic algorithms rely on crossover while DE relies on mutation operation. This main operation is based on the differences of randomly sampled pairs of solutions in the population (Karaboga and Okdem, 2004). In DE, all solutions have the same chance of being selected as parents without reference to their fitness value. The DE algorithm also uses a non-uniform crossover that can take child vector parameters from one parent more often than it does from others. By using the components of the existing population members to construct trial vectors, the recombination (crossover) operator efficiently shuffles information about successful combinations, enabling there to be a search for a better solution space.
Like other evolutionary algorithms, the first generation is initialised randomly, and further generations evolve through the application of a certain evolutionary operator until a stopping criterion is reached. The optimisation process in DE is carried out with four basic operations, namely initialisation, mutation, crossover and selection (Vanitha and Thanushkodi, 2011).
4.3.7 Covariance matrix adaptation evolution strategy
The covariance matrix adaptation evolution strategy (CMA-ES) adapts a variance covariance mutation matrix used by multivariate normal distributions from which mutations are drawn
72
(Hansen and Ostermeier, 2001, Hansen et al., 2003). This enables the algorithm to generate correlated mutations, speeding up evolution significantly for many real-world fitness landscapes. Self-adaptation of this mutation matrix is then achieved by integrating information on successful mutations on its recent evolution path, by making similar mutations more likely. Compared to many other evolutionary algorithms, an important property of the CMA-ES is its invariance against linear transformations of the search space.
In practice the linear transformation is learned by the CMA algorithm. This is a powerful optimisation procedure and performs especially well in rugged search-landscapes with discontinuities, noise and local optima. The CMA-ES efficiently minimises unimodal objective functions and is, in particular, superior for ill-conditioned and non-separable problems (Auger and Hansen, 2005). Hansen and Kern (2004) showed that increasing the population size improves the performance of the CMA-ES on multimodal functions.
One of the problems with the CMA algorithm, however, is its adhoc and relatively complex nature. Another problem pertains to its sensitivity to local optima (Wierstra et al., 2008). In addition, Omidvar and Li (2011) stated that a disadvantage of the CMA-ES is its relatively high time complexity. This is mainly due to the self-adaptation of the covariance matrix, and Eigen-decomposition. It has been shown that the time complexity of calculating and updating the covariance matrix is of order O (n3). This makes the CMA-ES more computationally expensive than other EAs.
4.3.8 Particle swarm optimisation
The particle swarm optimisation (PSO) algorithm was first described by Kennedy and Eberhart (1995). It is inspired by the social behaviours of bird flocking and fish schooling.
The PSO has recently been applied in many fields because of its simple structure with a small number of parameters, which simplifies the coding of the algorithm. Scientists found that the synchrony of flocking behaviour was achieved through maintaining optimal distances
73
between individual members and their neighbours. Thus, velocity plays an important role in adjusting for the optimal distance. Furthermore, scientists simulated the scenario in which birds search for food and observed their social behaviour.
Suppose a flock of birds is searching for food in a space where there is only one piece of food available. Each particle‟s location in the multi-dimensional problem space is a feasible solution to the problem, which is evaluated with a fitness function. A particle in the swarm flies through the space near to its own best flying experience and the flock‟s flying experience (Azadeh et al., 2012). In other words, the strategy of the bird for finding the food is to change its velocity to fly near the best place that it has already experienced. PSO actually uses both aspects of cooperation and competition among the individuals in the population, which means that it combines a local and a global search to reach the global optima. The distance of the particles to the food is measured by the pre-determined fitness function in all iterations. The particles in a local neighbourhood share their information about their „„best‟‟ positions, and then use the information to adapt their own velocities, and thus update their positions.
In fact, each particle in this swarm has two kinds of intelligence, namely self-intelligence and social-intelligence (Azadeh et al., 2012). The PSO algorithm is similar to other evolutionary algorithms. In PSO, the population is the number of particles in a problem space. Each particle will have a fitness value, which will be evaluated by a fitness function to be optimised in each generation. Each particle knows its best position and the best position so far among the entire group of particles. The local best (lbest) of a particle is the best result (fitness value) so far reached by the particle, whereas the global best (gbest) is the best result in terms of fitness over the entire population. The particle will have velocity, which directs the flying of the particle. In each generation the position and the velocity of the particles will be updated as given by equations (4.2) and (4.3):
74 and efficient technique for solving difficult population-based stochastic optimisation problems. It has been applied successfully to flow-shop scheduling problems (Liao et al., 2007), multiple-level warehouse layout design problems (Önüt et al., 2008) and optimum controller design for automatic voltage regulator (AVR) power systems (Aghababa et al., 2010). PSO is a modern evolutionary algorithm comparable with the genetic algorithm (GA).
It is similar to the GA in some aspects, since it starts with a randomly generated population (solution), has a fitness function to evaluate the solutions, and uses random techniques to update the population in all iterations. However in the PSO, unlike the GA, updating the particles depends on their memory and so does not have special operators. It is also important to note that: „„it has a more global searching ability at the beginning of the run and a local search near the end of the run. Therefore, while solving problems with more local optima, there are more possibilities for PSO to explore local optima at the end of the run‟‟ (Önüt et
It is similar to the GA in some aspects, since it starts with a randomly generated population (solution), has a fitness function to evaluate the solutions, and uses random techniques to update the population in all iterations. However in the PSO, unlike the GA, updating the particles depends on their memory and so does not have special operators. It is also important to note that: „„it has a more global searching ability at the beginning of the run and a local search near the end of the run. Therefore, while solving problems with more local optima, there are more possibilities for PSO to explore local optima at the end of the run‟‟ (Önüt et