Hybrid Firefly-Genetic Algorithm for Single and Multi-dimensional 0-1 Knapsack Problems