Removed asList method from topologies since a topology is already a list.
Removed unused update method in topologies.
Refactored LBest, Gbest and Hypercube topologies, where GBest and LBest are special cases of LBest.
Fixed up von Neumann topology code layout.
Simplified Von Neumann topology implementation.
Refactored topologies to extend AbstractTopology only. The different topologies now only deal with the neighbourhood iterator and neighbourhood sizes, AbstractTopology does the rest.
Moved getBestEntity to static methods in Topologies. Also added getNeighbourhoodBest methods
Minor fixes to javadocs and logic errors. Added TopologiesTest.
Removed NaturalOrderFitnessComparator which had the same implementation as AscendingFitnessComparator.
Merge pull request #9 from filinep:psoXover

commit 83dd92703de3c3ca917bfe8f2bc0141838c99a1c
Author: Gary Pamparà <gpampara@gmail.com>
Date:   Wed Apr 4 08:00:54 2012 +0200

    Update ControlParameter usage.

    The patch had a few places where the ConstantControlParameter was created
    using a new. Changed to use the factory method.

    Signed-off-by: Gary Pamparà <gpampara@gmail.com>

commit fdd86131bb6b19374fb023898e3d8d3933a1180f
Author: Filipe <filinep@gmail.com>
Date:   Mon Feb 27 12:37:09 2012 +0200

    Changed to perform crossover on pbests rather than current position.

commit 9b33fc8f6ff83269e1331dc5736d0c408cc6f445
Author: Filipe <filinep@gmail.com>
Date:   Thu Feb 23 11:01:43 2012 +0200

    Added Simplex crossover strategy and updated the xpso xml file.

commit 6bebee8dc9bebe4ab1aa246ae5ec4f2c75dfc573
Author: Filipe <filinep@gmail.com>
Date:   Thu Feb 23 09:09:29 2012 +0200

    Fixed UNDX implementation (had missing part).

commit 9393df04f7d4674fee12caf0377e34a33c690315
Author: Filipe <filinep@gmail.com>
Date:   Thu Feb 23 09:06:51 2012 +0200

    changed sumOf implmentation (again) to use bounds of given vectors.

commit 6760d6be667722f45e221ac43c307f2233b79e43
Author: Filipe <filinep@gmail.com>
Date:   Tue Feb 14 09:52:37 2012 +0200

    Added entities test

commit 84da42fa2df13cda6a2f333fbb8cf869156d27e5
Author: Filipe <filinep@gmail.com>
Date:   Mon Feb 13 14:53:02 2012 +0200

    Refactored PCX and UNDX to use more vector code, added another vector test.

commit d4c9f0cad9451d977389f215cf915f1dc14a2a13
Author: Filipe <filinep@gmail.com>
Date:   Mon Feb 13 13:16:59 2012 +0200

    Added some tests for vectors and refactored some vector code

commit f05aa6ca4ca26205dc143cb1f7475d1b37d150d4
Author: Filipe <filinep@gmail.com>
Date:   Thu Feb 9 13:28:29 2012 +0200

    Removed epsilon from Vector class

commit 0c832a1bf35fc03ece20191332a4d6a62656bd63
Author: Filipe <filinep@gmail.com>
Date:   Tue Feb 7 14:03:48 2012 +0200

    Added xml file showing how to use crossover pso classes.

commit 5971f28449c6f353a9ac7d8d2f0c8ca7e6fa59a8
Author: Filipe <filinep@gmail.com>
Date:   Tue Feb 7 14:02:39 2012 +0200

    Moved vector methods to vector class.

commit 577595da19db66c08dd1cf1efde6a110143f9b8a
Author: Filipe <filinep@gmail.com>
Date:   Tue Feb 7 13:59:12 2012 +0200

    Fixed a few logic errors and used the fitness' comparator

commit 79fc0cb25126d7a74a8d4159b678cf0b35ba32e3
Author: Filipe <filinep@gmail.com>
Date:   Tue Feb 7 13:58:10 2012 +0200

    Fixed a few logic errors, added a delegate and used the fitness' comparator

commit af122bb4e312ca1b3218f00a09fc9856d84e0e31
Author: Filipe <filinep@gmail.com>
Date:   Tue Feb 7 13:55:46 2012 +0200

    Implementation of UNDX crossover operator

commit c1efbe8340fec44d19d7a2f29c6e69dff7013e71
Author: Filipe <filinep@gmail.com>
Date:   Tue Feb 7 13:44:22 2012 +0200

    Added methods to determine if a vector is zero, one to project it onto another vector and one to orthogonalize it to a list of vectors

commit 998bb2692e05479a37a8f727a367dee0ca54a5cc
Author: Filipe <filinep@gmail.com>
Date:   Mon Feb 6 15:03:10 2012 +0200

    Added new global guide provider that uses crossover to try generate a new gBest

commit f29cb35c9e07825db07da6eadf65847f6304303f
Author: Filipe <filinep@gmail.com>
Date:   Mon Feb 6 14:26:27 2012 +0200

    Refactored code to be more concise

commit ca8b23b36e51994e291678d99481c2d4c720e53e
Author: Filipe <filinep@gmail.com>
Date:   Thu Feb 2 13:47:48 2012 +0200

    Implemented an iteration strategy that uses crossover to replace particles that perform badly.

commit 2645f5cad568846fc63f442a07342d607f8fff68
Author: Filipe <filinep@gmail.com>
Date:   Thu Feb 2 13:46:44 2012 +0200

    Implemented a velocity provider that uses crossover to determine the next position of a particle.

commit 3f84df34f8fc107946758ea3ec6177e7f1848eaf
Author: Filipe <filinep@gmail.com>
Date:   Thu Feb 2 13:44:02 2012 +0200

    Implementation of parent centric crossover (PCX).

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Merge pull request #30 from filinep/topologyCleanup

Topology cleanup
Merge pull request #30 from filinep:stopCondWithControlParameters

    - Made changes to the iteration update control parameter.
      Also put the algorithm on the stack before sending started event.
    - Renamed a StoppingPredicate to CompletionCalculator and added another test.
    - Changed a few implementation details and added an IterationUpdateControlParameter which only updates the parameter at the end of an iteration.
    - Removed updateParameter from ControlParameter so that the controlParameter is responsible for its own updates. This removes the need for the developer to remember to update control parameters where there isnt a mechanism already in place for updating them.
    - Added tests for stopping conditions and changed the predicate's implementation.
    - Added maintained stopping condition, removed Minimum* stopping conditions, moved ErrorMeasurement to measurement.single package and fixed xml more files to use the stopping conditions.
    - Changed xml files to use MeasuredStoppingCondition.
    - Added measured stopping condition and remove Maximum* stopping conditions.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Removed Guice dependency since it was hardly used.
Merge pull request #32 from filinep/guiceRemoval

Removed Guice dependency since it was hardly used.
Translate domain parser to be stateless and simpler.

The domain parser previously maintained some state which, frankly caused
far reaching concurrency and mutable state issues. The grammar itself is no
longer stateful (although the parser itself has some state internally, but
we do not iteract with that).

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Update error messages and cleanup parser grammars.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Made a few additions to crossover PSO for experimentation.
Probability distributions now use control parameters.
Merge pull request #33 from gpampara/parser-simplification

Translate domain parser to be stateless and simpler.
Merge pull request #36 from filinep/distributionCleanup

Probability distributions now use control parameters.