The Levenberg-Marquardt Algorithm