blls_control_type structure#
#include <galahad_blls.h> struct blls_control_type { // components bool f_indexing; ipc_ error; ipc_ out; ipc_ print_level; ipc_ start_print; ipc_ stop_print; ipc_ print_gap; ipc_ maxit; ipc_ cold_start; ipc_ preconditioner; ipc_ ratio_cg_vs_sd; ipc_ change_max; ipc_ cg_maxit; ipc_ arcsearch_max_steps; ipc_ sif_file_device; rpc_ weight; rpc_ infinity; rpc_ stop_d; rpc_ identical_bounds_tol; rpc_ stop_cg_relative; rpc_ stop_cg_absolute; rpc_ alpha_max; rpc_ alpha_initial; rpc_ alpha_reduction; rpc_ arcsearch_acceptance_tol; rpc_ stabilisation_weight; rpc_ cpu_time_limit; bool direct_subproblem_solve; bool exact_arc_search; bool advance; bool space_critical; bool deallocate_error_fatal; bool generate_sif_file; char sif_file_name[31]; char prefix[31]; struct sbls_control_type sbls_control; struct convert_control_type convert_control; };
detailed documentation#
control derived type as a C struct
components#
bool f_indexing
use C or Fortran sparse matrix indexing
ipc_ error
unit number for error and warning diagnostics
ipc_ out
general output unit number
ipc_ print_level
the level of output required
ipc_ start_print
on which iteration to start printing
ipc_ stop_print
on which iteration to stop printing
ipc_ print_gap
how many iterations between printing
ipc_ maxit
how many iterations to perform (-ve reverts to HUGE(1)-1)
ipc_ cold_start
cold_start should be set to 0 if a warm start is required (with variable assigned according to X_stat, see below), and to any other value if the values given in prob.X suffice
ipc_ preconditioner
the preconditioner (scaling) used. Possible values are: /li 0. no preconditioner. /li 1. a diagonal preconditioner that normalizes the rows of \(A\). /li anything else. a preconditioner supplied by the user either via a subroutine call of eval_prec} or via reverse communication.
ipc_ ratio_cg_vs_sd
the ratio of how many iterations use CGLS rather than steepest descent
ipc_ change_max
the maximum number of per-iteration changes in the working set permitted when allowing CGLS rather than steepest descent
ipc_ cg_maxit
how many CG iterations to perform per BLLS iteration (-ve reverts to n+1)
ipc_ arcsearch_max_steps
the maximum number of steps allowed in a piecewise arcsearch (-ve=infini
ipc_ sif_file_device
the unit number to write generated SIF file describing the current probl
rpc_ weight
the value of the non-negative regularization weight sigma, i.e., the quadratic objective function q(x) will be regularized by adding 1/2 weight ||x||^2; any value smaller than zero will be regarded as zero.
rpc_ infinity
any bound larger than infinity in modulus will be regarded as infinite
rpc_ stop_d
the required accuracy for the dual infeasibility
rpc_ identical_bounds_tol
any pair of constraint bounds (x_l,x_u) that are closer than identical_bounds_tol will be reset to the average of their values
rpc_ stop_cg_relative
the CG iteration will be stopped as soon as the current norm of the preconditioned gradient is smaller than max( stop_cg_relative * initial preconditioned gradient, stop_cg_absolute)
rpc_ alpha_max
the largest permitted arc length during the piecewise line search
rpc_ alpha_initial
the initial arc length during the inexact piecewise line search
rpc_ alpha_reduction
the arc length reduction factor for the inexact piecewise line search
rpc_ arcsearch_acceptance_tol
the required relative reduction during the inexact piecewise line search
rpc_ stabilisation_weight
the stabilisation weight added to the search-direction subproblem
rpc_ cpu_time_limit
the maximum CPU time allowed (-ve = no limit)
bool direct_subproblem_solve
direct_subproblem_solve is true if the least-squares subproblem is to be solved using a matrix factorization, and false if conjugate gradients are to be preferred
bool exact_arc_search
exact_arc_search is true if an exact arc_search is required, and false if an approximation suffices
bool advance
advance is true if an inexact exact arc_search can increase steps as well as decrease them
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 times
bool deallocate_error_fatal
if deallocate_error_fatal is true, any array/pointer deallocation error will terminate execution. Otherwise, computation will continue
bool generate_sif_file
if generate_sif_file is true, a SIF file describing the current problem will be generated
char sif_file_name[31]
name (max 30 characters) of generated SIF file containing input problem
char prefix[31]
all output lines will be prefixed by a string (max 30 characters) prefix(2:LEN(TRIM(.prefix))-1) where prefix contains the required string enclosed in quotes, e.g. “string” or ‘string’
struct sbls_control_type sbls_control
control parameters for SBLS
struct convert_control_type convert_control
control parameters for CONVERT