In order to find a better minimum, I currently create and run multiple instances of openmdao problem with different initial guesses, then select the solution with the best performance. To make this process faster, I currently use Python's multiprocessing module and solve each openmdao problem in a parallel subprocess.
However, as my problem becomes more complex, I would like to parallelize the optimization process too (by using ParallelGroup and/or distributed components), and I'm unsure if mpi will interact with Python's multiprocessing in strange ways. Is there any openmdao features that will handle both parallelism in solving individual problems and multiple problem instances?