Multiple solutions using fsolve and fmincon

I used four known parameters (origional parameters) and performed some calculations using fsolve and fmincon to fit the data (final data set) and it works very well. Then, I came across the data (final data set) where I don't know the origional parameters but know the final data set. I tried to optimize the origional parameters using fmincon so that I can get unique solution but unsuccessful.
I am getting different answers if I provide different inital guess. Please assist me if I can solve this problem.

4 Comments

Nonlinear parameter estimation (that soulnds like what you are doing) is very sensitive to the initial parameter estimates. The best way I have found to deal with this problem is to use the ga (genetic algorithm) function to search the entire parameter space for the best set of parameters. The default options may work in your situation, however it may be necessary to create your own InitialPopulationMatrix to determine them most efficiently. (The ga function requires the Global Optimization Toolbox.)
Thank you for the response. I faced some problem while implementing the genatic algorithm becuase some functions had fsolve and fmincon to optimize other variables. So, I replaced fsolve and fmincon with genatic algorithm. At least, it stopped showing the errors but started giving me this message on command windows.
Optimization terminated: average change in the fitness value less than options.FunctionTolerance.
Any suggestion to explore the idea further?
Optimization terminated: average change in the fitness value less than options.FunctionTolerance.
There can be more than one reason to get that message, but the major reason is that it is unable to find a nearby location with lower value -- that is, that it has found a local minima (that might or might not be a global minima.)
You can set the Display option to 'none' to supress the message.
Be sure to check the exit flag.
Thank you for the response. ga model was taking too long to optimize the one variable at one point. It was helpfull to figure out the problem and resolve the error.

Sign in to comment.

Answers (0)

Asked:

on 24 Jun 2020

Commented:

on 26 Jun 2020

Community Treasure Hunt

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

Start Hunting!