NAG CL Interface
e05jcc (bnd_​mcs_​optset_​file)

1 Purpose

e05jcc may be used to supply optional parameters to e05jbc from an external file. The initialization function e05jac must have been called before calling e05jcc.

2 Specification

#include <nag.h>
void  e05jcc (Nag_FileID fileid, Nag_E05State *state, NagError *fail)
The function may be called by the names: e05jcc or nag_glopt_bnd_mcs_optset_file.

3 Description

e05jcc may be used to supply values for optional parameters to e05jbc. e05jcc reads an external file which has been opened by a call to x04acc. Each line of the file defines a single optional parameter. It is only necessary to supply values for those arguments whose values are to be different from their default values.
Each optional parameter is defined by a single character string, 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:
Blank strings and comments are ignored. A comment begins with an asterisk (*) and all subsequent characters in the string are regarded as part of the comment.
The implied data type (character, integer or real) of each value to set must match that expected by the corresponding optional parameter.
The file containing the optional parameters must start with Begin and must finish with End. An example of a valid options file is:
Begin * Example options file
   Static Limit = 500 
End
Optional parameter settings are preserved following a call to e05jbc 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 e05jbc.
A complete list of optional parameters, their symbolic names and default values is given in Section 12 in e05jbc.

4 References

None.

5 Arguments

1: fileid Nag_FileID Input
On entry: the ID of the option file to be read, as returned by a call to x04acc.
2: state Nag_E05State * Communication Structure
state contains information required by other functions in this suite. You must not modify it directly in any way.
3: fail NagError * Input/Output
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).

6 Error Indicators and Warnings

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 value had an illegal value.
NE_FILE_NOT_READ
At least one optional parameter from the options file could not be recognized. All optional parameters that were set from the file before this error was encountered will remain set on exit.
BEGIN found, but end-of-file found before END. All optional parameters that were set from the file before this error was encountered will remain set on exit.
Could not read options file.
End-of-file found before BEGIN.
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_NOT_INIT
Initialization function e05jac has not been called.
NE_NOT_PARSED
One of the numeric values to be set could not be parsed. Check that all such strings specify valid integer or real values.
NE_OUT_OF_RANGE
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.

7 Accuracy

Not applicable.

8 Parallelism and Performance

e05jcc 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 function. Please also consult the Users' Note for your implementation for any additional implementation-specific information.

9 Further Comments

e05jdc, e05jec, e05jfc or e05jgc may also be used to supply optional parameters to e05jbc.

10 Example

This example finds the global minimum of the ‘peaks’ function in two dimensions
Fx,y = 3 1-x 2 exp - x 2 - y+1 2 -10 x 5 - x 3 - y 5 exp - x 2 - y 2 - 1 3 exp - x+1 2 - y 2  
on the box -3,3 × -3,3 .
The function F has several local minima and one global minimum in the given box. The global minimum is approximately located at 0.23,-1.63 , where the function value is approximately -6.55.
By specifying an initialization list via list, numpts and initpt we can start e05jbc looking close to one of the local minima and check that it really does move away from that point to one of the global minima.
More precisely, we choose -1,0 as our initial point (see Section 10.3), and let the initialization list be
-3 -1 3 -3 0 3 .  
This example solves the optimization problem using some of the optional parameters described in Section 12 in e05jbc.

10.1 Program Text

Program Text (e05jcce.c)

10.2 Program Data

Program Options (e05jcce.opt)
Program Data (e05jcce.d)

10.3 Program Results

Program Results (e05jcce.r)
GnuplotProduced by GNUPLOT 4.6 patchlevel 3 −3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 3 Example Program The Peaks Function F and Search Boxes The global minimum is denoted by *, while our start point is labelled with X * X gnuplot_plot_1 gnuplot_plot_2 gnuplot_plot_3 gnuplot_plot_4 gnuplot_plot_5 gnuplot_plot_6 gnuplot_plot_7 gnuplot_plot_8 gnuplot_plot_9 gnuplot_plot_10 gnuplot_plot_11 gnuplot_plot_12 gnuplot_plot_13 gnuplot_plot_14