The main difference is the encoding, the genetic algorithm always encodes its individuals in a population as bit strings. The real number encoding of GA is usually called **evolutionary strategies **or **genetic programming** if using more complex data structures as encoding.

Differential evolution is also very prescriptive on how to perform recombination (mutation and crossover). The partner for the crossover is generated as follows. Suppose we have chosen *x *for the crossover, the "mutation" partner is chosen as follows

Pick a, b, c randomly from the population distinct from each other and distinct from x

Let V=a+FV*i*=a*i*+F(b*i*-c*i*) for each value of i=1,2…..,n.(b-c), where F is between 0 and 1,

**Crossover**

To cross x with V:

For i = 1 to n

if (random < crossover rate)

yi=vi

else

yi=xi

A crossover rate is a real number between 0 and 1.

On the plus side, there are a handful of results showing DEs are often more effective and/or more efficient than genetic algorithms. And when working in numerical optimization, it's nice to be able to represent things as actual real numbers instead of having to work your way around to a chromosomal kind of representation, first.

If you wish to learn about the Genetic Algorithm and Genetic Programming visit this Artificial Intelligence Course Designed by Industrial Experts.