Package org.opt4j.core.genotype
Class DoubleMapGenotype<K>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.ArrayList<java.lang.Double>
-
- org.opt4j.core.genotype.DoubleGenotype
-
- org.opt4j.core.genotype.DoubleMapGenotype<K>
-
- Type Parameters:
K
- the type of keys
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Iterable<java.lang.Double>
,java.util.Collection<java.lang.Double>
,java.util.List<java.lang.Double>
,java.util.RandomAccess
,Genotype
,ListGenotype<java.lang.Double>
,MapGenotype<K,java.lang.Double>
public class DoubleMapGenotype<K> extends DoubleGenotype implements MapGenotype<K,java.lang.Double>
The
DoubleMapGenotype
is aDoubleGenotype
with theMapGenotype
functionality.Example problem: Select filling level of five bottles bottle1, bottle2, bottle3, bottle4, bottle5
Example usage:DoubleMapGenotype<Bottle> genotype = new DoubleMapGenotype<Bottle>( Arrays.asList(bottle1, bottle2, bottle3, bottle4, bottle5)); genotype.init(new Random());
Example search space size: [0;1]5- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<K>
keys
-
Fields inherited from class org.opt4j.core.genotype.DoubleGenotype
bounds
-
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 DoubleMapGenotype(java.util.List<K> keys, Bounds<java.lang.Double> bounds)
Constructs aDoubleMapGenotype
.
-
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.Double
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 size of thekeys
.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.Double value)
Sets the value for the specified key.java.lang.String
toString()
-
Methods inherited from class org.opt4j.core.genotype.DoubleGenotype
getLowerBound, getUpperBound
-
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
-
keys
protected final java.util.List<K> keys
-
-
Constructor Detail
-
DoubleMapGenotype
public DoubleMapGenotype(java.util.List<K> keys, Bounds<java.lang.Double> bounds)
Constructs aDoubleMapGenotype
.- Parameters:
keys
- the list of keysbounds
- the lower and upper bounds
-
-
Method Detail
-
init
public void init(java.util.Random random)
Initialize this genotype with random values based on the size of thekeys
.- Parameters:
random
- the random number generator
-
init
public void init(java.util.Random random, int n)
Not supported. Useinit(Random)
instead.- Overrides:
init
in classDoubleGenotype
- Parameters:
random
- the random number generatorn
- the number of elements in the resulting genotype- See Also:
DoubleGenotype.init(java.util.Random, int)
-
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.Double>
- Parameters:
key
- the key- Returns:
true
if the key is contained
-
getValue
public java.lang.Double 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.Double>
- Parameters:
key
- the key- Returns:
- the value
- See Also:
MapGenotype.setValue(K, V)
-
setValue
public void setValue(K key, java.lang.Double 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.Double>
- Parameters:
key
- the keyvalue
- the value- See Also:
MapGenotype.getValue(K)
-
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 classDoubleGenotype
- 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.Double>
-
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.Double>
- 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.Double>
- Returns:
- all keys
-
-