I have some objectives, with premise of one should be larger than 5, How to set this objective?
if you have a fitness objective that needs to increase in value to become a stronger solution then you need to run the objective through a “one over x” component. This basically means that a value of 5 will be 1/5=0.2, while a value of 10 will be 1/10=0.1.
This way Wallacei can optimise the value towards zero, but the actual result of the objective is increasing in size.
You will need to use the component again on the other side to flip the number back to is actual value
I know this method, but it would not solve my problem, since what I wanna is the objective > 5, if I set O=|x-5|, I could get the values closed to 5 but can not make sure the value lies on the left or right side of 5.
You can use a conditional statement to steer the simulation away from producing values smaller than 5. if a value is smaller than 5 then pass an empty value to the objective, by doing this, the null indicator will be activated and through the evolutionary learning of the process, the frequency of values smaller than 5 will be less and less. You can find the video here
and then you can use Peter’s solution for maximising the values bigger than 5.
You are genius!
But how to pass an empty value? Or Can I pass a large value such as 100, 1000, to the objective when the value is smaller than 5?
If you watch the video I shared, you will see.
I see, Thank you very much!