dqp_control_type structure#

    struct dqp_control_type{T}
      f_indexing::Bool
      error::Int32
      out::Int32
      print_level::Int32
      start_print::Int32
      stop_print::Int32
      print_gap::Int32
      dual_starting_point::Int32
      maxit::Int32
      max_sc::Int32
      cauchy_only::Int32
      arc_search_maxit::Int32
      cg_maxit::Int32
      explore_optimal_subspace::Int32
      restore_problem::Int32
      sif_file_device::Int32
      qplib_file_device::Int32
      rho::T
      infinity::T
      stop_abs_p::T
      stop_rel_p::T
      stop_abs_d::T
      stop_rel_d::T
      stop_abs_c::T
      stop_rel_c::T
      stop_cg_relative::T
      stop_cg_absolute::T
      cg_zero_curvature::T
      max_growth::T
      identical_bounds_tol::T
      cpu_time_limit::T
      clock_time_limit::T
      initial_perturbation::T
      perturbation_reduction::T
      final_perturbation::T
      factor_optimal_matrix::Bool
      remove_dependencies::Bool
      treat_zero_bounds_as_general::Bool
      exact_arc_search::Bool
      subspace_direct::Bool
      subspace_alternate::Bool
      subspace_arc_search::Bool
      space_critical::Bool
      deallocate_error_fatal::Bool
      generate_sif_file::Bool
      generate_qplib_file::Bool
      symmetric_linear_solver::NTuple{31,Cchar}
      definite_linear_solver::NTuple{31,Cchar}
      unsymmetric_linear_solver::NTuple{31,Cchar}
      sif_file_name::NTuple{31,Cchar}
      qplib_file_name::NTuple{31,Cchar}
      prefix::NTuple{31,Cchar}
      fdc_control::fdc_control_type{T}
      sls_control::sls_control_type{T}
      sbls_control::sbls_control_type{T}
      gltr_control::gltr_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 is specified by print_level

Int32 start_print

any printing will start on this iteration

Int32 stop_print

any printing will stop on this iteration

Int32 print_gap

printing will only occur every print_gap iterations

Int32 dual_starting_point

which starting point should be used for the dual problem

  • -1 user supplied comparing primal vs dual variables

  • 0 user supplied

  • 1 minimize linearized dual

  • 2 minimize simplified quadratic dual

  • 3 all free (= all active primal costraints)

  • 4 all fixed on bounds (= no active primal costraints)

Int32 maxit

at most maxit inner iterations are allowed

Int32 max_sc

the maximum permitted size of the Schur complement before a refactorization is performed (used in the case where there is no Fredholm Alternative, 0 = refactor every iteration)

Int32 cauchy_only

a subspace step will only be taken when the current Cauchy step has changed no more than than cauchy_only active constraints; the subspace step will always be taken if cauchy_only < 0

Int32 arc_search_maxit

how many iterations are allowed per arc search (-ve = as many as require

Int32 cg_maxit

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

Int32 explore_optimal_subspace

once a potentially optimal subspace has been found, investigate it

  • 0 as per an ordinary subspace

  • 1 by increasing the maximum number of allowed CG iterations

  • 2 by switching to a direct method

Int32 restore_problem

indicate whether and how much of the input problem should be restored on output. Possible values are

  • 0 nothing restored

  • 1 scalar and vector parameters

  • 2 all parameters

Int32 sif_file_device

specifies the unit number to write generated SIF file describing the current problem

Int32 qplib_file_device

specifies the unit number to write generated QPLIB file describing the current problem

T rho

the penalty weight, rho. The general constraints are not enforced explicitly, but instead included in the objective as a penalty term weighted by rho when rho > 0. If rho <= 0, the general constraints are explicit (that is, there is no penalty term in the objective function)

T infinity

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

T stop_abs_p

the required absolute and relative accuracies for the primal infeasibilies

T stop_rel_p

see stop_abs_p

T stop_abs_d

the required absolute and relative accuracies for the dual infeasibility

T stop_rel_d

see stop_abs_d

T stop_abs_c

the required absolute and relative accuracies for the complementarity

T stop_rel_c

see stop_abs_c

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 stop_cg_absolute

see stop_cg_relative

T cg_zero_curvature

threshold below which curvature is regarded as zero if CG is used

T max_growth

maximum growth factor allowed without a refactorization

T 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

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)

T initial_perturbation

the initial penalty weight (for DLP only)

T perturbation_reduction

the penalty weight reduction factor (for DLP only)

T final_perturbation

the final penalty weight (for DLP only)

Bool factor_optimal_matrix

are the factors of the optimal augmented matrix required? (for DLP only)

Bool remove_dependencies

the equality constraints will be preprocessed to remove any linear dependencies if true

Bool treat_zero_bounds_as_general

any problem bound with the value zero will be treated as if it were a general value if true

Bool exact_arc_search

if .exact_arc_search is true, an exact piecewise arc search will be performed. Otherwise an ineaxt search using a backtracing Armijo strategy will be employed

Bool subspace_direct

if .subspace_direct is true, the subspace step will be calculated using a direct (factorization) method, while if it is false, an iterative (conjugate-gradient) method will be used.

Bool subspace_alternate

if .subspace_alternate is true, the subspace step will alternate between a direct (factorization) method and an iterative (GLTR conjugate-gradient) method. This will override .subspace_direct

Bool subspace_arc_search

if .subspace_arc_search is true, a piecewise arc search will be performed along the subspace step. Otherwise the search will stop at the firstconstraint encountered

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

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 symmetric_linear_solver[31]

indefinite linear equation solver set in symmetric_linear_solver

char definite_linear_solver[31]

definite linear equation solver

char unsymmetric_linear_solver[31]

unsymmetric linear equation solver

NTuple{31,Cchar} sif_file_name

name of generated SIF file containing input problem

NTuple{31,Cchar} qplib_file_name

name of generated QPLIB file containing input problem

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 fdc_control_type fdc_control

control parameters for FDC

struct sls_control_type sls_control

control parameters for SLS

struct sbls_control_type sbls_control

control parameters for SBLS

struct gltr_control_type gltr_control

control parameters for GLTR