Jump to content

Talk:Particle swarm optimization

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Dvunkannon (talk | contribs) at 01:36, 2 March 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

WikiProject iconSystems Unassessed
WikiProject iconThis article is within the scope of WikiProject Systems, which collaborates on articles related to systems and systems science.
???This article has not yet received a rating on Wikipedia's content assessment scale.
???This article has not yet received a rating on the project's importance scale.
Taskforce icon
This article is not associated with a particular field. Fields are listed on the template page.
WikiProject iconComputer science Unassessed
WikiProject iconThis article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
???This article has not yet received a rating on Wikipedia's content assessment scale.
???This article has not yet received a rating on the project's importance scale.
Things you can help WikiProject Computer science with:

Hi,

I made some fairly major changes to the page with respect to how the algorithm is described and what notation is used; it's more in harmony with what's used in the literature and the books available on PSO, as far as I know.

Hi,

Page looks great, very readable! Good work. I'm wondering if these formulas are backwards though:

      • If , .
      • If , .

Shouldn't it be:

      • If , .
      • If , .
The formulas on the page are correct; in its standard form PSO is a minimizing optimizer. Of course it only takes minor changes to convert the algorithm to a maximizer. Dbratton 11:58, 15 November 2006 (UTC)[reply]

Well, I'm glad to see some other people on Wikipedia are interested in this exciting new optimisation architecture.

How much should be added on variants from research literature? The more recent versions and stuff are simply far more effective and usually not much more complex than the canonical algorithm that's currently up - it's the difference between success and failure.

Pseudocode typo

how is it that J is being referenced outside the dimensions loop on the second to last line?

 for I = 1 to number of particles n do
   for J=1 to number of dimensions m do
     R1=uniform random number
     R2=uniform random number
     V[I][J]=w*V[I][J]
            +C1*R1*(P[I][J]-X[I][J])
            +C2*R2*(G[I][J]-X[I][J])
   enddo
   X[I][J] = X[I][J]+V[I][J]
 enddo

i know where this pseudocode comes from, it is from Daniel Wilke's paper. the problem is that i am not %100 sure that i have spotted an error because i have never actually seen a clear & typo-less listing of this algorithm. it's such a shame because it should be so simple and i am sure that the lack of clarity hinders adoption.

Fixed. It was just a misplaced line. DanielC/T+ 10:47, 25 March 2007 (UTC)[reply]

Benchmarks

Some benchmarks to verify that implementations written by readers are correct. Say, the number of generations required to solve some test problems on average with the parameters used. I could use this kind of information right now. Maybe I'll post it after I get my implementation working.

NFL and other issues of comparison with other optimisation methods

"Movements through the search space are guided by these successes, with the population usually converging, by the end of a trial, on a problem solution better than that of non-swarm approach using the same methods."

What exactly does the last phrase mean? Is it a comparison to hill climbing or simulated annealing, or what? What does "better" mean in this context? Fewer evaluations of the fitness function? What is the reference for this claim? dvunkannon 01:22, 2 March 2009 (UTC) —Preceding unsigned comment added by Dvunkannon (talkcontribs)

"A single particle by itself is unable to accomplish anything. The power is in interactive collaboration."

I'm pretty sure that is false. Obviously, you could choose parameters such that a single particle system was just doing a random walk through parameter space. Wolpert's No Free Lunch theorems say that's as good as PSO across all possible fitness functions (yes, simplifying). Other Evolutionary Computation paradigms don't use a population. As in simulated annealing, there is only one particle at a time.

The statement is, at best, hyperbole, and not appropriate for an encyclopedia. dvunkannon 01:36, 2 March 2009 (UTC)