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

采纳的回答

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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Particle Swarm 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by