Solves the unconstrained minimization problem for an arbitrary nonlinear function. You must manually select the polymorphic instance to use.


icon

Inputs/Outputs

  • cfxdt.png function data

    function data contains static data that the user-defined function needs at run time.

  • csvrn.png objective function

    objective function is a reference to the VI that implements the function to optimize.

    Create this VI by starting from the VI template located at labview\vi.lib\gmath\NumericalOptimization\ucno_objective function template.vit.

  • c1ddbl.png start

    start is a point in n dimension at which the optimization process starts.

  • cnclst.png stopping criteria

    stopping criteria is the collection of conditions that terminate the optimization. If (function tolerance AND parameter tolerance AND gradient tolerance) OR max iterations OR max function calls then optimization terminates.

  • cdbl.png function tolerance

    function tolerance is the relative change in function value and is defined as abs(current f – prev f)/(abs(curr f)+machine eps). If the relative change in the function value falls below function tolerance, the optimization terminates.

  • cdbl.png parameter tolerance

    parameter tolerance is the relative change in parameter values and is defined as abs(current p – prev p)/(abs(curr p)+machine eps). If the relative change of all the parameter values falls below parameters tolerance, the optimization terminates.

  • ci32.png max iterations

    max iterations is the largest number of iterations of the major loop of the optimization. If the number of major loop iterations exceeds max iterations, the optimization terminates.

  • ci32.png max function calls

    max function calls is the largest number of objective function calls allowed before terminating the optimization process.

  • cdbl.png gradient tolerance

    gradient tolerance is the 2–norm of the gradient. If the 2–norm of the gradient falls below gradient tolerance, the optimization terminates.

  • cdbl.png max time (sec)

    max time (sec) is the maximum amount of time LabVIEW allows between the start and the end of the optimization process. The default is –1. –1 indicates never to time out.

  • cerrcodeclst.png error in (no error)

    error in describes error conditions that occur before this node runs. This input provides standard error in functionality.

  • i1ddbl.png minimum

    minimum is the determined local minimum in n dimension.

  • idbl.png f(minimum)

    f(minimum) is the function value of f(X) at the determined minimum.

  • ii32.png number of function evaluations

    number of function evaluations is the number of times the objective function was called in the optimization process.

  • ierrcodeclst.png error out

    error out contains error information. This output provides standard error out functionality.

  • For functions that are smooth and have first and second derivatives defined, the Broyden Quasi-Newton algorithm typically converges the fastest. If you experience problems with convergence of the Broyden Quasi-Newton algorithm, the Conjugate Gradient algorithm might be able to solve the problem. The Downhill Simplex algorithm relies only on function evaluations and often is able to find a solution when the function is not smooth and the other algorithms fail to converge.

    Examples

    Refer to the following example files included with LabVIEW.

    • labview\examples\Mathematics\Optimization\Optimize Extended Rosenbrock.vi