Class PhaseGreedyUpdate

java.lang.Object
dynheurset.update.Update
dynheurset.update.PhaseGreedyUpdate
Direct Known Subclasses:
PatientPhaseGreedyUpdate, PhaseFairGreedyUpdate

public class PhaseGreedyUpdate
extends Update
This class implements a phase-based greedy update strategy.

The active set is updated every phaseLen iterations. The best top are included in the active set where top is the number of heuristics to include in the active set.

  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected int phaseLen
    The phase length which is the maximum number of iterations that can elapse before updating the active set
    protected int top
    The number of heuristics to select greedily
    protected Utility util
    A utility object containing several helper methods

    Fields inherited from class dynheurset.update.Update

    activeList, heurList, measure, numRemove, numReset, numUpdates, remove, reset, runStat
  • Constructor Summary

    Constructors 
    Constructor Description
    PhaseGreedyUpdate​(int phaseLen, int top)  
  • Method Summary

    Modifier and Type Method Description
    boolean canUpdate()
    Returns true if the active set is to be updated and false otherwise.
    protected void performUpdate()
    Determines which heuristics to include in the active set.

    Methods inherited from class dynheurset.update.Update

    getActiveList, setHeurList, setMeasure, setRemove, setReset, setRunStat, updateActiveList

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • phaseLen

      protected int phaseLen
      The phase length which is the maximum number of iterations that can elapse before updating the active set
    • top

      protected int top
      The number of heuristics to select greedily
    • util

      protected Utility util
      A utility object containing several helper methods
  • Constructor Details

  • Method Details

    • canUpdate

      public boolean canUpdate()
      Description copied from class: Update
      Returns true if the active set is to be updated and false otherwise.

      In this method, you should use the RunStat field to access the run information that you may need to decides whether to update the active set.

      Specified by:
      canUpdate in class Update
      Returns:
      true if the active set is to be updated and false otherwise.
    • performUpdate

      protected void performUpdate()
      Description copied from class: Update
      Determines which heuristics to include in the active set.

      This method should contain your logic for updating the active set. You can access the runStat and measure fields in your implementation to get the search-status information and measure the performance of heuristics. regarding the search

      Specified by:
      performUpdate in class Update