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 日

0 投票

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 ExchangeProblem-Based Optimization Setup についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by