Class PhaseQualityIndexUpdate
- Direct Known Subclasses:
PatientPhaseQualityIndexUpdate
public class PhaseQualityIndexUpdate extends Update
The active set is updated every phaseLen iterations and
the performance value of each heuristic is converted to indexes (ranks).
Every heuristic that has its ranks below the average value multiplied by
aspiration factor is not included in the active set.
-
Field Summary
Fields Modifier and Type Field Description protected doubleaspirationAspiration factor to permit the heuristics that perform slightly below the average to be included in the active setprotected intphaseLenThe phase length which is the maximum number of iterations that can elapse before updating the active setprotected UtilityutilA utility object containing several helper methodsFields inherited from class dynheurset.update.Update
activeList, heurList, measure, numRemove, numReset, numUpdates, remove, reset, runStat -
Constructor Summary
Constructors Constructor Description PhaseQualityIndexUpdate(int phaseLen, double aspiration) -
Method Summary
Modifier and Type Method Description booleancanUpdate()Returnstrueif the active set is to be updated andfalseotherwise.protected voidperformUpdate()Determines which heuristics to include in the active set.protected double[]rank(java.util.List<java.lang.Double> heurValues)Converts the heuristic performance into ranks.Methods inherited from class dynheurset.update.Update
getActiveList, setHeurList, setMeasure, setRemove, setReset, setRunStat, updateActiveList
-
Field Details
-
phaseLen
protected final int phaseLenThe phase length which is the maximum number of iterations that can elapse before updating the active set -
aspiration
protected double aspirationAspiration factor to permit the heuristics that perform slightly below the average to be included in the active set -
util
A utility object containing several helper methods
-
-
Constructor Details
-
PhaseQualityIndexUpdate
public PhaseQualityIndexUpdate(int phaseLen, double aspiration)
-
-
Method Details
-
canUpdate
public boolean canUpdate()Description copied from class:UpdateReturnstrueif the active set is to be updated andfalseotherwise.In this method, you should use the
RunStatfield to access the run information that you may need to decides whether to update the active set. -
performUpdate
protected void performUpdate()Description copied from class:UpdateDetermines which heuristics to include in the active set.This method should contain your logic for updating the active set. You can access the
runStatandmeasurefields in your implementation to get the search-status information and measure the performance of heuristics. regarding the search- Specified by:
performUpdatein classUpdate
-
rank
protected double[] rank(java.util.List<java.lang.Double> heurValues)Converts the heuristic performance into ranks.The best heuristic will have the highest and the worst heuristic will have a rank of 1.
This method is typically needed by quality index update strategies.
- Parameters:
heurValues- the heuristic values- Returns:
- the ranks of heuristics
-