A bug in Patternsearch with cache on?

Hi, when running a patternsearch to optimize an objective function, which in turn contains a patternsearch in its code (i.e. a patternsearch embedded in another). I set "cache on" for both patternsearch and got "dimension mismatch" error in funevaluate.m as an X of different size is being assigned to the XCache.
The reason, I think, is that XCache is declared persistent in funevaluate. Then when you run two patternsearches, one embedded in another, the XCache gets carried on from one search to the other, resulting in error.
Is is that we are generally not expected to run patternsearch within patternsearches?

 Respuesta aceptada

Grzegorz Knor
Grzegorz Knor el 17 de Nov. de 2011

0 votos

patternsearch implements Cache as a persistent variable, so you can't use it in this way. You have to set 'cache' to 'off' in this case.

Más respuestas (0)

Categorías

Preguntada:

el 14 de Nov. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by