A Genetic Algorithm is one of a number of techniques used for optimization. It is typically employed where there are a large number of variables, and the objective function (the entity that you are trying to optimize) is mathematically awkward - discontinuous or with multiple peaks. There are a number of other methods such as Simulated Annealing.
The Genetic Algorithm works by trialling potential candidate optima, and coding them (e.g. like DNA) according to the values of the variables. New trial candidates can be generated by "breeding", mixing the DNA code of the "better" candidates from the previous "generation" of candidates. After a number of generations, the "population" achieves a better fit with the optimum, and for multi-objective optimization, it is possible to get an intuitive idea of the trade off between objectives by plotting the better candidates on a "pareto front" graph.
Fine tuning of the potential optima to what might be the absolute optimum (more likely the local maximum in the region of the best candidate selected by GA) can be achieved by using conventional calculus based techniques such as method of steepest descent. Of course, this only works where the objective function has a suitable mathematical form.
For most real-life engineering applications, the absolute optimum is not very useful as a concept, since nothing is ever manufactured to absolute specification. On the other hand, if there is a nicely flat-ish topped "hill" on the objective function, and the size of the manufacturing tolerance is compatible with the dimensions of the hill top, then this is really what engineering designers would wish for.
A Genetic Algorithm is one of a number of techniques used for optimization. It is typically employed where there are a large number of variables, and the objective function (the entity that you are trying to optimize) is mathematically awkward - discontinuous or with multiple peaks. There are a number of other methods such as Simulated Annealing.
The Genetic Algorithm works by trialling potential candidate optima, and coding them (e.g. like DNA) according to the values of the variables. New trial candidates can be generated by "breeding", mixing the DNA code of the "better" candidates from the previous "generation" of candidates. After a number of generations, the "population" achieves a better fit with the optimum, and for multi-objective optimization, it is possible to get an intuitive idea of the trade off between objectives by plotting the better candidates on a "pareto front" graph.
Fine tuning of the potential optima to what might be the absolute optimum (more likely the local maximum in the region of the best candidate selected by GA) can be achieved by using conventional calculus based techniques such as method of steepest descent. Of course, this only works where the objective function has a suitable mathematical form.
For most real-life engineering applications, the absolute optimum is not very useful as a concept, since nothing is ever manufactured to absolute specification. On the other hand, if there is a nicely flat-ish topped "hill" on the objective function, and the size of the manufacturing tolerance is compatible with the dimensions of the hill top, then this is really what engineering designers would wish for.
I have used GA in different problems to optimize VANET protocols. As Mrs. Alison J Mcmillan wrote, GAs are used to fine-tune the protocols and therefore they could use to improve the clustering the nodes of MANETs.
If you want, you can read one of my journal papers:
- "Fast energy-aware OLSR routing in VANETs by means of a parallel evolutionary algorithm"
- "Intelligent OLSR routing protocol optimization for VANETs"
Article Fast energy-aware OLSR routing in VANETs by means of a paral...
Article Intelligent OLSR routing protocol optimization for VANETs
Genetic Algorithms are frequently used to solve optimization problems. A clustering problem can be modelled as an optimization problem. For example, you could see it as a multi-objective problem where inter-cluster distance is minimized and intra-cluster distance is maximized.
Genetic algorithm (GA) is an optimization tool, which are developed from natural evolution processes like cross over, mutation, selection etc. This technique is robust and can be used for wide range of applications. I can give you a brief idea about how it works.
Consider a unconstrained two variable optimization problem, thus the problem has two variables and one output. First step in GA is to select a finite set of data points (called population, say 10). So the initial population has 10 set of data points, each set with 2 variable and one output. These data points are converted to binary codes ( string length fixed based on the accuracy required). This is called zeroth iteration. For next iteration, a new population is developed from the existing population by the process of selection( parent member are selected from the existing population based on various schemes), cross over (mating two or more individual member in the present population to produce new individual), mutation (flipping the binary codes at specific locations for introducing diversity) etc. Selection is done based on whether the you need to minimize or maximize the objective function. Such a methods makes sure that the best individuals/characteristics will go to next generation(iteration). Thus a new set of data points are obtained. Again parent individuals are selected, crossed, mutated etc to transfer the best individual or best characteristics to subsequent generations.This process continues till the required end results are obtained (minimum tolerance or maximum/minimum value of objective function).
in simple words Genetic Algorithm is just a non-traditional optimization tool which is used for solving minimization or maximization problems. The main idea of GA is to form the fitness function (objective function) using the relevant parameters. All the details regarding GA, you can find in the internet. And for the above problem, if you want to use GA, then you have to find the approach himself.
Genetic Algorithms (GAs) may be used to solve optimization problems. I have used GAs for variable selection in multivariate calibration problems. I'm not able to tell you if GAs may be used for clustering. Nevertheless, you should search for some papers using the Google Scholar, which is very useful tool.
if your problem is optimization problem means your problem have many solutions but try to find the best solution of all. Then we will apply optimization technique to find the best solution using traditional methods. GA is one of the non traditional method which is natural inspired method.