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

Global incumbent manager for branch and bound. More...

#include <Branch_And_Bound.H>

Collaboration diagram for Aleph::ObjectiveIncumbent< Solution, ObjectivePolicy >:
[legend]

Public Types

using Solution_Type = Solution
 
using Objective_Type = typename Solution::Objective_Type
 
using Objective_Policy = ObjectivePolicy
 
using Compare_Type = PreferBetterObjective< Solution, ObjectivePolicy >
 

Public Member Functions

 ObjectiveIncumbent ()=default
 
 ObjectiveIncumbent (ObjectivePolicy objective)
 
bool has_value () const noexcept
 
const Solution & get () const
 
const Objective_Typebest_value () const
 
const ObjectivePolicyobjective () const noexcept
 
bool consider (const Solution &solution)
 
bool consider (Solution &&solution)
 
bool can_improve (const Objective_Type &bound) const noexcept
 

Private Attributes

ObjectivePolicy objective_ = {}
 
BestSolution< Solution, Compare_Typebest_
 

Detailed Description

template<typename Solution, typename ObjectivePolicy>
class Aleph::ObjectiveIncumbent< Solution, ObjectivePolicy >

Global incumbent manager for branch and bound.

Definition at line 145 of file Branch_And_Bound.H.

Member Typedef Documentation

◆ Compare_Type

Definition at line 151 of file Branch_And_Bound.H.

◆ Objective_Policy

template<typename Solution , typename ObjectivePolicy >
using Aleph::ObjectiveIncumbent< Solution, ObjectivePolicy >::Objective_Policy = ObjectivePolicy

Definition at line 150 of file Branch_And_Bound.H.

◆ Objective_Type

template<typename Solution , typename ObjectivePolicy >
using Aleph::ObjectiveIncumbent< Solution, ObjectivePolicy >::Objective_Type = typename Solution::Objective_Type

Definition at line 149 of file Branch_And_Bound.H.

◆ Solution_Type

template<typename Solution , typename ObjectivePolicy >
using Aleph::ObjectiveIncumbent< Solution, ObjectivePolicy >::Solution_Type = Solution

Definition at line 148 of file Branch_And_Bound.H.

Constructor & Destructor Documentation

◆ ObjectiveIncumbent() [1/2]

◆ ObjectiveIncumbent() [2/2]

template<typename Solution , typename ObjectivePolicy >
Aleph::ObjectiveIncumbent< Solution, ObjectivePolicy >::ObjectiveIncumbent ( ObjectivePolicy  objective)
inlineexplicit

Definition at line 155 of file Branch_And_Bound.H.

Member Function Documentation

◆ best_value()

◆ can_improve()

◆ consider() [1/2]

◆ consider() [2/2]

template<typename Solution , typename ObjectivePolicy >
bool Aleph::ObjectiveIncumbent< Solution, ObjectivePolicy >::consider ( Solution &&  solution)
inline

◆ get()

◆ has_value()

◆ objective()

template<typename Solution , typename ObjectivePolicy >
const ObjectivePolicy & Aleph::ObjectiveIncumbent< Solution, ObjectivePolicy >::objective ( ) const
inlinenoexcept

Member Data Documentation

◆ best_

◆ objective_


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