Analysing the performance of different population structures for an agent-based evolutionary algorithm