Particle Swarm Optimization - What method is used to find local minimum?

1 回表示 (過去 30 日間)
Dario
Dario 2024 年 7 月 30 日
コメント済み: Dario 2024 年 9 月 10 日
I'm using an app to fit parameters of the experimental data.The code utilises particle swarm optimization.
Basic synthax is the following: x = particleswarm(fun,nvars)
Function attempts to find a vector x that achieves a local minimum of fun. nvars is the dimension (number of design variables) of fun.
This was quoted directly from the Matlab directory. While this looks fair, it doesn't really explain what kind of solver particle swarm is or what math is used to find the local minimum.
Do you have any ideas?
Thank you

採用された回答

John D'Errico
John D'Errico 2024 年 7 月 30 日
Particle swarm optimization,
is one of many meta-heuristics used to search for an optimum of some general function. You could add things like GA, simulated annealing, or the many various colony schemes that can be mployed. (Bees, wolves, ants, etc.) However, I would strongly suggest you avoid termite colony optimizations, as they can damage your home. ;-)
As is always the case, read the help! At the bottom of doc:particleswarm, you will find references for the tool. They will explain it. However, as is also the case, most of these meta-heuristics for optimization employ little real mathematics. Code yes. A cloud of points that attempts to move towards goodness, as defined by the objective function. A minor, subtle point is if you will do better to move away from bad-ness, as opposed to moving towards goodness. I mention that because as I recall from my reading many years ago, Nelder-Mead schemes that tried to move towards goodnesss tended to generate degenerate simplexes. Those schemes that moved away from bad places were more robust.
  1 件のコメント
Dario
Dario 2024 年 9 月 10 日
Ohh, yes. Thank you for the clarification.

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

その他の回答 (0 件)

カテゴリ

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

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by