lpa_control_type structure#
#include <galahad_lpa.h> struct lpa_control_type { // components bool f_indexing; ipc_ error; ipc_ out; ipc_ print_level; ipc_ start_print; ipc_ stop_print; ipc_ maxit; ipc_ max_iterative_refinements; ipc_ min_real_factor_size; ipc_ min_integer_factor_size; ipc_ random_number_seed; ipc_ sif_file_device; ipc_ qplib_file_device; rpc_ infinity; rpc_ tol_data; rpc_ feas_tol; rpc_ relative_pivot_tolerance; rpc_ growth_limit; rpc_ zero_tolerance; rpc_ change_tolerance; rpc_ identical_bounds_tol; rpc_ cpu_time_limit; rpc_ clock_time_limit; bool scale; bool dual; bool warm_start; bool steepest_edge; bool space_critical; bool deallocate_error_fatal; bool generate_sif_file; bool generate_qplib_file; char sif_file_name[31]; char qplib_file_name[31]; char prefix[31]; };
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 is specified by print_level (>= 2 turns on LA04 output)
ipc_ start_print
any printing will start on this iteration
ipc_ stop_print
any printing will stop on this iteration
ipc_ maxit
at most maxit inner iterations are allowed
ipc_ max_iterative_refinements
maximum number of iterative refinements allowed
ipc_ min_real_factor_size
initial size for real array for the factors and other data
ipc_ min_integer_factor_size
initial size for integer array for the factors and other data
ipc_ random_number_seed
the initial seed used when generating random numbers
ipc_ sif_file_device
specifies the unit number to write generated SIF file describing the current problem
ipc_ qplib_file_device
specifies the unit number to write generated QPLIB file describing the current problem
rpc_ infinity
any bound larger than infinity in modulus will be regarded as infinite
rpc_ tol_data
the tolerable relative perturbation of the data (A,g,..) defining the problem
rpc_ feas_tol
any constraint violated by less than feas_tol will be considered to be satisfied
rpc_ relative_pivot_tolerance
pivot threshold used to control the selection of pivot elements in the matrix factorization. Any potential pivot which is less than the largest entry in its row times the threshold is excluded as a candidate
rpc_ growth_limit
limit to control growth in the upated basis factors. A refactorization occurs if the growth exceeds this limit
rpc_ zero_tolerance
any entry in the basis smaller than this is considered zero
rpc_ change_tolerance
any solution component whose change is smaller than a tolerence times the largest change may be considered to be zero
rpc_ identical_bounds_tol
any pair of constraint bounds (c_l,c_u) or (x_l,x_u) that are closer than identical_bounds_tol will be reset to the average of their values
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 scale
if .scale is true, the problem will be automatically scaled prior to solution. This may improve computation time and accuracy
bool dual
should the dual problem be solved rather than the primal?
bool warm_start
should a warm start using the data in C_stat and X_stat be attempted?
bool steepest_edge
should steepest-edge weights be used to detetrmine the variable leaving the basis?
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
bool generate_sif_file
if .generate_sif_file is .true. if a SIF file describing the current problem is to be generated
bool generate_qplib_file
if .generate_qplib_file is .true. if a QPLIB file describing the current problem is to be generated
char sif_file_name[31]
name of generated SIF file containing input problem
char qplib_file_name[31]
name of generated QPLIB file containing input problem
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’