An improved self-adaptive hexagon-based search algorithm