Analyzing and Improving Differential Evolution