Abstract

Solving nonlinear equations systems (NESs) is one of the most important tasks in numerical computation. It is common that most NESs contain more than one root. Generally, these roots are equally important. Therefore, locating as many of these roots as possible is extremely useful; however, it is a difficult task. Recently, the use of evolutionary algorithms (EAs) for NESs has been given more consideration. There are several issues that need to be considered when applying EAs to solve NESs: (1) How to guide the population towards multiple roots, (2) how to tackle individuals which trip into local optimum, and (3) how to minimize replacement errors. In this paper, we deal with the first issue by introducing a one-step k-means clustering method combined with niching. In this way, individuals will search for different roots in their respective directions. For the second issue, we propose two methods to form species, the goal of which is to promote individuals to get rid of local optima. Finally, different crowding factors are adopted to reduce replacement errors. By assembling these improvements, a one-step k-means clustering based differential evolution, namely KSDE, is proposed. To evaluate the effectiveness of the proposal, we use 30 NES problems from the literature as the test suite. Experimental results demonstrate KSDE has great potential to locate multiple roots in a single run. Furthermore, according to the evaluation criteria, KSDE shows better performance compared with other state-of-the-art methods.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call