$darkmode
DENOPTIM
|
DENOPTIM's evolutionary algorithm. More...
Public Member Functions | |
EvolutionaryAlgorithm (GAParameters settings, ExternalCmdsListener cmdListener) | |
void | run () throws DENOPTIMException |
void | stopRun () |
void | removeCandidates (Set< String > candID) |
Adds candidate IDs to the list of "to-be-removed" candidates. More... | |
void | addCandidates (Set< String > pathNames) |
Adds candidate IDs to the list of "to-be-included" candidates. More... | |
Package Attributes | |
final ExternalCmdsListener | cmdListener |
Service watching for external commands. More... | |
Private Member Functions | |
void | initializePopulation (Population population) throws DENOPTIMException |
Fills up the population with candidates build from scratch. More... | |
int | processInitialPopCandidate (Candidate candidate, Population population, Monitor mnt, List< Task > batchOfSyncParallelTasks, int attemptsToFillBatch, boolean replaceWorstPopMember, boolean candidatesOverflow) throws DENOPTIMException |
void | submitSyncParallelBatch (List< Task > batchOfSyncParallelTasks) throws DENOPTIMException |
boolean | evolvePopulation (Population population, int genId) throws DENOPTIMException |
Generates a given number of new candidate items and adds them to the current population. More... | |
List< Candidate > | makeOffspringA (List< Candidate > eligibleParents, Population population, Monitor mnt) throws DENOPTIMException |
Generates one offspring according to the method where crossover and mutation are decoupled, i.e., we can do mutation without doing crossover. More... | |
List< Candidate > | makeOffspringB (List< Candidate > eligibleParents, Population population, Monitor mnt) throws DENOPTIMException |
Generates one offspring according to the method where crossover and mutation are coupled, i.e., we do mutation only on offsprings that come from a successful crossover. More... | |
void | cleanupAsync () |
Removes all tasks whether they are completed or not. More... | |
void | cleanupCompleted () |
Removes only tasks that are marked as completed. More... | |
boolean | checkForException () |
Private Attributes | |
SizeControlledSet | scs |
Storage of unique identifiers encountered by this instance. More... | |
boolean | stopped = false |
Flag signaling this EA was stopped. More... | |
Set< String > | candidatesToRemove = new HashSet<String>() |
List of IDs of candidates to be removed from the population. More... | |
List< String > | candidatesToAdd = new ArrayList<String>() |
List of IDs of candidates to be evaluated upon request from the user. More... | |
boolean | isAsync = true |
Flag determining the use of asynchronous parallelization scheme. More... | |
Map< FitnessTask, Future< Object > > | futures |
Temporary storage of future results produced by fitness evaluation tasks submitted to asynchronous parallelization scheme. More... | |
List< FitnessTask > | submitted |
Temporary storage of fitness evaluation tasks just submitted to asynchronous Parallelization scheme. More... | |
ThreadPoolExecutor | tpe |
Execution service used in asynchronous parallelization scheme. More... | |
TasksBatchManager | tbm |
Task manager for tasks to be executed as batches. More... | |
Throwable | ex |
Issue emerging from a thread submitted by asynchronous parallelization scheme. More... | |
GAParameters | settings |
Parameters controlling the execution of this evolutionary algorithm. More... | |
Logger | logger = null |
Program-specific logger. More... | |
final String | NL = System.getProperty("line.separator") |
DENOPTIM's evolutionary algorithm.
This implementation offers two parallelization schemes for managing the amount and timing of threads dedicated to the evaluation of candidates. The schemes are named synchronous and asynchronous.
The synchronous algorithm generates as many new candidates as needed to fill-up or evolve the population, and then submits the candidate evaluation threads with a batch-based executor. All submitted threads must terminate before submitting more threads. With this parallelization scheme all candidates initiated at a given generation can only become part of that very generation. This, however, is only possible when accepting a somewhat inefficient use of the resources every time a generation is about to be completed. To illustrate: consider the moment when there are N free seats in the population (i.e., candidates still to build and evaluate) and M potentially available seats for candidate evaluation threads, where N<M. The algorithm will generate N candidates, and M-N thread seats will remain idle. The situation is repeated a few times until fewer and fewer threads are submitted and the last population member (or new candidate population member) has been evaluated.
This asynchronous parallelization scheme removes the waiting for completion of a batch of threads by keeping always as many active fitness evaluation threads as the max number of such threads, which is controllable in the GAParameters
. Even towards the end of a generation, all threads will be used to evaluate candidates. The latter may thus exceed the number of candidates needed to complete the current generation. It is thus possible that a candidate designed in generation I becomes a member of generation J, where J ≥ I.
Definition at line 93 of file EvolutionaryAlgorithm.java.
denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm | ( | GAParameters | settings, |
ExternalCmdsListener | cmdListener | ||
) |
Definition at line 170 of file EvolutionaryAlgorithm.java.
References denoptim.ga.EvolutionaryAlgorithm.cleanupAsync(), denoptim.ga.EvolutionaryAlgorithm.cmdListener, denoptim.ga.EvolutionaryAlgorithm.ex, denoptim.ga.EvolutionaryAlgorithm.futures, denoptim.programs.RunTimeParameters.getLogger(), denoptim.programs.denovo.GAParameters.getNumberOfCPU(), denoptim.programs.denovo.GAParameters.getParallelizationScheme(), denoptim.programs.denovo.GAParameters.getUIDFileOut(), denoptim.ga.EvolutionaryAlgorithm.isAsync, denoptim.programs.denovo.GAParameters.maxUIDMemory, denoptim.ga.EvolutionaryAlgorithm.run(), denoptim.ga.EvolutionaryAlgorithm.scs, denoptim.ga.EvolutionaryAlgorithm.settings, denoptim.ga.EvolutionaryAlgorithm.submitted, denoptim.ga.EvolutionaryAlgorithm.tbm, denoptim.ga.EvolutionaryAlgorithm.tpe, and denoptim.programs.denovo.GAParameters.uidMemoryOnDisk.
void denoptim.ga.EvolutionaryAlgorithm.addCandidates | ( | Set< String > | pathNames | ) |
Adds candidate IDs to the list of "to-be-included" candidates.
Definition at line 1194 of file EvolutionaryAlgorithm.java.
References denoptim.ga.EvolutionaryAlgorithm.candidatesToAdd.
Referenced by denoptim.ga.ExternalCmdsListener.processExternalCmdFile().
|
private |
Definition at line 1144 of file EvolutionaryAlgorithm.java.
References denoptim.ga.EvolutionaryAlgorithm.ex, denoptim.ga.EvolutionaryAlgorithm.isAsync, denoptim.ga.EvolutionaryAlgorithm.logger, and denoptim.ga.EvolutionaryAlgorithm.submitted.
Referenced by denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), and denoptim.ga.EvolutionaryAlgorithm.initializePopulation().
|
private |
Removes all tasks whether they are completed or not.
Definition at line 1104 of file EvolutionaryAlgorithm.java.
References denoptim.ga.EvolutionaryAlgorithm.futures, denoptim.ga.EvolutionaryAlgorithm.submitted, and denoptim.ga.EvolutionaryAlgorithm.tpe.
Referenced by denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm(), denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), and denoptim.ga.EvolutionaryAlgorithm.stopRun().
|
private |
Removes only tasks that are marked as completed.
Definition at line 1124 of file EvolutionaryAlgorithm.java.
References denoptim.ga.EvolutionaryAlgorithm.futures, and denoptim.ga.EvolutionaryAlgorithm.submitted.
Referenced by denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), and denoptim.ga.EvolutionaryAlgorithm.processInitialPopCandidate().
|
private |
Generates a given number of new candidate items and adds them to the current population.
One run of this method corresponds to a generation.
population | the list of items to be evolved. |
genId | the number identifying this generation in the history of the population. |
DENOPTIMException |
Definition at line 715 of file EvolutionaryAlgorithm.java.
References denoptim.utils.SizeControlledSet.addNewUniqueEntry(), denoptim.ga.EvolutionaryAlgorithm.candidatesToAdd, denoptim.ga.EvolutionaryAlgorithm.candidatesToRemove, denoptim.ga.EvolutionaryAlgorithm.checkForException(), denoptim.ga.EvolutionaryAlgorithm.cleanupAsync(), denoptim.ga.EvolutionaryAlgorithm.cleanupCompleted(), denoptim.programs.denovo.GAParameters.coupleMutationAndCrossover, denoptim.ga.EAUtils.createFolderForGeneration(), denoptim.programs.denovo.GAParameters.dumpMonitor, denoptim.logging.CounterID.DUPLICATEPREFITNESS, denoptim.ga.EvolutionaryAlgorithm.ex, denoptim.logging.CounterID.FAILEDDUPLICATEPREFITNESSDETECTION, denoptim.programs.RunTimeParameters.ParametersType.FIT_PARAMS, denoptim.ga.EvolutionaryAlgorithm.futures, denoptim.programs.RunTimeParameters.getLogger(), denoptim.programs.denovo.GAParameters.getMaxTriesFactor(), denoptim.programs.denovo.GAParameters.getMonitorDumpStep(), denoptim.programs.denovo.GAParameters.getMonitorFile(), denoptim.programs.denovo.GAParameters.getNumberOfChildren(), denoptim.programs.denovo.GAParameters.getNumberOfCPU(), denoptim.programs.RunTimeParameters.getParameters(), denoptim.ga.EAUtils.getPathNameToGenerationFolder(), denoptim.programs.denovo.GAParameters.getPopulationSize(), denoptim.programs.denovo.GAParameters.getReplacementStrategy(), denoptim.graph.Candidate.getUID(), denoptim.programs.denovo.GAParameters.getUIDFileOut(), denoptim.logging.Monitor.increase(), denoptim.ga.EvolutionaryAlgorithm.isAsync, denoptim.ga.EvolutionaryAlgorithm.logger, denoptim.ga.EvolutionaryAlgorithm.makeOffspringA(), denoptim.ga.EvolutionaryAlgorithm.makeOffspringB(), denoptim.ga.EvolutionaryAlgorithm.NL, denoptim.programs.denovo.GAParameters.parentsSurvive, denoptim.logging.Monitor.printSummary(), denoptim.ga.EAUtils.readCandidateFromFile(), denoptim.ga.EvolutionaryAlgorithm.scs, denoptim.graph.Candidate.setGeneration(), denoptim.ga.EvolutionaryAlgorithm.settings, denoptim.ga.EvolutionaryAlgorithm.stopped, denoptim.ga.EvolutionaryAlgorithm.stopRun(), denoptim.ga.EvolutionaryAlgorithm.submitSyncParallelBatch(), denoptim.ga.EvolutionaryAlgorithm.submitted, and denoptim.ga.EvolutionaryAlgorithm.tpe.
Referenced by denoptim.ga.EvolutionaryAlgorithm.run().
|
private |
Fills up the population with candidates build from scratch.
population | the collection of population members. This is where pre-existing and newly generated population members will be collected. |
DENOPTIMException |
Definition at line 403 of file EvolutionaryAlgorithm.java.
References denoptim.ga.EAUtils.buildCandidateByFragmentingMolecule(), denoptim.ga.EAUtils.buildCandidateFromScratch(), denoptim.ga.EvolutionaryAlgorithm.checkForException(), denoptim.ga.EvolutionaryAlgorithm.cleanupAsync(), denoptim.ga.EvolutionaryAlgorithm.cleanupCompleted(), denoptim.programs.RunTimeParameters.containsParameters(), denoptim.programs.denovo.GAParameters.dumpMonitor, denoptim.ga.EvolutionaryAlgorithm.ex, denoptim.programs.RunTimeParameters.ParametersType.FRG_PARAMS, denoptim.programs.denovo.GAParameters.getInitMolsToFragmentFile(), denoptim.io.IteratingAtomContainerReader.getIteratorType(), denoptim.programs.RunTimeParameters.getLogger(), denoptim.programs.denovo.GAParameters.getMaxTriesFactor(), denoptim.programs.denovo.GAParameters.getMonitorDumpStep(), denoptim.programs.denovo.GAParameters.getMonitorFile(), denoptim.programs.RunTimeParameters.getParameters(), denoptim.programs.denovo.GAParameters.getPopulationSize(), denoptim.programs.denovo.GAParameters.getReplacementStrategy(), denoptim.io.IteratingAtomContainerReader.hasNext(), denoptim.ga.EvolutionaryAlgorithm.isAsync, denoptim.ga.EvolutionaryAlgorithm.logger, denoptim.io.IteratingAtomContainerReader.next(), denoptim.ga.EvolutionaryAlgorithm.NL, denoptim.logging.Monitor.printSummary(), denoptim.ga.EvolutionaryAlgorithm.processInitialPopCandidate(), denoptim.ga.EvolutionaryAlgorithm.settings, denoptim.programs.fragmenter.FragmenterParameters.setWorkingIn3D(), denoptim.ga.EvolutionaryAlgorithm.stopped, denoptim.ga.EvolutionaryAlgorithm.stopRun(), denoptim.ga.EvolutionaryAlgorithm.submitSyncParallelBatch(), and denoptim.ga.EvolutionaryAlgorithm.tpe.
Referenced by denoptim.ga.EvolutionaryAlgorithm.run().
|
private |
Generates one offspring according to the method where crossover and mutation are decoupled, i.e., we can do mutation without doing crossover.
Besides crossover and mutation, this offspring generation method includes also construction from scratch, which corresponds to mutation of everything. Effectively, these are the alternative possibilities:
The operation chosen to try to generate the offspring is given by the weights of the respective strategies in the genetic algorithm settings. Since it is possible that there is no pair of population members that allows to do crossover, it is possible that this method has no way to produce an offspring, in which case it returns null
.
DENOPTIMException |
Definition at line 976 of file EvolutionaryAlgorithm.java.
References denoptim.ga.EAUtils.buildCandidateByMutation(), denoptim.ga.EAUtils.buildCandidateFromScratch(), denoptim.ga.EAUtils.buildCandidatesByXOver(), denoptim.ga.EAUtils.chooseGenerationMethod(), and denoptim.ga.EvolutionaryAlgorithm.settings.
Referenced by denoptim.ga.EvolutionaryAlgorithm.evolvePopulation().
|
private |
Generates one offspring according to the method where crossover and mutation are coupled, i.e., we do mutation only on offsprings that come from a successful crossover.
Besides crossover, this offspring generation method includes also construction from scratch, which corresponds to mutation of everything. Effectively, these are the alternative possibilities:
The weights of the respective operation defined in the genetic algorithm settings define which way we try to generate the offspring. Since it is possible that there is no pair of population members that allows to do crossover, it is possible that this method has no way to produce an offspring, in which case it returns null
.
DENOPTIMException |
Definition at line 1037 of file EvolutionaryAlgorithm.java.
References denoptim.ga.EAUtils.buildCandidateByMutation(), denoptim.ga.EAUtils.buildCandidateFromScratch(), denoptim.ga.EAUtils.buildCandidatesByXOver(), denoptim.programs.denovo.GAParameters.getConstructionWeight(), denoptim.programs.denovo.GAParameters.getCrossoverWeight(), denoptim.graph.Candidate.getGraph(), denoptim.programs.denovo.GAParameters.getMutationWeight(), denoptim.programs.RunTimeParameters.getRandomizer(), denoptim.ga.EAUtils.pickNewCandidateGenerationMode(), denoptim.graph.DGraph.setLocalMsg(), and denoptim.ga.EvolutionaryAlgorithm.settings.
Referenced by denoptim.ga.EvolutionaryAlgorithm.evolvePopulation().
|
private |
candidate | the candidate to process. |
population | the population where the candidate may enter. |
mnt | the monitor of events. |
batchOfSyncParallelTasks | used only in synchronous parallelization. |
attemptsToFillBatch | counter of attempts to fill a sync parallel batch of tasks. |
replaceWorstPopMember | true to add evaluated candidates to the population only if they are better than the worst member in the population. |
candidatesOverflow | true to allow submission of more candidates than the size of the population. |
DENOPTIMException |
Definition at line 617 of file EvolutionaryAlgorithm.java.
References denoptim.utils.SizeControlledSet.addNewUniqueEntry(), denoptim.ga.EvolutionaryAlgorithm.cleanupCompleted(), denoptim.logging.CounterID.DUPLICATEPREFITNESS, denoptim.logging.CounterID.FAILEDDUPLICATEPREFITNESSDETECTION, denoptim.programs.RunTimeParameters.ParametersType.FIT_PARAMS, denoptim.ga.EvolutionaryAlgorithm.futures, denoptim.programs.denovo.GAParameters.getMaxTriesFactor(), denoptim.programs.denovo.GAParameters.getNumberOfCPU(), denoptim.programs.RunTimeParameters.getParameters(), denoptim.ga.EAUtils.getPathNameToGenerationFolder(), denoptim.programs.denovo.GAParameters.getPopulationSize(), denoptim.programs.denovo.GAParameters.getUIDFileOut(), denoptim.ga.EvolutionaryAlgorithm.isAsync, denoptim.ga.EvolutionaryAlgorithm.scs, denoptim.ga.EvolutionaryAlgorithm.settings, denoptim.ga.EvolutionaryAlgorithm.submitSyncParallelBatch(), denoptim.ga.EvolutionaryAlgorithm.submitted, and denoptim.ga.EvolutionaryAlgorithm.tpe.
Referenced by denoptim.ga.EvolutionaryAlgorithm.initializePopulation().
void denoptim.ga.EvolutionaryAlgorithm.removeCandidates | ( | Set< String > | candID | ) |
Adds candidate IDs to the list of "to-be-removed" candidates.
Definition at line 1181 of file EvolutionaryAlgorithm.java.
References denoptim.ga.EvolutionaryAlgorithm.candidatesToRemove.
Referenced by denoptim.ga.ExternalCmdsListener.processExternalCmdFile().
void denoptim.ga.EvolutionaryAlgorithm.run | ( | ) | throws DENOPTIMException |
Definition at line 249 of file EvolutionaryAlgorithm.java.
References denoptim.ga.EvolutionaryAlgorithm.cmdListener, denoptim.ga.EAUtils.createFolderForGeneration(), denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.ex, denoptim.programs.RunTimeParameters.ParametersType.FIT_PARAMS, denoptim.programs.denovo.GAParameters.getMinFitnessSD(), denoptim.programs.denovo.GAParameters.getMonitorFile(), denoptim.programs.denovo.GAParameters.getNumberOfConvergenceGenerations(), denoptim.programs.denovo.GAParameters.getNumberOfGenerations(), denoptim.programs.RunTimeParameters.getParameters(), denoptim.ga.EAUtils.getPathNameToGenerationDetailsFile(), denoptim.ga.EAUtils.getPopulationSD(), denoptim.programs.denovo.GAParameters.getPopulationSize(), denoptim.programs.denovo.GAParameters.getReplacementStrategy(), denoptim.exception.ExceptionUtils.getStackTraceAsString(), denoptim.ga.EAUtils.importInitialPopulation(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), denoptim.ga.EvolutionaryAlgorithm.isAsync, denoptim.ga.EvolutionaryAlgorithm.logger, denoptim.ga.EvolutionaryAlgorithm.NL, denoptim.ga.EAUtils.outputFinalResults(), denoptim.ga.EAUtils.outputPopulationDetails(), denoptim.logging.Monitor.printHeader(), denoptim.ga.EvolutionaryAlgorithm.scs, denoptim.ga.ExternalCmdsListener.setReferenceToRunningEAlgorithm(), denoptim.ga.EvolutionaryAlgorithm.settings, denoptim.ga.EvolutionaryAlgorithm.stopped, denoptim.ga.EvolutionaryAlgorithm.tpe, and denoptim.ga.Population.trim().
Referenced by denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm(), and denoptim.programs.denovo.GARunner.runProgram().
void denoptim.ga.EvolutionaryAlgorithm.stopRun | ( | ) |
Definition at line 1089 of file EvolutionaryAlgorithm.java.
References denoptim.ga.EvolutionaryAlgorithm.cleanupAsync(), denoptim.ga.EvolutionaryAlgorithm.isAsync, denoptim.ga.EvolutionaryAlgorithm.stopped, and denoptim.ga.EvolutionaryAlgorithm.tpe.
Referenced by denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.programs.denovo.GARunner.handleThrowable(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), and denoptim.ga.ExternalCmdsListener.processExternalCmdFile().
|
private |
Definition at line 697 of file EvolutionaryAlgorithm.java.
References denoptim.task.TasksBatchManager.executeTasks(), denoptim.programs.denovo.GAParameters.getNumberOfCPU(), denoptim.ga.EvolutionaryAlgorithm.settings, and denoptim.ga.EvolutionaryAlgorithm.tbm.
Referenced by denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), and denoptim.ga.EvolutionaryAlgorithm.processInitialPopCandidate().
|
private |
List of IDs of candidates to be evaluated upon request from the user.
These candidates might or might not end up in the populations depending on their performance. This list is cleared once its content has been
Definition at line 121 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.addCandidates(), and denoptim.ga.EvolutionaryAlgorithm.evolvePopulation().
|
private |
List of IDs of candidates to be removed from the population.
This list is cleared once its content has been processed.
Definition at line 114 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), and denoptim.ga.EvolutionaryAlgorithm.removeCandidates().
|
package |
Service watching for external commands.
This enables interactive EA runs.
Definition at line 98 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm(), and denoptim.ga.EvolutionaryAlgorithm.run().
|
private |
Issue emerging from a thread submitted by asynchronous parallelization scheme.
Definition at line 154 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.checkForException(), denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm(), denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), and denoptim.ga.EvolutionaryAlgorithm.run().
|
private |
Temporary storage of future results produced by fitness evaluation tasks submitted to asynchronous parallelization scheme.
Definition at line 132 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.cleanupAsync(), denoptim.ga.EvolutionaryAlgorithm.cleanupCompleted(), denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm(), denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), and denoptim.ga.EvolutionaryAlgorithm.processInitialPopCandidate().
|
private |
Flag determining the use of asynchronous parallelization scheme.
Definition at line 126 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.checkForException(), denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm(), denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), denoptim.ga.EvolutionaryAlgorithm.processInitialPopCandidate(), denoptim.ga.EvolutionaryAlgorithm.run(), and denoptim.ga.EvolutionaryAlgorithm.stopRun().
|
private |
Program-specific logger.
Definition at line 164 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.checkForException(), denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), and denoptim.ga.EvolutionaryAlgorithm.run().
|
private |
Definition at line 166 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), and denoptim.ga.EvolutionaryAlgorithm.run().
|
private |
Storage of unique identifiers encountered by this instance.
Definition at line 103 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm(), denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.processInitialPopCandidate(), and denoptim.ga.EvolutionaryAlgorithm.run().
|
private |
Parameters controlling the execution of this evolutionary algorithm.
Definition at line 159 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm(), denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), denoptim.ga.EvolutionaryAlgorithm.makeOffspringA(), denoptim.ga.EvolutionaryAlgorithm.makeOffspringB(), denoptim.ga.EvolutionaryAlgorithm.processInitialPopCandidate(), denoptim.ga.EvolutionaryAlgorithm.run(), and denoptim.ga.EvolutionaryAlgorithm.submitSyncParallelBatch().
|
private |
Flag signaling this EA was stopped.
Definition at line 108 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), denoptim.ga.EvolutionaryAlgorithm.run(), and denoptim.ga.EvolutionaryAlgorithm.stopRun().
|
private |
Temporary storage of fitness evaluation tasks just submitted to asynchronous Parallelization scheme.
Definition at line 138 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.checkForException(), denoptim.ga.EvolutionaryAlgorithm.cleanupAsync(), denoptim.ga.EvolutionaryAlgorithm.cleanupCompleted(), denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm(), denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), and denoptim.ga.EvolutionaryAlgorithm.processInitialPopCandidate().
|
private |
Task manager for tasks to be executed as batches.
Definition at line 148 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm(), and denoptim.ga.EvolutionaryAlgorithm.submitSyncParallelBatch().
|
private |
Execution service used in asynchronous parallelization scheme.
Definition at line 143 of file EvolutionaryAlgorithm.java.
Referenced by denoptim.ga.EvolutionaryAlgorithm.cleanupAsync(), denoptim.ga.EvolutionaryAlgorithm.EvolutionaryAlgorithm(), denoptim.ga.EvolutionaryAlgorithm.evolvePopulation(), denoptim.ga.EvolutionaryAlgorithm.initializePopulation(), denoptim.ga.EvolutionaryAlgorithm.processInitialPopCandidate(), denoptim.ga.EvolutionaryAlgorithm.run(), and denoptim.ga.EvolutionaryAlgorithm.stopRun().