Class EvolutionEngine

java.lang.Object
java.lang.Thread
com.decs.application.engines.EvolutionEngine
All Implemented Interfaces:
Runnable

public class EvolutionEngine extends Thread
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
  • Field Details

    • paramDatabase

      private ec.util.ParameterDatabase paramDatabase
    • paramsFile

      private File paramsFile
    • job

      private Job job
    • jobDashboard

      private JobDashboardView jobDashboard
    • ui

      private com.vaadin.flow.component.UI ui
    • results

      private ec.Statistics results
    • evaluatedState

      private ec.EvolutionState evaluatedState
    • slaveManager

      private SlaveManager slaveManager
    • timer

      private Timer timer
    • sessionManager

      private SessionManager sessionManager
    • args

      private String[] 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 file
      job - Job object to be processed
      ui - Main Vaadin UI object
      jobDashboard - Job dashboard view object
      slaveManager - Slave manager object
      timer - Timer object
      sessionManager - Session manager object
      args - Command line arguments
  • Method Details

    • run

      public void run()
      Engine thread starting point

      It is responsible for the initial configuration and inference initialization.

      Specified by:
      run in interface Runnable
      Overrides:
      run in class Thread
    • startInference

      public void startInference()
      Inference initialization

      This 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