Limbo
|
Heuristic to search for feasible solutions by combined strategies. More...
#include <MultiKnapsackLagRelax.h>
Public Member Functions | |
SearchByCombinedStrategy (solver_type *solver, coefficient_value_type convergeRatio=0.1) | |
constructor More... | |
~SearchByCombinedStrategy () | |
destructor | |
virtual SolverProperty | operator() (updater_type *updater) |
API to search for feasible solutions. More... | |
![]() | |
FeasibleSearcher (solver_type *solver) | |
constructor More... | |
virtual | ~FeasibleSearcher () |
destructor | |
Protected Attributes | |
SearchByAdjustCoefficient < coefficient_value_type, variable_value_type > | m_searcherCoeff |
search by adjusting coefficient | |
SearchByBinSmoothing < coefficient_value_type, variable_value_type > | m_searcherSmoothing |
search by smoothing dense bins | |
![]() | |
solver_type * | m_solver |
problem solver | |
model_type *const & | m_model |
model for the problem | |
coefficient_value_type *& | m_vObjCoef |
coefficients variables in objective | |
matrix_type const & | m_constrMatrix |
constraint matrix \(A\) | |
coefficient_value_type *const & | m_vConstrRhs |
constraint right hand side \(b\) | |
variable_type *const & | m_vGroupedVariable |
array of grouped variables according to item | |
unsigned int *const & | m_vVariableGroupBeginIndex |
begin index of grouped variable | |
unsigned int const & | m_numGroups |
number of groups | |
std::vector< unsigned int > const & | m_vConstraintPartition |
indices of constraints, the first partition is capacity constraints | |
coefficient_value_type *& | m_vLagMultiplier |
array of lagrangian multipliers | |
coefficient_value_type *& | m_vSlackness |
array of slackness values in each iteration, \( b-Ax \) | |
std::vector < coefficient_value_type > const & | m_vScalingFactor |
scaling factor for constraints and objective, last entry is for objective | |
coefficient_value_type & | m_objConstant |
constant value in objective from lagrangian relaxation | |
coefficient_value_type & | m_lagObj |
current objective of the lagrangian subproblem | |
unsigned int & | m_iter |
current iteration | |
unsigned int & | m_maxIters |
maximum number of iterations | |
bool & | m_useInitialSol |
whether use initial solutions or not | |
std::vector < variable_value_type > & | m_vBestVariableSol |
best feasible solution found so far | |
coefficient_value_type & | m_bestObj |
best objective found so far | |
Additional Inherited Members | |
![]() | |
void | computeSlackness () |
compute slackness in an iteration | |
SolverProperty | solveSubproblems (updater_type *updater, unsigned int beginIter, unsigned int endIter) |
kernel lagrangian iterations More... | |
Heuristic to search for feasible solutions by combined strategies.
T | coefficient value type |
V | variable value type |
Definition at line 1725 of file MultiKnapsackLagRelax.h.
|
inline |
constructor
solver | problem solver |
convergeRatio | ratio of convergence for limbo::solvers::SearchByAdjustCoefficient |
Definition at line 1752 of file MultiKnapsackLagRelax.h.
|
inlinevirtual |
API to search for feasible solutions.
updater | updater for lagrangian multipliers |
Reimplemented from limbo::solvers::FeasibleSearcher< T, V >.
Definition at line 1764 of file MultiKnapsackLagRelax.h.