NAG FL Interface
e05jdf (bnd_​mcs_​optset_​string)

1 Purpose

e05jdf may be used to supply individual optional parameters to e05jbf. The initialization routine e05jaf must have been called before calling e05jdf.

2 Specification

Fortran Interface
Subroutine e05jdf ( optstr, comm, lcomm, ifail)
Integer, Intent (In) :: lcomm
Integer, Intent (Inout) :: ifail
Real (Kind=nag_wp), Intent (Inout) :: comm(lcomm)
Character (*), Intent (In) :: optstr
C Header Interface
#include <nag.h>
void  e05jdf_ (const char *optstr, double comm[], const Integer *lcomm, Integer *ifail, const Charlen length_optstr)
The routine may be called by the names e05jdf or nagf_glopt_bnd_mcs_optset_string.

3 Description

e05jdf may be used to supply values for optional parameters to e05jbf. It is only necessary to call e05jdf for those arguments whose values are to be different from their default values. One call to e05jdf sets one argument value.
Each optional parameter is defined by a single character string, of up to 72 characters, consisting of one or more items. The items associated with a given optional parameter must be separated by spaces, or equals signs =. Alphabetic characters may be upper or lower case. The string
Static Limit = 100
is an example of a string used to set an optional parameter. For each optional parameter the string contains one or more of the following items:
For e05jdf, each user-specified optional parameter is not normally printed as it is defined, but this printing may be turned on using the keyword List. Thus the statement
Call e05jdf ('List', comm, lcomm, ifail)
turns on printing of this and subsequent options. Printing may be turned off again using the keyword Nolist.
Optional parameter settings are preserved following a call to e05jbf and so the keyword Defaults is provided to allow you to reset all the optional parameters to their default values before a subsequent call to e05jbf.
A complete list of optional parameters, their symbolic names and default values is given in Section 12 in e05jbf.

4 References

None.

5 Arguments

1: optstr Character(*) Input
On entry: a string defining a single optional parameter (as described in Section 3 and in Section 12 in e05jbf). The implied data type (character, integer or real) of each value to set must match that expected by the optional parameter.
2: commlcomm Real (Kind=nag_wp) array Communication Array
On exit: comm must not be altered between calls to any of the routines e05jbf, e05jcf, e05jdf, e05jef, e05jff, e05jgf, e05jhf, e05jjf, e05jkf and e05jlf.
3: lcomm Integer Input
On entry: the dimension of the array comm as declared in the (sub)program from which e05jdf is called.
Constraint: lcomm100.
4: ifail Integer Input/Output
On entry: ifail must be set to 0, -1 or 1 to set behaviour on detection of an error; these values have no effect when no error is detected.
A value of 0 causes the printing of an error message and program execution will be halted; otherwise program execution continues. A value of -1 means that an error message is printed while a value of 1 means that it is not.
If halting is not appropriate, the value -1 or 1 is recommended. If message printing is undesirable, then the value 1 is recommended. Otherwise, the value 0 is recommended. When the value -1 or 1 is used it is essential to test the value of ifail on exit.
On exit: ifail=0 unless the routine detects an error or a warning has been flagged (see Section 6).

6 Error Indicators and Warnings

If on entry ifail=0 or -1, explanatory error messages are output on the current error message unit (as defined by x04aaf).
Errors or warnings detected by the routine:
ifail=1
Initialization routine e05jaf has not been called.
On entry, lcomm=value.
Constraint: lcomm100.
ifail=2
The supplied optional parameter is invalid. A keyword or keyword combination was not recognized.
ifail=3
Attempt to assign an illegal value of Local Searches (lcsrch): lcsrch=value.
Attempt to assign an illegal value of Repeatability (repeat): repeat=value.
Attempt to assign a non-positive value of Function Evaluations Limit (nf): nf=value.
Attempt to assign a non-positive value of Local Searches Limit (loclim): loclim=value.
Attempt to assign a non-positive value of Static Limit (stclim): stclim=value.
Attempt to assign an out-of-bounds value of Infinite Bound Size (infbnd): infbnd=value.
Attempt to assign too small a value of Local Searches Tolerance (loctol): loctol=value.
Attempt to assign too small a value of Target Objective Error (objerr): objerr=value.
Attempt to assign too small a value of Target Objective Safeguard (objsfg): objsfg=value.
ifail=5
The value to be set could not be parsed. Check that it specifies a valid integer or real value.
ifail=-99
An unexpected error has been triggered by this routine. Please contact NAG.
See Section 7 in the Introduction to the NAG Library FL Interface for further information.
ifail=-399
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library FL Interface for further information.
ifail=-999
Dynamic memory allocation failed.
See Section 9 in the Introduction to the NAG Library FL Interface for further information.

7 Accuracy

Not applicable.

8 Parallelism and Performance

e05jdf is threaded by NAG for parallel execution in multithreaded implementations of the NAG Library.
Please consult the X06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this routine. Please also consult the Users' Note for your implementation for any additional implementation-specific information.

9 Further Comments

e05jcf, e05jef, e05jff or e05jgf may also be used to supply optional parameters to e05jbf.

10 Example

See Section 10 in e05jcf.