|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--mil.af.afit.uvr.HSolver | +--mil.af.afit.uvr.solvers.tabusearch4uvr.TS4UVRSolver
This solver takes the list of starting solutions from the tour building heuristic and performs a tabu search on each one, starting with the best and ending with either the last or after a certain number of starting solutions have yielded no better answers.
A more detailed discussion of the tabu search used here can be found in Robert Harder's thesis, A Java Universal Vehicle Router in Support of Routing Unmanned Aerial Vehicles, from the Air Force Institute of Technology
This tabu search relies on the Java Tabu Search Package built by Robert Harder.
HSolver
Field Summary | |
static java.lang.String |
LONG_DESCR
Long description of the solver |
static java.lang.String |
NAME
Name of the solver |
static java.lang.String |
SHORT_DESCR
Short description of the solver |
Constructor Summary | |
TS4UVRSolver()
|
Method Summary | |
static void |
err(java.lang.Exception e)
|
HSolution |
getBestHSolution()
Return the best solution found so far. |
java.lang.String |
getCredits()
Credits for the solver (authors, etc). |
protected HEvaluator |
getHEvaluator()
|
java.lang.String |
getLongDescription()
Long description of the solver. |
java.lang.String |
getName()
Name of the solver |
java.lang.String |
getShortDescription()
Short description of the solver. |
java.lang.String |
getVersion()
Version of the solver |
void |
initializeSolver(HSolution[] soln,
HEvaluator evaluator,
double requestedSolutionEffort,
int numberOfThreads)
Called when the HEngine has started solving. |
boolean |
isDebugging()
|
static void |
out(java.lang.Object obj)
|
boolean |
requestsStartingSolutions()
If true, the HEngine will generate a list of good
starting solutions based on a heuristic developed by Gary Kinney
for the Air Force Institute of Technology
(www.afit.af.mil). |
void |
setDebugging(boolean state)
|
void |
startSolving()
Called when the HEngine is ready for the solver to start. |
void |
stopSolving()
Stop the solver as soon as possible. |
Methods inherited from class mil.af.afit.uvr.HSolver |
addHSolverListener, fireNewBestSolutionEvent, fireSolverFinishedEvent, fireSolverPercentDoneEvent, fireSolverStartedEvent, getPercentDone, removeHSolverListener, setPercentDone |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String NAME
public static final java.lang.String LONG_DESCR
public static final java.lang.String SHORT_DESCR
Constructor Detail |
public TS4UVRSolver()
Method Detail |
protected final HEvaluator getHEvaluator()
public final boolean isDebugging()
public final void setDebugging(boolean state)
public java.lang.String getName()
HSolver
getName
in class HSolver
mil.af.afit.uvr.HSolver
public java.lang.String getShortDescription()
HSolver
getShortDescription
in class HSolver
mil.af.afit.uvr.HSolver
public java.lang.String getLongDescription()
HSolver
getLongDescription
in class HSolver
mil.af.afit.uvr.HSolver
public java.lang.String getCredits()
HSolver
getCredits
in class HSolver
mil.af.afit.uvr.HSolver
public java.lang.String getVersion()
HSolver
getVersion
in class HSolver
mil.af.afit.uvr.HSolver
public boolean requestsStartingSolutions()
HSolver
HEngine
will generate a list of good
starting solutions based on a heuristic developed by Gary Kinney
for the Air Force Institute of Technology
(www.afit.af.mil).requestsStartingSolutions
in class HSolver
mil.af.afit.uvr.HSolver
HEngine
public HSolution getBestHSolution()
HSolver
getBestHSolution
in class HSolver
mil.af.afit.uvr.HSolver
HSolution
public void initializeSolver(HSolution[] soln, HEvaluator evaluator, double requestedSolutionEffort, int numberOfThreads)
HSolver
HEngine
has started solving. The
solutions array will either be the starting solutions,
if requested, or a single solution with all orders in the dummy tour.initializeSolver
in class HSolver
mil.af.afit.uvr.HSolver
solutions
- starting solution(s)evaluator
- evaluator to use with the solutionsrequestedSolutionEffort
- effort requested by the user in the range of zero to onenumberOfThreads
- suggested number of threads to useHSolution
,
HEvaluator
public void startSolving()
HSolver
HEngine
is ready for the solver to start.
It is not necessary to return immediate control because the method is
called from within a thread dedicated to calling this method.startSolving
in class HSolver
public final void stopSolving()
HSolver
fireSolverFinishedEvent
.stopSolving
in class HSolver
mil.af.afit.uvr.HSolver
HSolverEvent
public static final void out(java.lang.Object obj)
public static final void err(java.lang.Exception e)
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |