Search code examples
algorithmoptimizationgenetic-algorithmdifferential-evolution

Parameter Intervals in Differential Evolution vs. Genetic Algorithms


I'm used to the method that each parameter in genetic algorithms (GAs) can be represented as a binary string which can be encoded to a real value in a specified interval.

I'm currently coding up a differential evolution (DE) code and I haven't read anything about parameter intervals being controlled like they are in the GA, so I am a bit confused about this procedure... Here are my questions:

1) Is there anything controlling the intervals of parameters in DE? I realize that anyone can modify a DE for their purpose, but I'm curious about how it is traditionally used.

2) I see how you can specify intervals for the initial randomized population, but is there anything restraining the intervals in the mutation and crossover operations?

3) If there aren't any bounds on the parameters, then are the mutation and crossover operations free to explore all the space?

Thanks for your time.


Solution

  • The differential evolution filter generates new parameter vectors by adding the weighted difference vector between two population members to a third member. If the resulting vector yields a lower objective function value than a predetermined population member, the newly generated vector replaces the vector with which it was compared; otherwise, the old vector is retained. Information here.

    1) Is there anything controlling the intervals of parameters in DE? I realize that anyone can modify a DE for their purpose, but I'm curious about how it is traditionally used.

    In DE you have what they called strategies. There are many:

    1 --> DE/best/1/exp           6 --> DE/best/1/bin
    2 --> DE/rand/1/exp           7 --> DE/rand/1/bin
    3 --> DE/rand-to-best/1/exp   8 --> DE/rand-to-best/1/bin
    4 --> DE/best/2/exp           9 --> DE/best/2/bin
    5 --> DE/rand/2/exp           else  DE/rand/2/bin
    

    You can find the code in Matlab here.

    2) I see how you can specify intervals for the initial randomized population, but is there anything restraining the intervals in the mutation and crossover operations?

    The mutation and crossover are restrained by the strategy you select.

    3) If there aren't any bounds on the parameters, then are the mutation and crossover operations free to explore all the space?

    Theoretically if you initiate the limits within all your solution space DE will find the global optimum. However, in my experience I noticed that the initial parameters and the limits in the solution space are very important to get a fast response. In plain words, if you have a slight idea of where the solutions is going to be, then DE will behave better if you delimit your parameters within these values.