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

Functor used to access the method challengeRelaxed() 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::AddViolatedLinearConstraintsRelaxedFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >:

Classes

struct  AddViolatedLinearConstraintsRelaxedFunctor_impl
 Helper struct to distinguish between linear constraint functions and other function types. This is necessary as only linear constraint functions provide the method challengeRelaxed(). More...
 
struct  AddViolatedLinearConstraintsRelaxedFunctor_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 challengeRelaxed() 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 challengeRelaxed() of the underlying linear constraint function of a graphical model factor. More...
 
LP_INFERENCE_BASE_TYPE::RelaxedSolutionSubsequenceIterator 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::AddViolatedLinearConstraintsRelaxedFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >

Functor used to access the method challengeRelaxed() 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 332 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::AddViolatedLinearConstraintsRelaxedFunctor< LP_INFERENCE_BASE_TYPE, HEURISTIC >::operator() ( const LINEAR_CONSTRAINT_FUNCTION_TYPE &  linearConstraintFunction)
inline

Operator used to access the method challengeRelaxed() 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 3415 of file lp_inference_base.hxx.

Member Data Documentation

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

Iterator used to iterate over the current solution.

Definition at line 335 of file lp_inference_base.hxx.

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

Index of the linear constraint factor.

Definition at line 338 of file lp_inference_base.hxx.

template<class LP_INFERENCE_BASE_TYPE, typename LP_INFERENCE_BASE_TYPE::Parameter::ChallengeHeuristic HEURISTIC>
opengm::AddViolatedLinearConstraintsRelaxedFunctor< 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 337 of file lp_inference_base.hxx.

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

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

Definition at line 336 of file lp_inference_base.hxx.

template<class LP_INFERENCE_BASE_TYPE, typename LP_INFERENCE_BASE_TYPE::Parameter::ChallengeHeuristic HEURISTIC>
opengm::AddViolatedLinearConstraintsRelaxedFunctor< 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 339 of file lp_inference_base.hxx.

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

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

Definition at line 334 of file lp_inference_base.hxx.