Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::SearchResult< Solution, Compare > Struct Template Reference

Aggregates the outcome of one search execution. More...

#include <state_search_common.H>

Inheritance diagram for Aleph::SearchResult< Solution, Compare >:
[legend]
Collaboration diagram for Aleph::SearchResult< Solution, Compare >:
[legend]

Public Types

using Solution_Type = Solution
 Type of solutions in this result.
 
using Compare_Type = Compare
 Type of the comparison policy.
 
using Incumbent_Type = BestSolution< Solution, Compare >
 Concrete incumbent type.
 

Public Member Functions

 SearchResult ()=default
 Build an empty result.
 
 SearchResult (Compare compare)
 Build a result with a specific solution comparator.
 
bool found_solution () const noexcept
 Return true if at least one solution was retained.
 
bool exhausted () const noexcept
 Return true if the search exhausted the configured region.
 
bool stopped_on_solution () const noexcept
 Return true if search stopped because solution handling requested it.
 
bool limit_reached () const noexcept
 Return true if a hard search limit stopped the traversal.
 

Public Attributes

SearchStatus status = SearchStatus::NotStarted
 Final execution state.
 
ExplorationPolicy policy
 Exploration policy used for the run.
 
SearchLimits limits
 Limits used for the run.
 
SearchStats stats
 Statistics collected during the run.
 
Incumbent_Type best_solution
 Best incumbent retained by the engine.
 

Detailed Description

template<typename Solution, typename Compare = KeepFirstSolution<Solution>>
requires BinaryPredicate<Compare, Solution>
struct Aleph::SearchResult< Solution, Compare >

Aggregates the outcome of one search execution.

Template Parameters
SolutionType of solutions found.
ComparePolicy used to determine the best solution.

Definition at line 679 of file state_search_common.H.

Member Typedef Documentation

◆ Compare_Type

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
using Aleph::SearchResult< Solution, Compare >::Compare_Type = Compare

Type of the comparison policy.

Definition at line 684 of file state_search_common.H.

◆ Incumbent_Type

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
using Aleph::SearchResult< Solution, Compare >::Incumbent_Type = BestSolution<Solution, Compare>

Concrete incumbent type.

Definition at line 686 of file state_search_common.H.

◆ Solution_Type

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
using Aleph::SearchResult< Solution, Compare >::Solution_Type = Solution

Type of solutions in this result.

Definition at line 682 of file state_search_common.H.

Constructor & Destructor Documentation

◆ SearchResult() [1/2]

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
Aleph::SearchResult< Solution, Compare >::SearchResult ( )
default

Build an empty result.

◆ SearchResult() [2/2]

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
Aleph::SearchResult< Solution, Compare >::SearchResult ( Compare  compare)
inlineexplicit

Build a result with a specific solution comparator.

Parameters
compareFunctor used to order solutions.

Definition at line 700 of file state_search_common.H.

Member Function Documentation

◆ exhausted()

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
bool Aleph::SearchResult< Solution, Compare >::exhausted ( ) const
inlinenoexcept

Return true if the search exhausted the configured region.

Definition at line 712 of file state_search_common.H.

References Aleph::Exhausted, and Aleph::SearchResult< Solution, Compare >::status.

◆ found_solution()

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
bool Aleph::SearchResult< Solution, Compare >::found_solution ( ) const
inlinenoexcept

Return true if at least one solution was retained.

Definition at line 706 of file state_search_common.H.

References Aleph::SearchResult< Solution, Compare >::best_solution, and Aleph::BestSolution< Solution, Compare >::has_value().

◆ limit_reached()

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
bool Aleph::SearchResult< Solution, Compare >::limit_reached ( ) const
inlinenoexcept

Return true if a hard search limit stopped the traversal.

Definition at line 724 of file state_search_common.H.

References Aleph::LimitReached, and Aleph::SearchResult< Solution, Compare >::status.

◆ stopped_on_solution()

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
bool Aleph::SearchResult< Solution, Compare >::stopped_on_solution ( ) const
inlinenoexcept

Return true if search stopped because solution handling requested it.

Definition at line 718 of file state_search_common.H.

References Aleph::SearchResult< Solution, Compare >::status, and Aleph::StoppedOnSolution.

Member Data Documentation

◆ best_solution

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
Incumbent_Type Aleph::SearchResult< Solution, Compare >::best_solution

◆ limits

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
SearchLimits Aleph::SearchResult< Solution, Compare >::limits

◆ policy

template<typename Solution , typename Compare = KeepFirstSolution<Solution>>
ExplorationPolicy Aleph::SearchResult< Solution, Compare >::policy

◆ stats

◆ status


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