In this paper we propose a novel evolutionary algorithm that is able to adaptively separate the explored and unexplored areas to facilitate detecting changes and tracking the moving optima. The algorithm divides the search space into multiple regions, each covers one basin of attraction in the search space and tracks the corresponding moving optimum. A simple mechanism was used to estimate the basin of attraction for each found optimum, and a special data structure named KD-Tree was used to memorise the searched areas to speed up the search process. Experimental results show that the algorithm is competitive, especially against those that consider change detection an important task in dynamic optimisation. Compared to existing multi-population algorithms, the new algorithm also offers less computational complexity in term of identifying the appropriate sub-population/region for each individual.