Borrar filtros
Borrar filtros

patternsearch - custom polling strategy

2 visualizaciones (últimos 30 días)
Andrew J
Andrew J el 12 de Jun. de 2020
Comentada: Andrew J el 12 de Jun. de 2020
Is there any way to provide a custom polling strategy to the patternsearch algorithm ?
I have seen that a custom search function can be provided - but that is not really the same thing, as I understand it that is a search run before the main polling search, and I want to provide something that generates the set of search basis vectors before the (parallel) function evaluations are called.
The context is that I have a very expensive objective function, and so I am using the parallel processing feature of the algorithm.
The standard 2N basis search vectors are fine as a search strategy - except that the '2N' evaluations in parallel only use a small number of the (parallel processing) worker nodes available.
One obvious solution would be to supplement the standard polling vectors with additional vectors - chosen to lie at sensible points on the same hypersphere in parameter space. It is easy to generate these vectors - but I cannot see any way to pass them to the patternsearch function, other than to rewrite most of it.
A
  2 comentarios
John D'Errico
John D'Errico el 12 de Jun. de 2020
That would surely require a change to the code. I lack the global optimization toolbox to verify that you could theoretically change the code yourself. (A really, really bad idea in general.)
But it seems if you have the parallel processing toolbox as you must in order to do this anyway, then what you are asking is for a denser, more intensive pre-search to be done in parallel. You might be better off just using the multi-start method instead, assuming that part of the search will be done in parallel.
Andrew J
Andrew J el 12 de Jun. de 2020
Hello,
Yes - I have now implemented an alternative patternsearch algorithm - which augments the standard search vectors with others chosen in the appropriate hypersphere in parameter space - and utilizing all the available processing nodes.
This seems to work quite well - and interestingly finds better solutions where there are ub/lb constraints - which leads me to wonder how these are handled in the standard patternsearch implementation. The issue is how you handle search vectors that would otherwise extend outside the given bounds - I guess we must address this in different ways.
A

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Direct Search en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by