PBeFS
Parallel Best-First Search
Loading...
Searching...
No Matches
PBeFS_di_unipi_it::BBValue Concept Reference

a type of values of a B&B: signed, totally ordered, made from an int, and with its BBValueTraits More...

#include <PBeFS/bnb/BranchAndBound.h>

Concept definition

template<class V>
concept PBeFS_di_unipi_it::BBValue = std::totally_ordered< V > && std::copyable< V > &&
std::constructible_from< V , int > &&
requires( const V & a , double r ) {
{ - a } -> std::convertible_to< V >;
{ a - a } -> std::convertible_to< V >;
{ BBValueTraits< V >::infinity() } -> std::convertible_to< V >;
{ BBValueTraits< V >::none() } -> std::convertible_to< V >;
{ BBValueTraits< V >::finite( a ) } -> std::convertible_to< bool >;
{ BBValueTraits< V >::tolerance( a , a , r ) } -> std::convertible_to< V >;
{ BBValueTraits< V >::within( a , a , a , r ) }
-> std::convertible_to< bool >;
}
a type of values of a B&B: signed, totally ordered, made from an int, and with its BBValueTraits
Definition BranchAndBound.h:262
static bool within(V b, V l, V z, double g) noexcept
true if b is at most l + g ( z - l ), z being finite
Definition BranchAndBound.h:244
static constexpr bool finite(V v) noexcept
true if v is finite
Definition BranchAndBound.h:228
static V tolerance(V z, V a, double r) noexcept
the tolerance on the gap of the finite incumbent z, by the absolute tolerance a and the relative one ...
Definition BranchAndBound.h:234
static constexpr V none(void) noexcept
the value of a Solution with no feasible value
Definition BranchAndBound.h:220
static constexpr V infinity(void) noexcept
the infinite value
Definition BranchAndBound.h:212

Detailed Description

a type of values of a B&B: signed, totally ordered, made from an int, and with its BBValueTraits