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.