OpenGM  2.3.x
Discrete Graphical Model Library
Classes | Public Member Functions | Public Attributes | List of all members
opengm::AddViolatedLinearConstraintsFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC > Struct Template Reference

Functor used to access the method challenge() of the underlying linear constraint function of a graphical model factor and to add a limited number of violated constraints to the LP/MIP model. More...

#include <lp_inference_base.hxx>

+ Collaboration diagram for opengm::AddViolatedLinearConstraintsFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >:

Classes

struct  AddViolatedLinearConstraintsFunctor_impl
 Helper struct to distinguish between linear constraint functions and other function types. This is necessary as only linear constraint functions provide the method challenge(). More...
 
struct  AddViolatedLinearConstraintsFunctor_impl< FUNCTION_TYPE, true >
 

Public Member Functions

template<class LINEAR_CONSTRAINT_FUNCTION_TYPE >
void operator() (const LINEAR_CONSTRAINT_FUNCTION_TYPE &linearConstraintFunction)
 Operator used to access the method challenge() of the underlying linear constraint function of a graphical model factor and to add a limited number of violated constraints to the LP/MIP model. More...
 

Public Attributes

LP_INFERENCE_BASE_TYPE::ValueType tolerance_
 The tolerance used for the method challenge() of the underlying linear constraint function of a graphical model factor. More...
 
LP_INFERENCE_BASE_TYPE::IntegerSolutionSubsequenceIterator labelingBegin_
 Iterator used to iterate over the current solution. More...
 
size_t numConstraintsAdded_
 Indicator used to tell how many constraints were added to the LP/MIP model. More...
 
LP_INFERENCE_BASE_TYPE * lpInference_
 Pointer pointing to the instance of opengm::LPInferenceBase to get access to the LP/MIP model. More...
 
LP_INFERENCE_BASE_TYPE::IndexType linearConstraintID_
 Index of the linear constraint factor. More...
 
LP_INFERENCE_BASE_TYPE::SortedViolatedConstraintsListType * sortedViolatedConstraintsList_
 Storage for the violated linear constraints sorted by their weights. Only used when LPInferenceBase::Parameter::Weighted is used as challenge heuristic. More...
 

Detailed Description

template<class LP_INFERENCE_BASE_TYPE, typename LP_INFERENCE_BASE_TYPE::Parameter::ChallengeHeuristic HEURISTIC>
struct opengm::AddViolatedLinearConstraintsFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >

Functor used to access the method challenge() of the underlying linear constraint function of a graphical model factor and to add a limited number of violated constraints to the LP/MIP model.

Template Parameters
LP_INFERENCE_BASE_TYPEThe type of opengm::LPInferenceBase for which the functor is used.
HEURISTICTell which challenge heuristic will be used to add violated constraints.

Definition at line 310 of file lp_inference_base.hxx.

Member Function Documentation

template<class LP_INFERENCE_BASE_TYPE , typename LP_INFERENCE_BASE_TYPE::Parameter::ChallengeHeuristic HEURISTIC>
template<class LINEAR_CONSTRAINT_FUNCTION_TYPE >
void opengm::AddViolatedLinearConstraintsFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >::operator() ( const LINEAR_CONSTRAINT_FUNCTION_TYPE &  linearConstraintFunction)
inline

Operator used to access the method challenge() of the underlying linear constraint function of a graphical model factor and to add a limited number of violated constraints to the LP/MIP model.

Template Parameters
LINEAR_CONSTRAINT_FUNCTION_TYPEThe underlying linear constraint function type of a graphical model factor.
Parameters
[in]linearConstraintFunctionThe underlying linear constraint function of a graphical model factor.

Definition at line 3373 of file lp_inference_base.hxx.

Member Data Documentation

template<class LP_INFERENCE_BASE_TYPE, typename LP_INFERENCE_BASE_TYPE::Parameter::ChallengeHeuristic HEURISTIC>
opengm::AddViolatedLinearConstraintsFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >::labelingBegin_

Iterator used to iterate over the current solution.

Definition at line 313 of file lp_inference_base.hxx.

template<class LP_INFERENCE_BASE_TYPE, typename LP_INFERENCE_BASE_TYPE::Parameter::ChallengeHeuristic HEURISTIC>
opengm::AddViolatedLinearConstraintsFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >::linearConstraintID_

Index of the linear constraint factor.

Definition at line 316 of file lp_inference_base.hxx.

template<class LP_INFERENCE_BASE_TYPE, typename LP_INFERENCE_BASE_TYPE::Parameter::ChallengeHeuristic HEURISTIC>
opengm::AddViolatedLinearConstraintsFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >::lpInference_

Pointer pointing to the instance of opengm::LPInferenceBase to get access to the LP/MIP model.

Definition at line 315 of file lp_inference_base.hxx.

template<class LP_INFERENCE_BASE_TYPE, typename LP_INFERENCE_BASE_TYPE::Parameter::ChallengeHeuristic HEURISTIC>
opengm::AddViolatedLinearConstraintsFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >::numConstraintsAdded_

Indicator used to tell how many constraints were added to the LP/MIP model.

Definition at line 314 of file lp_inference_base.hxx.

template<class LP_INFERENCE_BASE_TYPE, typename LP_INFERENCE_BASE_TYPE::Parameter::ChallengeHeuristic HEURISTIC>
opengm::AddViolatedLinearConstraintsFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >::sortedViolatedConstraintsList_

Storage for the violated linear constraints sorted by their weights. Only used when LPInferenceBase::Parameter::Weighted is used as challenge heuristic.

Definition at line 317 of file lp_inference_base.hxx.

template<class LP_INFERENCE_BASE_TYPE, typename LP_INFERENCE_BASE_TYPE::Parameter::ChallengeHeuristic HEURISTIC>
opengm::AddViolatedLinearConstraintsFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >::tolerance_

The tolerance used for the method challenge() of the underlying linear constraint function of a graphical model factor.

Definition at line 312 of file lp_inference_base.hxx.