Opened 3 years ago

Closed 2 years ago

#2350 closed feature request (rejected)

Implement Steady-State ALPS

Reported by: pfleck Owned by: pfleck
Priority: medium Milestone:
Component: Algorithms Version: branch
Keywords: Cc:

Description

Implement a Steady-State version of the Age-Layered Population Structure [1].

[1] http://link.springer.com/chapter/10.1007/978-1-4419-1626-6_6

Change History (25)

comment:1 Changed 3 years ago by pfleck

  • Status changed from new to accepted

comment:2 Changed 3 years ago by pfleck

r12115 Added ALPS.SteadyState Plugin.

comment:3 Changed 3 years ago by pfleck

r12119

  • Created base class Alps which manages ALPS specific parameters, events and parameterization.
  • Created empty AlpsGeneticAlgorithm.
  • Removed code from AlpsGeneticAlgorithm because the base class handles this now.
  • Created AgingSchemeCalculator to separate calculating of the age-limits from the algorithms.
  • ShiftToRightMigrator does no longer implement IMigrator to avoid conflicts with IslandGA.

comment:4 Changed 3 years ago by pfleck

r12120

  • Implemented AlpsSsGeneticAlgorithm.
  • Created empty AlpsSsGeneticAlgorithmMainLoop.

comment:5 Changed 3 years ago by pfleck

r12136

  • Worked on AlpsSsGeneticAlgorithmMainLoop.
  • Added SteadyStateMatingPoolCreator, RandomLayerProcessor and RandomIntAssigner.

comment:6 Changed 3 years ago by pfleck

r12138

  • Added the AlpsSsGeneticAlgorithmMainOperator.
  • Changed some minor things.

comment:7 Changed 3 years ago by pfleck

r12142

  • Changed PopulationSize parameter to IntValue.
  • Implemented TryMoveUp procedure in AlpsSsMover.

comment:8 Changed 3 years ago by pfleck

r12150 Fixed Bugs in Steady-State ALPS OperatorGraph and Mover.

comment:9 Changed 3 years ago by pfleck

r12153 Started implementing a different scope structure for steady-state alps.

comment:10 Changed 3 years ago by pfleck

r12157

  • Added a NamedSubScopeProcessor to process an name Scope (created by the NamedSubScopesCreator).
  • Changed the Steady-State ALPS to use the new Processor.

comment:11 Changed 3 years ago by pfleck

r12159

  • Changed the SteadyStateMatingPoolCreator to put the mating pool in the working scope.
  • Added the ScopeIndexAssigner for setting the correct layer number.
  • Adapted the AlpsSsGeneticAlgorithmMainLoop.

comment:12 Changed 3 years ago by pfleck

r12162 Fixed SteadyState ALPS Mover and MainLoop.

comment:13 Changed 3 years ago by pfleck

r12171 Changed SteadyStateMatingPoolCreator to only select individuals young enough for the current layer.

comment:14 Changed 3 years ago by pfleck

r12174 The AlpsSsMover now prioritize moved individuals based on their age and quality.

comment:15 Changed 3 years ago by pfleck

r12192 Improved performance of steady state ALPS.

  • Introduced a batch cycle in the main loop to avoid too frequent updates of some variables and analyzers.
  • No cloning of individuals when creating the mating pool.

comment:16 Changed 3 years ago by pfleck

r12220

  • Implemented elitism by sorting the layer and restricting the random target index.
  • Renamed Layers in LayersScope.

comment:17 Changed 3 years ago by pfleck

r12223 Fixed calculation of init phase duration.

comment:18 Changed 3 years ago by pfleck

r12224 Fixed a bug when selecting an individual for replacement during move-up recursion.

comment:19 Changed 3 years ago by pfleck

r12259

  • Individuals keep track of their last move.
  • When trying to replace an individual, individuals with their last move long ago are prioritized to be replaced.
  • Elites can now be replaced too if the quality is bad enough.

comment:20 Changed 3 years ago by pfleck

r12270 Renamed EvaluatedSolutions and ResultEvaluatedSolutions to LocalEvaluatedSolutions and EvaluatedSolutions for consistency with other algorithms.

comment:21 Changed 2 years ago by pfleck

r12534 Added Termination Criteria to Steady-State ALPS.

comment:22 Changed 2 years ago by pfleck

r12549 Moved updating of terminators to concrete ALPS implementation instead of abstract base class.

comment:23 Changed 2 years ago by pfleck

r12571

  • Fixed Plugin dependencies.
  • Added missing Hook.
  • Sealed some classes and fixed some access modifier.

comment:24 Changed 2 years ago by pfleck

r12990 Removed SS-ALPS plugin.

comment:25 Changed 2 years ago by pfleck

  • Milestone HeuristicLab 3.3.x Backlog deleted
  • Resolution set to rejected
  • Status changed from accepted to closed

Closed ticket since Steady-State ALPS has proven to be ineffective due to high overhead of steady-state mechanisms. Besides, the SS-version does not perform significantly better than standard ALPS.

Note: See TracTickets for help on using tickets.