Nonlinear Constraint Attributes#
These are nonlinear constraint attributes, meaning that they are
associated with specific nonlinear 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 the
Attribute Examples section. For the object-oriented interfaces,
nonlinear 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.
NLCSense#
Type:
charModifiable:
Yes
Nonlinear constraint sense ('<', '>', or '=').
For examples of how to query or modify attributes, refer to our Attribute Examples.
NLCRHS#
Type:
doubleModifiable:
Yes
Nonlinear constraint right-hand side.
For examples of how to query or modify attributes, refer to our Attribute Examples.
NLCName#
Type:
stringModifiable:
Yes
Nonlinear constraint name.
For examples of how to query or modify attributes, refer to our Attribute Examples.
NLCSlack#
Type:
doubleModifiable:
No
The constraint slack in the current solution.
For examples of how to query or modify attributes, refer to our Attribute Examples.
NLCTag#
Type:
stringModifiable:
Yes
Tag for nonlinear constraints.
If you will be retrieving the solution to your model in JSON format, you might define a tag for every nonlinear constraint that you plan to retrieve solution information for. Each nonlinear 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.
For examples of how to query or modify attributes, refer to our Attribute Examples.
IISNLConstr#
Type:
intModifiable:
No
For an infeasible model, indicates whether the nonlinear 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.
IISNLConstrForce#
Type:
intModifiable:
Yes
When computing an Irreducible Inconsistent Subsystem (IIS) for an infeasible model, indicates whether the nonlinear 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.
Note that deleting nonlinear constraints from your model will cause this and possibly other attributes to be discarded. If you’d like them to persist, your program will need to repopulate them after deleting the nonlinear constraints and making a subsequent model update call. See Attributes discarded when modeling objects are deleted for details.
For examples of how to query or modify attributes, refer to our Attribute Examples.