I am very happy with this submission. I have probably misunderstood something though, but isn't it possible to stop optimization before maxiter if the function has been optimized within a user-defined threshold? Currently I am only tuning maxiter to achieve proper results but I suspect I am loosing a lot of processing time and accuracy when a fixed maxiter is insufficient (either too many or too few).
This is a wonderful method and implementation that I have used frequently, and always successfully. If I had one "feature request" it would be the option to restart a prior optimization by reading the optimResult file and starting with the current population in that file. I have, on occasion, had a problem terminate prematurely for reasons having nothing to do with differentialevoluion.m. It would be nice to continue such problems where I had left off.