Azzera filtri
Azzera filtri

patternsearch - custom polling strategy

2 visualizzazioni (ultimi 30 giorni)
Andrew J
Andrew J il 12 Giu 2020
Commentato: Andrew J il 12 Giu 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 Commenti
John D'Errico
John D'Errico il 12 Giu 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 il 12 Giu 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

Accedi per commentare.

Risposte (0)

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by