MOEA Framework 2.5
API Specification

org.moeaframework.core.variable
Class BinaryVariable

java.lang.Object
  extended by org.moeaframework.core.variable.BinaryVariable
All Implemented Interfaces:
Serializable, Variable

public class BinaryVariable
extends Object
implements Variable

Decision variable for binary strings.

See Also:
Serialized Form

Constructor Summary
BinaryVariable(int numberOfBits)
          Constructs a binary variable with the specified number of bits.
 
Method Summary
 int cardinality()
          Returns the number of bits in this variable set to true.
 void clear()
          Sets all bits in this variable to false.
 BinaryVariable copy()
          Returns an independent copy of this decision variable.
 boolean equals(Object obj)
          Indicates whether some other object is "equal to" this one.
 boolean get(int index)
          Returns the value of the bit at the specified index.
 BitSet getBitSet()
          Returns a BitSet representing the state of this variable.
 int getNumberOfBits()
          Returns the number of bits stored in this variable.
 int hammingDistance(BinaryVariable variable)
          Returns the Hamming distance between this instance and the specified BinaryVariable.
 int hashCode()
          Returns a hash code value for the object.
 boolean isEmpty()
          Returns true if all bits in this variable are set to false; false otherwise.
 void set(int index, boolean value)
          Sets the value of the bit at the specified index.
 String toString()
          Returns a string representation of the object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BinaryVariable

public BinaryVariable(int numberOfBits)
Constructs a binary variable with the specified number of bits. All bits are initially set to false.

Parameters:
numberOfBits - the number of bits stored in this variable
Method Detail

getNumberOfBits

public int getNumberOfBits()
Returns the number of bits stored in this variable.

Returns:
the number of bits stored in this variable

cardinality

public int cardinality()
Returns the number of bits in this variable set to true.

Returns:
the number of bits in this variable set to true

clear

public void clear()
Sets all bits in this variable to false.


isEmpty

public boolean isEmpty()
Returns true if all bits in this variable are set to false; false otherwise.

Returns:
true if all bits in this variable are set to false; false otherwise

get

public boolean get(int index)
Returns the value of the bit at the specified index.

Parameters:
index - the index of the bit to return
Returns:
the value of the bit at the specified index
Throws:
IndexOutOfBoundsException - if the index is out of bounds (index < 0) || (index >= getNumberOfBits())

set

public void set(int index,
                boolean value)
Sets the value of the bit at the specified index.

Parameters:
index - the index of the bit to set
value - the new value of the bit being set
Throws:
IndexOutOfBoundsException - if the index is out of bounds (index < 0) || (index >= getNumberOfBits())

getBitSet

public BitSet getBitSet()
Returns a BitSet representing the state of this variable.

Returns:
a BitSet representing the state of this variable

hammingDistance

public int hammingDistance(BinaryVariable variable)
Returns the Hamming distance between this instance and the specified BinaryVariable. The Hamming distance is the number of bit positions in which the two binary strings differ.

Parameters:
variable - the other BinaryVariable
Returns:
the Hamming distance between this instance and the specified BinaryVariable
Throws:
IllegalArgumentException - if the two binary strings differ in the number of bits

copy

public BinaryVariable copy()
Description copied from interface: Variable
Returns an independent copy of this decision variable. It is required that x.copy() is completely independent from x. This means any method invoked on x.copy() in no way alters the state of x and vice versa. It is typically the case that x.copy().getClass() == x.getClass() and x.copy().equals(x).

Specified by:
copy in interface Variable
Returns:
an independent copy of this decision variable

hashCode

public int hashCode()
Description copied from class: java.lang.Object
Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by java.util.Hashtable.

The general contract of hashCode is:

As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)

Overrides:
hashCode in class Object
Returns:
a hash code value for this object.
See Also:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
Description copied from class: java.lang.Object
Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).

Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes.

Overrides:
equals in class Object
Parameters:
obj - the reference object with which to compare.
Returns:
true if this object is the same as the obj argument; false otherwise.
See Also:
Object.hashCode(), Hashtable

toString

public String toString()
Description copied from class: java.lang.Object
Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Overrides:
toString in class Object
Returns:
a string representation of the object.

MOEA Framework 2.5
API Specification

Copyright 2009-2015 MOEA Framework. All rights reserved.
Licensed under the GNU Lesser General Public License.
Return to the MOEA Framework homepage. Hosted by Get MOEA Framework at SourceForge.net. Fast, secure and Free Open Source software downloads