Runs an optimization, using multiple starting values, in an attempt to find a global minimum. Can take advantage of mpi4py as long as the start-parameter-objects can be pickled (and subsequently sent to remote MPI processes).
The self.rootRank master MPI process uses asynchronous communication to hand out individual (single-start) optimization jobs to remote worker MPI processes.
Methods
__init__(singleStartOptimizer[, rootRank, ...]) | Initialise. |
broadcast(prmIterator) | |
broadcastResultList() | |
doAsyncMpiMasterSends() | |
doAsyncMpiMultiStart() | |
doAsyncMpiWorkerRecvs() | |
doEvenDivisionMultiStart() | |
minimize(startPrmIterator) | |
optimize(startPrmIterator) | |
pickleToByteArray(obj) | |
setNumMpiProcessesForAsyncProcessing(numMpiProcs) | Set the number of MPI processes which triggers the use of asynchronous master/slave processing of the multi-start optimizations. |
unpickleFromByteArray(ba) |