Hello, I've been focusing on an evolutionary algorithm based on prediction ,it has good exploration ability, but unfortunately his exploitation ability is very poor. What strategies can improve his exploitation ability?
The exploitation or crossover stage of an evolutionary algorithm is generally considered the most important step. There have been numerous attempts to find an optimal exploitation algorithm for any given problem, but none have come forth with something like that (to my current knowledge)
Since I do not know exactly what evolutionary algorithm you are using or the functions alike, I will state a few general rules that are followed for improving the exploitation stage:
1) for permutation based chromosomes or sequences, the ordered crossover is used for its ability to create different permutations from a given solution
2) if the problem is domain specific, you could consider creating your own exploitation function (again I'm not sure what type of problem you are trying to solve). For some applications, the exploitation functions that already exist in the literature will just not produce any good solutions.
3) you will have to try out different exploitation functions such as single point, multipoint, cycle crossovers (there are many others).
4) you could also combine different exploitation strategies to form better solutions.
In general, exploration refers to the evaluation of points in previously untested areas of a search space, while exploitation refers to evaluation of points in close vicinity to previously visited points.
Evolutionary algorithms are typically used to provide good approximate solutions to problems that cannot be solved easily using other techniques. Many optimisation problems fall into this category. It may be too computationally-intensive to find an exact solution but sometimes a near-optimal solution is sufficient.
Shaheen Solwa Thank you for your reply, currently I am considering combining the original algorithm with the local search algorithm to form a new hybrid algorithm
@C.P. Ravikumar My understanding is that exploration capability refers to the global search capability of the algorithm, while exploitation capability refers to the local search capability of the algorithm
@Helei Kang please search the concept "Global neighborhood algorithm". I cannot find the paper at the moment, but that is more or less what you are looking for.
Here is the link to the original paper: https://www.researchgate.net/publication/269826478_A_New_Optimization_Algorithm_For_Combinatorial_Problems