Dynamic Programming Based Rapid Energy Management of Hybrid Electric Vehicles with Constraints on Smooth Driving, Battery State-of-Charge and Battery State-of-Health