-
Notifications
You must be signed in to change notification settings - Fork 268
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Particle Swarm Optimisation #17
Comments
Two accompanying classes: the worker class for multi-threaded mode and a ad-hoc vector algebra class which is probably not very optimised. Note that some vector operations with PSO work on a component by component basis (e.g. velocity clamping), that's something to watch out when implementing the algorithm.
|
OKay, I just checked this into the Java codebase, for 3.1. I also wrote a simple XOR example using it. Very nice! Will close out once I have C# in there too. |
Okay, this has been merged into Java and C#. Example program created for both. Looks great! |
I've attached my version of PSO for Encog. It is a standard implementation of the global best version of PSO. It works in multi-threaded mode by default. The implementation is modular so it is easy to extend it to create new variants such as the Constriction Coefficient.
I've worked a lot with it recently and I've tested it with several datasets. Unlike other methods like Rprop, It needs a bit of tuning to work well on a specific problem. w, c1, c2 are important but Vmax seems to be crucial to obtain good convergence rate. The control parameters are documented in the code.
Feel free to reuse it partly or completely if you wish.
The text was updated successfully, but these errors were encountered: