dgo_control_type structure#

    struct dgo_control_type{T}
      f_indexing::Bool
      error::Int32
      out::Int32
      print_level::Int32
      start_print::Int32
      stop_print::Int32
      print_gap::Int32
      maxit::Int32
      max_evals::Int32
      dictionary_size::Int32
      alive_unit::Int32
      alive_file::NTuple{31,Cchar}
      infinity::T
      lipschitz_lower_bound::T
      lipschitz_reliability::T
      lipschitz_control::T
      stop_length::T
      stop_f::T
      obj_unbounded::T
      cpu_time_limit::T
      clock_time_limit::T
      hessian_available::Bool
      prune::Bool
      perform_local_optimization::Bool
      space_critical::Bool
      deallocate_error_fatal::Bool
      prefix::NTuple{31,Cchar}
      hash_control::hash_control_type
      ugo_control::ugo_control_type{T}
      trb_control::trb_control_type{T}

detailed documentation#

control derived type as a Julia structure

components#

Bool f_indexing

use C or Fortran sparse matrix indexing

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 performed

Int32 max_evals

the maximum number of function evaluations made

Int32 dictionary_size

the size of the initial hash dictionary

Int32 alive_unit

removal of the file alive_file from unit alive_unit terminates execution

char alive_file[31]

see alive_unit

T infinity

any bound larger than infinity in modulus will be regarded as infinite

T lipschitz_lower_bound

a small positive constant (<= 1e-6) that ensure that the estimted gradient Lipschitz constant is not too small

T lipschitz_reliability

the Lipschitz reliability parameter, the Lipschiz constant used will be a factor lipschitz_reliability times the largest value observed

T lipschitz_control

the reliablity control parameter, the actual reliability parameter used will be .lipschitz_reliability

  • MAX( 1, n - 1 ) * .lipschitz_control / iteration

T stop_length

the iteration will stop if the length, delta, of the diagonal in the box with the smallest-found objective function is smaller than .stop_length times that of the original bound box, delta_0

T stop_f

the iteration will stop if the gap between the best objective value found and the smallest lower bound is smaller than .stop_f

T obj_unbounded

the smallest value the objective function may take before the problem is marked as unbounded

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 hessian_available

is the Hessian matrix of second derivatives available or is access only via matrix-vector products?

Bool prune

should boxes that cannot contain the global minimizer be pruned (i.e., removed from further consideration)?

Bool perform_local_optimization

should approximate minimizers be impoved by judicious local minimization?

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

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’

struct hash_control_type hash_control

control parameters for HASH

struct ugo_control_type ugo_control

control parameters for UGO

struct trb_control_type trb_control

control parameters for TRB