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

Heuristic to search for feasible solutions by combined strategies. More...

#include <MultiKnapsackLagRelax.h>

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

Public Types

typedef FeasibleSearcher< T, V > base_type
 base type
 
typedef base_type::model_type model_type
 model type
 
typedef base_type::solver_type 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
 
- Public Types inherited from limbo::solvers::FeasibleSearcher< T, V >
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

 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...
 
- Public Member Functions inherited from limbo::solvers::FeasibleSearcher< T, V >
 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
 
- Protected Attributes inherited from limbo::solvers::FeasibleSearcher< T, V >
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
 

Additional Inherited Members

- Protected Member Functions inherited from limbo::solvers::FeasibleSearcher< T, V >
void computeSlackness ()
 compute slackness in an iteration
 
SolverProperty solveSubproblems (updater_type *updater, unsigned int beginIter, unsigned int endIter)
 kernel lagrangian iterations More...
 

Detailed Description

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

Heuristic to search for feasible solutions by combined strategies.

Template Parameters
Tcoefficient value type
Vvariable value type

Definition at line 1725 of file MultiKnapsackLagRelax.h.

Constructor & Destructor Documentation

template<typename T , typename V >
limbo::solvers::SearchByCombinedStrategy< T, V >::SearchByCombinedStrategy ( solver_type solver,
coefficient_value_type  convergeRatio = 0.1 
)
inline

constructor

Parameters
solverproblem solver
convergeRatioratio of convergence for limbo::solvers::SearchByAdjustCoefficient

Definition at line 1752 of file MultiKnapsackLagRelax.h.

Member Function Documentation

template<typename T , typename V >
virtual SolverProperty limbo::solvers::SearchByCombinedStrategy< T, V >::operator() ( updater_type updater)
inlinevirtual

API to search for feasible solutions.

Parameters
updaterupdater for lagrangian multipliers
Returns
solving status

Reimplemented from limbo::solvers::FeasibleSearcher< T, V >.

Definition at line 1764 of file MultiKnapsackLagRelax.h.


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