Differential evolution with controlled search direction