net.sourceforge.cilib.boa
Class ABC

java.lang.Object
  extended by net.sourceforge.cilib.algorithm.Algorithm
      extended by net.sourceforge.cilib.algorithm.population.PopulationBasedAlgorithm
          extended by net.sourceforge.cilib.algorithm.population.SinglePopulationBasedAlgorithm
              extended by net.sourceforge.cilib.boa.ABC
All Implemented Interfaces:
Serializable, Runnable, Cloneable

public class ABC
extends SinglePopulationBasedAlgorithm

An implementation of the Artificial Bee Colony Algorithm.

Reference:

Dervis Karaboga and Bahriye Basturk, "A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm" journal = "Journal of Global Optimization" pages = "459--471" volume = "39" number = "3" month = nov year = "2007" publisher = "Springer" address = "Netherlands"

Author:
Andrich
See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sourceforge.cilib.algorithm.population.SinglePopulationBasedAlgorithm
initialisationStrategy
 
Fields inherited from class net.sourceforge.cilib.algorithm.Algorithm
optimisationProblem
 
Constructor Summary
ABC()
          Default constructor.
ABC(ABC copy)
          Copy constructor.
 
Method Summary
protected  void algorithmIteration()
          Perform the iteration within the algorithm.
 OptimisationSolution getBestSolution()
          Get the best current solution.
 ABC getClone()
          Create a cloned copy of the current object and return it.
 SelectionStrategy getDancingSelectionStrategy()
           
 ExplorerBee getExplorerBee()
           
 ControlParameter getExplorerBeeUpdateLimit()
           
 ControlParameter getForageLimit()
           
 Topology<HoneyBee> getOnlookerTopology()
           
 List<OptimisationSolution> getSolutions()
          Get the collection of best solutions.
 Topology<HoneyBee> getTopology()
          Get the current collection (population) of entities.
 ControlParameter getWorkerBeeNumber()
           
 Topology<HoneyBee> getWorkerTopology()
           
 void performInitialisation()
          Perform the needed initialisation required before the execution of the algorithm starts.
 void setDancingSelectionStrategy(SelectionStrategy dancingSelectionStrategy)
           
 void setExplorerBeeUpdateLimit(ControlParameter explorerBeeUpdateLimit)
           
 void setForageLimit(ControlParameter forageThreshold)
           
 void setTopology(Topology<? extends Entity> topology)
          Set the Topology for the population-based algorithm.
 void setWorkerBeePercentage(ControlParameter workerBeeNumber)
           
 
Methods inherited from class net.sourceforge.cilib.algorithm.population.SinglePopulationBasedAlgorithm
accept, getInitialisationStrategy, setInitialisationStrategy
 
Methods inherited from class net.sourceforge.cilib.algorithm.Algorithm
addAlgorithmListener, addStoppingCondition, get, getAlgorithmList, getIterations, getOptimisationProblem, getPercentageComplete, getStoppingConditions, initialise, isFinished, performIteration, performUninitialisation, removeAlgorithmListener, removeStoppingCondition, reset, run, setOptimisationProblem, terminate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ABC

public ABC()
Default constructor. Creates a new instance of ABC.


ABC

public ABC(ABC copy)
Copy constructor. Creates a copy of the provided instance.

Parameters:
copy - ABC reference of which a deep copy is made.
Method Detail

getClone

public ABC getClone()
Create a cloned copy of the current object and return it. In general the created copy will be a deep copy of the provided instance. As a result this operation an be quite expensive if used incorrectly.

Specified by:
getClone in interface Cloneable
Specified by:
getClone in class SinglePopulationBasedAlgorithm
Returns:
An exact clone of the current object instance.
See Also:
Object.clone()

performInitialisation

public void performInitialisation()
Perform the needed initialisation required before the execution of the algorithm starts.

Overrides:
performInitialisation in class Algorithm

algorithmIteration

protected void algorithmIteration()
Perform the iteration within the algorithm.

Specified by:
algorithmIteration in class SinglePopulationBasedAlgorithm

getBestSolution

public OptimisationSolution getBestSolution()
Get the best current solution. This best solution is determined from the personal bests of the particles.

Specified by:
getBestSolution in class PopulationBasedAlgorithm
Returns:
The OptimisationSolution representing the best solution.

getSolutions

public List<OptimisationSolution> getSolutions()
Get the collection of best solutions. This result does not actually make sense in the normal PSO algorithm, but rather in a MultiObjective optimization.

Specified by:
getSolutions in class PopulationBasedAlgorithm
Returns:
The Collection<OptimisationSolution> containing the solutions.

getTopology

public Topology<HoneyBee> getTopology()
Get the current collection (population) of entities.

Specified by:
getTopology in class SinglePopulationBasedAlgorithm
Returns:
The current population.

getWorkerTopology

public Topology<HoneyBee> getWorkerTopology()

getOnlookerTopology

public Topology<HoneyBee> getOnlookerTopology()

setTopology

public void setTopology(Topology<? extends Entity> topology)
Set the Topology for the population-based algorithm.

Specified by:
setTopology in class SinglePopulationBasedAlgorithm
Parameters:
topology - The Topology to be set.

getDancingSelectionStrategy

public SelectionStrategy getDancingSelectionStrategy()

setDancingSelectionStrategy

public void setDancingSelectionStrategy(SelectionStrategy dancingSelectionStrategy)

getExplorerBee

public ExplorerBee getExplorerBee()

getWorkerBeeNumber

public ControlParameter getWorkerBeeNumber()

setWorkerBeePercentage

public void setWorkerBeePercentage(ControlParameter workerBeeNumber)

getForageLimit

public ControlParameter getForageLimit()

setForageLimit

public void setForageLimit(ControlParameter forageThreshold)

getExplorerBeeUpdateLimit

public ControlParameter getExplorerBeeUpdateLimit()

setExplorerBeeUpdateLimit

public void setExplorerBeeUpdateLimit(ControlParameter explorerBeeUpdateLimit)


Copyright © 2009 CIRG. All Rights Reserved.