bgo_control_type structure#
#include <galahad_bgo.h> struct bgo_control_type { // components bool f_indexing; ipc_ error; ipc_ out; ipc_ print_level; ipc_ attempts_max; ipc_ max_evals; ipc_ sampling_strategy; ipc_ hypercube_discretization; ipc_ alive_unit; char alive_file[31]; rpc_ infinity; rpc_ obj_unbounded; rpc_ cpu_time_limit; rpc_ clock_time_limit; bool random_multistart; bool hessian_available; bool space_critical; bool deallocate_error_fatal; char prefix[31]; struct ugo_control_type ugo_control; struct lhs_control_type lhs_control; struct trb_control_type trb_control; };
detailed documentation#
control derived type as a C struct
components#
bool f_indexing
use C or Fortran sparse matrix indexing
ipc_ error
error and warning diagnostics occur on stream error
ipc_ out
general output occurs on stream out
ipc_ print_level
the level of output required. Possible values are:
\(\leq\) 0 no output,
1 a one-line summary for every improvement
2 a summary of each iteration
\(\geq\) 3 increasingly verbose (debugging) output
ipc_ attempts_max
the maximum number of random searches from the best point found so far
ipc_ max_evals
the maximum number of function evaluations made
ipc_ sampling_strategy
sampling strategy used. Possible values are
1 uniformly spread
2 Latin hypercube sampling
3 niformly spread within a Latin hypercube
ipc_ hypercube_discretization
hyper-cube discretization (for sampling stategies 2 and 3)
ipc_ alive_unit
removal of the file alive_file from unit alive_unit terminates execution
char alive_file[31]
see alive_unit
rpc_ infinity
any bound larger than infinity in modulus will be regarded as infinite
rpc_ obj_unbounded
the smallest value the objective function may take before the problem is marked as unbounded
rpc_ cpu_time_limit
the maximum CPU time allowed (-ve means infinite)
rpc_ clock_time_limit
the maximum elapsed clock time allowed (-ve means infinite)
bool random_multistart
perform random-multistart as opposed to local minimize and probe
bool hessian_available
is the Hessian matrix of second derivatives available or is access only via matrix-vector products?
bool space_critical
if .space_critical true, every effort will be made to use as little space as possible. This may result in longer computation time
bool deallocate_error_fatal
if .deallocate_error_fatal is true, any array/pointer deallocation error will terminate execution. Otherwise, computation will continue
char prefix[31]
all output lines will be prefixed by .prefix(2:LEN(TRIM(.prefix))-1) where .prefix contains the required string enclosed in quotes, e.g. “string” or ‘string’
struct ugo_control_type ugo_control
control parameters for UGO
struct lhs_control_type lhs_control
control parameters for LHS
struct trb_control_type trb_control
control parameters for TRB