Limbo
|
Update lagrangian multiplier with subgradient descent. More...
#include <MultiKnapsackLagRelax.h>
Public Types | |
typedef LagMultiplierUpdater< T > | base_type |
base type | |
typedef base_type::value_type | value_type |
value type | |
![]() | |
typedef T | value_type |
value type | |
Public Member Functions | |
SubGradientDescent (value_type alpha=1, value_type beta=1) | |
constructor More... | |
SubGradientDescent (SubGradientDescent const &rhs) | |
copy constructor More... | |
SubGradientDescent & | operator= (SubGradientDescent const &rhs) |
assignment More... | |
~SubGradientDescent () | |
destructor | |
value_type | operator() (unsigned int iter, value_type multiplier, value_type slackness) |
API to update lagrangian multiplier using subgradient descent. More... | |
void | operator() (unsigned int iter, unsigned int n, value_type const *vSlackness, value_type const *vLagMultiplier, value_type *vNewLagMultiplier) |
API to update lagrangian multiplier using subgradient descent. More... | |
![]() | |
LagMultiplierUpdater () | |
constructor | |
virtual | ~LagMultiplierUpdater () |
destructor | |
Protected Member Functions | |
void | copy (SubGradientDescent const &rhs) |
copy object More... | |
void | computeScalingFactor (unsigned int iter) |
compute scaling factor More... | |
Protected Attributes | |
value_type | m_alpha |
power | |
value_type | m_beta |
constant | |
unsigned int | m_iter |
current iteration | |
value_type | m_scalingFactor |
scaling factor \( t_k = \beta \cdot k^{-\alpha} \) | |
Update lagrangian multiplier with subgradient descent.
T | coefficient value type |
Definition at line 25 of file MultiKnapsackLagRelax.h.
|
inline |
constructor
alpha | the power term for scaling factor \( t_k = \beta \cdot k^{-\alpha} \) |
beta | the constant |
Definition at line 973 of file MultiKnapsackLagRelax.h.
|
inline |
|
inlineprotected |
compute scaling factor
iter | current iteration |
Definition at line 1048 of file MultiKnapsackLagRelax.h.
|
inlineprotected |
|
inlinevirtual |
API to update lagrangian multiplier using subgradient descent.
iter | current iteration |
multiplier | current multiplier value |
slackness | current slackness value assuming the constraint is in \( Ax \le b \) and compute \( b-Ax \) |
Implements limbo::solvers::LagMultiplierUpdater< T >.
Definition at line 1008 of file MultiKnapsackLagRelax.h.
|
inlinevirtual |
API to update lagrangian multiplier using subgradient descent.
iter | current iteration |
n | dimension |
vSlackness | array of slackness |
vLagMultiplier | array of lagrangian multipliers |
vNewLagMultiplier | array of new lagrangian multipliers |
Implements limbo::solvers::LagMultiplierUpdater< T >.
Definition at line 1021 of file MultiKnapsackLagRelax.h.
|
inline |