Package com.decs.application.engines
Class EvolutionEngine
java.lang.Object
java.lang.Thread
com.decs.application.engines.EvolutionEngine
- All Implemented Interfaces:
Runnable
Evolution Engine Class
This class represents the system's evolution engine. The engine manages all evolutionary operations and establishes a bridge between DECS and ECJ engine. Since its operations are resource-intensive, it is processed concurrently.
- Version:
- 1.0
- Author:
- Bruno Guiomar
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String[]private ec.EvolutionStateprivate Jobprivate JobDashboardViewprivate ec.util.ParameterDatabaseprivate Fileprivate ec.Statisticsprivate SessionManagerprivate SlaveManagerprivate Timerprivate com.vaadin.flow.component.UIFields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
ConstructorsConstructorDescriptionEvolutionEngine(File paramsFile, Job job, com.vaadin.flow.component.UI ui, JobDashboardView jobDashboard, SlaveManager slaveManager, Timer timer, SessionManager sessionManager, String[] args) Evolution engine class constructor -
Method Summary
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, stop, suspend, threadId, toString, yield
-
Field Details
-
paramDatabase
private ec.util.ParameterDatabase paramDatabase -
paramsFile
-
job
-
jobDashboard
-
ui
private com.vaadin.flow.component.UI ui -
results
private ec.Statistics results -
evaluatedState
private ec.EvolutionState evaluatedState -
slaveManager
-
timer
-
sessionManager
-
args
-
-
Constructor Details
-
EvolutionEngine
public EvolutionEngine(File paramsFile, Job job, com.vaadin.flow.component.UI ui, JobDashboardView jobDashboard, SlaveManager slaveManager, Timer timer, SessionManager sessionManager, String[] args) Evolution engine class constructor- Parameters:
paramsFile- Main parameters filejob- Job object to be processedui- Main Vaadin UI objectjobDashboard- Job dashboard view objectslaveManager- Slave manager objecttimer- Timer objectsessionManager- Session manager objectargs- Command line arguments
-
-
Method Details
-
run
public void run()Engine thread starting pointIt is responsible for the initial configuration and inference initialization.
-
startInference
public void startInference()Inference initializationThis method processes all internal evolutionary operations required for a solution to be found and it interacts directly with ECJ's API.
-
cleanup
private void cleanup(ec.EvolutionState evaluatedState) Cleans and resets the evolutionary engine- Parameters:
evaluatedState- Object that represents the evolution state
-