Limbo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
limbo::solvers::LagMultiplierUpdater< T > Class Template Referenceabstract

A base helper function object to update lagrangian multipliers using subgradient descent. All other schemes can be derived from this class. More...

#include <MultiKnapsackLagRelax.h>

Inheritance diagram for limbo::solvers::LagMultiplierUpdater< T >:
limbo::solvers::SubGradientDescent< T >

Public Types

typedef T value_type
 value type
 

Public Member Functions

 LagMultiplierUpdater ()
 constructor
 
virtual ~LagMultiplierUpdater ()
 destructor
 
virtual value_type operator() (unsigned int iter, value_type multiplier, value_type slackness)=0
 API to update lagrangian multiplier. More...
 
virtual void operator() (unsigned int iter, unsigned int n, value_type const *vSlackness, value_type const *vLagMultiplier, value_type *vNewLagMultiplier)=0
 API to update lagrangian multiplier using subgradient descent. More...
 

Detailed Description

template<typename T>
class limbo::solvers::LagMultiplierUpdater< T >

A base helper function object to update lagrangian multipliers using subgradient descent. All other schemes can be derived from this class.

Template Parameters
Tcoefficient value type

Definition at line 23 of file MultiKnapsackLagRelax.h.

Member Function Documentation

template<typename T >
virtual value_type limbo::solvers::LagMultiplierUpdater< T >::operator() ( unsigned int  iter,
value_type  multiplier,
value_type  slackness 
)
pure virtual

API to update lagrangian multiplier.

Parameters
itercurrent iteration
multipliercurrent multiplier value
slacknesscurrent slackness value assuming the constraint is in \( Ax \le b \) and compute \( b-Ax \)
Returns
updated multiplier value

Implemented in limbo::solvers::SubGradientDescent< T >.

template<typename T >
virtual void limbo::solvers::LagMultiplierUpdater< T >::operator() ( unsigned int  iter,
unsigned int  n,
value_type const *  vSlackness,
value_type const *  vLagMultiplier,
value_type vNewLagMultiplier 
)
pure virtual

API to update lagrangian multiplier using subgradient descent.

Parameters
itercurrent iteration
ndimension
vSlacknessarray of slackness
vLagMultiplierarray of lagrangian multipliers which will be updated
vNewLagMultiplierarray of new lagrangian multipliers

Implemented in limbo::solvers::SubGradientDescent< T >.


The documentation for this class was generated from the following file: