IntervalPlanner Class Reference

#include <intervalPlanner.h>

List of all members.

Public Member Functions

void costs_changed ()
void costs_changed (StateChangeQuery const &stateChange)
int force_planning_from_scratch ()
 Makes the planner start from scratch. This should be called before each replan.
virtual int get_n_expands () const
 Returns the number of expansions from the last replan.
virtual double get_solution_eps () const
 Returns the epsilon sub-optimality bound of the solution from the last replan.
void getSearchStats (bool *solutionFound, vector< int > *numExpands, vector< int > *solutionCost, vector< double > *searchTime, vector< double > *searchEps)
 Returns all the search statistics from the last replan.
 IntervalPlanner (DiscreteSpaceTimeIntervalInformation *environment)
 Constructor.
void print_searchpath (FILE *fOut)
int replan (double allocated_time_sec, vector< int > *solution_stateIDs_V, int *solcost)
 Runs the planner.
int replan (double allocated_time_secs, vector< int > *solution_stateIDs_V)
 Runs the planner.
virtual void set_decrease_eps_step (double dec_eps)
 Sets the decrement step size for epsilon.
void set_finalsolution_eps (double finalsolution_eps)
 Sets the final epsilon that the planner will work down to.
int set_goal (int goal_stateID)
 Sets the goal state.
virtual void set_initialsolution_eps (double initialsolution_eps)
 Sets the initial epsilon that the planner starts at.
int set_search_mode (bool bSearchUntilFirstSolution)
 This determines whether the planner improves the solution until time expires, or if it returns the first solution it finds.
int set_start (int start_stateID)
 Sets the start state.
 ~IntervalPlanner ()
 Destructor.

Private Member Functions

void BuildNewOPENList (IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
int ComputeHeuristic (CMDPSTATE *MDPstate, IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
int CreateSearchStateSpace (IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
CMDPSTATE * CreateState (int stateID, IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
void DeleteSearchStateData (IntervalPlannerState *state)
void DeleteSearchStateSpace (IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
int GetGVal (int StateID, IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
int getHeurValue (IntervalPlannerSearchStateSpace_t *pSearchStateSpace, int StateID)
vector< int > GetSearchPath (IntervalPlannerSearchStateSpace_t *pSearchStateSpace, int &solcost)
CMDPSTATE * GetState (int stateID, IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
int ImprovePath (IntervalPlannerSearchStateSpace_t *pSearchStateSpace, double MaxNumofSecs)
void Initialize_searchinfo (CMDPSTATE *state, IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
void InitializeSearchStateInfo (IntervalPlannerState *state, IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
int InitializeSearchStateSpace (IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
void PrintSearchPath (IntervalPlannerSearchStateSpace_t *pSearchStateSpace, FILE *fOut)
void PrintSearchState (IntervalPlannerState *state, FILE *fOut)
int ReconstructPath (IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
void Reevaluatefvals (IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
void ReInitializeSearchStateInfo (IntervalPlannerState *state, IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
void ReInitializeSearchStateSpace (IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
int ResetSearchStateSpace (IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
bool Search (IntervalPlannerSearchStateSpace_t *pSearchStateSpace, vector< int > &pathIds, int &PathCost, bool bFirstSolution, bool bOptimalSolution, double MaxNumofSecs)
int SetSearchGoalState (int SearchGoalStateID, IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
int SetSearchStartState (int SearchStartStateID, IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
void UpdatePreds (IntervalPlannerState *state, IntervalPlannerSearchStateSpace_t *pSearchStateSpace)
void UpdateSuccs (IntervalPlannerState *state, IntervalPlannerSearchStateSpace_t *pSearchStateSpace)

Private Attributes

bool bforwardsearch
bool bsearchuntilfirstsolution
double decrease_eps
DiscreteSpaceTimeIntervalInformationenvironment_
vector< double > epsV
vector< unsigned int > expandsV
FILE * fDeb
int finalsolcost
double finitial_eps
double IntervalPlanner_FINAL_EPS
int MaxMemoryCounter
MDPConfig * MDPCfg_
int numOptStates
int numSubOptStates
IntervalPlannerSearchStateSpace_tpSearchStateSpace_
unsigned int searchexpands
double searchtime
vector< double > searchTimeV
vector< unsigned int > solcostV
bool solfound
clock_t TimeStarted
int totalNumOptStates
int totalNumSubOptStates

Detailed Description

Definition at line 110 of file intervalPlanner.h.


Constructor & Destructor Documentation

IntervalPlanner::IntervalPlanner ( DiscreteSpaceTimeIntervalInformation environment  ) 

Constructor.

Parameters:
environment A pointer to the environment (already initialized)

Definition at line 38 of file intervalPlanner.cpp.

IntervalPlanner::~IntervalPlanner (  ) 

Destructor.

Definition at line 72 of file intervalPlanner.cpp.


Member Function Documentation

void IntervalPlanner::BuildNewOPENList ( IntervalPlannerSearchStateSpace_t pSearchStateSpace  )  [private]

Definition at line 464 of file intervalPlanner.cpp.

int IntervalPlanner::ComputeHeuristic ( CMDPSTATE *  MDPstate,
IntervalPlannerSearchStateSpace_t pSearchStateSpace 
) [private]

Definition at line 140 of file intervalPlanner.cpp.

void IntervalPlanner::costs_changed (  ) 

Definition at line 1097 of file intervalPlanner.cpp.

void IntervalPlanner::costs_changed ( StateChangeQuery const &  stateChange  ) 

Definition at line 1093 of file intervalPlanner.cpp.

int IntervalPlanner::CreateSearchStateSpace ( IntervalPlannerSearchStateSpace_t pSearchStateSpace  )  [private]

Definition at line 516 of file intervalPlanner.cpp.

CMDPSTATE * IntervalPlanner::CreateState ( int  stateID,
IntervalPlannerSearchStateSpace_t pSearchStateSpace 
) [private]

Definition at line 90 of file intervalPlanner.cpp.

void IntervalPlanner::DeleteSearchStateData ( IntervalPlannerState state  )  [private]

Definition at line 227 of file intervalPlanner.cpp.

void IntervalPlanner::DeleteSearchStateSpace ( IntervalPlannerSearchStateSpace_t pSearchStateSpace  )  [private]

Definition at line 535 of file intervalPlanner.cpp.

int IntervalPlanner::force_planning_from_scratch (  ) 

Makes the planner start from scratch. This should be called before each replan.

Definition at line 1103 of file intervalPlanner.cpp.

virtual int IntervalPlanner::get_n_expands (  )  const [inline, virtual]

Returns the number of expansions from the last replan.

Definition at line 175 of file intervalPlanner.h.

virtual double IntervalPlanner::get_solution_eps (  )  const [inline, virtual]

Returns the epsilon sub-optimality bound of the solution from the last replan.

Definition at line 170 of file intervalPlanner.h.

int IntervalPlanner::GetGVal ( int  StateID,
IntervalPlannerSearchStateSpace_t pSearchStateSpace 
) [private]

Definition at line 336 of file intervalPlanner.cpp.

int IntervalPlanner::getHeurValue ( IntervalPlannerSearchStateSpace_t pSearchStateSpace,
int  StateID 
) [private]

Definition at line 802 of file intervalPlanner.cpp.

vector< int > IntervalPlanner::GetSearchPath ( IntervalPlannerSearchStateSpace_t pSearchStateSpace,
int &  solcost 
) [private]

Definition at line 809 of file intervalPlanner.cpp.

void IntervalPlanner::getSearchStats ( bool *  solutionFound,
vector< int > *  numExpands,
vector< int > *  solutionCost,
vector< double > *  searchTime,
vector< double > *  searchEps 
)

Returns all the search statistics from the last replan.

Parameters:
solutionFound True if a solution was found
numExpands The number of expansions for each epsilon
solutionCost The solution cost for each epsilon
searchTime The planning time for each epsilon
searchEps The epsilons

Definition at line 1125 of file intervalPlanner.cpp.

CMDPSTATE * IntervalPlanner::GetState ( int  stateID,
IntervalPlannerSearchStateSpace_t pSearchStateSpace 
) [private]

Definition at line 121 of file intervalPlanner.cpp.

int IntervalPlanner::ImprovePath ( IntervalPlannerSearchStateSpace_t pSearchStateSpace,
double  MaxNumofSecs 
) [private]

Definition at line 343 of file intervalPlanner.cpp.

void IntervalPlanner::Initialize_searchinfo ( CMDPSTATE *  state,
IntervalPlannerSearchStateSpace_t pSearchStateSpace 
) [private]

Definition at line 82 of file intervalPlanner.cpp.

void IntervalPlanner::InitializeSearchStateInfo ( IntervalPlannerState state,
IntervalPlannerSearchStateSpace_t pSearchStateSpace 
) [private]

Definition at line 167 of file intervalPlanner.cpp.

int IntervalPlanner::InitializeSearchStateSpace ( IntervalPlannerSearchStateSpace_t pSearchStateSpace  )  [private]

Definition at line 614 of file intervalPlanner.cpp.

void IntervalPlanner::print_searchpath ( FILE *  fOut  ) 

Definition at line 1117 of file intervalPlanner.cpp.

void IntervalPlanner::PrintSearchPath ( IntervalPlannerSearchStateSpace_t pSearchStateSpace,
FILE *  fOut 
) [private]

Definition at line 732 of file intervalPlanner.cpp.

void IntervalPlanner::PrintSearchState ( IntervalPlannerState state,
FILE *  fOut 
) [private]

Definition at line 793 of file intervalPlanner.cpp.

int IntervalPlanner::ReconstructPath ( IntervalPlannerSearchStateSpace_t pSearchStateSpace  )  [private]

Definition at line 679 of file intervalPlanner.cpp.

void IntervalPlanner::Reevaluatefvals ( IntervalPlannerSearchStateSpace_t pSearchStateSpace  )  [private]

Definition at line 493 of file intervalPlanner.cpp.

void IntervalPlanner::ReInitializeSearchStateInfo ( IntervalPlannerState state,
IntervalPlannerSearchStateSpace_t pSearchStateSpace 
) [private]

Definition at line 196 of file intervalPlanner.cpp.

void IntervalPlanner::ReInitializeSearchStateSpace ( IntervalPlannerSearchStateSpace_t pSearchStateSpace  )  [private]

Definition at line 573 of file intervalPlanner.cpp.

int IntervalPlanner::replan ( double  allocated_time_sec,
vector< int > *  solution_stateIDs_V,
int *  solcost 
)

Runs the planner.

Parameters:
allocated_time_secs The amount of time the planner can run (and try to improve the solution)
solution_stateIDs_V The path of state IDs from the start to goal (the environment's ConvertStateIDPathintoXYThetaPath can change a state ID path into a path of points)
solcost The cost of the solution
Returns:
1 if a plan is found, 0 otherwise

Definition at line 1027 of file intervalPlanner.cpp.

int IntervalPlanner::replan ( double  allocated_time_secs,
vector< int > *  solution_stateIDs_V 
)

Runs the planner.

Parameters:
allocated_time_secs The amount of time the planner can run (and try to improve the solution)
solution_stateIDs_V The path of state IDs from the start to goal (the environment's ConvertStateIDPathintoXYThetaPath can change a state ID path into a path of points)
Returns:
1 if a plan is found, 0 otherwise

Definition at line 1021 of file intervalPlanner.cpp.

int IntervalPlanner::ResetSearchStateSpace ( IntervalPlannerSearchStateSpace_t pSearchStateSpace  )  [private]

Definition at line 565 of file intervalPlanner.cpp.

bool IntervalPlanner::Search ( IntervalPlannerSearchStateSpace_t pSearchStateSpace,
vector< int > &  pathIds,
int &  PathCost,
bool  bFirstSolution,
bool  bOptimalSolution,
double  MaxNumofSecs 
) [private]

Definition at line 893 of file intervalPlanner.cpp.

virtual void IntervalPlanner::set_decrease_eps_step ( double  dec_eps  )  [inline, virtual]

Sets the decrement step size for epsilon.

Definition at line 190 of file intervalPlanner.h.

void IntervalPlanner::set_finalsolution_eps ( double  finalsolution_eps  )  [inline]

Sets the final epsilon that the planner will work down to.

Definition at line 180 of file intervalPlanner.h.

int IntervalPlanner::set_goal ( int  goal_stateID  ) 

Sets the goal state.

Parameters:
goal_stateID The state ID of the goal state (from the environment)
Returns:
1 on success, 0 otherwise

Definition at line 1052 of file intervalPlanner.cpp.

virtual void IntervalPlanner::set_initialsolution_eps ( double  initialsolution_eps  )  [inline, virtual]

Sets the initial epsilon that the planner starts at.

Definition at line 185 of file intervalPlanner.h.

int IntervalPlanner::set_search_mode ( bool  bSearchUntilFirstSolution  ) 

This determines whether the planner improves the solution until time expires, or if it returns the first solution it finds.

Parameters:
bSearchUntilFirstSolution If this is true the planner will return the first solution found. (it also ignores the allocated time if this is true)

Definition at line 1110 of file intervalPlanner.cpp.

int IntervalPlanner::set_start ( int  start_stateID  ) 

Sets the start state.

Parameters:
start_stateID The state ID of the start state (from the environment)
Returns:
1 on success, 0 otherwise

Definition at line 1072 of file intervalPlanner.cpp.

int IntervalPlanner::SetSearchGoalState ( int  SearchGoalStateID,
IntervalPlannerSearchStateSpace_t pSearchStateSpace 
) [private]

Definition at line 639 of file intervalPlanner.cpp.

int IntervalPlanner::SetSearchStartState ( int  SearchStartStateID,
IntervalPlannerSearchStateSpace_t pSearchStateSpace 
) [private]

Definition at line 666 of file intervalPlanner.cpp.

void IntervalPlanner::UpdatePreds ( IntervalPlannerState state,
IntervalPlannerSearchStateSpace_t pSearchStateSpace 
) [private]

Definition at line 236 of file intervalPlanner.cpp.

void IntervalPlanner::UpdateSuccs ( IntervalPlannerState state,
IntervalPlannerSearchStateSpace_t pSearchStateSpace 
) [private]

Definition at line 275 of file intervalPlanner.cpp.


Member Data Documentation

Definition at line 220 of file intervalPlanner.h.

Definition at line 222 of file intervalPlanner.h.

Definition at line 217 of file intervalPlanner.h.

Definition at line 212 of file intervalPlanner.h.

vector<double> IntervalPlanner::epsV [private]

Definition at line 234 of file intervalPlanner.h.

vector<unsigned int> IntervalPlanner::expandsV [private]

Definition at line 235 of file intervalPlanner.h.

FILE* IntervalPlanner::fDeb [private]

Definition at line 229 of file intervalPlanner.h.

Definition at line 232 of file intervalPlanner.h.

Definition at line 216 of file intervalPlanner.h.

Definition at line 213 of file intervalPlanner.h.

Definition at line 227 of file intervalPlanner.h.

MDPConfig* IntervalPlanner::MDPCfg_ [private]

Definition at line 218 of file intervalPlanner.h.

Definition at line 207 of file intervalPlanner.h.

Definition at line 208 of file intervalPlanner.h.

Definition at line 224 of file intervalPlanner.h.

unsigned int IntervalPlanner::searchexpands [private]

Definition at line 226 of file intervalPlanner.h.

double IntervalPlanner::searchtime [private]

Definition at line 231 of file intervalPlanner.h.

vector<double> IntervalPlanner::searchTimeV [private]

Definition at line 237 of file intervalPlanner.h.

vector<unsigned int> IntervalPlanner::solcostV [private]

Definition at line 236 of file intervalPlanner.h.

bool IntervalPlanner::solfound [private]

Definition at line 230 of file intervalPlanner.h.

clock_t IntervalPlanner::TimeStarted [private]

Definition at line 228 of file intervalPlanner.h.

Definition at line 209 of file intervalPlanner.h.

Definition at line 210 of file intervalPlanner.h.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Defines


sbpl_dynamic_planner
Author(s): Michael Phillips, Maxim Likhachev
autogenerated on Fri Jan 11 09:41:07 2013