NAG Library Function Document
nag_glopt_bnd_mcs_optset_file (e05jcc)
1 Purpose
nag_glopt_bnd_mcs_optset_file (e05jcc) may be used to supply optional arguments to
nag_glopt_bnd_mcs_solve (e05jbc) from an external file. The initialization function
nag_glopt_bnd_mcs_init (e05jac) must have been called before calling nag_glopt_bnd_mcs_optset_file (e05jcc).
2 Specification
#include <nag.h> |
#include <nage05.h> |
void |
nag_glopt_bnd_mcs_optset_file (Nag_FileID fileid,
Nag_E05State *state,
NagError *fail) |
|
3 Description
nag_glopt_bnd_mcs_optset_file (e05jcc) may be used to supply values for optional arguments to
nag_glopt_bnd_mcs_solve (e05jbc). nag_glopt_bnd_mcs_optset_file (e05jcc) reads an external file
which has been opened by a call to
nag_open_file (x04acc). Each
line of the file defines a single optional argument. It is only necessary to supply values for those arguments whose values are to be different from their default values.
Each optional argument is defined by a single character string,
consisting of one or more items. The items associated with a given optional argument 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 argument. For each optional argument the string contains one or more of the following items:
– |
a mandatory keyword; |
– |
a phrase that qualifies the keyword; |
– |
a number that specifies an integer or real value. Such numbers may be up to contiguous characters. |
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 argument.
The file containing the optional arguments 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 argument settings are preserved following a call to
nag_glopt_bnd_mcs_solve (e05jbc) and so the keyword
is provided to allow you to reset all the optional arguments to their default values before a subsequent call to
nag_glopt_bnd_mcs_solve (e05jbc).
A complete list of optional arguments, their symbolic names and default values is given in
Section 12 in nag_glopt_bnd_mcs_solve (e05jbc).
4 References
None.
5 Arguments
- 1:
– Nag_FileIDInput
-
On entry: the ID of the option file to be read, as returned by a call to
nag_open_file (x04acc).
- 2:
– Nag_E05State *Communication Structure
-
state contains information required by other functions in this suite. You must not modify it directly in any way.
- 3:
– NagError *Input/Output
-
The NAG error argument (see
Section 3.6 in the Essential Introduction).
6 Error Indicators and Warnings
- NE_ALLOC_FAIL
-
Dynamic memory allocation failed.
See
Section 3.2.1.2 in the Essential Introduction for further information.
- NE_BAD_PARAM
-
On entry, argument had an illegal value.
- NE_FILE_NOT_READ
-
At least one optional argument from the options file could not be recognized.
All optional arguments 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 arguments 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.
An unexpected error has been triggered by this function. Please contact
NAG.
See
Section 3.6.6 in the Essential Introduction for further information.
- NE_NO_LICENCE
-
Your licence key may have expired or may not have been installed correctly.
See
Section 3.6.5 in the Essential Introduction for further information.
- NE_NOT_INIT
-
Initialization function
nag_glopt_bnd_mcs_init (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 (): .
Attempt to assign an illegal value of (): .
Attempt to assign a non-positive value of (): .
Attempt to assign a non-positive value of (): .
Attempt to assign a non-positive value of (): .
Attempt to assign an out-of-bounds value of (): .
Attempt to assign too small a value of (): .
Attempt to assign too small a value of (): .
Attempt to assign too small a value of (): .
7 Accuracy
Not applicable.
8 Parallelism and Performance
nag_glopt_bnd_mcs_optset_file (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.
10 Example
This example finds the global minimum of the ‘peaks’ function in two dimensions
on the box
.
The function has several local minima and one global minimum in the given box. The global minimum is approximately located at , where the function value is approximately .
By specifying an initialization list via
list,
numpts and
initpt we can start
nag_glopt_bnd_mcs_solve (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
as our initial point (see
Section 10.3), and let the initialization list be
This example solves the optimization problem using some of the optional arguments described in
Section 12 in nag_glopt_bnd_mcs_solve (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)