Particle Swarm Optimization - What method is used to find local minimum?
1 回表示 (過去 30 日間)
古いコメントを表示
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
1 件のコメント
Torsten
2024 年 7 月 30 日
Here is the information you ask for (look at the References at the bottom of the page):
採用された回答
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.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Particle Swarm についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!