Package org.opt4j.core.genotype
Class BooleanMapGenotype<K>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.ArrayList<java.lang.Boolean>
-
- org.opt4j.core.genotype.BooleanGenotype
-
- org.opt4j.core.genotype.BooleanMapGenotype<K>
-
- Type Parameters:
K
- the type of keys
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Iterable<java.lang.Boolean>
,java.util.Collection<java.lang.Boolean>
,java.util.List<java.lang.Boolean>
,java.util.RandomAccess
,Genotype
,ListGenotype<java.lang.Boolean>
,MapGenotype<K,java.lang.Boolean>
public class BooleanMapGenotype<K> extends BooleanGenotype implements MapGenotype<K,java.lang.Boolean>
The
BooleanMapGenotype
is aBooleanGenotype
with theMapGenotype
functionality.Example problem: Select on/off state of five switches switch1, switch2, switch3, switch4, switch5
Example usage:BooleanMapGenotype<Switch> genotype = new BooleanMapGenotype<Switch>( Arrays.asList(switch1, switch2, switch3, switch4, switch5)); genotype.init(new Random());
Example search space size: 25- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<K>
list
-
Fields inherited from interface org.opt4j.core.genotype.MapGenotype
ERROR_MESSAGE_INVALID_KEY, ERROR_MESSAGE_NON_UNIQUE_KEYS, ERROR_MESSAGE_OUT_OF_BOUNDS, ERROR_MESSAGE_UNSUPPORTED_INIT
-
-
Constructor Summary
Constructors Constructor Description BooleanMapGenotype(java.util.List<K> list)
Constructs aBooleanMapGenotype
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsKey(K key)
Returnstrue
if the key is contained.int
getIndexOf(K key)
Returns the index of the key.java.util.Collection<K>
getKeys()
Return all keys.java.lang.Boolean
getValue(K key)
Returns the value for the specified key.void
init(java.util.Random random)
Initialize this genotype with random values based on the number of keys.void
init(java.util.Random random, int n)
Not supported.<G extends Genotype>
GnewInstance()
Constructs a new (empty) instance of thisGenotype
.void
setValue(K key, java.lang.Boolean value)
Sets the value for the specified key.java.lang.String
toString()
-
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.List
add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray
-
-
-
-
Field Detail
-
list
protected final java.util.List<K> list
-
-
Constructor Detail
-
BooleanMapGenotype
public BooleanMapGenotype(java.util.List<K> list)
Constructs aBooleanMapGenotype
.- Parameters:
list
- the list of keys
-
-
Method Detail
-
init
public void init(java.util.Random random)
Initialize this genotype with random values based on the number of keys.- Parameters:
random
- the random number generator
-
init
public void init(java.util.Random random, int n)
Not supported. Useinit(Random)
instead.- Overrides:
init
in classBooleanGenotype
- Parameters:
random
- the random number generatorn
- the number of elements in the resulting genotype- See Also:
BooleanGenotype.init(java.util.Random, int)
-
getValue
public java.lang.Boolean getValue(K key)
Description copied from interface:MapGenotype
Returns the value for the specified key. Throws an exception if the key is not contained.- Specified by:
getValue
in interfaceMapGenotype<K,java.lang.Boolean>
- Parameters:
key
- the key- Returns:
- the value
- See Also:
MapGenotype.setValue(K, V)
-
setValue
public void setValue(K key, java.lang.Boolean value)
Description copied from interface:MapGenotype
Sets the value for the specified key. Throws an exception if the key is not contained.- Specified by:
setValue
in interfaceMapGenotype<K,java.lang.Boolean>
- Parameters:
key
- the keyvalue
- the value- See Also:
MapGenotype.getValue(K)
-
containsKey
public boolean containsKey(K key)
Description copied from interface:MapGenotype
Returnstrue
if the key is contained.- Specified by:
containsKey
in interfaceMapGenotype<K,java.lang.Boolean>
- Parameters:
key
- the key- Returns:
true
if the key is contained
-
newInstance
public <G extends Genotype> G newInstance()
Description copied from interface:Genotype
Constructs a new (empty) instance of thisGenotype
.- Specified by:
newInstance
in interfaceGenotype
- Overrides:
newInstance
in classBooleanGenotype
- Type Parameters:
G
- the type of genotype for an implicit cast- Returns:
- new instance of the genotype
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.util.AbstractCollection<java.lang.Boolean>
-
getIndexOf
public int getIndexOf(K key)
Description copied from interface:MapGenotype
Returns the index of the key. Throws an exception if the key is not contained.- Specified by:
getIndexOf
in interfaceMapGenotype<K,java.lang.Boolean>
- Parameters:
key
- the key- Returns:
- the index
-
getKeys
public java.util.Collection<K> getKeys()
Description copied from interface:MapGenotype
Return all keys.- Specified by:
getKeys
in interfaceMapGenotype<K,java.lang.Boolean>
- Returns:
- all keys
-
-