Limbo
|
Base heuristic to search for feasible solutions. More...
#include <MultiKnapsackLagRelax.h>
Public Types | |
typedef LinearModel< T, V > | model_type |
model type | |
typedef MultiKnapsackLagRelax < T, V > | solver_type |
solver type | |
typedef solver_type::updater_type | updater_type |
updater type for lagrangian multipliers | |
typedef model_type::coefficient_value_type | coefficient_value_type |
coefficient value type | |
typedef model_type::variable_value_type | variable_value_type |
variable value type | |
typedef model_type::variable_type | variable_type |
variable type | |
typedef model_type::expression_type | expression_type |
expression type | |
typedef model_type::constraint_type | constraint_type |
constraint type | |
typedef model_type::term_type | term_type |
term type | |
typedef solver_type::matrix_type | matrix_type |
matrix type | |
Public Member Functions | |
FeasibleSearcher (solver_type *solver) | |
constructor More... | |
virtual | ~FeasibleSearcher () |
destructor | |
virtual SolverProperty | operator() (updater_type *) |
API to search for feasible solutions. More... | |
Protected Member Functions | |
void | computeSlackness () |
compute slackness in an iteration | |
SolverProperty | solveSubproblems (updater_type *updater, unsigned int beginIter, unsigned int endIter) |
kernel lagrangian iterations More... | |
Protected Attributes | |
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 | |
Base heuristic to search for feasible solutions.
T | coefficient value type |
V | variable value type |
Definition at line 31 of file MultiKnapsackLagRelax.h.
|
inline |
constructor
solver | problem solver |
Definition at line 1226 of file MultiKnapsackLagRelax.h.
|
inlinevirtual |
API to search for feasible solutions.
param updater updater for lagrangian multipliers
Reimplemented in limbo::solvers::SearchByCombinedStrategy< T, V >, limbo::solvers::SearchByBinSmoothing< T, V >, limbo::solvers::SearchByBinSmoothing< coefficient_value_type, variable_value_type >, limbo::solvers::SearchByAdjustCoefficient< T, V >, and limbo::solvers::SearchByAdjustCoefficient< coefficient_value_type, variable_value_type >.
Definition at line 1255 of file MultiKnapsackLagRelax.h.
|
inlineprotected |
kernel lagrangian iterations
updater | an object to update lagrangian multipliers |
beginIter | begin iteration number |
endIter | end iteration number |
Definition at line 1267 of file MultiKnapsackLagRelax.h.