A Dynamic Multi-Armed Bandit-Gene Expression Programming Hyper-Heuristic for Combinatorial Optimization Problems