|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Reusable branch-and-bound engine for implicit optimization spaces. More...
#include <concepts>#include <utility>#include <ah-errors.H>#include <state_search_common.H>#include <Transposition_Table.H>#include <tpl_dynBinHeap.H>Go to the source code of this file.
Namespaces | |
| namespace | Aleph |
| Main namespace for Aleph-w library functions. | |
Concepts | |
| concept | Aleph::BranchAndBoundObjectivePolicy |
| Concept for objective policies used by branch and bound. | |
| concept | Aleph::CompleteSolutionPredicate |
| Concept for complete-solution predicates in optimization domains. | |
| concept | Aleph::OptimizationEvaluator |
| Concept for domains that provide an objective and an optimistic bound. | |
| concept | Aleph::BranchAndBoundDomain |
| Minimal contract for branch-and-bound domains. | |
Enumerations | |
| enum class | Aleph::OptimizationSense { Aleph::Minimize , Aleph::Maximize } |
| Optimization direction supported by branch and bound. More... | |
Functions | |
| template<BranchAndBoundDomain Domain, typename ObjectivePolicy = Maximize_Objective<typename Domain::Objective>> requires BranchAndBoundObjectivePolicy<ObjectivePolicy, typename Domain::Objective> | |
| auto | Aleph::branch_and_bound_search (Domain domain, typename Domain::State initial_state, ExplorationPolicy policy=Branch_And_Bound< Domain, ObjectivePolicy >::default_policy(), SearchLimits limits={}, ObjectivePolicy objective={}) |
| Convenience wrapper for one-shot branch and bound. | |
| template<BranchAndBoundDomain Domain, typename OnSolution , typename ObjectivePolicy = Maximize_Objective<typename Domain::Objective>> requires BranchAndBoundObjectivePolicy<ObjectivePolicy, typename Domain::Objective> | |
| and SearchSolutionVisitor< OnSolution, OptimizationSolution< typename Domain::State, typename Domain::Move, typename Domain::Objective > > auto | Aleph::branch_and_bound_search (Domain domain, typename Domain::State initial_state, OnSolution &on_solution, ExplorationPolicy policy=Branch_And_Bound< Domain, ObjectivePolicy >::default_policy(), SearchLimits limits={}, ObjectivePolicy objective={}) |
| Convenience wrapper for branch and bound with a solution callback. | |
Reusable branch-and-bound engine for implicit optimization spaces.
This module builds on the common state-space search vocabulary and adds the minimal machinery specific to optimization:
Definition in file Branch_And_Bound.H.