Input:
   neighborhood structures , ;
  A stopping criterion;
(1) Initialization:
    findInitialSolution ();
(2) Repeat the following steps until the stopping criterion is met:
   (a) ;
  (b) Repeat the following steps until :
shaking x, t ;
localSearch ;
if then
;
;
else
;
Algorithm 1