Package ec.steadystate

# Interface SteadyStateStatisticsForm

All Known Implementing Classes:
  `HypervolumeStatistics`, `MultiObjectiveStatistics`, `SimpleStatistics`

public interface SteadyStateStatisticsForm
This interface defines the hooks for SteadyStateEvolutionState objects to update themselves on. Note that the the only methods in common with the standard statistics are initialization and final. This is an optional interface: SteadyStateEvolutionState will complain, but will permit Statistics objects that don't adhere to it, though they will only have their initialization and final statistics methods called!

See SteadyStateEvolutionState for how regular Statistics objects' hook methods are called in steady state evolution.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `enteringInitialPopulationStatistics(SteadyStateEvolutionState state)`
  Called when we created an empty initial Population.
  `void`
  `enteringSteadyStateStatistics(int subpop, SteadyStateEvolutionState state)`
  Called when we have filled the initial population and are entering the steady state.
  `void`
  `finalStatistics(EvolutionState state, int result)`
  Called immediately after the run has completed.
  `void`
  `generationBoundaryStatistics(EvolutionState state)`
  Called when the generation count increments
  `void`
  `individualsBredStatistics(SteadyStateEvolutionState state, Individual[] individuals)`
  Called each time new individuals are bred during the steady-state process.
  `void`
  `individualsEvaluatedStatistics(SteadyStateEvolutionState state, Individual[] newIndividuals, Individual[] oldIndividuals, int[] subpopulations, int[] indices)`
  Called each time new individuals are evaluated during the steady-state process, NOT including the initial generation's individuals.
  `void`
  `postCheckpointStatistics(EvolutionState state)`
  Called immediately after checkpointing occurs.
  `void`
  `postPostBreedingExchangeStatistics(EvolutionState state)`
  Called immediately after the post-breeding exchange occurs.
  `void`
  `postPreBreedingExchangeStatistics(EvolutionState state)`
  Called immediately after the pre-breeding exchange occurs.
  `void`
  `preCheckpointStatistics(EvolutionState state)`
  Called immediately before checkpointing occurs.
  `void`
  `prePostBreedingExchangeStatistics(EvolutionState state)`
  Called immediately before the post-breeding exchange occurs.
  `void`
  `prePreBreedingExchangeStatistics(EvolutionState state)`
  Called immediately before the pre-breeding exchange occurs.

- ## Method Details

  - ### enteringInitialPopulationStatistics

    void enteringInitialPopulationStatistics(SteadyStateEvolutionState state)
    Called when we created an empty initial Population.

  - ### enteringSteadyStateStatistics

    void enteringSteadyStateStatistics(int subpop, SteadyStateEvolutionState state)
    Called when we have filled the initial population and are entering the steady state.

  - ### individualsBredStatistics

    void individualsBredStatistics(SteadyStateEvolutionState state, Individual[] individuals)
    Called each time new individuals are bred during the steady-state process.

  - ### individualsEvaluatedStatistics

    void individualsEvaluatedStatistics(SteadyStateEvolutionState state, Individual[] newIndividuals, Individual[] oldIndividuals, int[] subpopulations, int[] indices)
    Called each time new individuals are evaluated during the steady-state process, NOT including the initial generation's individuals.

  - ### generationBoundaryStatistics

    void generationBoundaryStatistics(EvolutionState state)
    Called when the generation count increments

  - ### preCheckpointStatistics

    void preCheckpointStatistics(EvolutionState state)
    Called immediately before checkpointing occurs.

  - ### postCheckpointStatistics

    void postCheckpointStatistics(EvolutionState state)
    Called immediately after checkpointing occurs.

  - ### prePreBreedingExchangeStatistics

    void prePreBreedingExchangeStatistics(EvolutionState state)
    Called immediately before the pre-breeding exchange occurs.

  - ### postPreBreedingExchangeStatistics

    void postPreBreedingExchangeStatistics(EvolutionState state)
    Called immediately after the pre-breeding exchange occurs.

  - ### prePostBreedingExchangeStatistics

    void prePostBreedingExchangeStatistics(EvolutionState state)
    Called immediately before the post-breeding exchange occurs.

  - ### postPostBreedingExchangeStatistics

    void postPostBreedingExchangeStatistics(EvolutionState state)
    Called immediately after the post-breeding exchange occurs.

  - ### finalStatistics

    void finalStatistics(EvolutionState state, int result)
    Called immediately after the run has completed. result is either `state.R_FAILURE`, indicating that an ideal individual was not found, or `state.R_SUCCESS`, indicating that an ideal individual was found.