fmincon - infinetismal change in variable values & result far from target

2 ビュー (過去 30 日間)
Karthik  Vemireddy
Karthik Vemireddy 2011 年 12 月 14 日
回答済み: Matt J 2017 年 10 月 12 日
Hi everyone,
I'm trying to identify suitable parameters for a system using the the sum of percent deviations of my actual objectives from their targets as the fitness function F for fmincon.
The solver stops the optimization prematurely as it exceeds the function evaluation limit. Acutally the values of the variables change infinetismally after 50 evals even though the fitness value is far from its target. Change in finite differences (i.e., Perturbations), maxfunevals, max iterations dint help. I am using SQP, even then the solver voilates the constraints for couple of iterations.
Change in other optimset parameters have changed niether the variable values (or change in variable values) nor the result much.
Can someone help me out with this?
Thnx
Rgds, Karthik
  1 件のコメント
Steve Grikschat
Steve Grikschat 2011 年 12 月 14 日
Is there a reason you want percent deviations instead of squared deviations (i.e. least-squares)? Just curious, since least-squares has a ready-made interface in lsqnonlin or lsqcurvefit.
It could be any number of things that cause the solver to stall. Changing the finite-difference options (DiffMinChange, DiffMaxChange) can have an impact, positively or negatively, depending on the appropriate values.
Have you tried different start points (x0)?

サインインしてコメントする。

回答 (1 件)

Matt J
Matt J 2017 年 10 月 12 日
Can someone help me out with this?
You should check the exitflag output. Maybe the optimizer is stopping far from the target point because that's the actual solution.

カテゴリ

Help Center および File ExchangeOptimization についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by