OpenMS
ILPDCWrapper Class Reference

#include <OpenMS/ANALYSIS/DECHARGING/ILPDCWrapper.h>

Public Types

typedef std::vector< ChargePairPairsType
 
typedef PairsType::size_type PairsIndex
 

Public Member Functions

 ILPDCWrapper ()
 Constructor. More...
 
virtual ~ILPDCWrapper ()
 Destructor. More...
 
double compute (const FeatureMap &fm, PairsType &pairs, Size verbose_level) const
 

Private Types

typedef std::map< String, std::set< Size > > FeatureType_
 

Private Member Functions

double computeSlice_ (const FeatureMap &fm, PairsType &pairs, const PairsIndex margin_left, const PairsIndex margin_right, const Size verbose_level) const
 slicing the problem into subproblems More...
 
double computeSliceOld_ (const FeatureMap &fm, PairsType &pairs, const PairsIndex margin_left, const PairsIndex margin_right, const Size verbose_level) const
 slicing the problem into subproblems More...
 
double getLogScore_ (const PairsType::value_type &pair, const FeatureMap &fm) const
 calculate a score for the i_th edge More...
 
void updateFeatureVariant_ (FeatureType_ &f_set, const String &rota_l, const Size &v) const
 

Member Typedef Documentation

◆ FeatureType_

typedef std::map<String, std::set<Size> > FeatureType_
private

◆ PairsIndex

typedef PairsType::size_type PairsIndex

◆ PairsType

typedef std::vector<ChargePair> PairsType

Constructor & Destructor Documentation

◆ ILPDCWrapper()

Constructor.

◆ ~ILPDCWrapper()

virtual ~ILPDCWrapper ( )
virtual

Destructor.

Member Function Documentation

◆ compute()

double compute ( const FeatureMap fm,
PairsType pairs,
Size  verbose_level 
) const

Compute optimal solution and return value of objective function If the input feature map is empty, a warning is issued and -1 is returned.

Returns
value of objective function and pairs will have all realized edges set to "active"

◆ computeSlice_()

double computeSlice_ ( const FeatureMap fm,
PairsType pairs,
const PairsIndex  margin_left,
const PairsIndex  margin_right,
const Size  verbose_level 
) const
private

slicing the problem into subproblems

◆ computeSliceOld_()

double computeSliceOld_ ( const FeatureMap fm,
PairsType pairs,
const PairsIndex  margin_left,
const PairsIndex  margin_right,
const Size  verbose_level 
) const
private

slicing the problem into subproblems

◆ getLogScore_()

double getLogScore_ ( const PairsType::value_type &  pair,
const FeatureMap fm 
) const
private

calculate a score for the i_th edge

◆ updateFeatureVariant_()

void updateFeatureVariant_ ( FeatureType_ f_set,
const String rota_l,
const Size v 
) const
private