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
Added measured stopping condition and remove Maximum* stopping conditions.
Fixed tests to work with new MeasuredStoppingCondition.
Changed xml files to use MeasuredStoppingCondition.
Added maintained stopping condition, removed Minimum* stopping conditions, moved ErrorMeasurement to measurement.single package and fixed xml more files to use the stopping conditions.
Added tests for stopping conditions and changed the predicate's implementation.
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.
Changed a few implementation details and added an IterationUpdateControlParameter which only updates the parameter at the end of an iteration.
Renamed a StoppingPredicate to CompletionCalculator and added another test.
Made changes to the iteration update control parameter. Also put the algorithm on the stack before sending started event.
Added some documentation.
Fixed errors from the rebase.
More merge fixes.