Improve neighborhood quality.
Merge branch 'neighbor'

Merge version used in the experiment evaluation.
It's lack of annotation and the code need to be refactored later.