Quadratic Constraint Attributes#

These are quadratic constraint attributes, meaning that they are associated with specific quadratic constraints in the model. You should use one of the various get routines to retrieve the value of an attribute. These are described at the beginning of this section. For the object-oriented interfaces, quadratic constraint attributes are retrieved by invoking the get method on a constraint object. For attributes that can be modified directly by the user, you can use one of the various set methods.

Attempting to query an attribute that is not available will produce an error. In C, the attribute query routine will return a DATA_NOT_AVAILABLE error code. The object-oriented interfaces will throw an exception.

QCSense#

  • Type: char

  • Modifiable: Yes

Quadratic constraint sense ('<', '>', or '=').

For examples of how to query or modify attributes, refer to our Attribute Examples.

QCRHS#

  • Type: double

  • Modifiable: Yes

Quadratic constraint right-hand side. Note that a less-than-or-equal constraint with a RHS value of 1e20 or larger, or a greater-than-or-equal constraint with RHS value of -1e20 or smaller, will be treated as always being satisfied. Equality constraints with very large RHS values can lead to numerical issues, so these should be avoided.

For examples of how to query or modify attributes, refer to our Attribute Examples.

QCName#

  • Type: string

  • Modifiable: Yes

Quadratic constraint name.

For examples of how to query or modify attributes, refer to our Attribute Examples.

QCPi#

  • Type: double

  • Modifiable: No

The constraint dual value in the current solution. Note that quadratic constraint dual values are only available when the QCPDual parameter is set to 1.

Only available for convex, continuous models.

For examples of how to query or modify attributes, refer to our Attribute Examples.

QCSlack#

  • Type: double

  • Modifiable: No

The constraint slack in the current solution.

For examples of how to query or modify attributes, refer to our Attribute Examples.

QCTag#

  • Type: string

  • Modifiable: Yes

Tag for quadratic constraints.

If you will be retrieving the solution to your model in JSON format, you might define a tag for every quadratic constraint that you plan to retrieve solution information for. Each quadratic constraint tag must be unique, and if any tag is used (variable tag, constraint tag, quadratic constraint tag) only tagged elements will appear in the JSON solution string. Tags must consist of printable US-ASCII characters. Using extended characters or escaped characters will result in an error. The maximum supported length for a tag is 10240 characters.

Note that quadratic constraint tags are only allowed for continuous models.

For examples of how to query or modify attributes, refer to our Attribute Examples.

IISQConstr#

  • Type: int

  • Modifiable: No

For an infeasible model, indicates whether the quadratic constraint participates in the computed Irreducible Inconsistent Subsystem (IIS). Only available after you have computed an IIS.

For examples of how to query or modify attributes, refer to our Attribute Examples.

IISQConstrForce#

  • Type: int

  • Modifiable: Yes

When computing an Irreducible Inconsistent Subsystem (IIS) for an infeasible model, indicates whether the quadratic constraint should be included or excluded from the IIS.

The default value of -1 lets the IIS algorithm decide.

If the attribute is set to 0, the constraint is not eligible for inclusion in the IIS.

If the attribute is set to 1, the constraint is included in the IIS and the IIS algorithm never considers the possibility of removing it.

Note that setting this attribute to 0 may make the resulting subsystem feasible (or consistent), which would then make it impossible to construct an IIS. Trying anyway will result in a IIS_NOT_INFEASIBLE error. Similarly, setting this attribute to 1 may result in an IIS that is not irreducible. More precisely, the system would only be irreducible with respect to the model elements that have force values of -1 or 0.

See the Model.computeIIS documentation for more details.

For examples of how to query or modify attributes, refer to our Attribute Examples.