On May 28, 2010, at 2:28 PM, Gregory Maxwell wrote:
It would be very nice if there were a way to checkpoint and resume the
optimization.  Even if the checkpoint object is just an unportable
blob.

The clean way to do this is to use checkpointing software. e.g. there are various Linux kernel modules that people have implemented that can checkpoint and restore processes.

Doing it within NLopt is really messy, because it would require rewriting large portions of the optimization algorithms to save all their local variables etc. and implement the tricky logic required to jump out of and back into the middle of the iterations. I have no plans to do this.

It seems like it is most useful for global optimization, where it is useful to repeatedly double the run time or the number of evaluations and see whether it is finding a better minimum. It would be nice to be able to restart it where you left off when doing this. However, by restarting from the beginning, you lose at most a factor of 2 in runtime. I'm not willing to take on the mess of manual checkpointing to gain a factor of 2.

(For refining local optimizations, you lose much less than a factor of 2 by restarting because local optimization is greatly accelerated by giving it a previous solution as a good starting point.)

Steven

_______________________________________________
NLopt-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss

Reply via email to