NAG CPP Interface
handle_init initializes a data structure for the NAG optimization modelling suite for problems such as, Linear Programming (LP), Quadratic Programming (QP), Nonlinear Programming (NLP), Least Squares (LSQ) problems, Second-order Cone Programming (SOCP), linear Semidefinite Programming (SDP) and Semidefinite Programming with Bilinear Matrix Inequalities (BMI-SDP).
template <typename COMM>
void function handle_init(COMM &comm, const types::f77_integer nvar, OptionalE04RA opt)
template <typename COMM>
void function handle_init(COMM &comm, const types::f77_integer nvar)
initializes an empty problem, adds
, and returns a handle to the data structure. Note that further variables may be added to the problem later by e04taf (no CPP interface)
and it is also possible to temporarily disable and enable individual variables in the model by e04tcf (no CPP interface)
and e04tbf (no CPP interface)
, respectively. This handle may then be passed to some of the functions of the suite to formulate the problem (define or edit the variables, the objective function and constraints). Once the problem is fully defined, the handle may be passed to a suitable solver from the suite (e04fff (no CPP interface)
, e04ggf (no CPP interface)
, e04jdf (no CPP interface)
, e04jef (no CPP interface)
and e04svf (no CPP interface)
). Afterwards, the problem may be further modified or passed to another solver of the suite. The handle must not
be changed between calls to the functions of the suite. When the handle is no longer needed, handle_free
must be called to destroy it and deallocate all the allocated memory and data within. See Section 3.1
in the E04
Chapter Introduction for more details about the NAG optimization modelling suite.
On entry: , the initial number of decision variables defining the problem.
Optional parameter container, derived from Optional
Exceptions and Warnings
Errors or warnings detected by the function:
All errors and warnings have an associated numeric error code field, errorid
, stored either as a member of the thrown exception object (see errorid
), or as a member of
, depending on how errors
and warnings are being handled (see Error Handling
for more details).
- Raises: ErrorException
- On entry, .
- On entry, the communication class has not been initialized correctly.
- An unexpected error has been triggered by this routine.
- Your licence key may have expired or may not have been installed correctly.
- Dynamic memory allocation failed.
Parallelism and Performance
Please see the description for the underlying computational routine in this section of the
FL Interface documentation
Examples for the NAG CPP Interface are not currently available.