On Wed, Jan 4, 2012 at 11:04 AM, Geoffrey Hutchison <ge...@geoffhutchison.net> wrote: > On Jan 4, 2012, at 9:19 AM, David Lonie wrote: >> If there is an easily parsed / imported / OBConv-ertable database of >> structures somewhere, it wouldn't be too difficult to come up with a >> test. > > I think the question would be "how many molecules do you want?" There's a set > of 18 molecules in tests/files/forcefield.sdf and we could certainly make > that larger. > > It's easy enough to get the MMFF94 test file, which has ~700 molecules: > http://ccl.net/cca/data/MMFF94/MMFF94_dative.mol2 > > In developing the "auto-optimize" in Avogadro and some other side-projects > here at Pitt, I also have a set of files with stretched bonds, randomly > displaced atoms, etc. These are useful since they represent geometries far > from the minimum.
I would say "as many molecules as feasible" for general testing ;-) A smaller set could be cherry-picked for profiling purposes. Yes, the MMFF94 test set would be a good starting point for benchmarking, since they should have well-represented energy surface. Storing a randomly modified version for testing more strenuous minimizations is a good idea, too. >> Other important factors to test would be the trust radius (max step size) >> and step >> adjustment factors in the simple line-search -- I'm not sure where the >> currently used parameters came from. > > I eyeballed them, although in the recent months, I've been tinkering to give > both better time performance and better convergence. AFAICT, it's a black art > to get a good trust radius and adjustment factor. If anyone knows of papers > or methods to compute these, I'd be very interested. Once we have a test set, we could do an empirical analysis to identify a reasonable range. >> In addition to the final energies, it would be interesting to count >> calls to Energy() and steepest descent/conjugate gradient cycles are >> required. > > If you're going to do all that, I suggest someone consider writing a BFGS > minimizer (which probably would require Eigen): > http://en.wikipedia.org/wiki/BFGS_method > http://en.wikipedia.org/wiki/Limited-memory_BFGS There are also some existing opensource projects for other minimization methods: LBFGS (MIT license): http://www.chokkan.org/software/liblbfgs/ Levenberg-Marquardt non-linear lsq (GPL): http://www.ics.forth.gr/~lourakis/levmar/ I've used them both directly in the past with some success, though they will probably be more useful as reference implementations if we add these to OB. > The BFGS minimizer would certainly converge faster and probably more tolerant > of unusual energy surfaces than steepest descent or conjugate gradients. Especially if we can get a good approximation / fast solution of the Hessian (Possibly another good student project...) Dave ------------------------------------------------------------------------------ Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox _______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel