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!