Targeting to use Levenberg Marquardt
Currently, the targeter (differential corrector) uses a gradient descent method. This works, but it's slow. An optimization crate provides the LM algorithm out of the box: https://crates.io/crates/levenberg_marquardt .
-
Create a targeting instance, similar to PropInstance
-
Update framework to allow for quick switching between Levenberg and Newton Gauss -
Update targeting documentation and test cases -
Consider whether to keep gradient descent for posterity, comparison, and verification of targeting method.
NOTE: This will likely cause breaking changes in the Targeting API.
Edited by Christopher Rabotin