Last Modified: June 25, 2019

Solves the quadratic programming problem using the interior point method.

Coefficients of the quadratic and linear terms of the objective function 0.5*x* * **Q** * *x* + **c** * *x*.

Quadratic term, in the form of a matrix, of the objective function.

Linear term, in the form of a vector, of the objective function.

Values of the variables at which the optimization starts.

Upper and lower numeric limits for the parameters being optimized.

Smallest allowed values of the parameters being optimized.

This input must be empty or the same size as **start**. This input must be the same size as **maximum**. This input does not allow exceptional values, such as Inf, -Inf, or NaN.

Greatest allowed values of the parameters being optimized.

This input must be empty or the same size as **start**. This input must be the same size as **minimum**. This input does not allow exceptional values, such as Inf, -Inf, or NaN.

Components of the linear equality constraint equation **A** * *x* = **b**.

Matrix term of the linear equality constraint equation.

Vector term of the linear equality constraint equation.

Components of the linear inequality constraint **minimum** ≤ **D** * *x* ≤ **maximum**.

Matrix term of the linear inequality constraint.

Smallest allowed value of the linear inequality constraint.

Greatest allowed value of the linear inequality constraint.

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Many nodes provide an **error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Default: **No error

Conditions that terminate the optimization.

This node terminates the optimization if this node reaches all the tolerance thresholds or passes any of the maximum thresholds.

Minimum relative change in function values between two internal iterations.

Definition of Relative Change in Function Values

The relative change in function values between two internal iterations is defined as follows:

$\frac{\mathrm{abs}({f}_{n}-{f}_{n-1})}{\mathrm{abs}\left({f}_{n}\right)+\epsilon}$

where

*f*_{n}is the function value of the current iteration*f*_{n - 1}is the function value of the previous iteration- ε is the machine epsilon

**Default: **1E-08

Minimum relative change in parameter values between two internal iterations.

Definition of Relative Change in Parameter Values

The relative change in parameter values between two internal iterations is defined as follows:

$\frac{\mathrm{abs}({P}_{n}-{P}_{n-1})}{\mathrm{abs}\left({P}_{n}\right)+\epsilon}$

where

*P*_{n}is the parameter value of the current iteration*P*_{n - 1}is the parameter value of the previous iteration- ε is the machine epsilon

**Default: **1E+06

Minimum 2-norm of the gradient.

**Default: **1E+06

Maximum number of iterations that the node runs in the optimization.

**Default: **10000

Maximum number of calls to the objective function allowed in the optimization.

**Default: **10000

Maximum amount of time in seconds allowed for the optimization.

**Default: ** -1 — The optimization never times out.

Values of the variables where the objective function has the local minimum.

Value of the objective function at **minimum**.

Coefficients of the Lagrangian function that correspond to the equality and inequality constraints.

If the objective function has three equality constraints and two inequality constraints, the first three Lagrangian multipliers correspond to the equality constraints, and the last two Lagrangian multipliers correspond to the inequality constraints.

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

**error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported

Web Server: Not supported in VIs that run in a web application