blls_control_type structure#

    struct blls_control_type{T}
      f_indexing::Bool
      error::Int32
      out::Int32
      print_level::Int32
      start_print::Int32
      stop_print::Int32
      print_gap::Int32
      maxit::Int32
      cold_start::Int32
      preconditioner::Int32
      ratio_cg_vs_sd::Int32
      change_max::Int32
      cg_maxit::Int32
      arcsearch_max_steps::Int32
      sif_file_device::Int32
      weight::T
      infinity::T
      stop_d::T
      identical_bounds_tol::T
      stop_cg_relative::T
      stop_cg_absolute::T
      alpha_max::T
      alpha_initial::T
      alpha_reduction::T
      arcsearch_acceptance_tol::T
      stabilisation_weight::T
      cpu_time_limit::T
      direct_subproblem_solve::Bool
      exact_arc_search::Bool
      advance::Bool
      space_critical::Bool
      deallocate_error_fatal::Bool
      generate_sif_file::Bool
      sif_file_name::NTuple{31,Cchar}
      prefix::NTuple{31,Cchar}
      sbls_control::sbls_control_type{T}
      convert_control::convert_control_type

detailed documentation#

control derived type as a Julia structure

components#

Bool f_indexing

use C or Fortran sparse matrix indexing

Int32 error

unit number for error and warning diagnostics

Int32 out

general output unit number

Int32 print_level

the level of output required

Int32 start_print

on which iteration to start printing

Int32 stop_print

on which iteration to stop printing

Int32 print_gap

how many iterations between printing

Int32 maxit

how many iterations to perform (-ve reverts to HUGE(1)-1)

Int32 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

Int32 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.

Int32 ratio_cg_vs_sd

the ratio of how many iterations use CGLS rather than steepest descent

Int32 change_max

the maximum number of per-iteration changes in the working set permitted when allowing CGLS rather than steepest descent

Int32 cg_maxit

how many CG iterations to perform per BLLS iteration (-ve reverts to n+1)

Int32 arcsearch_max_steps

the maximum number of steps allowed in a piecewise arcsearch (-ve=infini

Int32 sif_file_device

the unit number to write generated SIF file describing the current probl

T 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.

T infinity

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

T stop_d

the required accuracy for the dual infeasibility

T 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

T 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)

T alpha_max

the largest permitted arc length during the piecewise line search

T alpha_initial

the initial arc length during the inexact piecewise line search

T alpha_reduction

the arc length reduction factor for the inexact piecewise line search

T arcsearch_acceptance_tol

the required relative reduction during the inexact piecewise line search

T stabilisation_weight

the stabilisation weight added to the search-direction subproblem

T 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

NTuple{31,Cchar} sif_file_name

name (max 30 characters) of generated SIF file containing input problem

NTuple{31,Cchar} prefix

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