Limbo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
limbo::solvers::FeasibleSearcher< T, V > Class Template Reference

Base heuristic to search for feasible solutions. More...

#include <MultiKnapsackLagRelax.h>

Inheritance diagram for limbo::solvers::FeasibleSearcher< T, V >:
limbo::solvers::SearchByAdjustCoefficient< T, V > limbo::solvers::SearchByCombinedStrategy< T, V > limbo::solvers::SearchByBinSmoothing< T, V >

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_typem_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_typem_objConstant
 constant value in objective from lagrangian relaxation
 
coefficient_value_typem_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_typem_bestObj
 best objective found so far
 

Detailed Description

template<typename T, typename V>
class limbo::solvers::FeasibleSearcher< T, V >

Base heuristic to search for feasible solutions.

Template Parameters
Tcoefficient value type
Vvariable value type

Definition at line 31 of file MultiKnapsackLagRelax.h.

Constructor & Destructor Documentation

template<typename T, typename V>
limbo::solvers::FeasibleSearcher< T, V >::FeasibleSearcher ( solver_type solver)
inline

constructor

Parameters
solverproblem solver

Definition at line 1226 of file MultiKnapsackLagRelax.h.

Member Function Documentation

template<typename T, typename V>
virtual SolverProperty limbo::solvers::FeasibleSearcher< T, V >::operator() ( updater_type )
inlinevirtual
template<typename T, typename V>
SolverProperty limbo::solvers::FeasibleSearcher< T, V >::solveSubproblems ( updater_type updater,
unsigned int  beginIter,
unsigned int  endIter 
)
inlineprotected

kernel lagrangian iterations

Parameters
updateran object to update lagrangian multipliers
beginIterbegin iteration number
endIterend iteration number

Definition at line 1267 of file MultiKnapsackLagRelax.h.


The documentation for this class was generated from the following file: