Finding Global minimum of a function by using Powell's Method

6 次查看(过去 30 天)
Hello all,
I want to find the global minimum of the function below, by using Powell's Method. Can you help me to create the code? Thanks!
f(x)= (36.5*x1^2)+(30*x1*x2)+(6.5*x2^2)-(89*x1)-(36*x2)
P.S= x1 and x2 in the function are unknown variables

回答(1 个)

Star Strider
Star Strider 2020-12-25
According to the Wikipedia article, Powell’s method is a derivative-free approach to finding the local miniimum of a function. As with any other nonlinear parameter estimation algorithm, I suspect is is extremely sensitive to the initial parameter estimates. Likely the closest you can get to that using core MATLAB functions is the Nelder-Mead algorithm implimetation in the fminsearch function.
To find the global minimum. it is necessary to search the entire parameter space, and the most efficient algorithm for that (in my opinion, at least) is to use the Global Optiomization Toolbox ga (genetic algorithm) function. If your problelm is well-posed, ga will find the best parameter estimates, although with difficult problems, it may require a few runs with different random initial populations to converge on them.

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by