Topic: Algorithm of differential evolution
Implemented algorithm of optimization by a method of differential evolution, I try to debug it. On simple functions, type x*x+1, it fulfilled accurately and beautifully, decided to try more difficult, took function of Rozenbroka, tried on it., Basically, my program produced the right answer, but there are doubts. I hoped that the program will be fast enough and exact enough, but at following parameters: the size of population 1000, 500 steps of evolution, F = 0.8, probability of a mutation 0.6, optimal value it turned out nearby 0.001, at the right answer 0. It seems to me, at such huge population and such great number of steps (the program operating time by the way though and not a floor of day, but second 2-3 was) accuracy could be and it is better. There is a question - such results for the genetic algorithm are how much adequate at such parameters? It can is simple function of Rozenbroka such rigid, what so is hardly optimized, or I in the program (for elimination last it is all and was started)? Also still to steam of questions in general. I only began acquaintance to genetic algorithms as there was a necessity to optimize function at which there is a casual component that does in it a large quantity of local extrema because of what it is not obviously possible to optimize its gradient methods. From Google I understood that quality of operation of the genetic algorithm strongly depends on the correct selection of its parameters, well and, of course, from the correct choice of specific algorithm. Prompt, how it is possible to adjust algorithm parameters? I understand that here there is no ready recipe (it is necessary to know a specific target, it basically not a secret, but its description will be great enough, can describe nevertheless in a spoiler if it will be necessary later). Somebody can prompts any reasons which help me to explain this point in question. It would be desirable to receive comprehensible result, and thus to spare in time as this optimizer will be fastened to real-time system, and by the speed very serious requirements. Can be eat any good articles, books where recommendations about selection of parameters are made. Can be eat generally possibility to select them by means of methods of machine training. I will be glad to any sentences, all is put to use PS. Selecting algorithm for the task, I also read about algorithm of simulation of annealing, probably it was here better, but I and could not understand with it if who throws off the link where it it it is normally described (instead of as in Wikipedia), I will be very grateful.