ugo_control_type structure#
struct ugo_control_type{T} error::Int32 out::Int32 print_level::Int32 start_print::Int32 stop_print::Int32 print_gap::Int32 maxit::Int32 initial_points::Int32 storage_increment::Int32 buffer::Int32 lipschitz_estimate_used::Int32 next_interval_selection::Int32 refine_with_newton::Int32 alive_unit::Int32 alive_file::NTuple{31,Cchar} stop_length::T small_g_for_newton::T small_g::T obj_sufficient::T global_lipschitz_constant::T reliability_parameter::T lipschitz_lower_bound::T cpu_time_limit::T clock_time_limit::T second_derivative_available::Bool space_critical::Bool deallocate_error_fatal::Bool prefix::NTuple{31,Cchar}
detailed documentation#
control derived type as a Julia structure
components#
Int32 error
error and warning diagnostics occur on stream error
Int32 out
general output occurs on stream out
Int32 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
Int32 start_print
any printing will start on this iteration
Int32 stop_print
any printing will stop on this iteration
Int32 print_gap
the number of iterations between printing
Int32 maxit
the maximum number of iterations allowed
Int32 initial_points
the number of initial (uniformly-spaced) evaluation points (<2 reset to 2)
Int32 storage_increment
incremenets of storage allocated (less that 1000 will be reset to 1000)
Int32 buffer
unit for any out-of-core writing when expanding arrays
Int32 lipschitz_estimate_used
what sort of Lipschitz constant estimate will be used:
1 = global contant provided
2 = global contant estimated
3 = local costants estimated
Int32 next_interval_selection
how is the next interval for examination chosen:
1 = traditional
2 = local_improvement
Int32 refine_with_newton
try refine_with_newton Newton steps from the vacinity of the global minimizer to try to improve the estimate
Int32 alive_unit
removal of the file alive_file from unit alive_unit terminates execution
NTuple{31,Cchar} alive_file
see alive_unit
T stop_length
overall convergence tolerances. The iteration will terminate when the step is less than .stop_length
T small_g_for_newton
if the absolute value of the gradient is smaller than small_g_for_newton, the next evaluation point may be at a Newton estimate of a local minimizer
T small_g
if the absolute value of the gradient at the end of the interval search is smaller than small_g, no Newton serach is necessary
T obj_sufficient
stop if the objective function is smaller than a specified value
T global_lipschitz_constant
the global Lipschitz constant for the gradient (-ve means unknown)
T reliability_parameter
the reliability parameter that is used to boost insufficiently large estimates of the Lipschitz constant (-ve means that default values will be chosen depending on whether second derivatives are provided or not)
T lipschitz_lower_bound
a lower bound on the Lipscitz constant for the gradient (not zero unless the function is constant)
T cpu_time_limit
the maximum CPU time allowed (-ve means infinite)
T clock_time_limit
the maximum elapsed clock time allowed (-ve means infinite)
Bool second_derivative_available
if .second_derivative_available is true, the user must provide them when requested. The package is generally more effective if second derivatives are available.
Bool space_critical
if .space_critical is 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
NTuple{31,Cchar} prefix
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’