|
Limbo 3.5.4
|
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 | |
| virtual | ~FeasibleSearcher () |
| destructor | |
| virtual SolverProperty | operator() (updater_type *) |
| API to search for feasible solutions. | |
Protected Member Functions | |
| void | computeSlackness () |
| compute slackness in an iteration | |
| SolverProperty | solveSubproblems (updater_type *updater, unsigned int beginIter, unsigned int endIter) |
| kernel lagrangian iterations | |
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 1200 of file MultiKnapsackLagRelax.h.
| typedef model_type::coefficient_value_type limbo::solvers::FeasibleSearcher< T, V >::coefficient_value_type |
coefficient value type
Definition at line 1210 of file MultiKnapsackLagRelax.h.
| typedef model_type::constraint_type limbo::solvers::FeasibleSearcher< T, V >::constraint_type |
constraint type
Definition at line 1218 of file MultiKnapsackLagRelax.h.
| typedef model_type::expression_type limbo::solvers::FeasibleSearcher< T, V >::expression_type |
expression type
Definition at line 1216 of file MultiKnapsackLagRelax.h.
| typedef solver_type::matrix_type limbo::solvers::FeasibleSearcher< T, V >::matrix_type |
matrix type
Definition at line 1222 of file MultiKnapsackLagRelax.h.
| typedef LinearModel<T, V> limbo::solvers::FeasibleSearcher< T, V >::model_type |
model type
Definition at line 1204 of file MultiKnapsackLagRelax.h.
| typedef MultiKnapsackLagRelax<T, V> limbo::solvers::FeasibleSearcher< T, V >::solver_type |
solver type
Definition at line 1206 of file MultiKnapsackLagRelax.h.
| typedef model_type::term_type limbo::solvers::FeasibleSearcher< T, V >::term_type |
term type
Definition at line 1220 of file MultiKnapsackLagRelax.h.
| typedef solver_type::updater_type limbo::solvers::FeasibleSearcher< T, V >::updater_type |
updater type for lagrangian multipliers
Definition at line 1208 of file MultiKnapsackLagRelax.h.
| typedef model_type::variable_type limbo::solvers::FeasibleSearcher< T, V >::variable_type |
variable type
Definition at line 1214 of file MultiKnapsackLagRelax.h.
| typedef model_type::variable_value_type limbo::solvers::FeasibleSearcher< T, V >::variable_value_type |
variable value type
Definition at line 1212 of file MultiKnapsackLagRelax.h.
|
inline |
constructor
| solver | problem solver |
Definition at line 1226 of file MultiKnapsackLagRelax.h.
|
inlinevirtual |
destructor
Definition at line 1249 of file MultiKnapsackLagRelax.h.
|
inlineprotected |
compute slackness in an iteration
Definition at line 1259 of file MultiKnapsackLagRelax.h.
|
inlinevirtual |
API to search for feasible solutions.
param updater updater for lagrangian multipliers
Reimplemented in limbo::solvers::SearchByAdjustCoefficient< T, V >, limbo::solvers::SearchByAdjustCoefficient< coefficient_value_type, variable_value_type >, limbo::solvers::SearchByBinSmoothing< T, V >, limbo::solvers::SearchByBinSmoothing< coefficient_value_type, variable_value_type >, and limbo::solvers::SearchByCombinedStrategy< T, V >.
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.
|
protected |
best objective found so far
Definition at line 1293 of file MultiKnapsackLagRelax.h.
|
protected |
constraint matrix \(A\)
Definition at line 1276 of file MultiKnapsackLagRelax.h.
|
protected |
current iteration
Definition at line 1288 of file MultiKnapsackLagRelax.h.
|
protected |
current objective of the lagrangian subproblem
Definition at line 1287 of file MultiKnapsackLagRelax.h.
|
protected |
maximum number of iterations
Definition at line 1289 of file MultiKnapsackLagRelax.h.
|
protected |
model for the problem
Definition at line 1273 of file MultiKnapsackLagRelax.h.
|
protected |
number of groups
Definition at line 1281 of file MultiKnapsackLagRelax.h.
|
protected |
constant value in objective from lagrangian relaxation
Definition at line 1286 of file MultiKnapsackLagRelax.h.
|
protected |
problem solver
Definition at line 1272 of file MultiKnapsackLagRelax.h.
|
protected |
whether use initial solutions or not
Definition at line 1290 of file MultiKnapsackLagRelax.h.
|
protected |
best feasible solution found so far
Definition at line 1292 of file MultiKnapsackLagRelax.h.
|
protected |
indices of constraints, the first partition is capacity constraints
Definition at line 1282 of file MultiKnapsackLagRelax.h.
|
protected |
constraint right hand side \(b\)
Definition at line 1277 of file MultiKnapsackLagRelax.h.
|
protected |
array of grouped variables according to item
Definition at line 1279 of file MultiKnapsackLagRelax.h.
|
protected |
array of lagrangian multipliers
Definition at line 1283 of file MultiKnapsackLagRelax.h.
|
protected |
coefficients variables in objective
Definition at line 1275 of file MultiKnapsackLagRelax.h.
|
protected |
scaling factor for constraints and objective, last entry is for objective
Definition at line 1285 of file MultiKnapsackLagRelax.h.
|
protected |
array of slackness values in each iteration, \( b-Ax \)
Definition at line 1284 of file MultiKnapsackLagRelax.h.
|
protected |
begin index of grouped variable
Definition at line 1280 of file MultiKnapsackLagRelax.h.