Optimization algorithm used to find the minimum of a function by iteratively moving towards the steepest descent direction.
Generality: 870