public class DOVSSpecies extends IntegerVectorSpecies
DOVSSpecies must be used in combination with DOVSBreeder, which will call it at appropriate times to reproduce new individuals for next generations. It must also be used in combination with DOVSInitializer and DOVSEvaluator. The former will be used to generate the initial population, and the later will determine a suitable number of evaluation for each individual.
Parameters
base.initial-reps Integer > 1 |
Base value of number of evaluations for each individual. |
base.warmup Integer > 1 |
Number of trial we want to randomize one dimension of the individual, used for sampling. |
base.constraints-size Integer |
Number of constraints for the initial optimization problem. link |
base.constraints-A String |
A string of double number separate by whitespace specified the left hand side coefficients of the constraint Ax<=b. |
base.constraints-B Double |
A double number specified the right hand side of the constraint Ax<=b. |
base.stochastic Boolean (default = false) |
Is it the problem a stochastic problem? |
Default Base
dovs.species
Parameter bases
base.species | species (the subpopulations' species) |
Modifier and Type | Field and Description |
---|---|
java.util.ArrayList<double[]> |
A
Constraint coefficients
|
java.util.ArrayList<Individual> |
activeSolutions
activeSolutions contains all the samples that is on the boundary of the
most promising area.
|
double[] |
b
Constratin coefficients
|
java.util.ArrayList<CornerMap> |
corners
CornerMaps for the all the visisted individuals.
|
java.util.ArrayList<Individual> |
Ek
This is the Ek in original paper, where is the collection all the
individuals evaluated in generation k.
|
int |
initialReps
Base value of number evaluation for each individual.
|
long |
numOfTotalSamples
This is for future using.
|
int |
optimalIndex
This integer indicate the index of optimal individual in the visited
array.
|
static java.lang.String |
P_A |
static java.lang.String |
P_B |
static java.lang.String |
P_CONSTRAINTS_SIZE |
static java.lang.String |
P_DOVS_SPECIES |
static java.lang.String |
P_INITIAL_REPETITION |
static java.lang.String |
P_STOCHASTIC |
static java.lang.String |
P_WARM_UP |
int |
repetition
This value will be updated at each generation to determine how many
evaluation is needed for one individual.
|
boolean |
stochastic
Is the problem a stochastic problem.
|
java.util.ArrayList<Individual> |
visited
This list contains all the sample we have visited during current
algorithm run.
|
java.util.HashMap<Individual,java.lang.Integer> |
visitedIndexMap
Given a individual, return the index of this individual in ArrayList
visited
|
int |
warmUp
warm up period for RMD sampling.
|
C_RANDOM_WALK_MUTATION, C_RESET_MUTATION, maxGene, minGene, mutationIsBounded, mutationType, P_MAXGENE, P_MINGENE, P_MUTATION_BOUNDED, P_MUTATIONTYPE, P_NUM_SEGMENTS, P_RANDOM_WALK_PROBABILITY, P_SEGMENT, P_SEGMENT_END, P_SEGMENT_START, P_SEGMENT_TYPE, randomWalkProbability, V_RANDOM_WALK_MUTATION, V_RESET_MUTATION
C_ANY_POINT, C_GEOMETRIC, C_INTERMED_RECOMB, C_LINE_RECOMB, C_NONE, C_ONE_POINT, C_ONE_POINT_NO_NOP, C_SIMULATED_BINARY, C_TWO_POINT, C_TWO_POINT_NO_NOP, C_UNIFORM, chunksize, crossoverDistributionIndex, crossoverProbability, crossoverType, duplicateRetries, dynamicInitialSize, genomeIncreaseProbability, genomeResizeAlgorithm, genomeSize, lineDistance, maxInitialSize, minInitialSize, mutationProbability, P_CHUNKSIZE, P_CROSSOVER_DISTRIBUTION_INDEX, P_CROSSOVERPROB, P_CROSSOVERTYPE, P_DUPLICATE_RETRIES, P_GENOMESIZE, P_GEOMETRIC_PROBABILITY, P_LINEDISTANCE, P_MUTATIONPROB, P_UNIFORM_MAX, P_UNIFORM_MIN, P_VECTORSPECIES, V_ANY_POINT, V_GEOMETRIC, V_INTERMED_RECOMB, V_LINE_RECOMB, V_ONE_POINT, V_ONE_POINT_NO_NOP, V_SIMULATED_BINARY, V_TWO_POINT, V_TWO_POINT_NO_NOP, V_UNIFORM
f_prototype, i_prototype, P_FITNESS, P_INDIVIDUAL, P_PIPE, pipe_prototype
Constructor and Description |
---|
DOVSSpecies() |
Modifier and Type | Method and Description |
---|---|
Parameter |
defaultBase()
Returns the default base for this prototype.
|
void |
findBestSample(EvolutionState state,
Subpopulation subpop)
To find the best sample for each generation, we need to go through each
individual in the current population, and also best individual and
individuals in actionSolutions.
|
java.util.ArrayList<Individual> |
mostPromisingAreaSamples(EvolutionState state,
int size)
Sample from the most promising area to get new generation of individual
for evaluation.
|
void |
setup(EvolutionState state,
Parameter base)
The default version of setup(...) loads requested pipelines and calls setup(...) on them and normalizes their probabilities.
|
java.util.ArrayList<Individual> |
uniqueSamples(EvolutionState state,
java.util.ArrayList<Individual> candidates)
This method will take a candidate list and identify is there is redundant
individual in it.
|
void |
updateMostPromisingArea(EvolutionState state)
Define a most promising area for search of next genertion of individuals.
|
inNumericalTypeRange, inNumericalTypeRange, loadParametersForGene, maxGene, minGene, mutationIsBounded, mutationType, randomWalkProbability
contains, contains, contains, contains, duplicateRetries, fill, fill, fill, fill, initializeGenomeSegmentsByEndIndices, initializeGenomeSegmentsByStartIndices, mutationProbability, newIndividual, setupGenome
buildMisc, clone, newIndividual, newIndividual, updateIndividual, updateSubpopulation
public static final java.lang.String P_DOVS_SPECIES
public static final java.lang.String P_INITIAL_REPETITION
public static final java.lang.String P_STOCHASTIC
public static final java.lang.String P_CONSTRAINTS_SIZE
public static final java.lang.String P_A
public static final java.lang.String P_B
public static final java.lang.String P_WARM_UP
public int optimalIndex
public int warmUp
public java.util.ArrayList<Individual> visited
public java.util.HashMap<Individual,java.lang.Integer> visitedIndexMap
public java.util.ArrayList<CornerMap> corners
public java.util.ArrayList<Individual> activeSolutions
public java.util.ArrayList<Individual> Ek
public boolean stochastic
public int initialReps
public int repetition
public long numOfTotalSamples
public java.util.ArrayList<double[]> A
public double[] b
public Parameter defaultBase()
Prototype
defaultBase
in interface Prototype
defaultBase
in class VectorSpecies
public void setup(EvolutionState state, Parameter base)
Species
setup
in interface Prototype
setup
in interface Setup
setup
in class IntegerVectorSpecies
Prototype.setup(EvolutionState,Parameter)
public void updateMostPromisingArea(EvolutionState state)
public java.util.ArrayList<Individual> mostPromisingAreaSamples(EvolutionState state, int size)
public void findBestSample(EvolutionState state, Subpopulation subpop)
public java.util.ArrayList<Individual> uniqueSamples(EvolutionState state, java.util.ArrayList<Individual> candidates)