Research Article
Consistent Neighborhood Search for Combinatorial Optimization
Initialization: generate an initial solution , set and ; | While a stopping time condition is not met and , do | β1. initialize the value of the best move: set ; | β2. generate the best move: for each non assigned variable and each value , test move on as follows: | β β(a) assignment phase: give value to variable and compute the associated set of conflicting variables; | β β(b) reassignment phase (optional): for each variable of , if it is possible to assign another admissible value to | ββ without augmenting the number of violations, do it and remove from ; | β β(c) let be the so obtained candidate neighbor solution (which might be non feasible at this stage); | β β(d) update the best candidate move: if , set and ; | β3. repairing phase on the best move: remove the value of the conflicting variables of and let be the | ββresulting new current solution; | β4. update the record: if , set and | Output: solution (which is a complete feasible solution if ); |
|