Over the last few decades, a number of differential evolution (DE) algorithms have been proposed with excellent performance on mathematical benchmarks. However, like any other optimization algorithm, the success of DE is highly dependent on the search operators and control parameters that are often decided a priori. The selection of the parameter values is itself a combinatorial optimization problem. Although a considerable number of investigations have been conducted with regards to parameter selection, it is known to be a tedious task. In this paper, a DE algorithm is proposed that uses a new mechanism to dynamically select the best performing combinations of parameters (amplification factor, crossover rate, and the population size) for a problem during the course of a single run. The performance of the algorithm is judged by solving three well known sets of optimization test problems (two constrained and one unconstrained). The results demonstrate that the proposed algorithm not only saves the computational time, but also shows better performance over the state-of-the-art algorithms. The proposed mechanism can easily be applied to other population-based algorithms.