|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.opt4j.core.IndividualSet
org.opt4j.core.optimizer.Archive
org.opt4j.core.common.archive.AbstractArchive
org.opt4j.core.common.archive.BoundedArchive
org.opt4j.core.common.archive.AdaptiveGridArchive
public class AdaptiveGridArchive
The AdaptiveGridArchive uses an adaptive grid in order to bound the
size of the Archive, see "Properties of an Adaptive Archiving
Algorithm for Storing Nondominated Vectors, J. Knowles, D. Corne,
Transactions of Evolutionary Computation, Vol. 7, No. 2, April 2003".
| Nested Class Summary | |
|---|---|
protected static class |
AdaptiveGridArchive.Cell
A single AdaptiveGridArchive.Cell of the grid. |
| Field Summary | |
|---|---|
protected java.util.Map<java.lang.Long,AdaptiveGridArchive.Cell> |
cells
|
protected int |
dim
|
protected int |
div
|
protected java.util.List<Individual> |
extrema
|
protected boolean |
isInit
|
protected double[] |
lb
|
protected Rand |
random
|
protected double[] |
ub
|
| Fields inherited from class org.opt4j.core.common.archive.BoundedArchive |
|---|
capacity |
| Fields inherited from class org.opt4j.core.IndividualSet |
|---|
individuals, listeners |
| Constructor Summary | |
|---|---|
AdaptiveGridArchive(int capacity,
int div,
Rand random)
Constructs an AdaptiveGridArchive. |
|
| Method Summary | |
|---|---|
protected void |
addToCell(java.lang.Iterable<Individual> individuals)
Adds all Individuals to theirs AdaptiveGridArchive.Cells and the AdaptiveGridArchive.Cell
s to the Archive. |
protected boolean |
determineBounds(java.util.Collection<Individual> individuals)
Determines the new bounds for the individuals and returns true if
the bounds have changed. |
protected AdaptiveGridArchive.Cell |
getCell(Individual individual)
Returns the appropriate AdaptiveGridArchive.Cell for the given Individual. |
protected AdaptiveGridArchive.Cell |
getMostCrowdedCell()
Returns the most crowded AdaptiveGridArchive.Cell. |
protected void |
init(Individual individual)
Initialize the Archive. |
boolean |
remove(java.lang.Object o)
|
protected void |
removeFromCell(Individual individual)
Removes this Individual from its AdaptiveGridArchive.Cell and removes the
AdaptiveGridArchive.Cell from the Archive if it is
empty. |
protected boolean |
updateWithNondominated(java.util.Collection<Individual> candidates)
Adds new candidates which are already checked to be not
Pareto-dominated by any other individual in this Archive. |
| Methods inherited from class org.opt4j.core.common.archive.BoundedArchive |
|---|
addCheckedIndividual, addCheckedIndividuals, getCapacity, setCapacity |
| Methods inherited from class org.opt4j.core.common.archive.AbstractArchive |
|---|
update |
| Methods inherited from class org.opt4j.core.optimizer.Archive |
|---|
update |
| Methods inherited from class org.opt4j.core.IndividualSet |
|---|
add, addAll, addAll, addListener, clear, contains, containsAll, isEmpty, iterator, removeAll, removeListener, retainAll, size, toArray, toArray |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface java.util.Set |
|---|
equals, hashCode |
| Field Detail |
|---|
protected boolean isInit
protected final int div
protected final Rand random
protected final java.util.Map<java.lang.Long,AdaptiveGridArchive.Cell> cells
protected final java.util.List<Individual> extrema
protected double[] lb
protected double[] ub
protected int dim
| Constructor Detail |
|---|
@Inject
public AdaptiveGridArchive(int capacity,
int div,
Rand random)
AdaptiveGridArchive.
capacity - the capacitydiv - the divisionsrandom - the random number generator| Method Detail |
|---|
protected boolean updateWithNondominated(java.util.Collection<Individual> candidates)
AbstractArchivecandidates which are already checked to be not
Pareto-dominated by any other individual in this Archive. All
Individuals in the Archive which were dominated by the
candidates have already been removed.
updateWithNondominated in class AbstractArchivecandidates - the non-dominated individuals which can be added
protected void init(Individual individual)
Archive.
individual - one random individualprotected AdaptiveGridArchive.Cell getCell(Individual individual)
AdaptiveGridArchive.Cell for the given Individual.
individual - the individual
protected AdaptiveGridArchive.Cell getMostCrowdedCell()
AdaptiveGridArchive.Cell.
public boolean remove(java.lang.Object o)
remove in interface java.util.Collection<Individual>remove in interface java.util.Set<Individual>remove in class IndividualSetprotected void addToCell(java.lang.Iterable<Individual> individuals)
Individuals to theirs AdaptiveGridArchive.Cells and the AdaptiveGridArchive.Cell
s to the Archive.
individuals - the individuals to be addedprotected void removeFromCell(Individual individual)
Individual from its AdaptiveGridArchive.Cell and removes the
AdaptiveGridArchive.Cell from the Archive if it is
empty.
individual - the individual to be removedprotected boolean determineBounds(java.util.Collection<Individual> individuals)
true if
the bounds have changed.
individuals - the individuals
true if the bounds have changed
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||