From 2af0467eb79cd199a94c620a04ae5754a7e018b2 Mon Sep 17 00:00:00 2001 From: "lperron@google.com" Date: Thu, 14 Oct 2010 16:05:21 +0000 Subject: [PATCH] clean up steel_lns, added a few missing consts --- constraint_solver/constraint_solver.h | 30 +++++++++++++-------------- constraint_solver/local_search.cc | 6 +++--- python/steel_lns.py | 1 + 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/constraint_solver/constraint_solver.h b/constraint_solver/constraint_solver.h index 9b7c774ca9..bf11b7a1f3 100644 --- a/constraint_solver/constraint_solver.h +++ b/constraint_solver/constraint_solver.h @@ -1435,31 +1435,31 @@ class Solver { // Local Search Phase Parameters LocalSearchPhaseParameters* MakeLocalSearchPhaseParameters( - LocalSearchOperator* ls_operator, - DecisionBuilder* sub_decision_builder); + LocalSearchOperator* const ls_operator, + DecisionBuilder* const sub_decision_builder); LocalSearchPhaseParameters* MakeLocalSearchPhaseParameters( - LocalSearchOperator* ls_operator, - DecisionBuilder* sub_decision_builder, + LocalSearchOperator* const ls_operator, + DecisionBuilder* const sub_decision_builder, SearchLimit* const limit); LocalSearchPhaseParameters* MakeLocalSearchPhaseParameters( - LocalSearchOperator* ls_operator, - DecisionBuilder* sub_decision_builder, + LocalSearchOperator* const ls_operator, + DecisionBuilder* const sub_decision_builder, SearchLimit* const limit, const vector& filters); LocalSearchPhaseParameters* MakeLocalSearchPhaseParameters( SolutionPool* const pool, - LocalSearchOperator* ls_operator, - DecisionBuilder* sub_decision_builder); + LocalSearchOperator* const ls_operator, + DecisionBuilder* const sub_decision_builder); LocalSearchPhaseParameters* MakeLocalSearchPhaseParameters( SolutionPool* const pool, - LocalSearchOperator* ls_operator, - DecisionBuilder* sub_decision_builder, + LocalSearchOperator* const ls_operator, + DecisionBuilder* const sub_decision_builder, SearchLimit* const limit); LocalSearchPhaseParameters* MakeLocalSearchPhaseParameters( SolutionPool* const pool, - LocalSearchOperator* ls_operator, - DecisionBuilder* sub_decision_builder, + LocalSearchOperator* const ls_operator, + DecisionBuilder* const sub_decision_builder, SearchLimit* const limit, const vector& filters); @@ -1468,13 +1468,13 @@ class Solver { LocalSearchFilter* MakeLocalSearchObjectiveFilter( const IntVar* const* vars, int size, - IndexEvaluator2* values, + IndexEvaluator2* const values, const IntVar* const objective, Solver::LocalSearchFilterBound filter_enum, Solver::LocalSearchOperation op_enum); LocalSearchFilter* MakeLocalSearchObjectiveFilter( const vector& vars, - IndexEvaluator2* values, + IndexEvaluator2* const values, const IntVar* const objective, Solver::LocalSearchFilterBound filter_enum, Solver::LocalSearchOperation op_enum); @@ -1482,7 +1482,7 @@ class Solver { const IntVar* const* vars, const IntVar* const* secondary_vars, int size, - ResultCallback3* values, + ResultCallback3* const values, const IntVar* const objective, Solver::LocalSearchFilterBound filter_enum, Solver::LocalSearchOperation op_enum); diff --git a/constraint_solver/local_search.cc b/constraint_solver/local_search.cc index 42a758171d..8fce4f8f44 100644 --- a/constraint_solver/local_search.cc +++ b/constraint_solver/local_search.cc @@ -2223,7 +2223,7 @@ LSOperation* OperationFromEnum(Solver::LocalSearchOperation op_enum) { LocalSearchFilter* Solver::MakeLocalSearchObjectiveFilter( const IntVar* const* vars, int size, - Solver::IndexEvaluator2* values, + Solver::IndexEvaluator2* const values, const IntVar* const objective, Solver::LocalSearchFilterBound filter_enum, Solver::LocalSearchOperation op_enum) { @@ -2237,7 +2237,7 @@ LocalSearchFilter* Solver::MakeLocalSearchObjectiveFilter( LocalSearchFilter* Solver::MakeLocalSearchObjectiveFilter( const vector& vars, - Solver::IndexEvaluator2* values, + Solver::IndexEvaluator2* const values, const IntVar* const objective, Solver::LocalSearchFilterBound filter_enum, Solver::LocalSearchOperation op_enum) { @@ -2253,7 +2253,7 @@ LocalSearchFilter* Solver::MakeLocalSearchObjectiveFilter( const IntVar* const* vars, const IntVar* const* secondary_vars, int size, - Solver::IndexEvaluator3* values, + Solver::IndexEvaluator3* const values, const IntVar* const objective, Solver::LocalSearchFilterBound filter_enum, Solver::LocalSearchOperation op_enum) { diff --git a/python/steel_lns.py b/python/steel_lns.py index 3d1e56ff00..deec568dbc 100644 --- a/python/steel_lns.py +++ b/python/steel_lns.py @@ -200,6 +200,7 @@ def main(unused_argv): print 'initial cost =', first_solution.ObjectiveValue() # To search a fragment, we use a basic randomized decision builder. + # We can also use assign_db instead of inner_db. inner_db = solver.Phase(x, solver.CHOOSE_RANDOM, solver.ASSIGN_MIN_VALUE)