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

6 ビュー (過去 30 日間)
Korhan Bayseç
Korhan Bayseç 2020 年 12 月 25 日
回答済み: Star Strider 2020 年 12 月 25 日
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 Center および File ExchangeDevelop 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