Run Optimization

The Run

Optimization button

begins the optimization process and the fit calculation based on your current selections. The default optimization method (Gauss-Newton) performs a version of the steepest-descent algorithm on the system. This means it assembles a matrix that is 6 (unknowns) x N (number of points), inverts it and determines move directions. Though quick for reasonable data sets, it can take a long time when using a large set of points depending on the amount of RAM on the computer.

The optimization continues until the stopping tolerance is reached, which is the amount that the objective function (RMS error) must repeat by in order to indicate a minima has been reached. This tolerance can be controlled from the Units tab of the User Options.

         Optimization Methods       

A selection of optimization methods are available to ensure that you can use the best solution possible for your particular application.

Gauss-Newton

In SA version 2023.2 additional optimization methods were added and the default Run Optimization option was more clearly identified as the Gauss-Newton method which is a well-known solution for solving non-linear least squares problems. This solution is typically the fastest to solve and produces an excellent solution in most scenarios where the solution space is not too complex.

 Levenberg-Marquardt

This optimization method helps to avoid solution problems that can arise in difficult fit scenarios. It interpolates between the default Gauss-Newton algorithm and the method of gradient descent to provide a more robust solution without greatly increasing the solution time.

Gauss-Newton /w Gradient Search

This selection combines a Gauss-Newton solution with an exit strategy. After a fit is completed, a gradient search is triggered which can also bypass sticking points such as local minima in an ill-conditioned solution space. The gradient search can be slow to solve, taking many iterations but as a safeguard it can ensure a good solution is found.

Direct Search

This optimization provides a powerful method for searching the solution space. It is also required when using the toleranced best-fitting options (in the advanced area) since they introduce non-linearities into the solution space. This method basically steps in a direction, evaluates the fit, then steps in another direction, etc. There is a lot of advanced logic built into the search, but at the core, it is a searching method. The advantage is that it does not have to assemble a large partials matrix and invert it. This means that it can effectively deal with huge point sets. The disadvantage is that since it is trying to exhaustively search, it can sometimes take a long time to complete. At any time during the fit, however, you can cancel the operation and use the current location. To use this mode, you set step sizes. They are set as a ratio of the position and angular perturbation values in the SA units options page. The step size starts at the starting value then decays when it detects no improvement in any direction. Once it decays to the Ending step size, a minimum is reached.