After the
handle has been initialized (e.g.,
e04rac has been called),
e04rbc may be used to edit a model by adding, replacing, or deleting a cone constraint
of dimension
. The supported cones are quadratic cone and rotated quadratic cone, also known as second-order cones, which are defined as follows:
-
•Quadratic cone:
-
•Rotated quadratic cone:
The cone constraint is defined by its type and a subset (group) of variables. Let index set denote variable indices, then will denote the subvector of variables .
For example, if
and
, then a quadratic cone constraint
implies the inequality constraints
Typically, this function will be used to build Second-order Cone Programming (SOCP) problems which might be formulated in the following way:
where
is either a quadratic cone or a rotated quadratic cone of dimension
.
e04rbc can be called repeatedly to add, replace or delete one cone constraint at a time. Note that it is also possible to temporarily disable and enable individual cone constraints in the model by calling
e04tcc and
e04tbc, respectively. See
Section 4.1 in the
E04 Chapter Introduction for more details about the NAG optimization modelling suite.
None.
- NE_ALLOC_FAIL
-
Dynamic memory allocation failed.
See
Section 3.1.2 in the Introduction to the NAG Library CL Interface for further information.
- NE_BAD_PARAM
-
On entry, argument had an illegal value.
- NE_HANDLE
-
The supplied
handle does not define a valid handle to the data structure for the NAG optimization modelling suite. It has not been properly initialized or it has been corrupted.
- NE_INDICES
-
On entry, , and .
Constraint: .
- NE_INT
-
On entry, .
Constraint: .
On entry, .
Constraint: .
- NE_INTERNAL_ERROR
-
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact
NAG for assistance.
See
Section 7.5 in the Introduction to the NAG Library CL Interface for further information.
- NE_NO_LICENCE
-
Your licence key may have expired or may not have been installed correctly.
See
Section 8 in the Introduction to the NAG Library CL Interface for further information.
- NE_PHASE
-
The problem cannot be modified right now, the solver is running.
- NE_REF_MATCH
-
On entry,
.
The given
idgroup does not match with any cone constraint already defined.
- NE_REPEAT_CONEVAR_SM
-
On entry,
for
and
.
Constraint: elements in
group cannot repeat.
- NE_STANDARD_ERRORS
-
On entry, and .
Constraint: if or , or .
On entry, and .
Constraint: if or , or .
- NE_STR_UNKNOWN
-
On entry, .
Constraint: , , or .
Not applicable.
Background information to multithreading can be found in the
Multithreading documentation.
Internal changes have been made to this function as follows:
- At Mark 27.1: Previously, it was not possible to define a variable as part of two different cones. These limitations have been removed and the associated error codes were removed.
For details of all known issues which have been reported for the NAG Library please refer to the
Known Issues.