Good point, so I tested it (quickly)
The current implementation needs 748 to minimize a 6D rosenbrock function.
If I update the code to make a temporary population and do not do an
'in place operation', things do not converge under the same settings.
The in place operation of solution vector updates is as far as I
understand in line with the pseudo code found here:
http://en.wikipedia.org/wiki/Differential_evolution
I could have made a mistake of course and if you can show me a code
modification that improves convergence, I'm happy to update the code.
HTH
Peter
On 16 November 2010 08:24, Nikolay Mladenov
The implementation of the algorithm seems wrong. As I understand it, the new generation has to be generated based on the old one, at which point every member of the old generation is replaced or not by its child. In the cctbx implementation every member is replaces as soon as it gives birth to a better child. I am not sure what the implications are but it probably reduces the gene pool.
Nikolay. _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
-- ----------------------------------------------------------------- P.H. Zwart Research Scientist Berkeley Center for Structural Biology Lawrence Berkeley National Laboratories 1 Cyclotron Road, Berkeley, CA-94703, USA Cell: 510 289 9246 BCSB: http://bcsb.als.lbl.gov PHENIX: http://www.phenix-online.org SASTBX: http://sastbx.als.lbl.gov -----------------------------------------------------------------