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?

 采纳的回答

Grzegorz Knor
Grzegorz Knor 2011-11-17
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.

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Problem-Based Optimization Setup 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by