Package org.opt4j.core.genotype
Class IntegerGenotype
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.ArrayList<java.lang.Integer>
-
- org.opt4j.core.genotype.IntegerGenotype
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Iterable<java.lang.Integer>
,java.util.Collection<java.lang.Integer>
,java.util.List<java.lang.Integer>
,java.util.RandomAccess
,Genotype
,ListGenotype<java.lang.Integer>
- Direct Known Subclasses:
IntegerMapGenotype
,SelectGenotype
,SelectMapGenotype
public class IntegerGenotype extends java.util.ArrayList<java.lang.Integer> implements ListGenotype<java.lang.Integer>
The
IntegerGenotype
is aGenotype
that consists ofInteger
values.Example problem: Select the outcome of throwing five dice
Example usage:IntegerGenotype genotype = new IntegerGenotype(1, 6); genotype.init(new Random(), 5);
Example search space size: 65- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description IntegerGenotype(int lowerBound, int upperBound)
Constructs aIntegerGenotype
with a specified lower and upper bound for all values.IntegerGenotype(Bounds<java.lang.Integer> bounds)
Constructs aIntegerGenotype
with the givenBounds
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getLowerBound(int index)
Returns the lower bound for thei
-th element.int
getUpperBound(int index)
Returns the upper bound for thei
-th element.void
init(java.util.Random random, int n)
Initialize this genotype withn
random values.<G extends Genotype>
GnewInstance()
Constructs a new (empty) instance of thisGenotype
.-
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
-
bounds
protected final Bounds<java.lang.Integer> bounds
-
-
Constructor Detail
-
IntegerGenotype
public IntegerGenotype(int lowerBound, int upperBound)
Constructs aIntegerGenotype
with a specified lower and upper bound for all values.- Parameters:
lowerBound
- the lower boundupperBound
- the upper bound
-
IntegerGenotype
public IntegerGenotype(Bounds<java.lang.Integer> bounds)
Constructs aIntegerGenotype
with the givenBounds
.- Parameters:
bounds
- the bounds
-
-
Method Detail
-
getLowerBound
public int getLowerBound(int index)
Returns the lower bound for thei
-th element.- Parameters:
index
- thei
-th element- Returns:
- the lower bound of the
i
-th element
-
getUpperBound
public int getUpperBound(int index)
Returns the upper bound for thei
-th element.- Parameters:
index
- thei
-th element- Returns:
- the upper bound of the
i
-th element
-
newInstance
public <G extends Genotype> G newInstance()
Description copied from interface:Genotype
Constructs a new (empty) instance of thisGenotype
.- Specified by:
newInstance
in interfaceGenotype
- Type Parameters:
G
- the type of genotype for an implicit cast- Returns:
- new instance of the genotype
-
init
public void init(java.util.Random random, int n)
Initialize this genotype withn
random values.- Parameters:
random
- the random number generatorn
- the number of elements in the resulting genotype
-
-