MOEA Framework 2.12
API Specification

org.moeaframework.core.variable
Class BinaryVariable

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

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)
           
 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()
           
 boolean isEmpty()
          Returns true if all bits in this variable are set to false; false otherwise.
 void randomize()
          Randomly assign the value of this variable.
 void set(int index, boolean value)
          Sets the value of the bit at the specified index.
 String toString()
           
 
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()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

toString

public String toString()
Overrides:
toString in class Object

randomize

public void randomize()
Description copied from interface: Variable
Randomly assign the value of this variable. In general, the randomization should follow a uniform distribution.

Specified by:
randomize in interface Variable

MOEA Framework 2.12
API Specification

Copyright 2009-2016 MOEA Framework. All rights reserved.
Licensed under the GNU Lesser General Public License.
Return to the MOEA Framework homepage. Visit us on Github!