Package hyperheuristic
Class GenericHyperHeuristic
java.lang.Object
hyperheuristic.GenericHyperHeuristic
- All Implemented Interfaces:
HyperHeuristicIntrf
- Direct Known Subclasses:
ExampleHyperHeuristic1,ExampleHyperHeuristic2
public abstract class GenericHyperHeuristic extends java.lang.Object implements HyperHeuristicIntrf
This class is the base class for all hyper-heuristics that use dynamic sets.
-
Field Summary
Fields Modifier and Type Field Description protected DynHeurSetdynSetA dynamic set.protected DynHeurSetlsDynSetA dynamic set for managing local search heuristics separately.protected DynHeurSetpertDynSetA dynamic set for managing perturbative heuristics separately.protected ProblemproblemThe problem to be solved by this hyper-heuristic.protected java.util.RandomrngRandom number generator. -
Constructor Summary
Constructors Constructor Description GenericHyperHeuristic(long seed) -
Method Summary
Modifier and Type Method Description doublegetBestSolutionValue()DynHeurSetgetDySet()longgetElapsedTime()DynHeurSetgetLsDynSet()DynHeurSetgetPertDynSet()longgetTimeLimit()booleanhasTimeExpired()voidloadProblem(Problem problem)voidrun()voidsetDynSet(DynHeurSet dynSet)voidsetLsDynSet(DynHeurSet lsDynSet)voidsetPertDynSet(DynHeurSet pertDynSet)voidsetTimeLimit(long time)protected abstract voidsolve()
-
Field Details
-
rng
protected final java.util.Random rngRandom number generator. -
problem
The problem to be solved by this hyper-heuristic. -
dynSet
A dynamic set. -
pertDynSet
A dynamic set for managing perturbative heuristics separately. -
lsDynSet
A dynamic set for managing local search heuristics separately.
-
-
Constructor Details
-
GenericHyperHeuristic
public GenericHyperHeuristic(long seed)
-
-
Method Details
-
getBestSolutionValue
public double getBestSolutionValue()- Specified by:
getBestSolutionValuein interfaceHyperHeuristicIntrf
-
getElapsedTime
public long getElapsedTime()- Specified by:
getElapsedTimein interfaceHyperHeuristicIntrf
-
getTimeLimit
public long getTimeLimit()- Specified by:
getTimeLimitin interfaceHyperHeuristicIntrf
-
hasTimeExpired
public boolean hasTimeExpired() -
loadProblem
- Specified by:
loadProblemin interfaceHyperHeuristicIntrf
-
run
public void run()- Specified by:
runin interfaceHyperHeuristicIntrf
-
getDySet
- Specified by:
getDySetin interfaceHyperHeuristicIntrf
-
getPertDynSet
- Specified by:
getPertDynSetin interfaceHyperHeuristicIntrf
-
getLsDynSet
- Specified by:
getLsDynSetin interfaceHyperHeuristicIntrf
-
setDynSet
- Specified by:
setDynSetin interfaceHyperHeuristicIntrf
-
setPertDynSet
- Specified by:
setPertDynSetin interfaceHyperHeuristicIntrf
-
setLsDynSet
- Specified by:
setLsDynSetin interfaceHyperHeuristicIntrf
-
setTimeLimit
public void setTimeLimit(long time)- Specified by:
setTimeLimitin interfaceHyperHeuristicIntrf
-
solve
protected abstract void solve()
-