|
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 | |
Public Types inherited from limbo::solvers::LagMultiplierUpdater< T > | |
| 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... | |
Public Member Functions inherited from limbo::solvers::LagMultiplierUpdater< T > | |
| 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 |
1.8.8