net.sourceforge.cilib.problem.boundaryconstraint
Class NearestBoundaryConstraint

java.lang.Object
  extended by net.sourceforge.cilib.problem.boundaryconstraint.NearestBoundaryConstraint
All Implemented Interfaces:
Serializable, BoundaryConstraint, Cloneable

public class NearestBoundaryConstraint
extends Object
implements BoundaryConstraint

If a particle oversteps the boundary it gets re-initialised and placed on the overstepped boundary. A terbulence probability gets specified to allow particles to escape the boundaries.

References:

  @inproceedings{ZXB04, author = "W.-J. Zhang and X.-F. Xie and D.-C. Bi",
                 title = "Handling boundary constraints for numerical optimization by
                 particle swarm flying in periodic search space",
                 booktitle = "IEEE Congress on Evolutionary Computation", month = jun,
                 year = {2004}, volume = "2", pages = {2307--2311} }
  @inproceedings{HW07, author = "S. Helwig and R. Wanka",
                 title = "Particle Swarm Optimization in High-Dimensional Bounded Search Spaces",
                 booktitle = "Proceedings of the 2007 IEEE Swarm Intelligence Symposium", month = apr,
                 year = {2007}, pages = {198--205} }
 

Author:
Wiehann Matthysen
See Also:
Serialized Form

Constructor Summary
NearestBoundaryConstraint()
          Create an instance of the constraint with a turbulence probability initially set to 0.0.
NearestBoundaryConstraint(NearestBoundaryConstraint copy)
          Create a copy of the provided instance.
 
Method Summary
 void enforce(Entity entity)
          Enforce the defined boundary constraint on the provided Entity.
 BoundaryConstraint getClone()
          Create a cloned copy of the current object and return it.
 ControlParameter getTurbulenceProbability()
          Get the ControlParameter representing the current turbulence probability.
 void setTurbulenceProbability(ControlParameter turbulenceProbability)
          Set the turbulence probability with the provided ControlParameter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NearestBoundaryConstraint

public NearestBoundaryConstraint()
Create an instance of the constraint with a turbulence probability initially set to 0.0.


NearestBoundaryConstraint

public NearestBoundaryConstraint(NearestBoundaryConstraint copy)
Create a copy of the provided instance.

Parameters:
copy - The instance to copy.
Method Detail

getClone

public BoundaryConstraint 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 BoundaryConstraint
Specified by:
getClone in interface Cloneable
Returns:
An exact clone of the current object instance.
See Also:
Object.clone()

enforce

public void enforce(Entity entity)
Enforce the defined boundary constraint on the provided Entity.

Specified by:
enforce in interface BoundaryConstraint
Parameters:
entity - The Entity with which the boundary is to be enforced.

getTurbulenceProbability

public ControlParameter getTurbulenceProbability()
Get the ControlParameter representing the current turbulence probability.

Returns:
The turbulence ControlParameter.

setTurbulenceProbability

public void setTurbulenceProbability(ControlParameter turbulenceProbability)
Set the turbulence probability with the provided ControlParameter.

Parameters:
turbulenceProbability - The value to set.


Copyright © 2009 CIRG. All Rights Reserved.