added the Firefly algorithm