Optimize objective function with a random value?

5 visualizaciones (últimos 30 días)
Becky Becky
Becky Becky el 22 de Feb. de 2019
Comentada: Star Strider el 22 de Feb. de 2019
Hi, I am solving an optimization problem using Optimizaiton Toolbox.
I have six parameters which are the rate constants of a model that conforms to the Markov chain. After calculation, I get a matrix, A, containing different states in this model. Then I plot the data in A and fit it in order to get three results I want, suppose they are a, b, c. In order to match the three results of my model with the experimental data, I try to minimize chi-square, which defined to be the squared difference between experimental and model results divided by the experimental results.
In short, I want to find optimal rate constants to minimize chi-square function.
I have tried two different solvers (fminunc, lsqnonlin) with different algorithms, but it didn't seem to work. After running the optimization two hours, these rates only change about 0.003. Is it because of the random values of a, b, c? If so, how can I solve this problem?

Respuesta aceptada

Star Strider
Star Strider el 22 de Feb. de 2019
It seems that you are doing a nonlinear parameter estimation problem, fitting your model to data, rather than an actual optimization problem. (They are similar, although not the same.) The success of nonlinear parameter estimation is significantly dependent on the iniitial parameter estimates. You could easily end up in a local minimum, far from the actual solution to your problem, rather than the global minimum that is the best solution to your problem. You can guess randomly at the best initial estimates, or let the Global Optimizationm Toolboox functions do the guessing for you.
And you actually want to minimize the norm of the difference between your data and the model solution. That will result in the most reliable estimated parameters.
  2 comentarios
Becky Becky
Becky Becky el 22 de Feb. de 2019
I've tried manually adjusting for about two months and I have never got the results I want. So I try to adjust the parameters automatically.
Star Strider
Star Strider el 22 de Feb. de 2019
I prefer the genetic algorithm (ga (link)) approach. It is relatively easy to write a simple genetic algorithm code, if you do not have the Global Optimization Toolbox.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by