LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::mapqn::qrfbas Namespace Reference

Enumerations

enum class  Objective { Mmi , Mem , Bethe }
 Which functional mapqn_qrf_bas minimizes over the BAS polytope. More...

Functions

template<class T>
lp::LpModel< T > bas_polytope (const QrBasParams< T > &p, const QrBasIndex &x)
 The BAS feasible set, built by the same calls the LP bound makes.
void mmi_terms (const QrBasIndex &x, const std::vector< int > &F, std::vector< std::size_t > *ij, std::vector< std::size_t > *ii, std::vector< std::size_t > *jj, int n_from=1)
 The (ij, ii, jj) column triples of the MI objective, i != j, ni, nj >= n_from.
std::vector< std::size_t > mem_terms (const QrBasIndex &x, const std::vector< int > &F, int n_from=1)
 The diagonal columns of the MEM objective, ni >= n_from (1 for MEM, 0 for BETHE).

Enumeration Type Documentation

◆ Objective

enum class line::mapqn::qrfbas::Objective
strong

Which functional mapqn_qrf_bas minimizes over the BAS polytope.

Enumerator
Mmi 
Mem 
Bethe 

Definition at line 139 of file mapqn_qrf_bas_nlp.h.

Function Documentation

◆ bas_polytope()

template<class T>
lp::LpModel< T > line::mapqn::qrfbas::bas_polytope ( const QrBasParams< T > & p,
const QrBasIndex & x )

The BAS feasible set, built by the same calls the LP bound makes.

Definition at line 66 of file mapqn_qrf_bas_nlp.h.

References bas_polytope(), and line::mapqn::QrBasIndex::num_vars().

Referenced by bas_polytope(), and line::mapqn::mapqn_qrf_bas().

◆ mem_terms()

std::vector< std::size_t > line::mapqn::qrfbas::mem_terms ( const QrBasIndex & x,
const std::vector< int > & F,
int n_from = 1 )
inline

The diagonal columns of the MEM objective, ni >= n_from (1 for MEM, 0 for BETHE).

Definition at line 128 of file mapqn_qrf_bas_nlp.h.

References line::mapqn::QrBasIndex::K, line::mapqn::QrBasIndex::M, mem_terms(), line::mapqn::QrBasIndex::MR, and line::mapqn::QrBasIndex::p2().

Referenced by line::mapqn::mapqn_qrf_bas(), and mem_terms().

◆ mmi_terms()

void line::mapqn::qrfbas::mmi_terms ( const QrBasIndex & x,
const std::vector< int > & F,
std::vector< std::size_t > * ij,
std::vector< std::size_t > * ii,
std::vector< std::size_t > * jj,
int n_from = 1 )
inline

The (ij, ii, jj) column triples of the MI objective, i != j, ni, nj >= n_from.

n_from is 0 for both callers, the reference's own range: the idle cell carries the strongest correlation in a closed chain, and BETHE's entropy term spans the same range so the two blocks agree.

Definition at line 109 of file mapqn_qrf_bas_nlp.h.

References line::mapqn::QrBasIndex::K, line::mapqn::QrBasIndex::M, mmi_terms(), line::mapqn::QrBasIndex::MR, and line::mapqn::QrBasIndex::p2().

Referenced by line::mapqn::mapqn_qrf_bas(), and mmi_terms().