An adaptive genetic algorithm for solving bilevel linear programming problem
Self-adaptive differential evolution algorithm for numerical optimization
![Self-adaptive differential evolution algorithm for numerical optimization](https://img.taocdn.com/s3/m/1647c87248d7c1c708a14532.png)
n
Abstract—In this paper, we propose an extension of Self-adaptive Differential Evolution algorithm (SaDE) to solve optimization problems with constraints. In comparison with the original SaDE algorithm, the replacement criterion was modified for handling constraints. The performance of the proposed method is reported on the set of 24 benchmark problems provided by CEC2006 special session on constrained real parameter optimization.
2006 IEEE Congress on Evolutionary Computation Sheraton Vancouver Wall Centre Hotel, Vancouver, BC, Canada July 16-21, 2006
Self-adaptive Differential Evolution Algorithm for Constrained Real-Parameter Optimization
“DE/rand/1”: Vi ,G = Xr ,G + F ⋅ Xr ,G − Xr G
1 2 3,
(
“DE/best/1”: Vi ,G = Xbest ,G + F ⋅ Xr ,G − X r G 1 2,
外文文献—遗传算法
![外文文献—遗传算法](https://img.taocdn.com/s3/m/fefa89e7f78a6529647d53eb.png)
附录I 英文翻译第一部分英文原文文章来源:书名:《自然赋予灵感的元启发示算法》第二、三章出版社:英国Luniver出版社出版日期:2008Chapter 2Genetic Algorithms2.1 IntroductionThe genetic algorithm (GA), developed by John Holland and his collaborators in the 1960s and 1970s, is a model or abstraction of biolo gical evolution based on Charles Darwin’s theory of natural selection. Holland was the first to use the crossover and recombination, mutation, and selection in the study of adaptive and artificial systems. These genetic operators form the essential part of the genetic algorithm as a problem-solving strategy. Since then, many variants of genetic algorithms have been developed and applied to a wide range of optimization problems, from graph colouring to pattern recognition, from discrete systems (such as the travelling salesman problem) to continuous systems (e.g., the efficient design of airfoil in aerospace engineering), and from financial market to multiobjective engineering optimization.There are many advantages of genetic algorithms over traditional optimization algorithms, and two most noticeable advantages are: the ability of dealing with complex problems and parallelism. Genetic algorithms can deal with various types of optimization whether the objective (fitness) functionis stationary or non-stationary (change with time), linear or nonlinear, continuous or discontinuous, or with random noise. As multiple offsprings in a population act like independent agents, the population (or any subgroup) can explore the search space in many directions simultaneously. This feature makes it ideal to parallelize the algorithms for implementation. Different parameters and even different groups of strings can be manipulated at the same time.However, genetic algorithms also have some disadvantages.The formulation of fitness function, the usage of population size, the choice of the important parameters such as the rate of mutation and crossover, and the selection criteria criterion of new population should be carefully carried out. Any inappropriate choice will make it difficult for the algorithm to converge, or it simply produces meaningless results.2.2 Genetic Algorithms2.2.1 Basic ProcedureThe essence of genetic algorithms involves the encoding of an optimization function as arrays of bits or character strings to represent the chromosomes, the manipulation operations of strings by genetic operators, and the selection according to their fitness in the aim to find a solution to the problem concerned. This is often done by the following procedure:1) encoding of the objectives or optimization functions; 2) defining a fitness function or selection criterion; 3) creating a population of individuals; 4) evolution cycle or iterations by evaluating the fitness of allthe individuals in the population,creating a new population by performing crossover, and mutation,fitness-proportionate reproduction etc, and replacing the old population and iterating again using the new population;5) decoding the results to obtain the solution to the problem. These steps can schematically be represented as the pseudo code of genetic algorithms shown in Fig. 2.1.One iteration of creating a new population is called a generation. The fixed-length character strings are used in most of genetic algorithms during each generation although there is substantial research on the variable-length strings and coding structures.The coding of the objective function is usually in the form of binary arrays or real-valued arrays in the adaptive genetic algorithms. For simplicity, we use binary strings for encoding and decoding. The genetic operators include crossover,mutation, and selection from the population.The crossover of two parent strings is the main operator with a higher probability and is carried out by swapping one segment of one chromosome with the corresponding segment on another chromosome at a random position (see Fig.2.2).The crossover carried out in this way is a single-point crossover. Crossover at multiple points is also used in many genetic algorithms to increase the efficiency of the algorithms.The mutation operation is achieved by flopping the randomly selected bits (see Fig. 2.3), and the mutation probability is usually small. The selection of anindividual in a population is carried out by the evaluation of its fitness, and it can remain in the new generation if a certain threshold of the fitness is reached or the reproduction of a population is fitness-proportionate. That is to say, the individuals with higher fitness are more likely to reproduce.2.2.2 Choice of ParametersAn important issue is the formulation or choice of an appropriate fitness function that determines the selection criterion in a particular problem. For the minimization of a function using genetic algorithms, one simple way of constructing a fitness function is to use the simplest form F = A−y with A being a large constant (though A = 0 will do) and y = f(x), thus the objective is to maximize the fitness function and subsequently minimize the objective function f(x). However, there are many different ways of defining a fitness function.For example, we can use the individual fitness assignment relative to the whole populationwhere is the phenotypic value of individual i, and N is the population size. The appropriateform of the fitness function will make sure that the solutions with higher fitness should be selected efficiently. Poor fitness function may result in incorrect or meaningless solutions.Another important issue is the choice of various parameters.The crossover probability is usually very high, typically in the range of 0.7~1.0. On the other hand, the mutation probability is usually small (usually 0.001 _ 0.05). If is too small, then the crossover occurs sparsely, which is not efficient for evolution. If the mutation probability is too high, the solutions could still ‘jump around’ even if the optimal solution is approaching.The selection criterion is also important. How to select the current population so that the best individuals with higher fitness should be preserved and passed onto the next generation. That is often carried out in association with certain elitism. The basic elitism is to select the most fit individual (in each generation) which will be carried over to the new generation without being modified by genetic operators. This ensures that the best solution is achieved more quickly.Other issues include the multiple sites for mutation and the population size. The mutation at a single site is not very efficient, mutation at multiple sites will increase the evolution efficiency. However, too many mutants will make it difficult for the system to converge or even make the system go astray to the wrong solutions. In reality, if the mutation is too high under high selection pressure, then the whole population might go extinct.In addition, the choice of the right population size is also very important. If the population size is too small, there is not enough evolution going on, and there is a risk for the whole population to go extinct. In the real world, a species with a small population, ecological theory suggests that there is a real danger of extinction for such species. Even the system carries on, there is still a danger of premature convergence. In a small population, if a significantly more fit individual appears too early, it may reproduces enough offsprings so that they overwhelm the whole (small) population. This will eventually drive the system to a local optimum (not the global optimum). On the other hand, if the population is too large, more evaluations of the objectivefunction are needed, which will require extensive computing time.Furthermore, more complex and adaptive genetic algorithms are under active research and the literature is vast about these topics.2.3 ImplementationUsing the basic procedure described in the above section, we can implement the genetic algorithms in any programming language. For simplicity of demonstrating how it works, we have implemented a function optimization using a simple GA in both Matlab and Octave.For the generalized De Jong’s test function where is a positive integer andr > 0 is the half length of the domain. This function has a minimum of at . For the values of , r = 100 and n = 5 as well as a population size of 40 16-bit strings, the variations of the objective function during a typical run are shown in Fig. 2.4. Any two runs will give slightly different results dueto the stochastic nature of genetic algorithms, but better estimates are obtained as the number of generations increases.For the well-known Easom functionit has a global maximum at (see Fig. 2.5). Now we can use the following Matlab/Octave to find its global maximum. In our implementation, we have used fixedlength 16-bit strings. The probabilities of crossover and mutation are respectivelyAs it is a maximization problem, we can use the simplest fitness function F = f(x).The outputs from a typical run are shown in Fig. 2.6 where the top figure shows the variations of the best estimates as they approach while the lower figure shows the variations of the fitness function.% Genetic Algorithm (Simple Demo) Matlab/Octave Program% Written by X S Yang (Cambridge University)% Usage: gasimple or gasimple(‘x*exp(-x)’);function [bestsol, bestfun,count]=gasimple(funstr)global solnew sol pop popnew fitness fitold f range;if nargin<1,% Easom Function with fmax=1 at x=pifunstr=‘-cos(x)*exp(-(x-3.1415926)^2)’;endrange=[-10 10]; % Range/Domain% Converting to an inline functionf=vectorize(inline(funstr));% Generating the initil populationrand(‘state’,0’); % Reset the random generatorpopsize=20; % Population sizeMaxGen=100; % Max number of generationscount=0; % counternsite=2; % number of mutation sitespc=0.95; % Crossover probabilitypm=0.05; % Mutation probabilitynsbit=16; % String length (bits)% Generating initial populationpopnew=init_gen(popsize,nsbit);fitness=zeros(1,popsize); % fitness array% Display the shape of the functionx=range(1):0.1:range(2); plot(x,f(x));% Initialize solution <- initial populationfor i=1:popsize,solnew(i)=bintodec(popnew(i,:));end% Start the evolution loopfor i=1:MaxGen,% Record as the historyfitold=fitness; pop=popnew; sol=solnew;for j=1:popsize,% Crossover pairii=floor(popsize*rand)+1; jj=floor(popsize*rand)+1;% Cross overif pc>rand,[popnew(ii,:),popnew(jj,:)]=...crossover(pop(ii,:),pop(jj,:));% Evaluate the new pairscount=count+2;evolve(ii); evolve(jj);end% Mutation at n sitesif pm>rand,kk=floor(popsize*rand)+1; count=count+1;popnew(kk,:)=mutate(pop(kk,:),nsite);evolve(kk);endend % end for j% Record the current bestbestfun(i)=max(fitness);bestsol(i)=mean(sol(bestfun(i)==fitness));end% Display resultssubplot(2,1,1); plot(bestsol); title(‘Best estimates’); subplot(2,1,2); plot(bestfun); title(‘Fitness’);% ------------- All sub functions ----------% generation of initial populationfunction pop=init_gen(np,nsbit)% String length=nsbit+1 with pop(:,1) for the Signpop=rand(np,nsbit+1)>0.5;% Evolving the new generationfunction evolve(j)global solnew popnew fitness fitold pop sol f;solnew(j)=bintodec(popnew(j,:));fitness(j)=f(solnew(j));if fitness(j)>fitold(j),pop(j,:)=popnew(j,:);sol(j)=solnew(j);end% Convert a binary string into a decimal numberfunction [dec]=bintodec(bin)global range;% Length of the string without signnn=length(bin)-1;num=bin(2:end); % get the binary% Sign=+1 if bin(1)=0; Sign=-1 if bin(1)=1.Sign=1-2*bin(1);dec=0;% floating point.decimal place in the binarydp=floor(log2(max(abs(range))));for i=1:nn,dec=dec+num(i)*2^(dp-i);enddec=dec*Sign;% Crossover operatorfunction [c,d]=crossover(a,b)nn=length(a)-1;% generating random crossover pointcpoint=floor(nn*rand)+1;c=[a(1:cpoint) b(cpoint+1:end)];d=[b(1:cpoint) a(cpoint+1:end)];% Mutatation operatorfunction anew=mutate(a,nsite)nn=length(a); anew=a;for i=1:nsite,j=floor(rand*nn)+1;anew(j)=mod(a(j)+1,2);endThe above Matlab program can easily be extended to higher dimensions. In fact, there is no need to do any programming (if you prefer) because there are many software packages (either freeware or commercial) about genetic algorithms. For example, Matlab itself has an extra optimization toolbox.Biology-inspired algorithms have many advantages over traditional optimization methods such as the steepest descent and hill-climbing and calculus-based techniques due to the parallelism and the ability of locating the very good approximate solutions in extremely very large search spaces.Furthermore, more powerful new generation algorithms can be formulated by combiningexisting and new evolutionary algorithms with classical optimization methods.Chapter 3Ant AlgorithmsFrom the discussion of genetic algorithms, we know that we can improve the search efficiency by using randomness which will also increase the diversity of the solutions so as to avoid being trapped in local optima. The selection of the best individuals is also equivalent to use memory. In fact, there are other forms of selection such as using chemical messenger (pheromone) which is commonly used by ants, honey bees, and many other insects. In this chapter, we will discuss the nature-inspired ant colony optimization (ACO), which is a metaheuristic method.3.1 Behaviour of AntsAnts are social insects in habit and they live together in organized colonies whose population size can range from about 2 to 25 millions. When foraging, a swarm of ants or mobile agents interact or communicate in their local environment. Each ant can lay scent chemicals or pheromone so as to communicate with others, and each ant is also able to follow the route marked with pheromone laid by other ants. When ants find a food source, they will mark it with pheromone and also mark the trails to and from it. From the initial random foraging route, the pheromone concentration varies and the ants follow the route with higher pheromone concentration, and the pheromone is enhanced by the increasing number of ants. As more and more ants follow the same route, it becomes the favoured path. Thus, some favourite routes (often the shortest or more efficient) emerge. This is actually a positive feedback mechanism.Emerging behaviour exists in an ant colony and such emergence arises from simple interactions among individual ants. Individual ants act according to simple and local information (such as pheromone concentration) to carry out their activities. Although there is no master ant overseeing the entire colony and broadcasting instructions to the individual ants, organized behaviour still emerges automatically. Therefore, such emergent behaviour is similar to other self-organized phenomena which occur in many processes in nature such as the pattern formation in animal skins (tiger and zebra skins).The foraging pattern of some ant species (such as the army ants) can show extraordinary regularity. Army ants search for food along some regular routes with an angle of about apart. We do not know how they manage to follow such regularity, but studies show that they could move in an area and build a bivouac and start foraging. On the first day, they forage in a random direction, say, the north and travel a few hundred meters, then branch to cover a large area. The next day, they will choose a different direction, which is about from the direction on the previous day and cover a large area. On the following day, they again choose a different direction about from the second day’s direction. In this way, they cover the whole area over about 2 weeks and they move out to a different location to build a bivouac and forage again.The interesting thing is that they do not use the angle of (this would mean that on the fourth day, they will search on the empty area already foraged on the first day). The beauty of this angle is that it leaves an angle of about from the direction on the first day. This means they cover the whole circle in 14 days without repeating (or covering a previously-foraged area). This is an amazing phenomenon.3.2 Ant Colony OptimizationBased on these characteristics of ant behaviour, scientists have developed a number ofpowerful ant colony algorithms with important progress made in recent years. Marco Dorigo pioneered the research in this area in 1992. In fact, we only use some of the nature or the behaviour of ants and add some new characteristics, we can devise a class of new algorithms.The basic steps of the ant colony optimization (ACO) can be summarized as the pseudo code shown in Fig. 3.1.Two important issues here are: the probability of choosing a route, and the evaporation rate of pheromone. There are a few ways of solving these problems although it is still an area of active research. Here we introduce the current best method. For a network routing problem, the probability of ants at a particular node to choose the route from node to node is given bywhere and are the influence parameters, and their typical values are .is the pheromone concentration on the route between and , and the desirability ofthe same route. Some knowledge about the route such as the distance is often used so that ,which implies that shorter routes will be selected due to their shorter travelling time, and thus the pheromone concentrations on these routes are higher.This probability formula reflects the fact that ants would normally follow the paths with higher pheromone concentrations. In the simpler case when , the probability of choosing a path by ants is proportional to the pheromone concentration on the path. The denominator normalizes the probability so that it is in the range between 0 and 1.The pheromone concentration can change with time due to the evaporation of pheromone. Furthermore, the advantage of pheromone evaporation is that the system could avoid being trapped in local optima. If there is no evaporation, then the path randomly chosen by the first ants will become the preferred path as the attraction of other ants by their pheromone. For a constant rate of pheromone decay or evaporation, the pheromone concentration usually varies with time exponentiallywhere is the initial concentration of pheromone and t is time. If , then we have . For the unitary time increment , the evaporation can beapproximated by . Therefore, we have the simplified pheromone update formula:where is the rate of pheromone evaporation. The increment is the amount of pheromone deposited at time t along route to when an ant travels a distance . Usually . If there are no ants on a route, then the pheromone deposit is zero.There are other variations to these basic procedures. A possible acceleration scheme is to use some bounds of the pheromone concentration and only the ants with the current global best solution(s) are allowed to deposit pheromone. In addition, certain ranking of solution fitness can also be used. These are hot topics of current research.3.3 Double Bridge ProblemA standard test problem for ant colony optimization is the simplest double bridge problem with two branches (see Fig. 3.2) where route (2) is shorter than route (1). The angles of these two routes are equal at both point A and pointB so that the ants have equal chance (or 50-50 probability) of choosing each route randomly at the initial stage at point A.Initially, fifty percent of the ants would go along the longer route (1) and the pheromone evaporates at a constant rate, but the pheromone concentration will become smaller as route (1) is longer and thus takes more time to travel through. Conversely, the pheromone concentration on the shorter route will increase steadily. After some iterations, almost all the ants will move along the shorter route. Figure 3.3 shows the initial snapshot of 10 ants (5 on each route initially) and the snapshot after 5 iterations (or equivalent to 50 ants have moved along this section). Well, there are 11 ants, and one has not decided which route to follow as it just comes near to the entrance.Almost all the ants (well, about 90% in this case) move along the shorter route.Here we only use two routes at the node, it is straightforward to extend it to the multiple routes at a node. It is expected that only the shortest route will be chosen ultimately. As any complex network system is always made of individual nodes, this algorithms can be extended to solve complex routing problems reasonably efficiently. In fact, the ant colony algorithms have been successfully applied to the Internet routing problem, the travelling salesman problem, combinatorial optimization problems, and other NP-hard problems.3.4 Virtual Ant AlgorithmAs we know that ant colony optimization has successfully solved NP-hard problems such asthe travelling salesman problem, it can also be extended to solve the standard optimization problems of multimodal functions. The only problem now is to figure out how the ants will move on an n-dimensional hyper-surface. For simplicity, we will discuss the 2-D case which can easily be extended to higher dimensions. On a 2D landscape, ants can move in any direction or , but this will cause some problems. How to update the pheromone at a particular point as there are infinite number of points. One solution is to track the history of each ant moves and record the locations consecutively, and the other approach is to use a moving neighbourhood or window. The ants ‘smell’ the pheromone concentration of their neighbourhood at any particular location.In addition, we can limit the number of directions the ants can move by quantizing the directions. For example, ants are only allowed to move left and right, and up and down (only 4 directions). We will use this quantized approach here, which will make the implementation much simpler. Furthermore, the objective function or landscape can be encoded into virtual food so that ants will move to the best locations where the best food sources are. This will make the search process even more simpler. This simplified algorithm is called Virtual Ant Algorithm (VAA) developed by Xin-She Yang and his colleagues in 2006, which has been successfully applied to topological optimization problems in engineering.The following Keane function with multiple peaks is a standard test functionThis function without any constraint is symmetric and has two highest peaks at (0, 1.39325) and (1.39325, 0). To make the problem harder, it is usually optimized under two constraints:This makes the optimization difficult because it is now nearly symmetric about x = y and the peaks occur in pairs where one is higher than the other. In addition, the true maximum is, which is defined by a constraint boundary.Figure 3.4 shows the surface variations of the multi-peaked function. If we use 50 roaming ants and let them move around for 25 iterations, then the pheromone concentrations (also equivalent to the paths of ants) are displayed in Fig. 3.4. We can see that the highest pheromoneconcentration within the constraint boundary corresponds to the optimal solution.It is worth pointing out that ant colony algorithms are the right tool for combinatorial and discrete optimization. They have the advantages over other stochastic algorithms such as genetic algorithms and simulated annealing in dealing with dynamical network routing problems.For continuous decision variables, its performance is still under active research. For the present example, it took about 1500 evaluations of the objective function so as to find the global optima. This is not as efficient as other metaheuristic methods, especially comparing with particle swarm optimization. This is partly because the handling of the pheromone takes time. Is it possible to eliminate the pheromone and just use the roaming ants? The answer is yes. Particle swarm optimization is just the right kind of algorithm for such further modifications which will be discussed later in detail.第二部分中文翻译第二章遗传算法2.1 引言遗传算法是由John Holland和他的同事于二十世纪六七十年代提出的基于查尔斯·达尔文的自然选择学说而发展的一种生物进化的抽象模型。
遗传算法(英文原文)
![遗传算法(英文原文)](https://img.taocdn.com/s3/m/b7d7cbc95122aaea998fcc22bcd126fff7055d2d.png)
What is a genetic algorithm?●Methods of representation●Methods of selection●Methods of change●Other problem-solving techniquesConcisely stated, a genetic algorithm (or GA for short) is a programming technique that mimics biological evolution as a problem-solving strategy. Given a specific problem to solve, the input to the GA is a set of potential solutions to that problem, encoded in some fashion, and a metric called a fitness function that allows each candidate to be quantitatively evaluated. These candidates may be solutions already known to work, with the aim of the GA being to improve them, but more often they are generated at random.The GA then evaluates each candidate according to the fitness function. In a pool of randomly generated candidates, of course, most will not work at all, and these will be deleted. However, purely by chance, a few may hold promise - they may show activity, even if only weak and imperfect activity, toward solving the problem.These promising candidates are kept and allowed to reproduce. Multiple copies are made of them, but the copies are not perfect; random changes are introduced during the copying process. These digital offspring then go on to the next generation, forming a new pool of candidate solutions, and are subjected to a second round of fitness evaluation. Those candidate solutions which were worsened, or made no better, by the changes to their code are again deleted; but again, purely by chance, the random variations introduced into the population may have improved some individuals, making them into better, more complete or more efficient solutions to the problem at hand. Again these winning individuals are selected and copied over into the next generation with random changes, and the process repeats. The expectation is that the average fitness of the population will increase each round, and so by repeating this process for hundreds or thousands of rounds, very good solutions to the problem can be discovered.As astonishing and counterintuitive as it may seem to some, genetic algorithms have proven to be an enormously powerful and successful problem-solving strategy, dramatically demonstratingthe power of evolutionary principles. Genetic algorithms have been used in a wide variety of fields to evolve solutions to problems as difficult as or more difficult than those faced by human designers. Moreover, the solutions they come up with are often more efficient, more elegant, or more complex than anything comparable a human engineer would produce. In some cases, genetic algorithms have come up with solutions that baffle the programmers who wrote the algorithms in the first place!Methods of representationBefore a genetic algorithm can be put to work on any problem, a method is needed to encode potential solutions to that problem in a form that a computer can process. One common approach is to encode solutions as binary strings: sequences of 1's and 0's, where the digit at each position represents the value of some aspect of the solution. Another, similar approach is to encode solutions as arrays of integers or decimal numbers, with each position again representing some particular aspect of the solution. This approach allows for greater precision and complexity than the comparatively restricted method of using binary numbers only and often "is intuitively closer to the problem space" (Fleming and Purshouse 2002, p. 1228).This technique was used, for example, in the work of Steffen Schulze-Kremer, who wrote a genetic algorithm to predict the three-dimensional structure of a protein based on the sequence of amino acids that go into it (Mitchell 1996, p. 62). Schulze-Kremer's GA used real-valued numbers to represent the so-called "torsion angles" between the peptide bonds that connect amino acids. (A protein is made up of a sequence of basic building blocks called amino acids, which are joined together like the links in a chain. Once all the amino acids are linked, the protein folds up into a complex three-dimensional shape based on which amino acids attract each other and which ones repel each other. The shape of a protein determines its function.) Genetic algorithms for training neural networks often use this method of encoding also.A third approach is to represent individuals in a GA as strings of letters, where each letter again stands for a specific aspect of the solution. One example of this technique is Hiroaki Kitano's "grammatical encoding" approach, where a GA was put to the task of evolving a simple set of rules called a context-freegrammar that was in turn used to generate neural networks for a variety of problems (Mitchell 1996, p. 74).The virtue of all three of these methods is that they make it easy to define operators that cause the random changes in the selected candidates: flip a 0 to a 1 or vice versa, add or subtract from the value of a number by a randomly chosen amount, or change one letter to another. (See the section on Methods of change for more detail about the genetic operators.) Another strategy, developed principally by John Koza of Stanford University and called genetic programming, represents programs as branching data structures called trees (Koza et al. 2003, p. 35). In this approach, random changes can be brought about by changing the operator or altering the value at a given node in the tree, or replacing one subtree with another.Figure 1:Three simple program trees of the kind normally used in genetic programming. The mathematical expression that each one represents is given underneath.It is important to note that evolutionary algorithms do not need to represent candidate solutions as data strings of fixed length. Some do represent them in this way, but others do not; for example, Kitano's grammatical encoding discussed above can be efficiently scaled to create large and complex neural networks, and Koza's genetic programming trees can grow arbitrarily large as necessary to solve whatever problem they are applied to.Methods of selectionThere are many different techniques which a genetic algorithm can use to select the individuals to be copied over into the next generation, but listed below are some of the most common methods.Some of these methods are mutually exclusive, but others can be and often are used in combination.Elitist selection: The most fit members of each generation are guaranteed to be selected. (Most GAs do not use pure elitism, but instead use a modified form where the single best, or a few of the best, individuals from each generation are copied into the next generation just in case nothing better turns up.)Fitness-proportionate selection: More fit individuals are more likely, but not certain, to be selected.Roulette-wheel selection: A form of fitness-proportionate selection in which the chance of an individual's being selected is proportional to the amount by which its fitness is greater or less than its competitors' fitness. (Conceptually, this can be represented as a game of roulette - each individual gets a slice of the wheel, but more fit ones get larger slices than less fit ones. The wheel is then spun, and whichever individual "owns" the section on which it lands each time is chosen.)Scaling selection: As the average fitness of the population increases, the strength of the selective pressure also increases and the fitness function becomes more discriminating. This method can be helpful in making the best selection later on when all individuals have relatively high fitness and only small differences in fitness distinguish one from another.Tournament selection: Subgroups of individuals are chosen from the larger population, and members of each subgroup compete against each other. Only one individual from each subgroup is chosen to reproduce.Rank selection: Each individual in the population is assigned a numerical rank based on fitness, and selection is based on this ranking rather than absolute differences in fitness. The advantage of this method is that it can prevent very fit individuals from gaining dominance early at the expense of less fit ones, which would reduce the population's genetic diversity and might hinder attempts to find an acceptable solution.Generational selection: The offspring of the individuals selected from each generation become the entire next generation. No individuals are retained between generations.Steady-state selection: The offspring of the individuals selected from each generation go back into the pre-existing gene pool, replacing some of the less fit members of the previous generation. Some individuals are retained between generations.Hierarchical selection: Individuals go through multiple rounds of selection each generation. Lower-level evaluations are faster and less discriminating, while those that survive to higher levels are evaluated more rigorously. The advantage of this method is that it reduces overall computation time by using faster, less selective evaluation to weed out the majority of individuals that show little or no promise, and only subjecting those who survive this initial test to more rigorous and more computationally expensive fitness evaluation.Methods of changeOnce selection has chosen fit individuals, they must be randomly altered in hopes of improving their fitness for the next generation. There are two basic strategies to accomplish this. The first and simplest is called mutation. Just as mutation in living things changes one gene to another, so mutation in a genetic algorithm causes small alterations at single points in an individual's code.The second method is called crossover, and entails choosing two individuals to swap segments of their code, producing artificial "offspring" that are combinations of their parents. This process is intended to simulate the analogous process of recombination that occurs to chromosomes during sexual reproduction. Common forms of crossover include single-point crossover, in which a point of exchange is set at a random location in the two individuals' genomes, and one individual contributes all its code from before that point and the other contributes all its code from after that point to produce an offspring, and uniform crossover, in which the value at any given location in the offspring's genome is either the value of one parent's genome at that location or the value of the other parent's genome at that location, chosen with 50/50 probability.Figure 2:Crossover and mutation. The above diagrams illustrate the effect of each of these genetic operators on individuals in a population of 8-bit strings. The upper diagram shows two individuals undergoing single-point crossover; the point of exchange is set between the fifth and sixth positions in the genome, producing a new individual that is a hybrid of its progenitors. The second diagram shows an individual undergoing mutation at position 4, changing the 0 at that position in its genome to a 1.Other problem-solving techniquesWith the rise of artificial life computing and the development of heuristic methods, other computerizedproblem-solving techniques have emerged that are in some ways similar to genetic algorithms. This section explains some of these techniques, in what ways they resemble GAs and in what ways they differ.Neural networksA neural network, or neural net for short, is a problem-solving method basedon a computer model of how neurons are connected in the brain. A neuralnetwork consists of layers of processing units called nodes joined bydirectional links: one input layer, one output layer, and zero or more hiddenlayers in between. An initial pattern of input is presented to the input layer ofthe neural network, and nodes that are stimulated then transmit a signal to thenodes of the next layer to which they are connected. If the sum of all theinputs entering one of these virtual neurons is higher than that neuron'sso-called activation threshold, that neuron itself activates, and passes on itsown signal to neurons in the next layer. The pattern of activation thereforespreads forward until it reaches the output layer and is there returned as asolution to the presented input. Just as in the nervous system of biologicalorganisms, neural networks learn and fine-tune their performance over timevia repeated rounds of adjusting their thresholds until the actual outputmatches the desired output for any given input. This process can be supervisedby a human experimenter or may run automatically using a learning algorithm(Mitchell 1996, p. 52). Genetic algorithms have been used both to build and totrain neural networks.Figure 3:A simple feedforward neural network, with one input layer consisting of four neurons, one hidden layer consisting of three neurons, and one output layer consisting of four neurons. The number on each neuron represents its activation threshold: it will only fire if it receives at least that many inputs. The diagram shows the neural network being presented with an input string and shows how activation spreads forward through thenetwork to produce an output.Hill-climbingSimilar to genetic algorithms, though more systematic and less random, ahill-climbing algorithm begins with one initial solution to the problem at hand, usually chosen at random. The string is then mutated, and if the mutationresults in higher fitness for the new solution than for the previous one, thenew solution is kept; otherwise, the current solution is retained. The algorithmis then repeated until no mutation can be found that causes an increase in thecurrent solution's fitness, and this solution is returned as the result (Koza et al.2003, p. 59). (To understand where the name of this technique comes from,imagine that the space of all possible solutions to a given problem isrepresented as a three-dimensional contour landscape. A given set ofcoordinates on that landscape represents one particular solution. Thosesolutions that are better are higher in altitude, forming hills and peaks; thosethat are worse are lower in altitude, forming valleys. A "hill-climber" is thenan algorithm that starts out at a given point on the landscape and movesinexorably uphill.) Hill-climbing is what is known as a greedy algorithm,meaning it always makes the best choice available at each step in the hopethat the overall best result can be achieved this way. By contrast, methodssuch as genetic algorithms and simulated annealing, discussed below, are notgreedy; these methods sometimes make suboptimal choices in the hopes thatthey will lead to better solutions later on.Simulated annealingAnother optimization technique similar to evolutionary algorithms is known as simulated annealing. The idea borrows its name from the industrial process of annealing in which a material is heated to above a critical point to soften it, then gradually cooled in order to erase defects in its crystalline structure, producing a more stable and regular lattice arrangement of atoms (Haupt and Haupt 1998, p. 16). In simulated annealing, as in genetic algorithms, there is a fitness function that defines a fitness landscape; however, rather than a population of candidates as in GAs, there is only one candidate solution.Simulated annealing also adds the concept of "temperature", a global numerical quantity which gradually decreases over time. At each step of the algorithm, the solution mutates (which is equivalent to moving to an adjacent point of the fitness landscape). The fitness of the new solution is then compared to the fitness of the previous solution; if it is higher, the new solution is kept. Otherwise, the algorithm makes a decision whether to keep or discard it based on temperature. If the temperature is high, as it is initially, even changes that cause significant decreases in fitness may be kept and used as the basis for the next round of the algorithm, but as temperature decreases, the algorithm becomes more and more inclined to only accept fitness-increasing changes. Finally, the temperature reaches zero and the system "freezes"; whatever configuration it is in at that point becomes the solution. Simulated annealing is often used for engineering design applications such as determining the physical layout of components on a computer chip (Kirkpatrick, Gelatt and V ecchi 1983).。
Strategies for the parallel implementation of metaheuristics
![Strategies for the parallel implementation of metaheuristics](https://img.taocdn.com/s3/m/2b24b9ea856a561252d36f03.png)
STRATEGIES FOR THE PARALLEL IMPLEMENTATION OFMETAHEURISTICS∗VAN-DAT CUNG†,SIMONE L.MARTINS‡,CELSO C.RIBEIRO§,ANDCATHERINE ROUCAIROL¶Abstract.Parallel implementationsof metaheuris ticsappear quite naturally asan effective alternative to speed up the search for approximate solutions of combinatorial optimization problems. They not only allow solving larger problems orfinding improved solutions with respect to their sequential counterparts,but they also lead to more robust algorithms.We review some trends in parallel computing and report recent results about linear speedups that can be obtained with parallel implementations using multiple independent processors.Parallel implementations of tabu search, GRASP,genetic algorithms,simulated annealing,and ant colonies are reviewed and discussed to illustrate the main strategies used in the parallelization of different metaheuristics and their hybrids.1.Introduction.Although metaheuristics provide quite effective strategies for finding approximate solutions to combinatorial optimization problems,the computa-tion times associated with the exploration of the solution space may be very large. With the proliferation of parallel computers,powerful workstations,and fast commu-nication networks,parallel implementations of metaheuristics appear quite naturally as an alternative to speedup the search for approximate solutions.Several strategies have been proposed and applied to different problems.Moreover,parallel implemen-tations also allow solving larger problems orfinding improved solutions,with respect to their sequential counterparts,due to the partitioning of the search space and to more possibilities for search intensification and diversification.Therefore,parallelism is a possible way not only to reduce the running time of local search algorithms and metaheuristics,but also to improve their effectiveness and robustness.The latter are likely to be the most important contribution of parallelism to metaheuristics.Robust implementations can be obtained by the use of different combinations of strategies and parameter settings at each processor,leading to high quality solutions for different classes of instances of the same problem,without too much effort in parameter tuning.We present in the next section some current trends in parallel computing,concerning in particular architectural developments,parallel programming environments,and types of parallelism and parallel programming mod-els.In Section3,we draw some considerations about speedup and efficiency in parallel systems.We discuss some recent results showing that it is possible to achieve linear speedups in the time tofind a solution within some target value,using parallel imple-mentations of different metaheuristics based on multiple independent processors,such ∗May3,2001†Laboratoire PRiSM-CNRS,Universit´e de Versailles,45avenue de Etats Unis,78035Versailles Cedex,France.E-mail:Van-Dat.Cung@prism.uvsq.fr‡Department of Computer Science,Catholic University of Rio de Janeiro,Rio de Janeiro,RJ 22453-900,Brazil.Work of thisauthor wass pons ored by F APERJ grant151921/99.E-mail: simone@inf.puc-rio.br§Department of Computer Science,Catholic University of Rio de Janeiro,Rio de Janeiro,RJ 22453-900,Brazil.Work of thisauthor wass pons ored by F APERJ grant150966/99and CNPq grants302281/85-1,202005/89-5,and910062/99-4.E-mail:celso@inf.puc-rio.br ¶Laboratoire PRiSM-CNRS,Universit´e de Versailles,45avenue de Etats Unis,78035Versailles Cedex,France.E-mail:Catherine.Roucairol@prism.uvsq.fr12as simulated annealing,iterated local search,tabu search(under some conditions), and GRASP.Next,we present in Section4a classification of parallel implementa-tions of metaheuristics,considering the underlying parallel local search strategy and using the notion of search threads.Different parallelization strategies are discussed and compared.Parallel implementations of tabu search,GRASP,genetic algorithms, simulated annealing,and ant colonies are reviewed in Section5.Some concluding remarks are drawn in the last section.2.Current trends in parallel computing.In this section,we review some trends and fundamental issues in parallel computing,which interfere in the design and in the efficiency of parallel algorithms.2.1.Architectures.The architectures of parallel machines have considerably diversified in the nineties[18,34,64].In shared-memory machines,all processors are able to address the whole memory space and communication between tasks is achieved through read and write operations on the shared memory.Distributed-memory machines have their memory physically distributed among the processors. Each processor can only address its own memory and communication among processes executing on different processors is performed by messages passed through the com-munication network.The MIMD family(Multiple Instruction Stream,Multiple Data Stream machines,according with Flynn’s taxonomy[84])evolved from shared-memory machines with a few processors(Sequent Balance,Encore Multimax)to distributed-memory machines with hundreds or even thousands of processors interconnected by networks with different topologies,such as the hierarchical ring for the KSR,the two-dimensional grid for the Intel Paragon,the three-dimensional tore for the CRAY T3D/E,and multi-stage switches for the IBM-SP systems,among many others.Syn-chronous SIMD(Single Instruction Stream,Multiple Data Stream)massively parallel machines with up to655364-or8-bit processors such as MasPar MP-1and MP-2, and the popular Connection Machines CM-1and CM-2have also been developed. Their processors had a small memory capacity(e.g.16Kbytes on the MasPar MP-1) and were interconnected by specific networks such as the two-dimensional toric grid for the MasPar machines and the hypercube for CM-1and CM-2.Since development costs and commercial prices turned out to be extremely high, only large and well established companies such as IBM,SGI-Cray,and Intel still propose parallel machines with the same fundamental characteristics of the above. Several companies have even disappeared,as it was the case for Thinking Machines Corporation which developed and commercialized CM-1and CM-2.The end of the nineties has witnessed the resurgence of shared memory multi-processor machines(Symmetric MP or,simply,SMP),ranging from two to a few hundred processors(SGI Origin).However,the most important innovation in recent years is the connection of SMP machines through fast local networks(Myrinet,SCI, ATM,GigaEthernet)and the connection of general purpose parallel machines through national or international very high speed networks.Besides allowing for scalability and fault-tolerance,networks of computers present good cost/performance ratios when compared to other parallel machines.This has led to an explosion in the use of clus-ters of computers,which account for one of the leading tendencies among the current trends in parallel processing[34,158].Basically,a cluster is a collection of PCs or workstations connected via a network and using off-the-shelf components.The sig-3nificant improvements in performance and reliability of workstations and high-speed networks strongly contributed to turn the use of clusters into an appealing,low-cost alternative for parallel applications.Clusters can be put together very easily,using operating systems such as public domain Linux,networks such as Ethernet,SCI, or Myrinet,and software environments such as MPI or PVM.Some cluster systems are currently among those with the best cost/performance ratios,ranking among the fastest and most powerful machines.2.2.Parallel programming environments.The architecture of a parallel machine has a strong influence in the degree of parallelism or granularity of the ap-plications it can run,i.e.,the ratio between computation time and communication time.The granularity may also be seen as the amount of computation performed between two communication steps.If the architecture of the target machine allows for fast communication(high speed networkor shared memory),thenfine-grained ap-plications are more suitable to be parallelized;otherwise medium-or coarse-grained applications should be envisioned for parallel implementation.Parallelism leads to the need for new algorithms designed to exploit concurrency, because many times the best parallel strategy cannot be achieved by just adapting a sequential algorithm[85,121].In contrast to sequential programs,parallel algorithms are strongly dependent on the computer architecture for which they are designed. Programs implementing these algorithms are developed with parallel programming tools,which typically provide support for developing programs composed by several processes that exchange information during their execution.Many programming tools are available for the implementation of parallel programs,each of them being more suitable for some specific problem type or machine architecture.The choice of the programming tool to be used depends on the characteristics of the problem to be solved and should match the programming model underlying the parallel algorithm to be implemented.For instance,some tools might be more suitable for numerical algorithms based on regular domain decomposition,while others are more appropriate for applications that need dynamic spawning of tasks or that make use of irregular data structures.There are basically three strategies for the development of parallel programs.The first one consists in using parallel programming languages,which are essentially se-quential languages augmented by a set of special system calls.These calls provide low-level primitives for message passing,process synchronization,process creation, mutual exclusion,and other functions.Among them,we may cite HPF(High Per-formance Fortran)[105,117,118,139,140]and OpenMP[66],which explore inher-ent data parallelism(the same instruction set is applied to multiple items of a data structure)appearing for instance in do-loops.FORTRAN90provides constructs for specifying concurrent execution based on data parallelism.HPF extends FORTRAN 90with additional parallel constructs and data placement directives.A data parallel program developed using both languages is a sequence of operations that are applied to some or all elements of an array.Besides inserting parallelisation directives,the programmer does not explicitely handle communication primitives.Parallelisation directives are activate along compilation.Such parallel programming languages are well adapted tofine-grained synchronous numerical applications.In the second and currently most used strategy,tasks communicate by exchanging messages using communication libraries such as PVM(Parallel Virtual Machine)[104]4or MPI(Message-Passing Interface)[85,102,103,145,146,147,206].To increase ef-ficiency and avoid context swapping,each processor usually runs one single process (from now on,we do not make any difference between a process and the proces-sor where it runs)in charge of computations and communication.This program-ming mode is particularly suited to coarse-grained applications running on clusters or networks of workstations.PVM is a pioneer,widely used message passing library, created to support the development of distributed and parallel programs executed on a set of interconnected heterogeneous machines.A PVM program consists of a set of tasks that communicate within a parallel virtual machine by exchanging messages.A configurationfile created by the user defines the physical machines that comprise the virtual machine.The application programmer writes a parallel program by embedding these routines into a C,C++,or FORTRAN code.Sev-eral parallel implementations of metaheuristics have been developped in PVM,see e.g.[6,9,15,20,36,58,68,81,89,151,161,162,163,164,196,197,199,200].MPI is a proposal for the standardization of a message passing interface for distributed memory parallel machines,with the aim of enabling program portability among dif-ferent parallel machines.It just defines a message passing programming interface, not a complete parallel programming environment.It does not provide any definition for fault tolerance support and assumes that the computing environment is reliable. Many implementations of the MPI standard are available,all based on a parallel vir-tual machine composed by several connected heterogeneous computers.Each of these computers executes a process used to control the exchange of messages among them. Again,several parallel implementations of metaheuristics have been developed using MPI,see e.g.[7,23,41,76,116,132,134,136,178,183].Finally,the increasing use of SMP clusters is leading to the generalized use of programming with lightweight processes such as POSIX threads[33,110]or Java threads[150].Threads are a general operating systems concept,not specifically re-lated to parallel programming.However,due to their importance in providing support for concurrent programming,and to their extensive use in many of the tools discussed in other sections,their understanding is essential to a parallel programmer.Threads communicate using the global memory allocated to the associated processes.Pro-gramming with threads is specially useful in shared-memory machines,since in this case the global variables model the shared memory to which all processors have access. Smaller creation times and context swapping times lead to an improved superposi-tion of communication and computation tasks along the execution time.The use of threads is particularly suited to medium-and coarse-grained parallel applications.Re-cently,the concept of threads has been extended to distributed-memory machines with programming tools such as Cilk[167,190],Charm++/Converse[30,111,112,113], Athapascan[49],PM2[159],and Java threads[128],among others.2.3.Types of parallelism and parallel programing models.There are two basic types of parallelism that can be explored in the development of parallel programs: data parallelism and functional parallelism[85,121,135,144].In the case of data parallelism,the same instruction set is applied to multiple items of a data structure. This type of parallelism can be easily implemented in shared memory machines.Data locality is a major issue to be considered,regarding the efficiency of implementations in distributed memory machines.In the case of functional parallelism,the program is partitioned into cooperative tasks.Each task can execute a different code and all tasks can run asynchronously.Data locality and the amount of processing within each5 taskare important concerns for efficient implementations.Independently from machine architecture and programming environment consid-erations,we may distinguish two main parallel programming models:centralized and distributed.In the centralized model,also called master-slave or client-server,data are either handled by a specialized processor(the master)or stored in a shared mem-ory.In thefirst case,the slaves communicate with the master to get workto be done and to send results.The master is in charge of load balancing and may also eventually perform computations.In the second case,the processors obtain the work to be done from the shared memory,where they also store the results they obtain. The distributed model is characterized by the absence of global data,either shared or centralized.All data is local to each rmation is shared or made global by the exchange of messages among the processors.SPMD(Single Program, Multiple Data)is a model used for parallel programming on MIMD machines,based on the distributed programming model,where the same code is executed on different processors over distinct data.It has been widely used due to the ease of designing a program that consists of a single code running on different processors[137,160,166].The choice of the appropriate programming model strongly depends on the archi-tecture of the target parallel machine where the implementation will run.With the advent of clusters of SMP machines,we see an increase in the number of implementa-tions based on a hybrid model,i.e.,implementations using a centralized model within each SMP machine,running under a distributed model with respect to the machines in the cluster.We will see in the forthcoming sections that parallel implementations of metaheuristics are usually based on either one of these models.3.Speedup and efficiency.Given some problem P,a parallel algorithm A p,and a parallel machine M with q identical processors,we denote by T Ap,M (p)theelapsed time taken by algorithm A p to solve problem P on machine M using p≤qprocessors.We also denote by T As the time tak en by the best(i.e.,the fastest)known sequential algorithm A s to solve the same problem P on a sequential machine whose processor is equivalent to those in the parallel machine M.Then,we definethe speedup s Ap,M (p)of the parallel system defined by algorithm A p and machine Mwhen p processors are used as the ratios Ap,M (p)=T AsT Ap,M(p).We note that if the above definition is to be precise,then both the sequential al-gorithm A s and the parallel algorithm A p are supposed to alwaysfind exactly the same solution to problem P.Although this will not necessarily be the case for most parallel implementations of metaheuristics,as discussed in Section4,this definition will also be used in this context on a less formal basis.We also notice that due to the hardness of establishing the best sequential algorithm for general instances of someproblem,the value of T As in the above formula is often replaced and approximated byT Ap,M (1),i.e.,the time taken by the parallel algorithm A p using only one processorof the parallel machine M.The speedup measures the acceleration observed for the parallel algorithm running on p processors,with respect to the best sequential algorithm.The efficiencyηAp,M(p)6of the above parallel system is given byηAp,M (p)=s Ap,M(p)p.It measures the average fraction of the time along which each processor is effectivelyused.Ideal efficiency values are as much close to one as possible,i.e.,each processorshould be used for as much time as possible in effective computations.However,someanomalies characterized by efficiency values larger than one are observed in someproblem instances,usually due to wrong decisions taken by the sequential algorithm(see Porto and Ribeiro[161]for some illustrative results in the case of a single-walkparallel tabu search implementation,as well as e.g.[123,124,130,131]for results anddiscussions in the context of parallel branch-and-bound algorithms).Several authors have recently addressed the efficiency of parallel implementationsof metaheuristics based on running multiple copies of the same sequential algorithm,classified as independent multi-thread strategies in Section4.2.1.A given target value τfor the objective function is broadcasted to all processors which independently ex-ecute the sequential algorithm.All processors halt immediately after one of themfinds a solution with value at least as good asτ.The speedup is given by the ratiobetween the times needed tofind a solution with value at least as good asτ,usingrespectively the sequential algorithm and the parallel implementation with p proces-sors.Some care is needed to ensure that no two iterations start with identical randomnumber generator seeds.These speedups are linear for many parallel implementationsof metaheuristics reported in the literature,i.e.,they are proportional to the numberof processors.A typical example is described in[155],for a PVM implementation ofa parallel GRASP for the MAX-SAT problem.This observation can be explained ifthe random variable time tofind a solution within some target value is exponentiallydistributed,as indicated by the following proposition[203]:Proposition1:Let Pρ(t)be the probability of not having found a given target solutionvalue in t time units withρindependent processes.If P1(t)=e−t/λwithλ∈I R+,corresponding to an exponential distribution,then Pρ(t)=e−ρt/λ.This proposition follows from the definition of the exponential distribution.Itimplies that the probability1−e−ρt/λoffinding a solution within a given targetvalue in timeρt with a sequential algorithm is equal to the probability offinding asolution at least as good as that in time t usingρindependent parallel processors.Hence,it is possible to achieve linear speedups in the time tofind a solution withina target value by multiple independent processors.An analogous proposition can bestated for a two parameter(shifted)exponential distribution:Proposition2:Let Pρ(t)be the probability of not having found a given target solutionvalue in t time units withρindependent processors.If P1(t)=e−(t−µ)/λwithλ∈I R+andµ∈I R+,corresponding to a two parameter exponential distribution,then Pρ(t)=e−ρ(t−µ)/λ.Analogously,this proposition follows from the definition of the two-parameterexponential distribution.It implies that the probability offinding a solution withina given target value in timeρt with a sequential algorithm is equal to1−e−(ρt−µ)/λ,while the probability offinding a solution at least as good as that in time t usingρindependent parallel processors is1−e−ρ(t−µ)/λ.Ifµ=0,then both probabilities700.20.40.60.81024681012P r o b a b i l i t yTime to target value (seconds)Empirical distribution Theoretical distributionFig.3.1.Superimposed empirical and theoretical distributions (times to target values measured in seconds on a SGI Challenge computer with 28processors)are equal and correspond to the non-shifted exponential distribution.Furthermore,if ρµ λ,then the two probabilities are approximately equal and it is possible to approximately achieve linear speedups in the time to find a solution within a target value using multiple independent processors [8].This behavior has been noticed in a number of metaheuristics.These include sim-ulated annealing [70,152];iterated local search algorithms for the traveling salesman problem [75],where it is shown that the probability of finding a sub-optimal solution is given by a shifted exponential distribution,allowing for the time to find the first local optimum;tabu search,provided that the search starts from a local optimum[24,191];and WalkSAT [186]on hard random 3-SAT problems [108].Recently,Aiex et al.[8]have shown experimentally that the solution times for GRASP also have this property,showing that they fit a two-parameter exponential distribution.Fig-ure 3.1illustrates this result,depicting the superimposed empirical and theoretical distributions observed for one of the cases studied along the computational experi-ments reported by the authors,which involved GRASP procedures applied to 2400instances of five different problems:maximum independent set [80,171],quadratic assignment [129,172],graph planarization [175,177],maximum weighted satisfiabil-ity [173,174],and maximum covering [170].The same result still holds when GRASP is implemented in conjunction with a post-optimization path-relinking procedure [7].4.Parallelization strategies.Even though parallelism is not yet systemati-cally used to speed up or to improve the effectiveness of metaheuristics,parallel im-plementations abound in the literature.Parallelization strategies considerably differ from one technique to another.Although much of the initial efforts have been con-8centrated on the parallelization of simulated annealing[2,19,100],they were quickly followed by parallel implementations of genetic algorithms and tabu search.Thefirst classification of parallel tabu search algorithms was proposed by Voss[205],based on the use of different search strategies and initial solutions.It was later generalized by Crainic et al.[60,63],by taking into account additional aspects such as communica-tion organization and information handling.We describe an architecture-independent classification considering the underlying parallel local search strategy,inspired from that proposed in[203].We also discuss in details some applications of these strate-gies.Due to the high number of applications,we have chosen a few examples for each strategy,among those we are more familiar with.Metaheuristics based on local search may be seen as the exploration of the neigh-borhood graph(or state space graph)associated with a problem instance,in which nodes correspond to solutions and edges connect neighbor solutions.Each iteration consists basically in the evaluation of the solutions in the neighborhood of the current solution,followed by a move towards one of them,avoiding as much as possible to pre-maturely stop in a local optimum and until no further improvement of the best known solution can be achieved.The solutions visited along the search define a walk(or a trajectory)in the neighborhood graph.Parallel implementations of metaheuristics use several processors to concurrently generate or explore the neighborhood graph. Since this graph is not known beforehand,parallelizations of metaheuristics are irreg-ular applications,whose efficiency strongly depends on the appropriate choice of the granularity of the algorithm and on the use of load balancing techniques.We distinguish between two approaches for the parallelization of the local search, according with the number of trajectories investigated in the neighborhood graph:(1)Single walk:fine-to medium-grained tasks(2)Multiple walks:medium-to coarse-grained tasksa.independent search threadsb.cooperative search threadsIn the case of a single-walk parallelization,one unique trajectory is traversed in the neighborhood graph.The search for the best neighbor at each iteration is performed in parallel,either by the parallelization of the cost function evaluation or by domain decomposition(the neighborhood evaluation or the problem instance itself are decomposed and distributed over different processors).A multiple-walk parallelization is characterized by the investigation in parallel of multiple trajectories,each of which by a different processor.We call by a search thread the process running in each processor traversing a walkin the neighborhood graph.These threads can be either independent(the search threads do not exchange any information they collect)or cooperative(the information collected along each trajectory is disseminated and used by the other threads).4.1.Single-walk parallelizations.The goal of this strategy is basically to speed up the sequential traversal of the neighborhood graph.The taskwhose execu-tion is distributed among the processors may be the evaluation of the cost function at each neighbor of the current solution or the construction of the neighborhood itself. In thefirst case,speedups may be obtained without any modification in the trajec-tory followed by the sequential implementation.In the second case,the neighborhood decomposition and its distribution over several processors often allow more deeply9 examining a larger portion of the neighborhood than that examined by a sequential implementation,which often uses neighborhood reduction techniques.Thus,the tra-jectory followed in the neighborhood graph may be better guided in parallel than in sequential mode,possibly leading to improved solutions.This approach may also be useful whenever one wants to explore extended neighborhoods obtained by move composition techniques such as ejection chains[93,98].The idea of distributed neighborhoods may be used to formalize parallelization strategies based on domain decomposition.A strategy based on distributed neighbor-hoods consists of two parts.Each iteration of the local search starts by broadcasting the current solution to all processors,together with a domain decomposition which defines the local neighborhoods(i.e.,the portions of the complete neighborhood which will be investigated by each processor).This decomposition is temporary and may change from an iteration to another.In the second part,each processorfinds and proposes a move within its local neighborhood.These moves are combined or the best move found within the local neighborhoods is selected,so that a new feasible solution is generated.This process is repeated until the current solution cannot be further improved.Single-walkparallelizations have small or medium granularity and need frequent synchronizations.They are extremely dependent on the application,in terms of neigh-borhood structure and cost function definition.Theirfirst applications appeared in the context of simulated annealing and genetic algorithms.They preserve conver-gence properties and are used in most parallel implementations of simulated anneal-ing[2,19].Although domain decomposition strategies do not always provide sig-nificant reductions in computation times,they are often used due to the need to investigate large neighborhoods.A single-walkparallelization based on neighborhood decomposition of a tabu search algorithm for solving a taskscheduling problem on heterogeneous processors was proposed and discussed by Porto and Ribeiro[161,162,163].The objective func-tion to be minimized is the makespan of the parallel application,i.e.,the time needed for the last processor to halt.Each solution has O(n2)neighbors,which can be ob-tained by reassigning each of its tasks to any other processor.Due to the precedence constraints,the evaluation of the makespan of each solution has time complexity O(n2),where n is the number of tasks.As mentioned by Fiechter[83],synchronous parallelizations usually require extensive communication and therefore are only worthapplying to problems in which the computations performed at each iteration are com-plex and time consuming.This is exactly the case for this problem,in which the search for the best move at each iteration is a computationally intensive taskrunning in time O(n4).Thus,from this point of view,this sequential tabu search algorithm is suitable for parallelization.Supposing p processors are available,the neighborhood is partitioned by distributing to each processor k=1,...,p−1the moves defined by the transfer of the tasks numbered from(k−1) n/p +1to(k−1) n/p + n/p , and to processor p the remaining ones.Some computational results obtained on an IBM SP-1system for problems with up to400tasks are reported in[161].Different PVM implementations,using either the master-slave or the SPMD parallel program-ing models,showed that efficiencies close to the peakunit value(i.e.,speedups of the same order of the number of processors used in the parallel implementation)can be obtained for large problems with up to p=16processors.Additional results reported in[164]for larger taskgraphs modeling typical program structures(such as diamonds,。
遗传算法中英文对照外文翻译文献
![遗传算法中英文对照外文翻译文献](https://img.taocdn.com/s3/m/d30bba31591b6bd97f192279168884868662b84b.png)
遗传算法中英文对照外文翻译文献遗传算法中英文对照外文翻译文献(文档含英文原文和中文翻译)Improved Genetic Algorithm and Its Performance AnalysisAbstract: Although genetic algorithm has become very famous with its global searching, parallel computing, better robustness, and not needing differential information during evolution. However, it also has some demerits, such as slow convergence speed. In this paper, based on several general theorems, an improved genetic algorithm using variant chromosome length and probability of crossover and mutation is proposed, and its main idea is as follows : at the beginning of evolution, our solution with shorter length chromosome and higher probability of crossover and mutation; and at the vicinity of global optimum, with longer length chromosome and lower probability of crossover and mutation. Finally, testing with some critical functions shows that our solution can improve the convergence speed of genetic algorithm significantly , its comprehensive performance is better than that of the genetic algorithm which only reserves the best individual.Genetic algorithm is an adaptive searching technique based on a selection and reproduction mechanism found in the natural evolution process, and it was pioneered by Holland in the 1970s. It has become very famous with its global searching,________________________________ 遗传算法中英文对照外文翻译文献 ________________________________ parallel computing, better robustness, and not needing differential information during evolution. However, it also has some demerits, such as poor local searching, premature converging, as well as slow convergence speed. In recent years, these problems have been studied.In this paper, an improved genetic algorithm with variant chromosome length andvariant probability is proposed. Testing with some critical functions shows that it can improve the convergence speed significantly, and its comprehensive performance is better than that of the genetic algorithm which only reserves the best individual.In section 1, our new approach is proposed. Through optimization examples, insection 2, the efficiency of our algorithm is compared with the genetic algorithm which only reserves the best individual. And section 3 gives out the conclusions. Finally, some proofs of relative theorems are collected and presented in appendix.1 Description of the algorithm1.1 Some theoremsBefore proposing our approach, we give out some general theorems (see appendix)as follows: Let us assume there is just one variable (multivariable can be divided into many sections, one section for one variable) x £ [ a, b ] , x £ R, and chromosome length with binary encoding is 1.Theorem 1 Minimal resolution of chromosome isb 一 a2l — 1Theorem 3 Mathematical expectation Ec(x) of chromosome searching stepwith one-point crossover iswhere Pc is the probability of crossover.Theorem 4 Mathematical expectation Em ( x ) of chromosome searching step with bit mutation isE m ( x ) = ( b- a) P m 遗传算法中英文对照外文翻译文献Theorem 2 wi = 2l -1 2 i -1 Weight value of the ith bit of chromosome is(i = 1,2,・・・l )E *)= P c1.2 Mechanism of algorithmDuring evolutionary process, we presume that value domains of variable are fixed, and the probability of crossover is a constant, so from Theorem 1 and 3, we know that the longer chromosome length is, the smaller searching step of chromosome, and the higher resolution; and vice versa. Meanwhile, crossover probability is in direct proportion to searching step. From Theorem 4, changing the length of chromosome does not affect searching step of mutation, while mutation probability is also in direct proportion to searching step.At the beginning of evolution, shorter length chromosome( can be too shorter, otherwise it is harmful to population diversity ) and higher probability of crossover and mutation increases searching step, which can carry out greater domain searching, and avoid falling into local optimum. While at the vicinity of global optimum, longer length chromosome and lower probability of crossover and mutation will decrease searching step, and longer length chromosome also improves resolution of mutation, which avoid wandering near the global optimum, and speeds up algorithm converging.Finally, it should be pointed out that chromosome length changing keeps individual fitness unchanged, hence it does not affect select ion ( with roulette wheel selection) .2.3 Description of the algorithmOwing to basic genetic algorithm not converging on the global optimum, while the genetic algorithm which reserves the best individual at current generation can, our approach adopts this policy. During evolutionary process, we track cumulative average of individual average fitness up to current generation. It is written as1 X G x(t)= G f vg (t)t=1where G is the current evolutionary generation, 'avg is individual average fitness.When the cumulative average fitness increases to k times ( k> 1, k £ R) of initial individual average fitness, we change chromosome length to m times ( m is a positive integer ) of itself , and reduce probability of crossover and mutation, which_______________________________ 遗传算法中英文对照外文翻译文献________________________________can improve individual resolution and reduce searching step, and speed up algorithm converging. The procedure is as follows:Step 1 Initialize population, and calculate individual average fitness f avg0, and set change parameter flag. Flag equal to 1.Step 2 Based on reserving the best individual of current generation, carry out selection, regeneration, crossover and mutation, and calculate cumulative average of individual average fitness up to current generation 'avg ;f avgStep 3 If f vgg0 三k and Flag equals 1, increase chromosome length to m times of itself, and reduce probability of crossover and mutation, and set Flag equal to 0; otherwise continue evolving.Step 4 If end condition is satisfied, stop; otherwise go to Step 2.2 Test and analysisWe adopt the following two critical functions to test our approach, and compare it with the genetic algorithm which only reserves the best individual:sin 2 弋 x2 + y2 - 0.5 [1 + 0.01( 2 + y 2)]x, y G [-5,5]f (x, y) = 4 - (x2 + 2y2 - 0.3cos(3n x) - 0.4cos(4n y))x, y G [-1,1]22. 1 Analysis of convergenceDuring function testing, we carry out the following policies: roulette wheel select ion, one point crossover, bit mutation, and the size of population is 60, l is chromosome length, Pc and Pm are the probability of crossover and mutation respectively. And we randomly select four genetic algorithms reserving best individual with various fixed chromosome length and probability of crossover and mutation to compare with our approach. Tab. 1 gives the average converging generation in 100 tests.In our approach, we adopt initial parameter l0= 10, Pc0= 0.3, Pm0= 0.1 and k= 1.2, when changing parameter condition is satisfied, we adjust parameters to l= 30, Pc= 0.1, Pm= 0.01.From Tab. 1, we know that our approach improves convergence speed of genetic algorithm significantly and it accords with above analysis.2.2 Analysis of online and offline performanceQuantitative evaluation methods of genetic algorithm are proposed by Dejong, including online and offline performance. The former tests dynamic performance; and the latter evaluates convergence performance. To better analyze online and offline performance of testing function, w e multiply fitness of each individual by 10, and we give a curve of 4 000 and 1 000 generations for fl and f2, respectively.(a) onlineFig. 1 Online and offline performance of fl(a) online (b) onlineFig. 2 Online and offline performance of f2From Fig. 1 and Fig. 2, we know that online performance of our approach is just little worse than that of the fourth case, but it is much better than that of the second, third and fifth case, whose online performances are nearly the same. At the same time, offline performance of our approach is better than that of other four cases.3 ConclusionIn this paper, based on some general theorems, an improved genetic algorithmusing variant chromosome length and probability of crossover and mutation is proposed. Testing with some critical functions shows that it can improve convergence speed of genetic algorithm significantly, and its comprehensive performance is better than that of the genetic algorithm which only reserves the best individual.AppendixWith the supposed conditions of section 1, we know that the validation of Theorem 1 and Theorem 2 are obvious.Theorem 3 Mathematical expectation Ec(x) of chromosome searching step with one point crossover isb - a PEc(x) = 21 cwhere Pc is the probability of crossover.Proof As shown in Fig. A1, we assume that crossover happens on the kth locus, i. e. parent,s locus from k to l do not change, and genes on the locus from 1 to k are exchanged.During crossover, change probability of genes on the locus from 1 to k is 2 (“1” to “0” or “0” to “1”). So, after crossover, mathematical expectation of chromosome searching step on locus from 1 to k is1 chromosome is equal, namely l Pc. Therefore, after crossover, mathematical expectation of chromosome searching step isE (x ) = T 1 -• P • E (x ) c l c ckk =1Substituting Eq. ( A1) into Eq. ( A2) , we obtain 尸 11 b - a p b - a p • (b - a ) 1 E (x ) = T • P • — •• (2k -1) = 7c • • [(2z -1) ― l ] = ——— (1 一 )c l c 2 21 — 121 21 — 1 21 21 —1 k =1 lb - a _where l is large,-——-口 0, so E (x ) 口 -——P2l — 1 c 21 c 遗传算法中英文对照外文翻译文献 厂 / 、 T 1 T 1 b — a - 1E (x )="—w ="一• ---------- • 2 j -1 二 •ck2 j 2 21 -1 2j =1 j =1 Furthermore, probability of taking • (2k -1) place crossover on each locus ofFig. A1 One point crossoverTheorem 4 Mathematical expectation E m(")of chromosome searching step with bit mutation E m (x)—(b a)* P m, where Pm is the probability of mutation.Proof Mutation probability of genes on each locus of chromosome is equal, say Pm, therefore, mathematical expectation of mutation searching step is一i i - b —a b b- aE (x) = P w = P•—a«2i-1 = P•—a q2,-1)= (b- a) •m m i m 21 -1 m 2 i -1 mi=1 i=1一种新的改进遗传算法及其性能分析摘要:虽然遗传算法以其全局搜索、并行计算、更好的健壮性以及在进化过程中不需要求导而著称,但是它仍然有一定的缺陷,比如收敛速度慢。
遗传算法中英文对照外文翻译文献
![遗传算法中英文对照外文翻译文献](https://img.taocdn.com/s3/m/f8a7e1c228ea81c758f5783f.png)
遗传算法中英文对照外文翻译文献(文档含英文原文和中文翻译)Improved Genetic Algorithm and Its Performance Analysis Abstract: Although genetic algorithm has become very famous with its global searching, parallel computing, better robustness, and not needing differential information during evolution. However, it also has some demerits, such as slow convergence speed. In this paper, based on several general theorems, an improved genetic algorithm using variant chromosome length and probability of crossover and mutation is proposed, and its main idea is as follows : at the beginning of evolution, our solution with shorter length chromosome and higher probability of crossover and mutation; and at the vicinity of global optimum, with longer length chromosome and lower probability of crossover and mutation. Finally, testing with some critical functions shows that our solution can improve the convergence speed of genetic algorithm significantly , its comprehensive performance is better than that of the genetic algorithm which only reserves the best individual.Genetic algorithm is an adaptive searching technique based on a selection and reproduction mechanism found in the natural evolution process, and it was pioneered by Holland in the 1970s. It has become very famous with its global searching,parallel computing, better robustness, and not needing differential information during evolution. However, it also has some demerits, such as poor local searching, premature converging, as well as slow convergence speed. In recent years, these problems have been studied.In this paper, an improved genetic algorithm with variant chromosome length and variant probability is proposed. Testing with some critical functions shows that it can improve the convergence speed significantly, and its comprehensive performance is better than that of the genetic algorithm which only reserves the best individual.In section 1, our new approach is proposed. Through optimization examples, in section 2, the efficiency of our algorithm is compared with the genetic algorithm which only reserves the best individual. And section 3 gives out the conclusions. Finally, some proofs of relative theorems are collected and presented in appendix.1 Description of the algorithm1.1 Some theoremsBefore proposing our approach, we give out some general theorems (see appendix) as follows: Let us assume there is just one variable (multivariable can be divided into many sections, one section for one variable) x ∈ [ a, b ] , x ∈ R, and chromosome length with binary encoding is 1.Theorem 1 Minimal resolution of chromosome is s =12l --a b Theorem 2 Weight value of the ith bit of chromosome isw i =12l --a b 12-i ( i = 1,2,…l ) Theorem 3 Mathematical expectation Ec(x) of chromosome searching step with one-point crossover isE c (x) = la b 2-P c where Pc is the probability of crossover.Theorem 4 Mathematical expectation Em ( x ) of chromosome searching step with bit mutation isE m ( x ) = ( b- a) P m1. 2 Mechanism of algorithmDuring evolutionary process, we presume that value domains of variable are fixed, and the probability of crossover is a constant, so from Theorem 1 and 3, we know that the longer chromosome length is, the smaller searching step of chromosome, and the higher resolution; and vice versa. Meanwhile, crossover probability is in direct proportion to searching step. From Theorem 4, changing the length of chromosome does not affect searching step of mutation, while mutation probability is also in direct proportion to searching step.At the beginning of evolution, shorter length chromosome( can be too shorter, otherwise it is harmful to population diversity ) and higher probability of crossover and mutation increases searching step, which can carry out greater domain searching, and avoid falling into local optimum. While at the vicinity of global optimum, longer length chromosome and lower probability of crossover and mutation will decrease searching step, and longer length chromosome also improves resolution of mutation, which avoid wandering near the global optimum, and speeds up algorithm converging.Finally, it should be pointed out that chromosome length changing keeps individual fitness unchanged, hence it does not affect select ion ( with roulette wheel selection) .1. 3 Description of the algorithmOwing to basic genetic algorithm not converging on the global optimum, while the genetic algorithm which reserves the best individual at current generation can, our approach adopts this policy. During evolutionary process, we track cumulative average of individual average fitness up to current generation. It is written as X(t) = G 1∑=G t avg f1(t)where G is the current evolutionary generation,avg f is individual averagefitness. When the cumulative average fitness increases to k times ( k> 1, k ∈ R) of initial individual average fitness, we change chromosome length to m times ( m is a positive integer ) of itself , and reduce probability of crossover and mutation, whichcan improve individual resolution and reduce searching step, and speed up algorithm converging. The procedure is as follows:Step 1 Initialize population, and calculate individual average fitness0avg f ,and set change parameter flag. Flag equal to 1.Step 2 Based on reserving the best individual of current generation, carry out selection, regeneration, crossover and mutation, and calculate cumulative average of individual average fitness up to current generationavg f ;Step 3 If 0avg avgf f ≥k and Flag equals 1, increase chromosome length to m times of itself, and reduce probability of crossover and mutation, and set Flag equal to 0; otherwise continue evolving.Step 4 If end condition is satisfied, stop; otherwise go to Step 2.2 Test and analysisWe adopt the following two critical functions to test our approach, and compare it with the genetic algorithm which only reserves the best individual: ()]01.01[5.0sin 5.0),(2222221y x y x y x f ++-+-= ]5,5[ ∈,-y x))4cos(4.0)3cos(3.02(4),(222y x y x y x f ππ--+-= ]1,1[ ∈,-y x2. 1 Analysis of convergenceDuring function testing, we carry out the following policies: roulette wheel select ion, one point crossover, bit mutation, and the size of population is 60, l is chromosome length, Pc and Pm are the probability of crossover and mutation respectively. And we randomly select four genetic algorithms reserving best individual with various fixed chromosome length and probability of crossover and mutation to compare with our approach. Tab. 1 gives the average converging generation in 100 tests.In our approach, we adopt initial parameter l0= 10, Pc0= 0.3, Pm0= 0.1 and k=1.2, when changing parameter condition is satisfied, we adjust parameters to l= 30, Pc= 0.1, Pm= 0.01.From Tab. 1, we know that our approach improves convergence speed of genetic algorithm significantly and it accords with above analysis.2. 2 Analysis of online and offline performanceQuantitative evaluation methods of genetic algorithm are proposed by Dejong, including online and offline performance. The former tests dynamic performance; and the latter evaluates convergence performance. To better analyze online and offline performance of testing function, w e multiply fitness of each individual by 10, and we give a curve of 4 000 and 1 000 generations for f1 and f2, respectively.(a) online (b) onlineFig. 1 Online and offline performance of f1(a) online (b) onlineFig. 2 Online and offline performance of f2From Fig. 1 and Fig. 2, we know that online performance of our approach is just little worse than that of the fourth case, but it is much better than that of the second, third and fifth case, whose online performances are nearly the same. At the same time, offline performance of our approach is better than that of other four cases.3 ConclusionIn this paper, based on some general theorems, an improved genetic algorithmusing variant chromosome length and probability of crossover and mutation is proposed. Testing with some critical functions shows that it can improve convergence speed of genetic algorithm significantly, and its comprehensive performance is better than that of the genetic algorithm which only reserves the best individual.AppendixWith the supposed conditions of section 1, we know that the validation of Theorem 1 and Theorem 2 are obvious.Theorem 3 Mathematical expectation Ec(x) of chromosome searching step with one point crossover is Ec(x) = c P l a b 2-where Pc is the probability of crossover.Proof As shown in Fig. A1, we assume that crossover happens on the kth locus, i. e. parent’s locus from k to l do not change, and genes on the locus from 1 to k are exchanged.During crossover, change probability of genes on the locus from 1 to k is 21(“1” to “0” or “0” to “1”). So, after crossover, mathematical expectation of chromosome searching step on locus from 1 to k is)12(12212122121)(111-•--•=•--•==-==∑∑k l j k j l j kj ck a b a b w x E Furthermore, probability of taking place crossover on each locus of chromosome is equal, namely l 1Pc. Therefore, after crossover, mathematical expectation of chromosome searching step is)(1)(11x E P lx E ck c l k c ••=∑-= Substituting Eq. ( A1) into Eq. ( A2) , we obtain )1211(2)(])12[(122)12(12211)(11---•=--•--•=-•--•••=∑-=l c i l c k l c l k c l a b P l a b l P a b P lx E where l is large, 012≈-l l , so )(x E c c P l a b 2-≈Fig. A1 One point crossoverTheorem 4 Mathematical expectation)(x E m of chromosome searching step with bit mutation m m P a b x E •-=)()(, where Pm is the probability of mutation.Proof Mutation probability of genes on each locus of chromosome is equal, say Pm, therefore, mathematical expectation of mutation searching step isE m (x )=P m ·w i =i =1l åP m ·b -a 2l -1·2i -1=i =1l åP m ·b -a 2i -1·(2i -1)=(b -a )·P m一种新的改进遗传算法及其性能分析摘要:虽然遗传算法以其全局搜索、并行计算、更好的健壮性以及在进化过程中不需要求导而著称,但是它仍然有一定的缺陷,比如收敛速度慢。
基于自适应遗传算法的多无人机协同任务分配
![基于自适应遗传算法的多无人机协同任务分配](https://img.taocdn.com/s3/m/7ae3dd1b11661ed9ad51f01dc281e53a580251ab.png)
2021,36(1)电子信息对抗技术Electronic Information Warfare Technology㊀㊀中图分类号:V279;TN97㊀㊀㊀㊀㊀㊀文献标志码:A㊀㊀㊀㊀㊀㊀文章编号:1674-2230(2021)01-0059-06收稿日期:2020-02-28;修回日期:2020-03-30作者简介:王树朋(1990 ),男,博士,工程师㊂基于自适应遗传算法的多无人机协同任务分配王树朋,徐㊀旺,刘湘德,邓小龙(电子信息控制重点实验室,成都610036)摘要:提出一种自适应遗传算法,利用基于任务价值㊁飞行航程和任务分配均衡性的适应度函数评估任务分配方案的优劣,在算法运行过程中交叉率和变异率进行实时动态调整,以克服标准遗传算法易陷入局部最优的缺点㊂将提出的自适应遗传算法用于多无人机协同任务分配问题的求解,设置并进行了实验㊂实验结果表明:提出的自适应遗传算法可以较好地解决多无人机协同任务分配问题,得到较高的作战效能,证明了该方法的有效性㊂关键词:遗传算法;适应度函数;无人机;任务分配;作战效能DOI :10.3969/j.issn.1674-2230.2021.01.013Cooperative Task Assignment for Multi -UAVBased on Adaptive Genetic AlgorithmWANG Shupeng,XU Wang,LIU Xiangde,DENG Xiaolong(Science and Technology on Electronic Information Control Laboratory,Chengdu 610036,China)Abstract :An improved adaptive genetic algorithm is proposed,and a fitness function based ontask value,flying distance and the balance of task allocation scheme is used to evaluate the qualityof task allocation schemes.In the proposed algorithm,the crossover probability and mutation prob-ability can adjust automatically to avoid effectively the phenomenon of the standard genetic algo-rithm falling into the local optimum.The proposed improved genetic algorithm is used to solve the problem of cooperative task assignment for multiple Unmanned Aerial Vehicles (UAVs).The ex-periments are conducted and the experimental results show that the proposed adaptive genetic al-gorithm can significantly solve the problem and obtain an excellent combat effectiveness.The ef-fectiveness of the proposed method is demonstrated with the experimental results.Key words :genetic algorithm;fitness function;UAV;task assignment;combat effectiveness1㊀引言无人机是一种依靠程序自主操纵或受无线遥控的飞行器[1],在军事科技方面得到了极大重视,是新颖军事技术和新型武器平台的杰出代表㊂随着战场环境日益复杂,对于无人机的性能要求越来越高,单一无人机在复杂的战场环境中执行任务具有诸多不足,通常多个无人机进行协同作战或者执行任务㊂通常地,多无人机协同任务分配是:在无人机种类和数量已知的情况下,基于一定的环境信息和任务需求,为多个无人机分配一个或者一组有序的任务,要求在完成任务最大化的同时,多个无人机任务执行的整体效能最大,且所付出的代价最小㊂从理论上讲,多无人机协同任务分配属于NP -hard 的组合优化问题,通常需95王树朋,徐㊀旺,刘湘德,邓小龙基于自适应遗传算法的多无人机协同任务分配投稿邮箱:dzxxdkjs@要借助于算法进行求解㊂目前,国内外研究人员已经对于多无人机协同任务分配问题进行了大量的研究,并提出很多用于解决该问题的算法,主要有:群算法㊁自由市场机制算法和进化算法等㊂群算法是模拟自然界生物群体的行为的算法,其中蚁群算法[2-3]㊁粒子群算法[4]以及鱼群算法[5]是最为典型的群算法㊂研究人员发现群算法可以用于求解多无人机协同任务分配问题,但是该算法极易得到局部最优而非全局最优㊂自由市场机制算法[6]是利用明确的规则引导买卖双方进行公开竞价,在短时间内将资源合理化,得到问题的最优解和较优解㊂进化算法适合求解大规模问题,其中遗传算法[7-8]是最著名的进化算法㊂遗传算法在运行过程中会出现不容易收敛或陷入局部最优的问题,许多研究人员针对该问题对遗传算法进行了改进㊂本文提出一种改进的自适应遗传算法,在算法运行过程中适应度值㊁交叉率和变异率可以进行实时动态调整,以克服遗传算法易陷入局部最优的缺点,并利用该算法解决多无人机协同任务分配问题,以求在满足一定的约束条件下,无人机执行任务的整体收益最大,同时付出的代价最小,得到较大的效费比㊂2㊀问题描述㊀㊀多无人机协同任务分配模型是通过设置并满足一定约束条件的情况下,包括无人机的自身能力限制和环境以及任务的要求等,估算各个无人机执行任务获得的收益以及付出的代价,并利用评价指标进行评价,以求得到最大的收益损耗比和最优作战效能㊂通常情况下,多无人机协同任务分配需满足以下约束:1)每个任务只能被分配一次;2)无人机可以携带燃料限制造成的最大航程约束;3)无人机载荷限制,无人机要执行某项任务必须装载相应的载荷㊂另外,多无人机协同任务分配需要遵循以下原则:1)收益最高:每项任务都拥有它的价值,任务分配方案应该得到最大整体收益;2)航程最小:应该尽快完成任务,尽可能减小飞行航程,这样易满足无人机的航程限制,同时降低无人机面临的威胁;3)各个无人机的任务负载尽可能均衡,通常以任务个数或者飞行航程作为标准判定; 4)优先执行价值高的任务㊂根据以上原则,提出多无人机协同任务分配的评价指标,包括:1)任务价值指标:用于评估任务分配方案可以得到的整体收益;2)任务分配均衡性指标:用于评估无人机的任务负载是否均衡;3)飞行航程指标:用于评估无人机的飞行航程㊂3㊀遗传算法㊀㊀要将遗传算法用于多无人机协同任务分配问题的求解,可以将任务分配方案当作种群中的个体,确定合适的染色体编码方法,利用按照一定结构组成的染色体表示任务分配方案㊂然后,通过选择㊁交叉和变异等遗传操作进行不断进化,直到满足约束条件㊂通常来说,遗传算法可以表示为GA=(C,E, P0,M,F,G,Y,T),其中C㊁E㊁P0和M分别表示染色体编码方法㊁适应度函数㊁初始种群和种群大小,在本文的应用中,P0和M分别表示初始的任务分配方案集合以及任务分配方案的个数;F㊁G 和Y分别表示选择算子㊁交叉算子和变异算子;T 表示终止的条件和规则㊂因此,利用遗传算法解决多无人机协同任务分配问题的主要工作是确定以上8个参数㊂3.1㊀编码方法利用由一定结构组成的染色体表示任务分配方案,将一个任务分配方案转换为一条染色体的过程可以分为2个步骤:第一步是根据各个无人机需执行的任务确定各个无人机对应的染色体;第二步是将这些小的染色体结合,形成整个任务分配方案对应的完整染色体㊂假设无人机和任务的个数分别为N u和N t,其中第i个无人机U i的06电子信息对抗技术㊃第36卷2021年1月第1期王树朋,徐㊀旺,刘湘德,邓小龙基于自适应遗传算法的多无人机协同任务分配任务共有k个,分别是T i1㊁T i2㊁ ㊁T ik,则该无人机对应的任务染色体为[T i1T i2 T ik]㊂在任务分配时,可能出现N t个任务全部分配给一个无人机的情况,另外为增加随机性和扩展性,提高遗传算法的全局搜索能力,随机将N t-k个0插入到以上的任务染色体中,产生一条全新的长度为N t的染色体㊂最终,一个任务分配方案可以转换为一条长度为N u∗N t的染色体㊂3.2㊀适应度函数在本文的应用中,适应度函数E是用于判断任务分配方案的质量,根据上文提出的多无人机协同任务分配问题的原则和评价指标可知,主要利用任务价值指标㊁任务分配均衡性指标以及飞行航程指标等三个指标判定任务分配方案的质量㊂假设有N u个无人机,F i表示第i个无人机U i的飞行航程,整个任务的总飞行航程F t可以表示为:F t=ðN u i=1F i(1)无人机的平均航程为:F=F t Nu(2)无人机飞行航程的方差D可以表示为:D=ðN u i=1F i-F-()2N u(3)为充分考虑任务价值㊁飞行航程以及各个无人机任务的均衡性,将任务分配方案的适应度函数定义为:E=V ta∗F t+b∗D(4)其中:V t为任务的总价值,F t为总飞行航程,D为各个无人机飞行航程的方差,a和b分别表示飞行航程以及飞行航程均衡性的权重㊂另外,任务分配方案的收益损耗比GL可以表示为:GL=V tF t(5)另外,在遗传算法运行的不同阶段,需要对任务分配方案的适应度进行适当地扩大或者缩小,新的适应度函数E可以表示为:Eᶄ=1-e-αEα=m tE max-E avg+1,m=1+lg T()ìîíïïïï(6)其中:E为利用公式(4)计算得到的原适应度值, E avg为适应度值的平均值,E max为适应度最大值,t 为算法的运行次数,T为遗传算法的终止条件㊂在遗传算法运行初期,E max-E avg较大,而t较小,因此α较小,可以提高低质量任务分配方案的选择概率,同时降低高质量任务分配方案的选择概率;随着算法的运行,E max-E avg将逐渐减小,t 将逐渐增大,因此α会逐渐增大,可以避免算法陷入随机选择和局部最优㊂3.3㊀种群大小㊁初始种群和终止条件按照通常做法,将种群大小M的取值范围设定为20~100㊂首先,随机产生2∗M个符合要求的任务分配方案,利用公式(4)计算各个任务分配方案的适应度值㊂然后,从中选取出适应度值较高的M 个任务分配方案组成初始种群P0,即初始任务分配方案集合㊂终止条件T设定为:在规定的迭代次数内有一个任务分配方案的适应度值满足条件,则停止进化;否则,一直运行到规定的迭代次数㊂3.4㊀选择算子首先,采用精英保留策略将当前适应度值最大的一个任务分配方案直接保留到下一代,提高遗传算法的全局收敛能力㊂随后,利用最知名的轮盘赌选择法选择出剩余的任务分配方案㊂3.5㊀交叉算子和变异算子在算法运行过程中需随时动态调整p c和p m,动态调整的原则如下:1)适当降低适应度值比平均适应度值高的任务分配方案的p c和p m,以保护优秀的高质量任务分配方案,加快算法的收敛速度;2)适当增大适应度值比平均适应度值低的任务分配方案的p c和p m,以免算法陷入局部最优㊂另外,任务分配方案的集中度β也是决定p c 和p m的重要因素,β可以表示为:16王树朋,徐㊀旺,刘湘德,邓小龙基于自适应遗传算法的多无人机协同任务分配投稿邮箱:dzxxdkjs@β=E avgE max(7)其中:E avg 表示平均适应度值;E max 表示最大适应度值㊂显然,β越大,任务分配方案越集中,遗传算法越容易陷入局部最优㊂因此,随着β增大,p c 和p m 应该随之增大㊂基于以上原则,定义p c 和p m 如下:p c =0.8E avg -Eᵡ()+0.6Eᵡ-E min ()E avg -E min +0.2㊃βEᵡ<E avg 0.6E max -Eᵡ()+0.4Eᵡ-E avg ()E max -E avg +0.2㊃βEᵡȡE avgìîíïïïïïp m =0.08E avg -E‴()+0.05E‴-E min ()E avg -E min +0.02㊃βE‴<E avg and β<0.80.05E max -E‴()+0.0001E‴-E avg ()E max -E avg+0.02㊃βE‴ȡE avg and β<0.80.5βȡ0.8ìîíïïïïïï(8)其中:E max 为最大适应度值,E min 为最小适应度值,E avg 为平均适应度值,Eᵡ为进行交叉操作的两个任务分配方案中的较大适应度值,E‴为进行变异操作的任务分配方案的适应度值,β为任务分配方案的集中度,可利用公式(7)计算得到㊂4㊀实验结果4.1㊀实验设置4架无人机从指定的起飞机场起飞,飞至5个任务目标点执行10项任务,最终降落到指定的降落机场㊂其中,如表1所示,无人机的编号分别为UAV 1㊁UAV 2㊁UAV 3和UAV 4㊂另外,起飞机场㊁降落机场㊁目标如图6所示㊂任务的编号分别为任务1至任务10(简称为T 1㊁T 2㊁ ㊁T 10),每项任务均为到某一个目标点执行侦察㊁攻击㊁事后评估中的某一项,任务设置如表2所示㊂表1㊀无人机信息编号最大航程装载载荷UAV 120侦察㊁攻击UAV 120侦察UAV 125攻击㊁评估UAV 130侦察㊁评估图1㊀任务目标位置示意图表2㊀任务设置任务编号目标编号任务类型任务价值T 11侦察1T 21攻击2T 32攻击3T 42评估3T 53侦察4T 63评估6T 74侦察2T 84攻击3T 94评估5T 105评估14.2㊀第一组实验首先,随机地进行任务分配,得到一个满足多无人机协同任务分配的约束条件的任务分配方案如下:㊃UAV 1:T 2ңT 5㊃UAV 2:T 1ңT 7㊃UAV 3:T 3ңT 6ңT 8㊃UAV 4:T 4ңT 9ңT 10计算可知,4个无人机的飞行航程分别是14.0674㊁12.6023㊁20.1854和22.1873,飞行总航程为69.0423,执行任务的总价值为30,最终的收益损耗比约为0.43㊂另外,各个飞行器飞行航程的方差约为16.18,UAV 1和UAV 2的飞行航程相对较短,而UAV 3和UAV 4的飞行航程相对较长,各个无人机之间的均衡性存在明显不足㊂为提高收益损耗比,分别利用标准遗传算法和本文提出的自适应遗传算法进行优化,两个算法的参数设置如表3所示㊂26电子信息对抗技术·第36卷2021年1月第1期王树朋,徐㊀旺,刘湘德,邓小龙基于自适应遗传算法的多无人机协同任务分配表3㊀遗传算法参数设置参数名称标准遗传算法自适应遗传算法E 公式(4)公式(6)M 2020选择方法精英策略轮盘赌选择法精英策略轮盘赌选择法P c 0.8公式(8)交叉方法单点交叉单点交叉P m 0.2公式(8)T500500最终,利用标准遗传算法得到任务分配方案如下:㊃UAV 1:T 3ңT 8㊃UAV 2:T 1ңT 7㊃UAV 3:T 9㊃UAV 4:T 6ңT 5计算可得,4个无人机的飞行航程分别为12.78㊁12.6023㊁12.434和12.9443,总飞行航程为50.7605,总任务价值为24,计算可知收益损耗比约为0.47,相对于随机任务分配提高约9.3%㊂另外,各个飞行器飞行航程的方差约为0.04,无人机飞行航程比较均衡,未出现飞行航程过长或过短的情况㊂在算法运行过程中,最佳适应度曲线如图2所示,在遗传算法约迭代到第160次时陷入局部最优,全局搜索能力不足㊂图2㊀标准遗传算法的最佳适应度曲线图1为进一步提高算法的效率,利用本文提出的改进自适应遗传算法解决多无人机协同任务分配问题㊂最终,利用自适应遗传算法得到的任务分配方案如下:㊃UAV 1:T 2ңT 3ңT 8ңT 7㊃UAV 2:T 5㊃UAV 3:T 6㊃UAV 4:T 1ңT 4ңT 9计算可知,4个无人机的飞行航程分别为12.8191㊁12.9443㊁12.9443和12.8191,总飞行航程为51.5268,总任务价值为29,收益耗比约为0.56,相对于随机任务分配提高约30.2%,相对于基于标准遗传算法的任务分配方案提高约19.1%㊂另外,各个飞行器飞行航程的方差约为0.004,无人机飞行航程的均衡性相对于基于标准遗传算法的任务分配方案有了进一步的提高㊂在算法运行过程中,最佳适应度值曲线如图3所示,可以有效避免遗传算法陷入局部最优或者随机选择㊂图3㊀自适应遗传算法的最佳适应度曲线图14.3㊀第二组实验在第一组实验中,因任务10(简称为T 10)的价值较低,在最终的任务分配方案中极少被分配㊂在第二组实验中,将T 10的价值由1调整为6,其他设置项不变㊂首先,随机进行任务分配,最终的任务分配方案和第一组实验相同㊂随后,利用标准遗传算法进行多无人机协同任务分配,最终的任务分配方案如下:㊃UAV 1:T 2ңT 3ңT 7ңT 8㊃UAV 2:T 5㊃UAV 3:T 6ңT 10㊃UAV 4:T 9基于此任务分配方案,4个无人机的飞行航程分别为12.8191㊁12.9443㊁13.6883和12.434,总飞行航程为51.8857,总任务价值为31,因此计36王树朋,徐㊀旺,刘湘德,邓小龙基于自适应遗传算法的多无人机协同任务分配投稿邮箱:dzxxdkjs@算可得收益损耗比约为0.6,相对于随机任务分配提高约17.6%㊂另外,各个飞行器飞行航程的方差约为0.21,各个无人机的飞行航程的均衡性一般,相对于随机任务分配有一定的提高㊂在算法运行过程中,最佳适应度值曲线如图4所示,在算法迭代运行约90次时陷入较长时间的局部最优,直到迭代次数为340次时,然后再次陷入局部最优㊂图4㊀标准遗传算法的最佳适应度曲线图2最后,将本文提出的自适应遗传算法用于多无人机协同任务分配问题的求解,得到最终的任务分配方案如下:㊃UAV 1:T 2ңT 3ңT 8ңT 7㊃UAV 2:T 5㊃UAV 3:T 6ңT 10㊃UAV 4:T 1ңT 4ңT 9基于此任务分配方案可得,4个无人机的航程分别是12.8191㊁12.9443㊁13.6883以及12.8191,总飞行航程为52.2708,总任务价值为35,计算可得效益损耗比约为0.67,相对于利用标准遗传算法得到的任务分配方案有了进一步提高㊂另外,各个无人机飞行航程的方差约为0.13,飞行航程的均衡性较好㊂在算法运行过程中,最佳适应度值曲线如图5所示,适应度值一直在实时动态变化,可以有效避免遗传算法陷入局部最优或者随机选择㊂由实验结果可得,当任务10的任务价值从1调整为6以后,不再出现该任务没有无人机执行的情况,这说明利用遗传算法进行多无人机协同任务分配可以根据任务的价值以及代价进行实时动态调整,符合 优先执行价值高的任务 的原则㊂图5㊀自适应遗传算法的最佳适应度曲线图25 结束语㊀㊀本文提出了一种基于自适应遗传算法的多无人机协同任务分配方法,整个遗传过程利用自适应的适应度函数评估任务分配结果的优劣,交叉率和变异率在算法运行过程中可以实时动态调整㊂实验结果表明,和随机进行任务分配相比,本文提出的方法在满足一定的原则和约束条件下,可以得到更高的收益损耗比,并且无人机飞行航程的均衡性更好㊂另外,和标准遗传算法相比,本文提出的改进遗传算法可以有效地扩展搜索空间,具有较高的全局搜索能力,不易陷入局部最优㊂参考文献:[1]㊀江更祥.浅谈无人机[J].制造业自动化,2011,33(8):110-112.[2]㊀楚瑞.基于蚁群算法的无人机航路规划[D].西安:西北工业大学,2006.[3]㊀杨剑峰.蚁群算法及其应用研究[D].杭州:浙江大学,2007.[4]㊀刘建华.粒子群算法的基本理论及其改进研究[D].长沙:中南大学,2009.[5]㊀李晓磊.一种新型的智能优化方法-人工鱼群算法[D].杭州:浙江大学,2003.[6]㊀AUSUBEL L M,MILGROM P R.Ascending AuctionsWith Package Bidding[J].Frontiers of Theoretical E-conomics,2002,1(1):1-42.[7]㊀刘昊旸.遗传算法研究及遗传算法工具箱开发[D].天津:天津大学,2005.[8]㊀牟健慧.基于混合遗传算法的车间逆调度方法研究[D].武汉:华中科技大学,2015.46。
遗传算法原理(英文)
![遗传算法原理(英文)](https://img.taocdn.com/s3/m/867ae74fe518964bcf847c9e.png)
Soft Computing Lab.
WASEDA UNIVERSITY , IPS
2
Evolutionary Algorithms and Optimization:
Theory and its Applications
Part 2: Network Design
Network Design Problems Minimum Spanning Tree Logistics Network Design Communication Network and LAN Design
Book Info
Provides a comprehensive survey of selection strategies, penalty techniques, and genetic operators used for constrained and combinatorial problems. Shows how to use genetic algorithms to make production schedules and enhance system reliability.
Soft Computing Lab.
WASEDA UNIVERSITY , IPS
4
Evolutionary Algorithms and Optimization:
Theory and its Applications
Part 4: Scheduling
Machine Scheduling and Multi-processor Scheduling Flow-shop Scheduling and Job-shop Scheduling Resource-constrained Project Scheduling Advanced Planning and Scheduling Multimedia Real-time Task Scheduling
ReliabilityEngineeringandSystemSafety91(2006)992–1007
![ReliabilityEngineeringandSystemSafety91(2006)992–1007](https://img.taocdn.com/s3/m/9222772b453610661ed9f403.png)
Reliability Engineering and System Safety 91(2006)992–1007Multi-objective optimization using genetic algorithms:A tutorialAbdullah Konak a,Ã,David W.Coit b ,Alice E.Smith caInformation Sciences and Technology,Penn State Berks,USA bDepartment of Industrial and Systems Engineering,Rutgers University cDepartment of Industrial and Systems Engineering,Auburn UniversityAvailable online 9January 2006AbstractMulti-objective formulations are realistic models for many complex engineering optimization problems.In many real-life problems,objectives under consideration conflict with each other,and optimizing a particular solution with respect to a single objective can result in unacceptable results with respect to the other objectives.A reasonable solution to a multi-objective problem is to investigate a set of solutions,each of which satisfies the objectives at an acceptable level without being dominated by any other solution.In this paper,an overview and tutorial is presented describing genetic algorithms (GA)developed specifically for problems with multiple objectives.They differ primarily from traditional GA by using specialized fitness functions and introducing methods to promote solution diversity.r 2005Elsevier Ltd.All rights reserved.1.IntroductionThe objective of this paper is present an overview and tutorial of multiple-objective optimization methods using genetic algorithms (GA).For multiple-objective problems,the objectives are generally conflicting,preventing simulta-neous optimization of each objective.Many,or even most,real engineering problems actually do have multiple-objectives,i.e.,minimize cost,maximize performance,maximize reliability,etc.These are difficult but realistic problems.GA are a popular meta-heuristic that is particularly well-suited for this class of problems.Tradi-tional GA are customized to accommodate multi-objective problems by using specialized fitness functions and introducing methods to promote solution diversity.There are two general approaches to multiple-objective optimization.One is to combine the individual objective functions into a single composite function or move all but one objective to the constraint set.In the former case,determination of a single objective is possible with methods such as utility theory,weighted sum method,etc.,but theproblem lies in the proper selection of the weights or utility functions to characterize the decision-maker’s preferences.In practice,it can be very difficult to precisely and accurately select these weights,even for someone familiar with the problem pounding this drawback is that scaling amongst objectives is needed and small perturbations in the weights can sometimes lead to quite different solutions.In the latter case,the problem is that to move objectives to the constraint set,a constraining value must be established for each of these former objectives.This can be rather arbitrary.In both cases,an optimization method would return a single solution rather than a set of solutions that can be examined for trade-offs.For this reason,decision-makers often prefer a set of good solutions considering the multiple objectives.The second general approach is to determine an entire Pareto optimal solution set or a representative subset.A Pareto optimal set is a set of solutions that are nondominated with respect to each other.While moving from one Pareto solution to another,there is always a certain amount of sacrifice in one objective(s)to achieve a certain amount of gain in the other(s).Pareto optimal solution sets are often preferred to single solutions because they can be practical when considering real-life problems/locate/ress0951-8320/$-see front matter r 2005Elsevier Ltd.All rights reserved.doi:10.1016/j.ress.2005.11.018ÃCorresponding author.E-mail address:konak@ (A.Konak).since thefinal solution of the decision-maker is always a trade-off.Pareto optimal sets can be of varied sizes,but the size of the Pareto set usually increases with the increase in the number of objectives.2.Multi-objective optimization formulationConsider a decision-maker who wishes to optimize K objectives such that the objectives are non-commensurable and the decision-maker has no clear preference of the objectives relative to each other.Without loss of generality, all objectives are of the minimization type—a minimization type objective can be converted to a maximization type by multiplying negative one.A minimization multi-objective decision problem with K objectives is defined as follows: Given an n-dimensional decision variable vector x¼{x1,y,x n}in the solution space X,find a vector x* that minimizes a given set of K objective functions z(x*)¼{z1(x*),y,z K(x*)}.The solution space X is gen-erally restricted by a series of constraints,such as g j(x*)¼b j for j¼1,y,m,and bounds on the decision variables.In many real-life problems,objectives under considera-tion conflict with each other.Hence,optimizing x with respect to a single objective often results in unacceptable results with respect to the other objectives.Therefore,a perfect multi-objective solution that simultaneously opti-mizes each objective function is almost impossible.A reasonable solution to a multi-objective problem is to investigate a set of solutions,each of which satisfies the objectives at an acceptable level without being dominated by any other solution.If all objective functions are for minimization,a feasible solution x is said to dominate another feasible solution y (x1y),if and only if,z i(x)p z i(y)for i¼1,y,K and z j(x)o z j(y)for least one objective function j.A solution is said to be Pareto optimal if it is not dominated by any other solution in the solution space.A Pareto optimal solution cannot be improved with respect to any objective without worsening at least one other objective.The set of all feasible non-dominated solutions in X is referred to as the Pareto optimal set,and for a given Pareto optimal set,the corresponding objective function values in the objective space are called the Pareto front.For many problems,the number of Pareto optimal solutions is enormous(perhaps infinite).The ultimate goal of a multi-objective optimization algorithm is to identify solutions in the Pareto optimal set.However,identifying the entire Pareto optimal set, for many multi-objective problems,is practically impos-sible due to its size.In addition,for many problems, especially for combinatorial optimization problems,proof of solution optimality is computationally infeasible.There-fore,a practical approach to multi-objective optimization is to investigate a set of solutions(the best-known Pareto set)that represent the Pareto optimal set as well as possible.With these concerns in mind,a multi-objective optimization approach should achieve the following three conflicting goals[1]:1.The best-known Pareto front should be as close aspossible to the true Pareto front.Ideally,the best-known Pareto set should be a subset of the Pareto optimal set.2.Solutions in the best-known Pareto set should beuniformly distributed and diverse over of the Pareto front in order to provide the decision-maker a true picture of trade-offs.3.The best-known Pareto front should capture the wholespectrum of the Pareto front.This requires investigating solutions at the extreme ends of the objective function space.For a given computational time limit,thefirst goal is best served by focusing(intensifying)the search on a particular region of the Pareto front.On the contrary,the second goal demands the search effort to be uniformly distributed over the Pareto front.The third goal aims at extending the Pareto front at both ends,exploring new extreme solutions.This paper presents common approaches used in multi-objective GA to attain these three conflicting goals while solving a multi-objective optimization problem.3.Genetic algorithmsThe concept of GA was developed by Holland and his colleagues in the1960s and1970s[2].GA are inspired by the evolutionist theory explaining the origin of species.In nature,weak and unfit species within their environment are faced with extinction by natural selection.The strong ones have greater opportunity to pass their genes to future generations via reproduction.In the long run,species carrying the correct combination in their genes become dominant in their population.Sometimes,during the slow process of evolution,random changes may occur in genes. If these changes provide additional advantages in the challenge for survival,new species evolve from the old ones.Unsuccessful changes are eliminated by natural selection.In GA terminology,a solution vector x A X is called an individual or a chromosome.Chromosomes are made of discrete units called genes.Each gene controls one or more features of the chromosome.In the original implementa-tion of GA by Holland,genes are assumed to be binary digits.In later implementations,more varied gene types have been introduced.Normally,a chromosome corre-sponds to a unique solution x in the solution space.This requires a mapping mechanism between the solution space and the chromosomes.This mapping is called an encoding. In fact,GA work on the encoding of a problem,not on the problem itself.GA operate with a collection of chromosomes,called a population.The population is normally randomly initia-lized.As the search evolves,the population includesfitterA.Konak et al./Reliability Engineering and System Safety91(2006)992–1007993andfitter solutions,and eventually it converges,meaning that it is dominated by a single solution.Holland also presented a proof of convergence(the schema theorem)to the global optimum where chromosomes are binary vectors.GA use two operators to generate new solutions from existing ones:crossover and mutation.The crossover operator is the most important operator of GA.In crossover,generally two chromosomes,called parents,are combined together to form new chromosomes,called offspring.The parents are selected among existing chromo-somes in the population with preference towardsfitness so that offspring is expected to inherit good genes which make the parentsfitter.By iteratively applying the crossover operator,genes of good chromosomes are expected to appear more frequently in the population,eventually leading to convergence to an overall good solution.The mutation operator introduces random changes into characteristics of chromosomes.Mutation is generally applied at the gene level.In typical GA implementations, the mutation rate(probability of changing the properties of a gene)is very small and depends on the length of the chromosome.Therefore,the new chromosome produced by mutation will not be very different from the original one.Mutation plays a critical role in GA.As discussed earlier,crossover leads the population to converge by making the chromosomes in the population alike.Muta-tion reintroduces genetic diversity back into the population and assists the search escape from local optima. Reproduction involves selection of chromosomes for the next generation.In the most general case,thefitness of an individual determines the probability of its survival for the next generation.There are different selection procedures in GA depending on how thefitness values are used. Proportional selection,ranking,and tournament selection are the most popular selection procedures.The procedure of a generic GA[3]is given as follows:Step1:Set t¼1.Randomly generate N solutions to form thefirst population,P1.Evaluate thefitness of solutions in P1.Step2:Crossover:Generate an offspring population Q t as follows:2.1.Choose two solutions x and y from P t based onthefitness values.ing a crossover operator,generate offspringand add them to Q t.Step3:Mutation:Mutate each solution x A Q t with a predefined mutation rate.Step4:Fitness assignment:Evaluate and assign afitness value to each solution x A Q t based on its objective function value and infeasibility.Step5:Selection:Select N solutions from Q t based on theirfitness and copy them to P t+1.Step6:If the stopping criterion is satisfied,terminate the search and return to the current population,else,set t¼t+1go to Step2.4.Multi-objective GABeing a population-based approach,GA are well suited to solve multi-objective optimization problems.A generic single-objective GA can be modified tofind a set of multiple non-dominated solutions in a single run.The ability of GA to simultaneously search different regions of a solution space makes it possible tofind a diverse set of solutions for difficult problems with non-convex,discon-tinuous,and multi-modal solutions spaces.The crossover operator of GA may exploit structures of good solutions with respect to different objectives to create new non-dominated solutions in unexplored parts of the Pareto front.In addition,most multi-objective GA do not require the user to prioritize,scale,or weigh objectives.Therefore, GA have been the most popular heuristic approach to multi-objective design and optimization problems.Jones et al.[4]reported that90%of the approaches to multi-objective optimization aimed to approximate the true Pareto front for the underlying problem.A majority of these used a meta-heuristic technique,and70%of all meta-heuristics approaches were based on evolutionary ap-proaches.Thefirst multi-objective GA,called vector evaluated GA (or VEGA),was proposed by Schaffer[5].Afterwards, several multi-objective evolutionary algorithms were devel-oped including Multi-objective Genetic Algorithm (MOGA)[6],Niched Pareto Genetic Algorithm(NPGA) [7],Weight-based Genetic Algorithm(WBGA)[8],Ran-dom Weighted Genetic Algorithm(RWGA)[9],Nondomi-nated Sorting Genetic Algorithm(NSGA)[10],Strength Pareto Evolutionary Algorithm(SPEA)[11],improved SPEA(SPEA2)[12],Pareto-Archived Evolution Strategy (PAES)[13],Pareto Envelope-based Selection Algorithm (PESA)[14],Region-based Selection in Evolutionary Multiobjective Optimization(PESA-II)[15],Fast Non-dominated Sorting Genetic Algorithm(NSGA-II)[16], Multi-objective Evolutionary Algorithm(MEA)[17], Micro-GA[18],Rank-Density Based Genetic Algorithm (RDGA)[19],and Dynamic Multi-objective Evolutionary Algorithm(DMOEA)[20].Note that although there are many variations of multi-objective GA in the literature, these cited GA are well-known and credible algorithms that have been used in many applications and their performances were tested in several comparative studies. Several survey papers[1,11,21–27]have been published on evolutionary multi-objective optimization.Coello lists more than2000references in his website[28].Generally, multi-objective GA differ based on theirfitness assign-ment procedure,elitisim,or diversification approaches.In Table1,highlights of the well-known multi-objective with their advantages and disadvantages are given.Most survey papers on multi-objective evolutionary approaches intro-duce and compare different algorithms.This paper takes a different course and focuses on important issues while designing a multi-objective GA and describes common techniques used in multi-objective GA to attain the threeA.Konak et al./Reliability Engineering and System Safety91(2006)992–1007 994goals in multi-objective optimization.This approach is also taken in the survey paper by Zitzler et al.[1].However,the discussion in this paper is aimed at introducing the components of multi-objective GA to researchers and practitioners without a background on the multi-objective GA.It is also import to note that although several of the state-of-the-art algorithms exist as cited above,many researchers that applied multi-objective GA to their problems have preferred to design their own customized algorithms by adapting strategies from various multi-objective GA.This observation is another motivation for introducing the components of multi-objective GA rather than focusing on several algorithms.However,the pseudo-code for some of the well-known multi-objective GA are also provided in order to demonstrate how these proce-dures are incorporated within a multi-objective GA.Table1A list of well-known multi-objective GAAlgorithm Fitness assignment Diversity mechanism Elitism ExternalpopulationAdvantages DisadvantagesVEGA[5]Each subpopulation isevaluated with respectto a differentobjective No No No First MOGAStraightforwardimplementationTend converge to theextreme of each objectiveMOGA[6]Pareto ranking Fitness sharing byniching No No Simple extension of singleobjective GAUsually slowconvergenceProblems related to nichesize parameterWBGA[8]Weighted average ofnormalized objectives Niching No No Simple extension of singleobjective GADifficulties in nonconvexobjective function space Predefined weightsNPGA[7]Nofitnessassignment,tournament selection Niche count as tie-breaker in tournamentselectionNo No Very simple selectionprocess with tournamentselectionProblems related to nichesize parameterExtra parameter fortournament selectionRWGA[9]Weighted average ofnormalized objectives Randomly assignedweightsYes Yes Efficient and easyimplementDifficulties in nonconvexobjective function spacePESA[14]Nofitness assignment Cell-based density Pure elitist Yes Easy to implement Performance depends oncell sizesComputationally efficientPrior information neededabout objective spacePAES[29]Pareto dominance isused to replace aparent if offspringdominates Cell-based density astie breaker betweenoffspring and parentYes Yes Random mutation hill-climbing strategyNot a population basedapproachEasy to implement Performance depends oncell sizesComputationally efficientNSGA[10]Ranking based onnon-dominationsorting Fitness sharing bynichingNo No Fast convergence Problems related to nichesize parameterNSGA-II[30]Ranking based onnon-dominationsorting Crowding distance Yes No Single parameter(N)Crowding distance worksin objective space onlyWell testedEfficientSPEA[11]Raking based on theexternal archive ofnon-dominatedsolutions Clustering to truncateexternal populationYes Yes Well tested Complex clusteringalgorithmNo parameter forclusteringSPEA-2[12]Strength ofdominators Density based on thek-th nearest neighborYes Yes Improved SPEA Computationallyexpensivefitness anddensity calculationMake sure extreme pointsare preservedRDGA[19]The problem reducedto bi-objectiveproblem with solutionrank and density asobjectives Forbidden region cell-based densityYes Yes Dynamic cell update More difficult toimplement than othersRobust with respect to thenumber of objectivesDMOEA[20]Cell-based ranking Adaptive cell-baseddensity Yes(implicitly)No Includes efficienttechniques to update celldensitiesMore difficult toimplement than othersAdaptive approaches toset GA parametersA.Konak et al./Reliability Engineering and System Safety91(2006)992–10079955.Design issues and components of multi-objective GA 5.1.Fitness functions5.1.1.Weighted sum approachesThe classical approach to solve a multi-objective optimization problem is to assign a weight w i to each normalized objective function z 0i ðx Þso that the problem is converted to a single objective problem with a scalar objective function as follows:min z ¼w 1z 01ðx Þþw 2z 02ðx ÞþÁÁÁþw k z 0k ðx Þ,(1)where z 0i ðx Þis the normalized objective function z i (x )and P w i ¼1.This approach is called the priori approach since the user is expected to provide the weights.Solving a problem with the objective function (1)for a given weight vector w ¼{w 1,w 2,y ,w k }yields a single solution,and if multiple solutions are desired,the problem must be solved multiple times with different weight combinations.The main difficulty with this approach is selecting a weight vector for each run.To automate this process;Hajela and Lin [8]proposed the WBGA for multi-objective optimization (WBGA-MO)in the WBGA-MO,each solution x i in the population uses a different weight vector w i ¼{w 1,w 2,y ,w k }in the calculation of the summed objective function (1).The weight vector w i is embedded within the chromosome of solution x i .Therefore,multiple solutions can be simulta-neously searched in a single run.In addition,weight vectors can be adjusted to promote diversity of the population.Other researchers [9,31]have proposed a MOGA based on a weighted sum of multiple objective functions where a normalized weight vector w i is randomly generated for each solution x i during the selection phase at each generation.This approach aims to stipulate multiple search directions in a single run without using additional parameters.The general procedure of the RWGA using random weights is given as follows [31]:Procedure RWGA:E ¼external archive to store non-dominated solutions found during the search so far;n E ¼number of elitist solutions immigrating from E to P in each generation.Step 1:Generate a random population.Step 2:Assign a fitness value to each solution x A P t by performing the following steps:Step 2.1:Generate a random number u k in [0,1]for each objective k ,k ¼1,y ,K.Step 2.2:Calculate the random weight of each objective k as w k ¼ð1=u k ÞP K i ¼1u i .Step 2.3:Calculate the fitness of the solution as f ðx Þ¼P K k ¼1w k z k ðx Þ.Step 3:Calculate the selection probability of each solutionx A P t as follows:p ðx Þ¼ðf ðx ÞÀf min ÞÀ1P y 2P t ðf ðy ÞÀf minÞwhere f min ¼min f f ðx Þj x 2P t g .Step 4:Select parents using the selection probabilities calculated in Step 3.Apply crossover on the selected parent pairs to create N offspring.Mutate offspring with a predefined mutation rate.Copy all offspring to P t +1.Update E if necessary.Step 5:Randomly remove n E solutions from P t +1and add the same number of solutions from E to P t +1.Step 6:If the stopping condition is not satisfied,set t ¼t þ1and go to Step 2.Otherwise,return to E .The main advantage of the weighted sum approach is a straightforward implementation.Since a single objective is used in fitness assignment,a single objective GA can be used with minimum modifications.In addition,this approach is computationally efficient.The main disadvan-tage of this approach is that not all Pareto-optimal solutions can be investigated when the true Pareto front is non-convex.Therefore,multi-objective GA based on the weighed sum approach have difficulty in finding solutions uniformly distributed over a non-convex trade-off surface [1].5.1.2.Altering objective functionsAs mentioned earlier,VEGA [5]is the first GA used to approximate the Pareto-optimal set by a set of non-dominated solutions.In VEGA,population P t is randomly divided into K equal sized sub-populations;P 1,P 2,y ,P K .Then,each solution in subpopulation P i is assigned a fitness value based on objective function z i .Solutions are selected from these subpopulations using proportional selection for crossover and mutation.Crossover and mutation are performed on the new population in the same way as for a single objective GA.Procedure VEGA:N S ¼subpopulation size (N S ¼N =K )Step 1:Start with a random initial population P 0.Set t ¼0.Step 2:If the stopping criterion is satisfied,return P t .Step 3:Randomly sort population P t .Step 4:For each objective k ,k ¼1,y K ,perform the following steps:Step 4.1:For i ¼1þðk 21ÞN S ;...;kN S ,assign fit-ness value f ðx i Þ¼z k ðx i Þto the i th solution in the sorted population.Step 4.2:Based on the fitness values assigned in Step 4.1,select N S solutions between the (1+(k À1)N S )th and (kN S )th solutions of the sorted population to create subpopulation P k .Step 5:Combine all subpopulations P 1,y ,P k and apply crossover and mutation on the combined population to create P t +1of size N .Set t ¼t þ1,go to Step 2.A similar approach to VEGA is to use only a single objective function which is randomly determined each time in the selection phase [32].The main advantage of the alternating objectives approach is easy to implement andA.Konak et al./Reliability Engineering and System Safety 91(2006)992–1007996computationally as efficient as a single-objective GA.In fact,this approach is a straightforward extension of a single objective GA to solve multi-objective problems.The major drawback of objective switching is that the popula-tion tends to converge to solutions which are superior in one objective,but poor at others.5.1.3.Pareto-ranking approachesPareto-ranking approaches explicitly utilize the concept of Pareto dominance in evaluatingfitness or assigning selection probability to solutions.The population is ranked according to a dominance rule,and then each solution is assigned afitness value based on its rank in the population, not its actual objective function value.Note that herein all objectives are assumed to be minimized.Therefore,a lower rank corresponds to a better solution in the following discussions.Thefirst Pareto ranking technique was proposed by Goldberg[3]as follows:Step1:Set i¼1and TP¼P.Step2:Identify non-dominated solutions in TP and assigned them set to F i.Step3:Set TP¼TPF i.If TP¼+go to Step4,else set i¼iþ1and go to Step2.Step4:For every solution x A P at generation t,assign rank r1ðx;tÞ¼i if x A F i.In the procedure above,F1,F2,y are called non-dominated fronts,and F1is the Pareto front of population P.NSGA[10]also classifies the population into non-dominated fronts using an algorithm similar to that given above.Then a dummyfitness value is assigned to each front using afitness sharing function such that the worst fitness value assigned to F i is better than the bestfitness value assigned to F i+1.NSGA-II[16],a more efficient algorithm,named the fast non-dominated-sort algorithm, was developed to form non-dominated fronts.Fonseca and Fleming[6]used a slightly different rank assignment approach than the ranking based on non-dominated-fronts as follows:r2ðx;tÞ¼1þnqðx;tÞ;(2) where nq(x,t)is the number of solutions dominating solution x at generation t.This ranking method penalizes solutions located in the regions of the objective function space which are dominated(covered)by densely populated sections of the Pareto front.For example,in Fig.1b solution i is dominated by solutions c,d and e.Therefore,it is assigned a rank of4although it is in the same front with solutions f,g and h which are dominated by only a single solution.SPEA[11]uses a ranking procedure to assign better fitness values to non-dominated solutions at underrepre-sented regions of the objective space.In SPEA,an external list E of afixed size stores non-dominated solutions that have been investigated thus far during the search.For each solution y A E,a strength value is defined assðy;tÞ¼npðy;tÞN Pþ1,where npðy;tÞis the number solutions that y dominates in P.The rank r(y,t)of a solution y A E is assigned as r3ðy;tÞ¼sðy;tÞand the rank of a solution x A P is calculated asr3ðx;tÞ¼1þXy2E;y1xsðy;tÞ.Fig.1c illustrates an example of the SPEA ranking method.In the former two methods,all non-dominated solutions are assigned a rank of1.This method,however, favors solution a(in thefigure)over the other non-dominated solutions since it covers the least number of solutions in the objective function space.Therefore,a wide, uniformly distributed set of non-dominated solutions is encouraged.Accumulated ranking density strategy[19]also aims to penalize redundancy in the population due to overrepre-sentation.This ranking method is given asr4ðx;tÞ¼1þXy2P;y1xrðy;tÞ.To calculate the rank of a solution x,the rank of the solutions dominating this solution must be calculatedfirst. Fig.1d shows an example of this ranking method(based on r2).Using ranking method r4,solutions i,l and n are ranked higher than their counterparts at the same non-dominated front since the portion of the trade-off surface covering them is crowded by three nearby solutions c,d and e. Although some of the ranking approaches described in this section can be used directly to assignfitness values to individual solutions,they are usually combined with variousfitness sharing techniques to achieve the second goal in multi-objective optimization,finding a diverse and uniform Pareto front.5.2.Diversity:fitness assignment,fitness sharing,and nichingMaintaining a diverse population is an important consideration in multi-objective GA to obtain solutions uniformly distributed over the Pareto front.Without taking preventive measures,the population tends to form relatively few clusters in multi-objective GA.This phenom-enon is called genetic drift,and several approaches have been devised to prevent genetic drift as follows.5.2.1.Fitness sharingFitness sharing encourages the search in unexplored sections of a Pareto front by artificially reducingfitness of solutions in densely populated areas.To achieve this goal, densely populated areas are identified and a penaltyA.Konak et al./Reliability Engineering and System Safety91(2006)992–1007997。
遗传算法简介 英文版
![遗传算法简介 英文版](https://img.taocdn.com/s3/m/87a7c1d089eb172ded63b7a1.png)
Using GAs in MatLab
/mirage/GAToolBox/gaot/
MatLab Code
% Bounds on the variables bounds = [-5 5; -5 5]; % Evaluation Function evalFn = 'Four_Eval'; evalOps = []; % Generate an intialize population of size 80 startPop=initializega(80,bounds,evalFn,[1e-10 1]); % GA Options [epsilon float/binary display] gaOpts=[1e-10 1 0]; % Termination Operators -- 500 Generations termFns = 'maxGenTerm'; termOps = [500]; % Selection Function selectFn = 'normGeomSelect'; selectOps = [0.08]; % Crossover Operators xFns = 'arithXover heuristicXover simpleXover'; xOpts = [1 0; 1 3; 1 0];
of steepest gradient. Simple to implement, guaranteed convergence. Must know something about the derivative. Can easily get stuck in a local minimum.
The genetic algorithm was
基于自适应遗传算法的显著性检测
![基于自适应遗传算法的显著性检测](https://img.taocdn.com/s3/m/7790133a0722192e4536f6a0.png)
第 29 卷 第 11 期 2017 年 11 月计算机辅 助 设计与图 形 学学报Journal of Computer-Aided Design & Computer GraphicsVol.29 No.11 Nov. 2017基于自适应遗传算法的显著性检测蒋林华 1), 钟 荟 1), 林 晓 2)*, 马利庄 3)(上海理工大学光电信息与计算机工程学院 上海 200093) (上海师范大学信息与机电工程学院 上海 200234) 3) (上海交通大学电子信息与电气工程学院 上海 200240) (lin6008@)2) 1)摘要 : 为了更鲁棒地检测图像中的显著目标 . 在凸包的基础上 , 提出一种基于自适应遗传算法的显著性检测算法 .首先通过图像的 Harris 角点构造凸包 , 利用自适应遗传算法来找出凸包内的显著目标并构造遗传先验图 ; 然后构建 中心先验模型 , 与遗传先验图融合成先验图 ; 最后引入贝叶斯优化框架来优化先验图 , 以得到最终的显著图 . 在 6 个 公开的显著性检测数据库上进行评测 , 通过大量实验验证了该算法的有效性 .关键词 : 遗传算法 ; 中心先验 ; 显著性 ; 贝叶斯框架 中图法分类号 : TP391.41Adaptive Genetic Algorithm on Saliency DetectionJiang Linhua1), Zhong Hui1), Lin Xiao2)*, and Ma Lizhuang3)1) 2) 3)(School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093) (The College of Information, Mechanical and Electrical Engineering, Shanghai Normal University, Shanghai 200234) (College of Electronic Information and Electrical Engineering, Shanghai Jiao Tong University, Shanghai 200240)Abstract: In order to more robustly detect the salient targets in images, based on the convex hull, our paper proposed a saliency detection algorithm based on adaptive genetic algorithm. Firstly, the convex hull is constructed by Harris points of the image, the adaptive genetic algorithm is used to find the salient areas of convex hull and construct the genetic prior map. Then, construct center prior model and integrate genetic prior map and center prior model into a prior map; use Bayesian optimization framework to optimize the prior map to obtain the final saliency map. Our algorithm is evaluated on the six open saliency dataset. Extensive experimental results demonstrate that our algorithm is effective. Key words: genetic algorithm; center prior; saliency; Bayesian framework 近年来 , 人们越来越多地开始关注计算机视 觉这一重要领域 , 大量的研究人员开始寻找一种 行之有效的方法来描述图像中的重要信息 . 显著 性检测的目的就是运用一种有效的算法找出图像 中的显著目标 . 目前 , 计算机视觉领域的很多方面 都将显著性检测作为其预处理步骤, 如图像压缩[1]、 图像分割 [2]、目标定位 [3]、图像分类 [4]等 . 通常 , 将显著性检测算法按照信息处理的方 式大致分为 2 类 : 一类是自上而下的算法 , 另一类 是自下而上的算法. 自上而下的算法[5-8]需要先知道收稿日期 : 2016-11-29; 修回日期 : 2017-09-11. 基金项目 : 国家自然科学基金青年项目 (61502220); 国家自然科学基金联合项目 (U1304616); 国家自然科学基金面上项目 (61775139); 上海市自然科学基金 (15ZR1428600). 蒋林华 (1977 — ), 男 , 博士 , 教授 , 博士 生导师, 主要研究方向为电子光学图像处理、物联网研究与应用、软件工程与电子商务、卫星定位遥感与地理信息系统; 钟 男 , 硕士研究生 , 主要研究方向为图像处理 ; 林 视频处理 ; 马利庄 (1963— ), 男 , 博士 , 教授 , 博士生导师 , 主要研究方向为计算机图形图像处理、多媒体与虚拟现实 . 荟(1994—), 晓 (1978 — ), 女 , 博士 , 副教授 , 硕士生导师 , 论文通讯作者 , 主要研究方向为图像1972计算机辅助设计与图形学学报第 29 卷所检测目标的基本属性 , 并且进行监督训练 , 因此 大多数这类算法可以取得较高的准确率 , 但往往 会忽略显著目标的细节信息 . 相反 , 自下而上的算 法 [9-12] 往往是从底层的视觉信息出发 , 如借助颜色 等特征来构建显著图模型[13]训练以找出特定的显著目标 . Li 等 [5]通过多尺度的 深度卷积神经网络提取物体特征 , 再通过这些特 征训练找出图像中显著目标 . Wang 等 [6] 利用图像 检索方法找出与输入图像类似的图像 , 并通过真 值图训练的方式找出图像中显著目标 . Lu 等 [7]基于 中心先验的假设 , 以多种尺度构建弱显著模型 , 再 用弱显著模型训练强显著模型得到显著图. Judd 等[8] 使用高层特征训练得到的自上而下的显著性算法 , 具有人脸检测和人物检测的功能 . 自下而上的算法一般是通过底层图像特征寻 找显著目标 , 如果根据空间范围进一步划分 , 该类 算法又可以分为局部算法和全局算法 . 局部算法 通过考虑图像某块区域及其邻域的像素点的特征 值来计算图像显著性 . Zhu 等 [9]利用改进的凸包算 法来确定显著目标的大致位置 , 并用颜色特征来 进一步区分显著目标区域与背景区域 . Xie 等 [15]利 用凸优化的方法对图像进行全局聚类 , 与凸包结 合, 并在贝叶斯框架下计算图像的显著性. Yang 等[16] 引入流行排序的思想从边界出发构建显著性模型 , 以颜色为线索计算每个图像区域和图像边缘的相 关性 , 并以此作为每个区域的显著值 . Hu 等 [17] 通 过中心先验和对凸包内显著区域的重新加权来得 到先验图 , 再检测具有不同尺度下的显著对象 , 最 后在贝叶斯框架下得到最终的显著图 . Fu 等 [18] 使 用 Harris 凸包、焦点凸包 (foci convex hull)与背景 种子构造粗糙显著图 , 再利用基于图的扩散技术 优化粗糙显著图得到最终显著图 . 本文算法采用自下而上的方式 , 基于自适应的 遗传算法构建遗传分类模型 . 首先以颜色差异为线 索找到图像中的特征点 , 并以最外围的特征点围成 一块大致的显著性区域——凸包 , 再通过遗传分类 模型找出凸包内的显著目标区域并构建遗传先验图; 其次利用颜色及位置特征构建中心先验模型 , 并 与遗传先验图融合为先验图 ; 最后通过先验图提 供的先验概率与凸包提供的似然概率 , 再应用贝 叶斯框架计算得到最终的概率作为图像显著值. 本文算法生成的显著图的效果分步示例图如图 1 所示 , 其中越亮的像素表示具有越高的显著值 ., 而不需要某一特定的目标特征 ; 因而该类算法可以很好地适应不同 背景的图像 , 也能够检测出原始图像的细节信息 . 在自下而上的算法中 , 利用特征差异的方法检测 显著目标在显著性检测领域中应用较多 , 其中大 多数算法选择以底层信息 ( 颜色 , 强度 , 直方图等 ) 作为线索 . 总体上自下而上算法所得到的效果都 不错 , 但当目标颜色与背景颜色相似时 , 找出来的 区域就不是很准确 ; 另外 , 中心先验模型[14]也在这类算法中应用广泛 . 中心先验模型认为人们在 拍摄图片时往往会将重要的物体放置在图像的中 心 , 因此大多数的显著目标处于图像的中心位置 或中心位置附近 , 故先验地调整图像中心位置像 素点的显著性值 . 尽管中心先验模型可以预测大 多数目标 , 但依然存在一些显著目标不在中心的 图像 ,使得该类算法的结果不准确 . 为解决上述问题 , 本文构建一种基于自适应 遗传算法的遗传分类模型 , 并引入 2 种优化方法 : 一是构建中心先验模型 , 另一个是引入贝叶斯优 化框架 . 一方面 , 对于凸包未能包围住的显著目标 区域 , 可以运用中心先验模型 , 采用先验知识将处 于图像中心的目标点亮来形成初步中心先验模型 , 但是初步中心先验模型点亮显著性区域的同时也 会点亮非显著性区域 , 此时对初步中心先验模型 引入 CIELab 颜色特征便能很好地抑制所点亮的非 显著区域 ; 另一方面 , 对于目标不在图像中心的情 况 , 可以利用凸包 [15] 来构建遗传分类模型 , 将凸 包内的显著目标找到 . 遗传分类模型核心是颜色 对比算法 , 但遗传分类模型的效果受凸包影响较 大 , 所以目标的整体虽然能检测出 , 但目标与其边 缘背景不能很好地分离 ; 中心先验模型与凸包无 关, 也能检测出大部分处在图像中心的目标 . 所以, 二者的优势可以对彼此的不足进行互补 . 本文首 先构造一个遗传分类模型 , 并在模型的基础上用 中心先验模型进行优化 , 得到本文的先验图 ; 再通 过贝叶斯框架将先验图优化为最终的显著图 .1相关工作自上而下的算法由任务驱动 , 需要引入高层a. 输入图 b. 真值图 c. 遗传先验 d. 中心先验 e. 显著图信息 , 如特定目标的特征、属性等 , 再经过特定的图1本文算法的效果分步示例图第 11 期蒋林华 , 等 : 基于自适应遗传算法的显著性检测19732本文算法本文算法的流程图如图 2 所示 , 主要包含 3 个的概率作为像素的显著值 , 得到显著图 .部分 : 1) 主要目标是获得遗传先验图 , 并用于合成 本文的先验图 . 首先 , 找到输入图像的 Harris 角点 并构建凸包 , 然后基于自适应的遗传算法构建遗 传分类模型并点亮凸包内更为显著的一类 , 并以 此构建本文的遗传先验图 . 2) 构建中心先验模型 , 并与遗传先验图合成 先验图 . 通过空间特征构建本文的初步中心先验 模型 , 在初步中心先验模型中加入颜色特征 , 以此 构建本文的中心先验模型 . 3) 利用贝叶斯公式构建最终显著图 . 首先利 用所得到的先验图 , 并以先验图的显著值作为贝 叶斯公式的先验概率 ; 再利用构建的凸包计算得 到贝叶斯公式的似然概率 ; 最后将先验概率与似 然概率放入贝叶斯公式进行计算 , 并将计算得到预处理 为了更有效地提升算法的效率 , 且不改变原 有图像的结构关系 , 本文利用简单的线性迭代聚 类 (simple linear iterative clustering, SLIC)算法 [19] 将输入图像分割成 N 个超像素 , 即以超像素代替 像素作为显著性检测算法的基本操作单位 ; 然后 计算每个超像素中所包含的像素点的平均颜色和 平均位置值 , 并将这些平均值作为该超像素的颜 色和位置值 . 本文算法采用 2 种特征来描述图像 信息 : CIELab 颜色特征和空间特征 . CIELab 颜色 特 征与人眼中的颜色特征类似 , 可以帮助显著性 算法有效地找出显著目标区域 . 因为输入图像中 的显著目标与背景的颜色未必区别很大 , 所以当 颜色特征对算法的作用下降时空间特征便可以起 到弥补颜色特征不足的作用 . 颜色与空间特征的 融 入 , 使得本文算法可以更好地适应不同背景下 的图像 .2.1图2本文算法流程图2.2构建遗传分类模型 本文基于自适应的遗传算法构建遗传分类模建遗传分类模型找到凸包内更为显著的区域 , 以 此作为凸包内的显著目标 .型 . 首先构建凸包 , 通过文献 [15] 中的颜色增强的 Harris 角点检测算法得到输入图像中的显著点 ; 之 后将靠近图像边界的显著点筛选掉 ; 最后计算一 个能刚好包围住剩下的显著点的区域 S, 该区域就 是凸包 , 大致确定了显著物体的位置和轮廓 . 图 3 所示为本文构造凸包的示例 , 可以看出 , 凸包将大 部分的显著目标都围住了 . 虽然凸包大致地确定 了显著目标的位置 , 但同时也将部分背景区域包 围在凸包内 . 如果直接把凸包区域作为显著目标 的话 , 必然会导致算法结果的不准确 , 所以本文构a. 输入图像 b. 图像显著性点 c. 凸包图3凸包构造示例1974计算机辅助设计与图形学学报第 29 卷假设凸包内区域 S 有 n 个超像素 , 凸包内的显 著目标区域 (记为 s1)中有 n1 个超像素 , 凸包内的背 景区域 (记为 s2)中有 n2 个超像素 , 即 n=n1+n2. 之 后 , 选用自适应的遗传算法对凸包内超像素进行 分类 , 筛选出凸包内的显著目标 . 2.2.1 编码策略 编码是把一个问题的可行解从其解空间转换 到遗传算法所能处理的搜索空间的转换方法 . 种 群由一系列染色体组成 , 染色体又由一组基因所 组成 , 所以基因为最小的单位 . 在遗传算法中 , 基 因可以看做解空间中的一个组成成分 , 染色体可 以看做问题可能存在的一个解 , 而种群可看做该 问题的一系列解的组成 . 对于本文的遗传分类模 型 , 最终要找到的解是凸包内的显著目标区域 , 也 就是一系列更为显著的超像素的集合 . 所以把超 像素看做基因 , 一系列超像素的组合看做染色体 , 所有可能存在超像素的组合看做种群 . 本文算法 只需要区分出显著目标区域和背景区域的超像素 , 编码形式选用的是二进制编码 . 2.2.2 遗传算子 遗传算法的操作算子包括选择、交叉和变异 3 种基本形式 , 构成了算法的强大搜索能力的核心 . 选择操作体现适者生存的原理 , 通过适应度 选择优质个体而抛弃劣质个体 , 其主要作用是提 高全局收敛性和计算效率 . 本文算法的适应度函 数为f n1n2 (c1 c2 ) 2新个体 . 变异能恢复个体失去的或未开发的遗传物质 , 防止个体在形成最优解的过程中过早收敛 . 本文 算法对以概率 pm 挑选解空间的染色体上的基因并 进行变异, 以产生新的个体, 进而增加解的多样性. 2.2.3 遗传参数确定 在遗传算法运行过程中存在着对其性能产生 重大影响的一组参数 , 包括染色体长度、种群规模nga 、交叉概率 pc 及变异概率 pm .本文算法中 , 染色体的长度即为凸包内超像 素的个数, 设置为 n. 参考文献[20], 采用自适应的 遗传算法, 使交叉概率和变异概率自适应于适应度 k1 ( f max f ) ( f max f ) , f ≥ f pc f f k3 , k2 ( f max f ) ( f max f ) , f ≥ f pm f f k4 ,(2)(3)其中 , f max 为种群最大适应度 ; f 为平均适应度 ;f 为变异个体适应度 ; f 为交叉 2 个体适应度的较大值 ; k1~k4 为 [0,1] 内常数 , 按参考文献 [20]设置k1 k3 1.0, k2 k4 0.5 . 本文采用式 (1)中的适应度函数、式 (2)中的交叉概率和式 (3)中的变异概率 . 对高于种群平均适应度的个体 , 随着适应度的增 加 , 将使得交叉变异概率逐渐减小 , 以便对较优模 式进行保护 ; 而对于低于种群适应度的个体采用 最大交叉变异概率 , 使之产生较优的个体 . 因此 , 本文算法筛选出的最优解即为凸包内更为显著的 区域 . 2.2.4 构建遗传先验图 通过第 2.2.3 节找出的凸包内更为显著的区域 , 即凸包内的显著目标 . 构建遗传先验图 . 对于图像 中的 N 个超像素, 其中的每个超像素标记为i (i 1, 2, , N ) . 计算所有超像素的平 均颜色值和s N 平均位置值 , 并分别标记为 {ic }iN 1 和 {i }i 1 . 对于(1)其中 , n1 与 n2 分别为凸包内显著目标区域超像素个 数和背景区域超像素个数 , c1 与 c2 分别为上述两区 域内的超像素的平均颜色特征值 . n1, n2, c1, c2 的数 值取决于该组染色体 (即超像素的一组集合 ), 即由 该组染色体的中基因 ( 即超像素 )的类别决定 . 选择 运算使用排序选择 , 即根据各个体的适应度大小 f 进行排序 , 然后基于所排序号进行选择 , 每次迭代 保留下最优的个体并将其放入下一次的迭代 . 由 式 (1)可知 , 当 2 类超像素之间的颜色差异与 2 类超 像素的个数的积 f 达到最大时 , 算法收敛 , 即确定 出凸包内超像素各自的类别 , 从而筛选出凸包内 显著目标区域与背景区域 . 交叉能使个体间的遗传物质进行交换从而产 生更好的个体 . 本文中交叉算子选用的是单点交 叉 , 先将解空间中的染色体两两配对 , 在染色体中 以交叉概率 pc 设定一个交叉点 , 实行交叉时 , 使 得该点的前 2 个个体的部分结构进行互换 , 并生成凸 包 内 显 著 目 标 区 域 ( 记 为 s1 ) 中 的 第 p( p 1, 2, , n1 ) 个超像素 , 标记为 L p ( L p 1, 2, , N ).然后参照文献 [21]对图像中每个超像素进行赋值Gi 1 1 n1 gi (i, L p ) gi n1 n1 1 p 1 n1(4)其中 ,gi c c p 1, L p i d ( i , L pi s ) d ( is , L ) p(5)第 11 期蒋林华 , 等 : 基于自适应遗传算法的显著性检测1975 (i, L p ) 1, i L p 0, i L p(6)将向量 V 归一化 , 并且利用 V 中的值作为每个超 像素的权重 . 构建本文的中心先验模型Ci vi c(i )d (, ) 为特征间的欧氏距离 ; 为平衡参数 , 用于(7)平衡式 (5)中颜色和位置的重要性 , 设置为 0.4. 将 式 (5)(6) 代入式 (4) 中 , 计算图中凸包内每个超像素 的显著值 . 另外 , 设定凸包内超像素的 值高于凸 包外超像素的 值 , 使得相对提升凸包内超像素 的显著值 . 然后将 Gi 归一化到 [0,1] 中得到遗传先 验图 .其中 , c(i ) 为初步中心先验模型 , vi 表示向量 V 中 的第 i 项 . 3) 参照文献 [22] 将遗传先验图与中心先验模 型进行融合 , 得到先验图 . 对于每个超像素 i, 设 定 Si 表示先验图中该像素的显著值Si Gi (1 e( Ci ) )(8)2.3构建中心先验模型 对于之前的遗传先验图 , 虽然凸包可以大致 地将图像中显著目标区域包围住 , 之后将凸包内 的显著目标区域与背景区分开 ; 但依然存在一些 图像 , 其凸包不能完全将图像的显著目标区域包 围住 , 使得凸包外部存在显著目标区域 , 如果直接 将凸包内的显著目标区域看做整个图像的显著目 标区域 , 势必不准确 . 为解决此问题 , 本文构建中 心先验模型 . 据观察 , 大多数图像的目标位于图像 的中心或中心附近 , 所以本文先构建初步中心先 验模型 , 该模型可以将凸包未能包围住的图像区 域点亮 . 但是初步中心先验模型点亮显著区域的 同时也会将非显著区域点亮 , 所以依然会使得结 果相对不准确 . 为此 , 对初步中心先验模型加入颜 色特征以构建中心先验模型 , 该模型在点亮图像 显著区域的同时可以抑制初步中心先验模型所点 亮的非显著区域 , 使得检测结果更加准确 . 1) 构建初步中心先验模型 ( x x )2 ( y y )2 c(i ) exp i 20 i 20 . 2 x 2 y 其中 , xi 和 yi 表示超像素 i 的平均水平值和平均垂其中 , Gi 和 Ci 为式 (4)(7)中的遗传先验图与中心先 验模型 ; 是一个平衡参数 , 本文设定为 6.构建似然概率模型 通过凸包内外区域对比 [23] 的原则计算全图的 似然概率 p(v | l ) . 显然 , 凸包内像素的显著性值相对较高 . 在某些情况下 , 图像中显著目标的部分区 域颜色并不是很显著 , 容易被当做背景区域 , 使得 算法不准确 ; 而有些背景中与前景颜色相似且颜色 显著的像素点 , 可能会被算法误认为是显著目标 . 因此 , 以凸包为划分 , 把凸包内部的似然概率作为 显著目标的似然概率 ; 同理 , 凸包外的似然概率则 作为背景的似然概率 . 对于凸包内像素的个数 n, 图像的像素 v, nout 为 凸包外像素的个数 , 并且 , Nin ( f (v)) 和 N out ( f (v )) 分别为凸包内外颜色的统计值 . 与文献 [15] 类似 , 计算全图的似然概率p (v | l ) p (v | b ) Nin ( f (v)) n f { L , a ,b}2.4(9) (10)N out ( f (v)) nout f { L , a ,b}其中 , CIELab 颜色模型中的 L, a, b 特征是相互独 立的 . 对于式 (8) 所求的先验图 Si , 将 Si 的值作为第i 个超像素的先验概率 p(l ) , 对于图像的每个像素直坐标值 ; x0 和 y0 表示输入图像的中心点的水平坐 标值和垂直坐标值; 参数 x 和 y 分别表示水平方差 和垂直方差, 本文设定 x y 0.5 , 并且将像素坐 标值归一化至 [0,1]. 2) 对于图像中每个超像素 , 通过 CIELab 颜色 特征构建一个 N N 的相关性矩阵R =[t (i, j )]N N .v, 其先验概率等于该像素所在的超像素的先验概 率 . 再将图像中像素的先验概率与该像素对应的 似然概率放入贝叶斯公式 , 计算得到的概率作为 每个像素的显著性值 , 以此得到最终的显著性图 . 本文算法采用的贝叶斯模型公式p(l | v) p (l ) p (v | l ) p (l ) p (v | l ) p (b) p (v | b)其中, i, j [1, N ], N 为图像中超像素的个数; t (i, j ) 表示第 i 个和第 j 个超像素之间颜色的欧氏距离 , 设 定 t (i, i ) 0 . 计 算 R 中 每 一 列 之 和 , 得 到 一 个 向量N N N V = t (i,1), t (i, 2), , t (i, N ) . i 1 i 1 i 1 (11)将式 (9)(10) 代入式 (11), 求得图中每个像素的显著 值 . 其中 , p() 表示概率 , p(l ) 表示显著性的先验 概率 , 由先验图的 Si 提供 ; p(v | l ) 表示显著性的1976计算机辅助设计与图形学学报第 29 卷似然概率 ; p(b) 则是背景的概率, p(b)=1 p(l ) .0~255 中设定不同的阈值 , 得到不同的二值图 . 最 后将得到的二值图与真值图进行对比 , 得到多组 P-R 值 , 根据所得的 P-R 值画出 P-R 曲线 . 为了更 加全面地检测算法的有效性 , 加入平均绝对误差 (mean absolute error, MAE)[13], 该值可以很好地体 现显著图和真值图的平均差异 , 并评价显著图与 真值图的相似程度MAE 1 nana3实验评价本文算法在 6 个标准数据库 ASD, MSRA5000,THUS, ECSSD, PASCAL 和 THUR 上进行实验 . 其 中 , ASD 数据库有 1 000 张简单的图片 , 应用范围 较大 ; MSRA5000 数据库具有 5 000 张图片 , 相对 于 ASD 背景更为复杂 ; THUS 是图片量相对较大的 数据库 , 含有 10 000 张图片 , 难度与 MARA5000 相似 ; ECSSD 数据库中有 1 000 张图片 , 背景比 MSRA5000 复杂; PASCAL 含有 1 500 张复杂背景或 前景复杂的图片 , 难度较大 ; THUR 数据库图片量 大且难度高 ; 这些数据库中的图片均含有像素点 级别的真值标注图 . 将本文算法与近期的优秀算法或显著性检测 领 域 中 的 经 典 算 法 进 行 对 比 , 包 括 IT98[24], FT09[25], CA10[26], RC11[27], SVO11[28], GS12[29], SF12[30], PCA13[31], HS13[11], LMLC13[15], GC13[32], wCtr14[12] 和 LPS15[10]. 这些算法的结果都由作者 提供或者根据作者提供的代码进行实验所得 . S pi G pi ,i 1其中 , na 为图像中像素的个数 , S ( pi ) 和 G ( pi ) 分 别表示为第 i 个像素的显著性值和真值 . 该评价方 法可以表现出显著性图与真值图之间的相似程度.3.2算法评测 为了证明本文算法的有效性 , 在 ASD, MSRA-5000, THUS, ECSSD, PASCAL 和 THUR 数据库上 进行实验 , 同时也与其他算法的显著图进行对比 测试 , 并记录了本文算法与其他算法的 MAE. 3.2.1 算法数据评测 从如图 4a 可以看出 , 本文算法的曲线位于最 上方 . 从表 1 可以看出 , 本文算法的 MAE 值仅高 于 wCtr 和 LPS 算法 , 反映出本文算法在 ASD 数据 库上的有效性 .3.1评价标准 本文采用的评价标准是准确率 P 和召回率 R, 即 P-R 曲线 . 将检测的显著图量化至 [0,255], 再从图4在 6 个数据库上的 P-R 曲线第 11 期蒋林华 , 等 : 基于自适应遗传算法的显著性检测1977表1数据库 ASD MSRA5000 PASCAL ECSSD THUR THUS 本文 0.098 0.133 0.168 0.243 0.166 0.144 LPS 0.070 0.127 0.190 0.237 0.150 0.124 wCtr 0.064 0.110 0.154 0.225 0.150 0.108本文算法与其他算法在 6 个数据库上的 MAE 值算法 GC 0.101 0.101 0.265 0.256 0.192 0.139 LMLC 0.135 0.135 0.289 0.296 0.246 0.164 HS 0.114 0.162 0.223 0.269 0.218 0.149 PCA 0.156 0.189 0.209 0.290 0.198 0.185 SF 0.130 0.170 0.216 0.274 0.184 0.175 0.139 GS 0.130 0.144 0.181 0.255 SVO 0.337 0.358 0.368 0.420 0.382 0.331 RC 0.238 0.269 0.295 0.235 0.168 0.137 CA 0.233 0.250 0.264 0.343 0.248 0.237 FT 0.205 0.240 0.261 0.327 0.241 0.234 IT 0.194 0.254 0.260 0.313 0.199 0.213从图 4b 可以看出 , 当 R 0.5 时 , 本文算法的 曲线在其他算法之上 ; 但是当 R 0.5 时, 本文算法 下降较为明显. 从表 1 可以看出, 本文算法的 MAE 值优于一些显著性检测领域中的经典算法 . 从图 4c 可以看出 , 本文算法的曲线只有在R 0.3 时处于所有曲线上方 ; 当 R 0.3 时略低于从图 4e 可以看出 , 本文算法在 THUR 数据库 上表现较差 , 只有在 R 0.2 时 , 本文算法曲线才 超越其他算法曲线 . 从表 1 可以看出 , 本文算法的 MAE 值较高 , 体现出该算法在该数据库上的不足 , 今后 , 我们将致力于改进本文算法 , 以改良在该数 据库上的表现 . 从图 4f 可以看出 . 本文算法的曲线仅低于近 年的优秀算法 , 超越了该领域的经典算法 . 从表 1 可以看出 , 本文算法的 MAE 值表现较为普通 , 仅 优于该领域的经典算法 . 3.2.2 算法显著图评测 图 5 所示为本文算法与 11 种现有算法生成的 显著图对比 . 可以看出 , 对于所有输入图像 , 本文 算法都能较为准确地找出了图像中的显著目标,wCtr 算法的曲线 , 与 LPS 算法的曲线较为接近 . 从表 1 可以看出 , 本文算法的 MAE 值优于一些显 著性检测领域中的经典算法 . 从图 4d 可以看出 , 本文算法曲线在大多数时 候处于其他算法的曲线上方 , 表现出本文算法在 该数据库上的优势 . 从表 1 可以看出 , 本文算法的 MAE 值仅高于 wCtr 算法 , 低于近年的和一些经典 的优秀算法 .a. 输入图b. IT 算法c. CA 算法d. RC 算法e. SVO 算法1978计算机辅助设计与图形学学报第 29 卷f. SF 算法g. LMLC 算法h. HS 算法i. PCA 算法j. GC 算法k. wCtr 算法l. LPS 算法m. 本文算法n. 真值图图5本文算法与 11 种现有算法生成的显著图对比体现出该算法的准确率相对较高 , 而准确率是算 法的优势所在 ; 但对于图像中的显著目标区域含 有与背景相似区域的情况 , 本文算法会稍微地抑 制该区域 , 使得该算法的显著图在与近年算法对 比中稍显不足 , 这是算法的主要缺点 , 今后将致力 于改正缺点 , 以提高算法的效率 . 对于经典算法 ,本文算法的显著图还是有较大优势的 , 这也进一 步证明了本文算法的有效性 .4结语本文提出一种基于自适应遗传算法的显著性。
Adaptive differential evolution algorithm
![Adaptive differential evolution algorithm](https://img.taocdn.com/s3/m/b271848c84868762caaed508.png)
Adaptive differential evolution algorithm for multiobjective optimization problemsWeiyi Qian *,Ajun liDepartment of Mathematics,Bohai University,Jinzhou,Liaoning 121000,PR ChinaAbstractIn this paper,a new adaptive differential evolution algorithm (ADEA)is proposed for multiobjective optimization problems.In ADEA,the variable parameter F based on the number of the current Pareto-front and the diversity of the current solutions is given for adjusting search size in every generation to find Pareto solutions in mutation operator,and the select operator combines the advantages of DE with the mechanisms of Pareto-based ranking and crowding dis-tance sorting.ADEA is implemented on five classical multiobjective problems,the results illustrate that ADEA efficiently achieves two goals of multiobjective optimization problems:find the solutions converge to the true Pareto-front and uni-form spread along the front.Ó2008Elsevier Inc.All rights reserved.Keywords:Multiobjective optimization problems;Differential evolution algorithm;Adaptive;Select operator1.IntroductionMultiobjective optimization problems (MOPs)which consist of several competing and incommensurable objective functions are frequently encountered in real-world problem such as scientific and engineering appli-cations.Consequently,there are two goals in multiobjective optimization:(i)to discover solutions as close to the Pareto-front as possible,(ii)to find solutions as diverse as possible in the obtained nondominated front.In recent years,many optimization techniques have been proposed in some literatures to solve MOPs.Some of the most attractive algorithms are evolution algorithms (EAs)such as NSGAII [1],MODE [2],PAES [3].In contrast to traditional gradient-based techniques,EAs use a set of potential solutions to detect feasible region.So several solutions of a multiobjective problem can be obtained in a single run.The properties enable EAs converge fast to the true Pareto-front (the concept will be explained in the following section).In MOPs,a large number of optimal solutions exist,and each correspond to a different trade-offamong the objective functions.Differential evolution algorithm (DE)is designed for minimizing functions of real variable.It is extremely robust in locating the global minimum.DE is a simple yet powerful evolutionary optimization algorithm that0096-3003/$-see front matter Ó2008Elsevier Inc.All rights reserved.doi:10.1016/j.amc.2007.12.052*Corresponding author.E-mail address:qianweiyi@ (W.Qian).Available online at Applied Mathematics and Computation 201(2008)431–440432W.Qian,A.li/Applied Mathematics and Computation201(2008)431–440has been successfully used in solving single-objective problems by Price and Storn[4].After that,it was used to handle MOPs.Abbass was thefirst to apply DE to MOPs in the so-called Pareto differential evolution(PDE) algorithm[5,6].Madavan achieved good results with the Pareto differential evolution approach(PDEA)[7]. Xue introduced multiobjective differential evolution[2].Tea Robi^c proposed differential evolution for multi-objective optimization(DEMO)[8].In this paper,we propose a new way of extending DE to be suitable for solving MOPs.A novel approach, called adaptive differential evolution algorithm(ADEA)which incorporated a new select operator and an adaptive parameter,is introduced to search the global solutions.In each generation,the select operator emphasize Elitist to promote the research towards the Pareto-front.And the adaptive parameter F was used to adjust step size for the need of algorithm.From the simulate results onfive test problems,wefind the speed of converging to the true Pareto-front of ADEA is more fast and the diversity is better than most of other optimization algorithms for multiobjective problems.The rest of the paper is organized as follows:Section2provides the concept of Pareto-front and Pareto-ranking,DE scheme which was used as a background for ADEA.In Section3,a method called ADEA is dis-cussed in detail.Section4outlines the applied test problems and performance measures.Experimental results showing the effectiveness of our approach and the further comparison and discussion of the results are also provided in this section.Section5concludes the paper.2.Background2.1.Pareto-rankingTwo or more objectives in a multiobjective problem are usually conflict and compete,they cannot be min-imized concurrently.So one solution often cannot be said to be better or worse than another according their function values.There exists not a single optimal solution,but a set optimal solutions-called Pareto-front.Starting from a set of initial solutions,multiobjective evolutionary algorithms use an iteratively improving optimization techniques tofind the optimal solutions.In every iterative progress,EAs favor population-based Pareto dominance as a measure offitness.That makes for exploring the potential promising areas of search space and obtain more thefinal approximation of the Pareto-optimal front.The Pareto-optimal front is defined as follows:For any two decision vectors a and b,a1bða dominates bÞif fðaÞ6fðbÞK fðaÞ¼fðbÞ;a#bða weakly dominates bÞif fðaÞ6fðbÞ;a$bða is incomparable to bÞif fðaÞi fðbÞK fðbÞi fðaÞ;where relations 2f¼;<;6;i g are for every j2f1;...;n g if f jðaÞ f jðbÞ.A decision vector v is called Pareto-optimal solution when it is not dominate by any other decision vector ~v2X in all objectives.The set of all Pareto optimal solutions is called the Pareto-optimal front.We rest Par-eto-ranking–a concept that has been prevalent since Goldberg’s early work[2]and features in a host of tech-niques tofind Pareto-optimal front.The computation of Pareto-ranking is very complex before Deb et al.[8] proposed a fast ranking approach which requires at most oðMN2Þcomputations in NSGAII.This approach can sort a population of size N according to the level of non-domination fast.2.2.Differential evolutionDE is an efficient evolutionary optimization algorithm.It has been successfully applied on a plethora of applications.DE is a population set of solution vectors which are successively updated by addition,subtrac-tion and component swapping,until the populations converge,hopefully to optimum.An initial set S consists of N points with corresponding function values is generated randomly in X.Mutation and crossover are used to generate new points according S.A selection progress is then used to drive these points to the vicinity of the global minimizer.That is,thefinal minimizers will be obtained through irritating the initial populations.Now we will describe the progress of DE in detail.N points are sampled in X as initial set S¼f x1;x2;...;x N g.Take N)n,n being the dimension of the func-tion f(x).In each iteration,N competitions between target points and trial points which are generated through mutation and crossover operators are held to determine the members of S for the next generation.In mutation phrase,DE randomly selects three distinct points x(1),x(2),x(3)from the current set S.The weighted different of any points is then added to the third points which can be mathematically described as: ^x i¼x pð1ÞþFðx pð2ÞÀx pð3ÞÞ;ð1Þwhere F61is a selecting factor.Then a trial point yi as a competition to target point x i will be found from itsparents x i and^x i using the following crossover rules:y j i¼^x jiif R j6C R or j¼I i;x j i if R j>C R and j¼I i;(ð2Þwhere I i is a randomly chosen integer in the set I,i.e.I i¼f1;2;...;n g;the superscript j represents the j th com-ponent of respective vectors:R j2ð0;1Þ;draw randomly for each j.The entity C R is a constant.Notice that for C R¼1,the trial vector y i is equal to the mutated vector,that is,only the mutation operation is used to repro-duction.The goal of the crossover operation is to get the trial vector yi .The selection mechanism decideswhich point(x i and yi )is accept.All the solutions in the population have the same chance of being selectedas parents without dependence on theirfitness value.The child produced after the mutation and crossover operations is evaluated.Then,the performance of the child vector and its parents is compared and the better one is selected.If the parent is still better,it is retained in the population.The differential evolution algorithm(DE):Step1.Determine the initial set S¼f x1;x2;...;x N gwhere the points x i;i¼1;...;N are sampled randomly in X.Evaluate f(x)at each x i2S.Take N)n, n being the dimension of the f(x).Set generation counter k=0.Step2.While stopping criterion not meet,doStep2.1.Generate points to replace points in S.For each x i2S,determine y i by the following two reproduction operations.Mutation:Randomly select three points from S except x i,find the second parent^x i by the muta-tion rule(1).Crossover:Calculate the trial vector y i corresponding to x i from x i and^x i using the crossover rule(2).Step2.2.Replace points in S.Evaluate the trial vector yi ,if yiis better than its parent x i;yireplacesx i,otherwise yiis discarded.Set k=k+1.Go to step2.3.Adaptive differential evolution algorithmWhen applying DE to MOPs,we face many difficulties.How to replace the parent with trial solutions and preserve a uniform spread of nondominated solutions are two main challenge for DE algorithm.The selection operator of original DE is simple but it is notfit for the MOPs.The selection is easy in single-objective opti-mization,but the selection is not so straight forward in MOPs.It exists that the trial solutions and the parent solutions are incomparable.According to the original DE,if the trial solution is not dominance the parent,the trial is discarded.This method lead to miss the optimal solutions that have been found.Meanwhile,the sen-sitivity of the parameter F was not study,authors just chose their values randomly and mainly between0.5and 0.9.The effluence of F to the new points was ignored.To overcome the above mentioned drawbacks,we proposed a adaptive parameter F and a new selection method.We do not compare trial solution with its parent when a trial point is generated,but keep it in the trial set.When all the members in the population set generate trial solutions,we get a new population size of two popsize with trial set and parent set.Then truncate it to the size of popsize for the next step of the algorithm.The truncation consists of sorting the individuals with nondominated sorting and evaluating the W.Qian,A.li/Applied Mathematics and Computation201(2008)431–440433individuals of the same front with the crowding distance metric.The truncation procedure continue until only the best popsize individuals are get.The truncation is similar to what in NSGAII,but ADEA introduces a different crowding distance metric.It is outlined in Fig.1.We use diagonal of the largest cuboid which enclos-ing the point x i without including any other point in the population as density estimation of the population.Fig.1outlines the crowing distance computation procedure of the solutions in an nondominated set I.In DE,the generation of new points is mainly dependent on mutation operator.In mutation,parameter F plays an important role.F has influence on the speed of converge and the diversity of the solutions.F decides the search ually,optimization algorithms favor global search at the early stage for exploring feasible domain and finding the global optimization solutions and local search at the latter stage for accelerating con-verge.Based on above strategy,we defines a parameter F as follows:F ¼max P k j ¼1P m j i ¼1j d ij À d j j þd f P j Q j Á d þd f ;1À2j P j j Q j ;l min !where d ij is the crowding distance of the i th solution in the j th Pareto level; dj is the average value of crowd-ing distance of the solutions in the j th Pareto level; dis the average value of crowding distance of the solu-tions in every iteration;j P j is the number of the nondominated solutions;j Q j is the number of the population set;the parameter d f represent the Euclidean distance between two boundary solutions in Q ;l min is a lower bound for F .ADEA is implemented as follows:Initially,a random parent population S is created.The truncation procedure is introduced for calculating F in the first iteration and all the solutions in S are retained.In the other iteration,truncation procedure used to select the parent set (for next generation)and calculating F .F is decided by the number of the current Pareto-front and the diversity of the current solutions.It can adjust its size with the need of the algorithm.The gen-eration of new points is as the same as DE (according mutation rule and crossover rule).Then a combined population S ¼S [Q (including new points)is formed.The population S will be of size 2N .Since all previous and current population members are included in S ,the elitism is insured.The ADEA procedure is shown in Fig.2.4.Experimental results 4.1.Performance measuresTo validate our approach,we used the methodology normally adopted in the evolutionary multiobjective optimization literature.Because we wanted to compare ADEA to other MOEAs on their published results,we use three metrics that have been used in these studies.They represent both quantitative comparisons and qual-Fig.1.Crowding distance metric in ADEA.434W.Qian,A.li /Applied Mathematics and Computation 201(2008)431–440itative comparisons with MOEAs that are respective of the state-of-the-art:the Nondominated Sorting Genetic Algorithm II (NSGAII)the Strength Pareto Evolutionary Algorithm (SPEA),the Pareto Archived Evolution Strategy (PAES),the Pareto-frontier Differential Evolution Approach (PDEA),the Multiobjective Optimization Evolution Algorithm (MOEA).(1)Convergence metric Ç.This metric is defined as:ǼP ni ¼1d in;where n is the number of nondominated vector found by the algorithm being analyzed and d i is the Euclidean distance (measured in the objective space)between the obtained nondominated front Q and the nearest member in the true Pareto front P .It measures the distance between the Q and P .(2)Generational distance (GD).This metric is similar to Ç.It is defined as:GD ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiP ni ¼1d ip n ;where d i is the Euclidean distance (measured in the objective space)between the obtained nondominated front Q and the nearest member in the true Pareto-front P .It should be clear that a value of GD =0indicates that all the elements generated are in the true Pareto-front of the problem.(3)Diversity metric D .This metric measures the distant of spread achieved among the nondominated solutions.It is defined as:D ¼d f þd l þP ni ¼1ðd i À dÞd f þd l þðn À1Þ dwhere d i is the Euclidean distance (measured in the objective space)between consecutive solutions in theobtained nondominated front Q and dis the average of these distances.The parameters d f and d l rep-resent the Euclidean distance between the extreme solutions of the true Pareto-front P and the boundary solutions of the obtained front Q .4.2.Test problems and resultsThe test problems for evaluating the performance of our methods are chosen based on significant past stud-ies in multiobjective evolutionary algorithms.We chose five problems from benchmark domains commonly used in past multiobjective GA research (in the literature [1,7,2,10]).For every test problem,number of population points (NP)=100,number of iterations (NG)=200:Fig.2.Outline of ADEA.W.Qian,A.li /Applied Mathematics and Computation 201(2008)431–440435Test problem1(ZDT1):Convex Pareto-front:f1ðxÞ¼x1;f2ðxÞ¼gðxÞð1Àffiffiffiffiffiffiffiffiffiffiffiffiffiffiffix1=gðxÞpÞ;gðxÞ¼1þ9nÀ1X ni¼2x iwith n=30and x i2½0;1 .Test problem2(ZDT2):Nonconvex Pareto-front f1ðxÞ¼x1;f2ðxÞ¼gðxÞð1Àðx1=gðxÞÞ2Þ;gðxÞ¼1þ9nÀ1X ni¼2x iwith n=30and x i2½0;1 .Test problem3(ZDT3):Discontinuous Pareto-front:f1ðxÞ¼x1;f2ðxÞ¼gðxÞð1Àffiffiffiffiffiffiffiffiffiffiffiffiffiffiffix1=gðxÞpÀx1gðxÞsinð10p x1ÞÞ;gðxÞ¼1þ9nÀ1X ni¼2x iwith n=30and x i2½0;1 .Test problem4(ZDT4):Many local Pareto-fronts:f1ðxÞ¼x1;f2ðxÞ¼gðxÞð1Àffiffiffiffiffiffiffiffiffiffiffiffiffiffiffix1=gðxÞpÞ;gðxÞ¼1þ10ðnÀ1ÞþX ni¼2ðx2iÀ10cosð4p x iÞÞwith n=10and x12½0;1 x i2½À5;5 for i¼2; (9)Test problem5(ZDT6):Low density of solutions near Pareto-fronts: f1ðxÞ¼1ÀexpÀ4x1sinð6p x1Þ6;f2ðxÞ¼gðxÞð1Àðf1ðxÞ=gðxÞÞ2Þ;gðxÞ¼1þ9nÀ1X ni¼2x iwith n=10and x i2½0;1 .The results of ADEA is shown in Figs.3–7,the behavior of ADEA is compared to NSGAII on a number of test problems.To match the settings of the algorithms used for comparison,the population size was set100 and the algorithm was run for200generations.As can be seen,ADEA is able to generate uniform distribution of solutions and the results is better than NSGAII on both quality and quantity on zdt1,2,3,4,6.parison and discussionResults onfive test functions,in relation to the convergence metric C and diversity metric D,are presented in Table1–5,the mean and variance of the values are averaged over10runs.The results for ADEA and other five algorithms which are taken from the literature(see[9]for the results and parameter settings of both ver-sions of NSGAII,SPEA and PAES,[7]for PDEA,and[2]for MODE)are provided.436W.Qian,A.li/Applied Mathematics and Computation201(2008)431–440W.Qian,A.li/Applied Mathematics and Computation201(2008)431–440437Results for PDEA in[6]were evaluated with generational distance instead of the convergence metric.As can be seen,ADEA is able to converge better in all problems except in ZDT1and ZDT2,where NSGA-II(binary-coded)and SPEA found better convergence.The challenge for MOEAs in thefirst three test prob-lems(ZDT1,ZDT2and ZDT3)lies in the high-dimensionality of these problems.Many MOEAs have achieved very good results on these problems in both goals of multiobjective optimization(convergence to the true Pareto-front and uniform spread of solutions along the front).The results for the problems ZDT1 and ZDT2(see Tables1and2)show that ADEA achieves good results,which are comparable to the results of the algorithms NSGA-II(real-coded),PAES and MODE.On ZDE3(see Table3),ADEA outperform all other algorithms used in comparison.438W.Qian,A.li/Applied Mathematics and Computation201(2008)431–440Table1Statistics of results on test problems ZDT1Algorithm Convergence metric Diversity metric NSGA-II(real-coded)0.033482±0.0047500.390307±0.001876 NSGA-II(binary-coded)0.000894±0.0000000.463292±0.041622 SPEA0.001799±0.0000010.784525±0.004440 PAES0.082085±0.008679 1.229794±0.000742 PDEA N/A0.298567±0.000742 MODE0.005800±0.000000N/ASDE0.002741±0.0003850.382890±0.001435 Table2Statistics of results on test problems ZDT2Algorithm Convergence metric Diversity metric NSGA-II(real-coded)0.072391±0.0316890.430776±0.004721 NSGA-II(binary-coded)0.000824±0.0000000.435112±0.024607 SPEA0.001339±0.0000000.755184±0.004521 PAES0.126276±0.036877 1.165942±0.007682 PDEA N/A0.317958±0.001389 MODE0.005500±0.000000N/ASDE0.002203±0.0002970.345780±0.003900W.Qian,A.li/Applied Mathematics and Computation201(2008)431–440439 Table3Statistics of results on test problems ZDT3Algorithm Convergence metric Diversity metric NSGA-II(real-coded)0.114500±0.0049400.738540±0.019706 NSGA-II(binary-coded)0.043411±0.0000420.575606±0.005078 SPEA0.047517±0.0000470.672938±0.003587 PAES0.023872±0.0000100.789920±0.001653 PDEA N/A0.623812±0.000225 MODE0.021560±0.000000N/ASDE0.002741±0.0001200.525770±0.043030 Table4Statistics of results on test problems ZDT4Algorithm Convergence metric Diversity metric NSGA-II(real-coded)0.513053±0.1184600.702612±0.064648 NSGA-II(binary-coded) 3.227636±7.3076300.479475±0.009841 SPEA7.340299±6.5725160.798463±0.014616 PAES0.854816±0.5272380.870458±0.101399 PDEA N/A0.840852±0.035741 MODE0.638950±0.500200N/ASDE0.100100±0.4462000.436300±0.110000 Table5Statistics of results on test problems ZDT6Algorithm Convergence metric Diversity metric NSGA-II(real-coded)0.296564±0.0131350.668025±0.009923 NSGA-II(binary-coded)7.806798±0.0016670.644477±0.035042 SPEA0.221138±0.0004490.849389±0.002713 PAES0.085469±0.006664 1.153052±0.003916 PDEA N/A0.473074±0.021721 MODE0.026230±0.000861N/ASDE0.000624±0.0000600.361100±0.036100 ZDT4is a hard optimization problem with manyð219Þlocal Pareto-fronts that tend to mislead the optimi-zation algorithm.In Table4,we can see that all algorithms have difficulties in converging to the true Pareto-front.But ADEA get very good result.With thefirst test problem ZDT6,there are two major difficulties.Thefirst one is thin density of solutions towards the Pareto-front and the second one nonuniform spread of solutions along the front.On this problem, ADEA outperform all other algorithms.In thefirst three and the last problems,crossover rate is0.7,ZDT4is0.3.For the diversity metric,ADEA outperform any other proposed algorithms.5.ConclusionADEA is a new DE implementation dealing with multiple objectives.The biggest difference between ADEA and other MOEAs is that ADEA introduced a new defined self-parameter and a new select operator.We tested the approach onfive benchmark problems and it was found that our approach is competitive to most other approaches.We also experimented with different crossover rate on these problems tofind their best solu-tions.The crossover rate is found to be sensitive on problem4to the solutions.In the near future,we also plan to evaluate ADEA on additional test problems.440W.Qian,A.li/Applied Mathematics and Computation201(2008)431–440References[1]K.Deb,A.Pratap,S.Agarwal,T.Meyarivan,A fast and elitist multiobjective genetic algorithm:NSGA-II,IEEE Transactions onEvolutionary Computation6(2002)182–197.[2]F.Xue,A.C.Sanderson,R.J.Graves,Pareto-based multi-objective differential evolution,Proceedings of the2003Congress onEvolutionary Computation(CEC’2003),vol.2,IEEE Press,Canberra,Australia,2003,pp.862–869.[3]J.Knowles,D.Corne,The Pareto archived evolution strategy:a new baseline algorithm for multiobjective optimization,in:Proceedings of the1999Congress on Evolutionary Computation,IEEE Service Center,Piscataway,NJ,1999,pp.98–105.[4]K.V.Price,R.Storn,Differential evolution-a simple evolution strategy for fast optimization,Dr.Dobb’s Journal22(1997)18–24.[5]H.A.Abbass,R.Sarker,C.Newton,PDE:A Pareto-frontier differential evolution approach for multi-objective optimizationproblems,Proceedings of the Congress on Evolutionary Computation2001(CEC’2001),vol.2,IEEE Service Center,Piscataway,NJ, 2001,pp.971–978.[6]H.A.Abbass,The self-adaptive Pareto differential evolution algorithm,Proceedings of the Congress on Evolutionary Computation(CEC’2002),vol.1,IEEE Service Center,Piscataway,NJ,2002,pp.831–836.[7]N.K.Madavan,Multiobjective optimization using a Pareto differential evolution approach,Proceeding of the Congress onEvolutionary Computation(CEC’2002),vol.2,IEEE Service Center,Piscataway,NJ,2002,pp.1145–1150.[8]Tea Rolicˇ,Bogdan Filipic ,in:C.A.Coello,et al.(Eds.),DEMO:Differential Evolution for Multiobjective Optimization,EMO2005,LNCS3410,2005,pp.520–533.[9]mpinen,A bibliography of differential evolution algorithm.<http://www2.lut.fi/~jlampine/debiblio.htm>.[10]D.E.Goldberg,Genetic Algorithms in Search,Optimization,and Machine Learning,Addison-Wesley,Reading,MA,1989.。
An Improved Heuristic Algorithm for UAV Path Planning in 3D Environment
![An Improved Heuristic Algorithm for UAV Path Planning in 3D Environment](https://img.taocdn.com/s3/m/82239972caaedd3383c4d3b0.png)
An Improved Heuristic Algorithm for UAV Path Planning in 3D Environment Zhang Qi1, Zhenhai Shao1, Yeo Swee Ping2, Lim Meng Hiot3, Yew Kong LEONG4 1School of Communication Engineering, University of Electronic Science and Technology of China2Microwave Research Lab, National University of Singapore3Intelligent Systems Center, Nanyang Technological University4Singapore Technologye-mail:beijixing2006@,zhenhai.shao@, eleyeosp@.sg,emhlim@.sg, leongyk@Abstract—Path planning problem is one of core contents of UAV technology. This paper presents an improved heuristic algorithm to solve 3D path planning problem. In this study the path planning model is built based on digital map firstly, and then the virtual terrain is introduced to eliminate a significant amount of search space, from 3-Dimensions to 2-Dimensions. Subsequently the improved heuristic A* algorithm is applied to generate UAV trajectory. The algorithm is featured with various searching steps and weighting factor for each cost component. The simulation results have been done to validate the effectiveness of this algorithm.Keywords-unmanned aerial vehicle (UAV); path planning; virtual terrain; heuristic A* algorithmI.I NTRODUCTIONPath planning is required for an unmanned aerial vehicle (UAV) to meet the objectives specified for any military or commercial application. The general purpose of path planning is to find the optimal path from a start point to a destination point subject to the different operational constraints (trajectory length, radar exposure, collision avoidance, fuel consumption, etc) imposed on the UAV for a particular mission; if, for example, the criterion is simply to minimize flight time, the optimization process is then reduced to a minimal cost problem.Over decades several path planning algorithms have been investigated. Bortoff [1] presented a two-step path planning algorithm based on Voronoi partitioning: a graph search method is first applied to generate a rough-cut path which is thereafter smoothed in accordance with his proposed virtual-force model. Anderson et al. [2] also employed Voronoi approaches to generate a family of feasible trajectories. Pellazar [3], Nikolos et al. [4] and Lim et al. [5] opted for genetic algorithms to navigate the UAV. The calculus-of-variation technique has been adopted in [6]-[7] to find an optimal path with minimum radar illumination.In this paper, an improved heuristic algorithm is presented for UAV path planning. The path planning environment is built in section II, and the algorithm is depicted in section III, the following section presents experimental results which can validate the effectiveness of the proposed algorithm.II.P ATH PLANNING MODELSeveral factors must be taken into account in path planning problem: terrain information, threat information, and UAV kinetics. These factors form flight constraints which must be handled in planning procedure.Many studies use the mathematical function to simulate terrain environment [4]. This method is quick and simple, but compared with the real terrain which UAV flying across, it lacks of reality and universality. In this study, terrain information is constructed by DEM (digital elevation model) data, which is released by USGS (U.S. Geological Survey) as the true terrain representation.Threat information is also considered in path planning. In modern warfare, almost all anti-air weapons need radar to track and lock air target. Here the main threat is radar illumination. Radar threat density can be represented by radar equation, because the intrinsic radar parameters are determined before path planning. The threat density can be regarded inversely proportional to R4, where R is the distance from the UAV’s current location to a particular radar site.For simplicity, UAV is modeled as a mass point traveling at a constant velocity and its minimum turning radius is treated as a fixed parameter.III.P ATH PLANNING A PPRO A CHA.Virtual terrain for three-dimensional path planningUnlike ground vehicle routing planning, UAV path planning is a 3D problem in real scenario. In 3D space, not only terrain and threat information is taken into account, but also UAV specifications, such as max heading angle, vertical angle, and turning radius are incorporated for comprehensive consideration.The straightforward method for UAV path planning is partitioning 3D space as 3D grid and then some algorithms are applied to generate path. However, for any algorithm the computational time is mainly dependent on the size of search space. Therefore, for efficiency consideration, a novel concept of constructing a 2D search space which is based on original 3D search space is proposed, which is called virtual terrain. The virtual terrain is constructed above the real terrain according to the required flight safety clearance2010 Second International Conference on Intelligent Human-Machine Systems and Cyberneticsheight, as it is shown in Figure 1. . A’B’C’D’ is the real terrain and ABCD is virtual terrain. H is the clearance height between two surfaces. Virtual terrain enables path planning in 2D surface instead of 3D grid and can reduce search spaceby an order of magnitude.Figure 1. virtual terrain above real terrainB. Path planning algorithmA* algorithm [8]-[9] is a well-known graph search procedure utilizing a heuristic function to guide its search. Given a consistent admissible condition, A* search is guaranteed to yield an optimal path [8]. At the core of the algorithm is a list containing all of the current states. At each iterative step, the algorithm expands and evaluates the adjacent states of all current states and decides whether any of them should be added to the list (if not in the list) or updated (if already in the list) based on the cost function:()()()f n g n h n =+ (1)where f(n) is the total cost at the current vertex, g(n)denotes the actual cost from the start point to the current point n , and h(n) refers to the pre-estimated cost from the current point n to the destination point. For applications that entail searching on a map, the heuristic function h(n) is assigned with Euclidean distance.UAV path planning is a multi criteria search problem. The actual cost g(n) in this study is composed by three items: distance cost D(n), climb cost C(n) and threat cost T(n). So g(n) can be described as follows:()()()()g n D n C n T n =++ (2) Usually, the three components of g(n) are not treatedequally during UAV task. One or two is preferred to the others. We can achieve this by introducing a weighting factor w in (2).123()()()()g n w D n w C n w T n =++ (3) w i is weighting factor and 11mi i w ==∑. For example, ifthreat cost T(n) is for greater concern in particular task, the value of w i should be increased respectively.C. The improvement of path planning strategyVirtual terrain in part A enhanced computational efficiency by transforming 3D path planning space into 2D search plane. The further improvement can be achieved by applying a new developed strategy. The path planner expands and evaluates next waypoint in virtual terrain by this developed strategy is shown in Fig. 2, 3. This planning strategy employs various searching steps by defining a searching window which can represent the information acquired by UAV on board sensors. It enables different searching steps to meet different threat cost distribution. After searching window is set, UAV performance limits is imposed in searching window based on virtual terrain. Here the UAV performance limits include turning radius, heading and vertical angle. In Fig. 3, the point P(x, y, z) is current state, and the arrow represents current speed vector. The gray points show available states which UAV can reach innext step under the limits imposed by UAV performance.Figure 2.Searching windowFigure 3. Available searching states at P(x, y, z)IV. SIMULATIONSimulation is implemented based on section II andsection III. In this simulation, terrain data is read from USGS1 degree DEM. The DEM has 3 arc-second interval alonglongitude and latitude respectively. Also five radar threats are represented according radar equation in simulation environment. Here clearance height h is set 200 to definevirtual terrain. UAV maximal heading angle and vertical angle is 20。
An adaptive evolutionary algorithms for numerical optimization
![An adaptive evolutionary algorithms for numerical optimization](https://img.taocdn.com/s3/m/bc5d0397dd88d0d233d46abc.png)
1 Introduction
Many practical engineering applications can be formulated as numerical optimization problems. Methods for solving these problems can roughly be divided into local optimization techniques and global optimization techniques. Local optimization techniques such as gradient-based algorithms are limited to nding local optimum. They usually take the gradient information as the search guidance. However, not always such information is available because in the real world the objective functions are often very complex, multimodaland nondi erentiable. As a consequence, there is a continuing seek for new and more sophisticated techniques capable of handling such problems. In the past decade we have seen an increasing interest in simulated evolution approaches to optimization, including genetic algorithms (GAs), evolution strategies (ESs) and evolutionary programmings (EPs), which are all named as evolutionary algorithms (EAs). Unlike gradient-based algorithms, EAs use a multi-agent search strategy and exchange
Introduction to Genetic Algorithms
![Introduction to Genetic Algorithms](https://img.taocdn.com/s3/m/cdffeee819e8b8f67c1cb978.png)
Jeff Plummer Nov. 2003
Background
• Problems are solved by an evolutionary process resulting in a best (fittest) solution (survivor). • Evolutionary Computing
– Chromosome encoding is string of “Up, Down, Left, Right, Accelerate, Decelerate” – Fitness of “Chromosome” is proportional to the length of time it can evade a player. – As player plays, ships get better at evading. – DOESN’T REQUIRE A LIVE PLAYER!!!!!!
4. 5. 6.
Example Applet
• /alife/english/gavintr gb.html
GAs and Games
• GAs are learning systems • Consider a Space Ship AI - Evade
Simple Example
• f(x) = {MAX(x2): 0 <= x <= 32 } • Encode Solution: Just use 5 bits (1 or 0). • Generate initial population.
A 0 B 1 C 0 D 1 1 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1
遗传算法
![遗传算法](https://img.taocdn.com/s3/m/f43128d349649b6648d747b2.png)
遗传算法(Genetic Algorithm)遗传算法(Genetic Algorithm)1 原理遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。
它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。
遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。
它是现代有关智能计算中的关键技术之一。
遗传算法是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型。
它的思想源于生物遗传学和适者生存的自然规律,是具有“生存+检测”的迭代过程的搜索算法。
遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。
其中,选择、交叉和变异构成了遗传算法的遗传操作;参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。
作为一种新的全局优化搜索算法,遗传算法以其简单通用、鲁棒性强、适于并行处理以及高效、实用等显著特点,在各个领域得到了广泛应用,取得了良好效果,并逐渐成为重要的智能算法之一。
遗传算法的基本步骤:我们习惯上把Holland1975年提出的GA称为传统的GA。
它的主要步骤如下:编码:GA在进行搜索之前先将解空间的解数据表示成遗传空间的基因型串结构数据,这些串结构数据的不同组合便构成了不同的点。
初始群体的生成:随机产生N个初始串结构数据,每个串结构数据称为一个个体,N个个体构成了一个群体。
GA以这N个串结构数据作为初始点开始迭代。
适应性值评估检测:适应性函数表明个体或解的优劣性。
不同的问题,适应性函数的定义方式也不同。
Genetic Algorithms for Machine Learning
![Genetic Algorithms for Machine Learning](https://img.taocdn.com/s3/m/f77431d0240c844769eaee11.png)
Abstraቤተ መጻሕፍቲ ባይዱt
One approach to the design of learning systems is to extract heuristics from existing adaptive systems. Genetic algorithms are heuristic learning models based on principles drawn from natural evolution and selective breeding. Some features that distinguish genetic algorithms from other search methods are: learning systems that use genetic algorithms to learn strategies for sequential decision problems [5]. In our Samuel system [7], the \chromosome" of the genetic algorithm represents a set of condition-action rules for controlling an autonomous vehicle or a robot. The tness of a rule set is measured by evaluating the performance of the resulting control strategy on a simulator. This system has successfully learned highly e ective strategies for several tasks, including evading a predator, tracking a prey, seeking a goal while avoiding obstacles, and defending a goal from threatening agents. As these examples show, we have a high level of interest in learning in multi-agent environments in which the behaviors of the external agents are not easily characterized by the learner. We have found that genetic algorithms provide an ecient way to learn strategies that take advantage of subtle regularities in the behavior of opposing agents. We are now beginning to investigate the more general case in which the behavior of the external agents changes over time. In particular, we are interested in learning competitive strategies against an opponent that is itself a learning agent. This is, of course, the usual situation in natural environments in which multiple species compete for survival. Our initial studies lead us to expect that genetic learning systems can successfully adapt to changing environmental conditions. While the range of applications of genetic algorithms continues to grow more rapidly each year, the study of the theoretical foundations is still in an early stage. Holland's early work [9] showed that a simple form of genetic algorithm implicitly estimates the utility of a vast number of distinct subspaces, and allocates future trials accordingly. Speci cally, let H be a hyperplane in the representation space. For example, if the structures are represented by six binary features, then the hyperplane denoted by H =0#1### consists of all structures in which the rst feature is absent and the third feature is present. Holland showed that the expected number of samples (o spring) allocated to a hyperplane H at time t + 1 is given by: ( + 1) M (H; t) 3
GA-ES-EP
![GA-ES-EP](https://img.taocdn.com/s3/m/fd3b4800b52acfc789ebc9f8.png)
1.2 General Structure of Genetic Algorithms
In general, a GA has five basic components, as summarized by Michalewicz.
Michalewicz, Z.: Genetic Algorithm + Data Structures = Evolution Programs. 3rd ed., New York: Springer-Verlag, 1996.
Goldberg, D.: Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, Reading, MA, 1989. Fogel, D.: Evolutionary Computation: Toward a New Philosophy of Machine Intelligence, IEEE Press, Piscataway, NJ, 1995. Back, T.: Evolutionary Algorithms in Theory and Practice, Oxford University Press, New York, 1996. Michalewicz, Z.: Genetic Algorithm + Data Structures = Evolution Programs. 3rd ed., New York: Springer-Verlag, 1996. Gen, M. & R. Cheng: Genetic Algorithms and Engineering Design, John Wiley, New York, 1997. Gen, M. & R. Cheng: Genetic Algorithms and Engineering Optimization, John Wiley, New York, 2000. Deb, K.: Multi-objective optimization Using Evolutionary Algorithms, John Wiley, 2001.
GENETIC ALGORITHM TECHNIQUE FOR, E.G., DESIGNING
![GENETIC ALGORITHM TECHNIQUE FOR, E.G., DESIGNING](https://img.taocdn.com/s3/m/edf2f9ecc9d376eeaeaad1f34693daef5ef71389.png)