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.