An Improved Differential Evolution Heuristic for Nonlinear Programming Problems