OR-Tools  8.0
DemonProfiler

Detailed Description

Definition at line 50 of file demon_profiler.cc.

Public Member Functions

 DemonProfiler (Solver *const solver)
 
 ~DemonProfiler () override
 
int64 CurrentTime () const
 
void BeginConstraintInitialPropagation (Constraint *const constraint) override
 Propagation events. More...
 
void EndConstraintInitialPropagation (Constraint *const constraint) override
 
void BeginNestedConstraintInitialPropagation (Constraint *const constraint, Constraint *const delayed) override
 
void EndNestedConstraintInitialPropagation (Constraint *const constraint, Constraint *const delayed) override
 
void RegisterDemon (Demon *const demon) override
 
void BeginDemonRun (Demon *const demon) override
 
void EndDemonRun (Demon *const demon) override
 
void StartProcessingIntegerVariable (IntVar *const var) override
 
void EndProcessingIntegerVariable (IntVar *const var) override
 
void PushContext (const std::string &context) override
 
void PopContext () override
 
void BeginFail () override
 
void RestartSearch () override
 
void SetMin (IntExpr *const expr, int64 new_min) override
 IntExpr modifiers. More...
 
void SetMax (IntExpr *const expr, int64 new_max) override
 
void SetRange (IntExpr *const expr, int64 new_min, int64 new_max) override
 
void SetMin (IntVar *const var, int64 new_min) override
 IntVar modifiers. More...
 
void SetMax (IntVar *const var, int64 new_max) override
 
void SetRange (IntVar *const var, int64 new_min, int64 new_max) override
 
void RemoveValue (IntVar *const var, int64 value) override
 
void SetValue (IntVar *const var, int64 value) override
 
void RemoveInterval (IntVar *const var, int64 imin, int64 imax) override
 
void SetValues (IntVar *const var, const std::vector< int64 > &values) override
 
void RemoveValues (IntVar *const var, const std::vector< int64 > &values) override
 
void SetStartMin (IntervalVar *const var, int64 new_min) override
 IntervalVar modifiers. More...
 
void SetStartMax (IntervalVar *const var, int64 new_max) override
 
void SetStartRange (IntervalVar *const var, int64 new_min, int64 new_max) override
 
void SetEndMin (IntervalVar *const var, int64 new_min) override
 
void SetEndMax (IntervalVar *const var, int64 new_max) override
 
void SetEndRange (IntervalVar *const var, int64 new_min, int64 new_max) override
 
void SetDurationMin (IntervalVar *const var, int64 new_min) override
 
void SetDurationMax (IntervalVar *const var, int64 new_max) override
 
void SetDurationRange (IntervalVar *const var, int64 new_min, int64 new_max) override
 
void SetPerformed (IntervalVar *const var, bool value) override
 
void RankFirst (SequenceVar *const var, int index) override
 SequenceVar modifiers. More...
 
void RankNotFirst (SequenceVar *const var, int index) override
 
void RankLast (SequenceVar *const var, int index) override
 
void RankNotLast (SequenceVar *const var, int index) override
 
void RankSequence (SequenceVar *const var, const std::vector< int > &rank_first, const std::vector< int > &rank_last, const std::vector< int > &unperformed) override
 
void AddFakeRun (Demon *const demon, int64 start_time, int64 end_time, bool is_fail)
 
void PrintOverview (Solver *const solver, const std::string &filename)
 
void ExportInformation (const Constraint *const constraint, int64 *const fails, int64 *const initial_propagation_runtime, int64 *const demon_invocations, int64 *const total_demon_runtime, int *demons)
 
void ExportInformation (const DemonRuns *const demon_runs, int64 *const demon_invocations, int64 *const fails, int64 *const total_demon_runtime, double *const mean_demon_runtime, double *const median_demon_runtime, double *const stddev_demon_runtime)
 
void Install () override
 
std::string DebugString () const override
 

Constructor & Destructor Documentation

◆ DemonProfiler()

DemonProfiler ( Solver *const  solver)
inlineexplicit

Definition at line 52 of file demon_profiler.cc.

◆ ~DemonProfiler()

~DemonProfiler ( )
inlineoverride

Definition at line 58 of file demon_profiler.cc.

Member Function Documentation

◆ AddFakeRun()

void AddFakeRun ( Demon *const  demon,
int64  start_time,
int64  end_time,
bool  is_fail 
)
inline

Definition at line 244 of file demon_profiler.cc.

◆ BeginConstraintInitialPropagation()

void BeginConstraintInitialPropagation ( Constraint *const  constraint)
inlineoverridevirtual

Propagation events.

Implements PropagationMonitor.

Definition at line 69 of file demon_profiler.cc.

◆ BeginDemonRun()

void BeginDemonRun ( Demon *const  demon)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 146 of file demon_profiler.cc.

◆ BeginFail()

void BeginFail ( )
inlineoverride

Definition at line 177 of file demon_profiler.cc.

◆ BeginNestedConstraintInitialPropagation()

void BeginNestedConstraintInitialPropagation ( Constraint *const  constraint,
Constraint *const  delayed 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 98 of file demon_profiler.cc.

◆ CurrentTime()

int64 CurrentTime ( ) const
inline

Definition at line 65 of file demon_profiler.cc.

◆ DebugString()

std::string DebugString ( ) const
inlineoverride

Definition at line 418 of file demon_profiler.cc.

◆ EndConstraintInitialPropagation()

void EndConstraintInitialPropagation ( Constraint *const  constraint)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 85 of file demon_profiler.cc.

◆ EndDemonRun()

void EndDemonRun ( Demon *const  demon)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 159 of file demon_profiler.cc.

◆ EndNestedConstraintInitialPropagation()

void EndNestedConstraintInitialPropagation ( Constraint *const  constraint,
Constraint *const  delayed 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 113 of file demon_profiler.cc.

◆ EndProcessingIntegerVariable()

void EndProcessingIntegerVariable ( IntVar *const  var)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 173 of file demon_profiler.cc.

◆ ExportInformation() [1/2]

void ExportInformation ( const Constraint *const  constraint,
int64 *const  fails,
int64 *const  initial_propagation_runtime,
int64 *const  demon_invocations,
int64 *const  total_demon_runtime,
int *  demons 
)
inline

Definition at line 329 of file demon_profiler.cc.

◆ ExportInformation() [2/2]

void ExportInformation ( const DemonRuns *const  demon_runs,
int64 *const  demon_invocations,
int64 *const  fails,
int64 *const  total_demon_runtime,
double *const  mean_demon_runtime,
double *const  median_demon_runtime,
double *const  stddev_demon_runtime 
)
inline

Definition at line 362 of file demon_profiler.cc.

◆ Install()

void Install ( )
inlineoverride

Definition at line 416 of file demon_profiler.cc.

◆ PopContext()

void PopContext ( )
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 175 of file demon_profiler.cc.

◆ PrintOverview()

void PrintOverview ( Solver *const  solver,
const std::string &  filename 
)
inline

Definition at line 257 of file demon_profiler.cc.

◆ PushContext()

void PushContext ( const std::string &  context)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 174 of file demon_profiler.cc.

◆ RankFirst()

void RankFirst ( SequenceVar *const  var,
int  index 
)
inlineoverridevirtual

SequenceVar modifiers.

Implements PropagationMonitor.

Definition at line 235 of file demon_profiler.cc.

◆ RankLast()

void RankLast ( SequenceVar *const  var,
int  index 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 237 of file demon_profiler.cc.

◆ RankNotFirst()

void RankNotFirst ( SequenceVar *const  var,
int  index 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 236 of file demon_profiler.cc.

◆ RankNotLast()

void RankNotLast ( SequenceVar *const  var,
int  index 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 238 of file demon_profiler.cc.

◆ RankSequence()

void RankSequence ( SequenceVar *const  var,
const std::vector< int > &  rank_first,
const std::vector< int > &  rank_last,
const std::vector< int > &  unperformed 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 239 of file demon_profiler.cc.

◆ RegisterDemon()

void RegisterDemon ( Demon *const  demon)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 128 of file demon_profiler.cc.

◆ RemoveInterval()

void RemoveInterval ( IntVar *const  var,
int64  imin,
int64  imax 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 216 of file demon_profiler.cc.

◆ RemoveValue()

void RemoveValue ( IntVar *const  var,
int64  value 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 214 of file demon_profiler.cc.

◆ RemoveValues()

void RemoveValues ( IntVar *const  var,
const std::vector< int64 > &  values 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 219 of file demon_profiler.cc.

◆ RestartSearch()

void RestartSearch ( )
inlineoverride

Definition at line 198 of file demon_profiler.cc.

◆ SetDurationMax()

void SetDurationMax ( IntervalVar *const  var,
int64  new_max 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 231 of file demon_profiler.cc.

◆ SetDurationMin()

void SetDurationMin ( IntervalVar *const  var,
int64  new_min 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 230 of file demon_profiler.cc.

◆ SetDurationRange()

void SetDurationRange ( IntervalVar *const  var,
int64  new_min,
int64  new_max 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 232 of file demon_profiler.cc.

◆ SetEndMax()

void SetEndMax ( IntervalVar *const  var,
int64  new_max 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 227 of file demon_profiler.cc.

◆ SetEndMin()

void SetEndMin ( IntervalVar *const  var,
int64  new_min 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 226 of file demon_profiler.cc.

◆ SetEndRange()

void SetEndRange ( IntervalVar *const  var,
int64  new_min,
int64  new_max 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 228 of file demon_profiler.cc.

◆ SetMax() [1/2]

void SetMax ( IntExpr *const  expr,
int64  new_max 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 208 of file demon_profiler.cc.

◆ SetMax() [2/2]

void SetMax ( IntVar *const  var,
int64  new_max 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 212 of file demon_profiler.cc.

◆ SetMin() [1/2]

void SetMin ( IntExpr *const  expr,
int64  new_min 
)
inlineoverridevirtual

IntExpr modifiers.

Implements PropagationMonitor.

Definition at line 207 of file demon_profiler.cc.

◆ SetMin() [2/2]

void SetMin ( IntVar *const  var,
int64  new_min 
)
inlineoverridevirtual

IntVar modifiers.

Implements PropagationMonitor.

Definition at line 211 of file demon_profiler.cc.

◆ SetPerformed()

void SetPerformed ( IntervalVar *const  var,
bool  value 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 234 of file demon_profiler.cc.

◆ SetRange() [1/2]

void SetRange ( IntExpr *const  expr,
int64  new_min,
int64  new_max 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 209 of file demon_profiler.cc.

◆ SetRange() [2/2]

void SetRange ( IntVar *const  var,
int64  new_min,
int64  new_max 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 213 of file demon_profiler.cc.

◆ SetStartMax()

void SetStartMax ( IntervalVar *const  var,
int64  new_max 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 223 of file demon_profiler.cc.

◆ SetStartMin()

void SetStartMin ( IntervalVar *const  var,
int64  new_min 
)
inlineoverridevirtual

IntervalVar modifiers.

Implements PropagationMonitor.

Definition at line 222 of file demon_profiler.cc.

◆ SetStartRange()

void SetStartRange ( IntervalVar *const  var,
int64  new_min,
int64  new_max 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 224 of file demon_profiler.cc.

◆ SetValue()

void SetValue ( IntVar *const  var,
int64  value 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 215 of file demon_profiler.cc.

◆ SetValues()

void SetValues ( IntVar *const  var,
const std::vector< int64 > &  values 
)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 217 of file demon_profiler.cc.

◆ StartProcessingIntegerVariable()

void StartProcessingIntegerVariable ( IntVar *const  var)
inlineoverridevirtual

Implements PropagationMonitor.

Definition at line 172 of file demon_profiler.cc.


The documentation for this class was generated from the following file: