A metaheuristic algorithm framework for solving discrete optimization problems