27 September 2021 3 8K Report

I have an objective function which requires a floating-point number as input and I want to maximize value of that objective function.

Now my initial population in DE is like this.

Population Size = 10

1. x= [0.24390562] f(x) = 0.49096426162493495

2. x= [0.18471255] , f(x) = 0.48318779612214563

3. x= [0.22484086] , f(x) = 0.49096426162493495

4. x= [0.45620016] , f(x) = -1

5. x= [0.38523836] , f(x)= -1

6. x= [0.89095854] , f(x)= -1

7. x= [0.56402371] , f(x)= -1

8. x= [0.38672146] , f(x)= -1

9. x= [0.25784302] , f(x)= 0.4935944699284827

10. x= [0.38617538], f(x) = -1

Now you can see that my population that is x is a floating point scalar value. However, the Original Differential Evolution performs crossover on a vector, takes few parameters from target vector and few from mutant vector.

Now, my question is how can I modify crossover operation to work on a floating point scalar value.

More Omer Ajmal's questions See All
Similar questions and discussions