Binary Firefly algorithm for the set covering problem