Added CascadeNetworkWeightShift and unit test.

Measures the shift in weights in a cascade network.
Added PerExpansionNNPerformanceChangeStoppingCondition.

It similar to NNPerformanceChangeStoppingCondition, but is only
performed when an expansion in the NN architecture is detected.

Changed dynamicPSOCascadeNN.xml to incorporate the new stopping
condition.
Fixed bug in XMLObjectFactory.

Bug occurs when attempting to use the addParameter method in
DiscreteParameterGenerator. An example has been added to frace.xml.
Removal of Topology and PopulationBasedAlgorithm

Topology was a fairly poor abstraction as the neighbourhood calculation
was the only valuable contribution it provided. It was essentially
List<E> + neighbourhood function. As a result, the neighbourhood functions
have been extracted into the Topologies class and a new function alias
has been created, namely: Neighbourhood<E>. All SinglePopulationBasedAlgorithms
now have the notion of a neighbourhood function, which can be used to
determine the neighbourhood of a specific element and defaults to the
GBest topology to keep the behaviour of the old code.

PopulationBasedAlgorithm was another broken abstraction which provided no
real benefit. It merely created confusion, especially in the cases where
multiple (sub)swarms where maintained. This has been removed and now
a clear distinction between Single- and MultiPopulationBasedAlgorithms
can be found in the code.

Additionally:
* Added support for static neighbourhood functions in simulator.

* Introduced HasTopology<E>

* Remove Function and replace with fj.F

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Move individual Neighbourhood functions to separate classes.

The simulator is a serious issue at the moment, resulting in this
rollback of some of the neighbourhood function changes.

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

- 2 stochastic and 2 deterministic functions
- Includes example XML using Firefly algorithm as specified in paper
Update code to incorporate new master changes.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Merge branch 'master' into topic/topology-removal
Update build definition

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Correct failing VEPSO related code.

This might not yet be fully correct? Need to verify.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Merge branch 'master' into topic/topology-removal

Conflicts:
	library/src/main/java/net/sourceforge/cilib/algorithm/initialisation/ChargedPopulationInitialisationStrategy.java
Cleanup and corrections, based of @filinep's comments.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Correct separation of worker / onlooker bees.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Merge pull request #124 from gpampara/topic/topology-removal

Remove Topology, PopulationBasedAlgorithm and Function.
Merge pull request #143 from censlin/cnOldWeightChangeMeasurement

CascadeNetworkWeightShift and test.
Merge pull request #144 from censlin/cnExpansionStoppingCondition

Added PerExpansionNNPerformanceChangeStoppingCondition.
Merge pull request #149 from censlin/xmlFactoryBugFix

Prevent restriction to reflective setter method lookup only.

This code originally looked up setter methods only. This widens the search to practically any method, which may result in problems. For the moment this is not doing any harm and seeing as the XMLObjectFactory IoC container's life is limited, I see no harm in merging this at this current point in time.
Added new guide providers

1) WeightedGuideProvider weighs the gbest and pbest.
2) An AlternateCrossoverGuideProvider which applies discrete crossover to two components e.g. gbest and pbest, gbest and pos, pbest and pos, etc
3) SelectionGuideProvider which uses a selection recipe (Roulette wheel, tournament, etc) to select a particle. A component is then extracted from the particle
(pbest, pos...). This can be done perDimension or perEntity.
Rebase fixes.
Added implementation of PSPG