libprima / prima

PRIMA is a package for solving general nonlinear optimization problems without using derivatives. It provides the reference implementation for Powell's derivative-free optimization methods, i.e., COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA. PRIMA means Reference Implementation for Powell's methods with Modernization and Amelioration, P for Powell.
http://libprima.net
BSD 3-Clause "New" or "Revised" License
290 stars 35 forks source link

Support Function Call Parallelization in MATLAB Interface #167

Closed Arrowstar closed 4 months ago

Arrowstar commented 4 months ago

It does not appear that PRIMA supports parallelized calls to the objective function using the MATLAB interface. The solver should either support:

1) Direct parallelization of calls to the objective function; or 2) "Batch" or "vectorized" calls to the objective function in which multiple points are sent to the objective function and the developer can decide how to handle them. This could be handled in either a vectorized way or by calling parfor() in the objective function itself.

Of course, if I have missed something and this functionality is already available, please let me know. Thank you!

zaikunzhang commented 4 months ago

Hi @Arrowstar ,

Thank you for your comments.

Parallel function calls depend on the algorithm. The algorithms in PRIMA are sequential. Since PRIMA does not aim to provide new algorithms, parallelisation is not possible.

I will close the issue for the moment.

Thank you.