|
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.
1.8.8