Shuffled frog leaping algorithm