wcp_control_type structure#

    struct wcp_control_type{T}
      f_indexing::Bool
      error::Int32
      out::Int32
      print_level::Int32
      start_print::Int32
      stop_print::Int32
      maxit::Int32
      initial_point::Int32
      factor::Int32
      max_col::Int32
      indmin::Int32
      valmin::Int32
      itref_max::Int32
      infeas_max::Int32
      perturbation_strategy::Int32
      restore_problem::Int32
      infinity::T
      stop_p::T
      stop_d::T
      stop_c::T
      prfeas::T
      dufeas::T
      mu_target::T
      mu_accept_fraction::T
      mu_increase_factor::T
      required_infeas_reduction::T
      implicit_tol::T
      pivot_tol::T
      pivot_tol_for_dependencies::T
      zero_pivot::T
      perturb_start::T
      alpha_scale::T
      identical_bounds_tol::T
      reduce_perturb_factor::T
      reduce_perturb_multiplier::T
      insufficiently_feasible::T
      perturbation_small::T
      cpu_time_limit::T
      clock_time_limit::T
      remove_dependencies::Bool
      treat_zero_bounds_as_general::Bool
      just_feasible::Bool
      balance_initial_complementarity::Bool
      use_corrector::Bool
      space_critical::Bool
      deallocate_error_fatal::Bool
      record_x_status::Bool
      record_c_status::Bool
      prefix::NTuple{31,Cchar}
      fdc_control::fdc_control_type{T}
      sbls_control::sbls_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 maxit

at most maxit inner iterations are allowed

Int32 initial_point

how to choose the initial point. Possible values are

  • 0 the values input in X, shifted to be at least prfeas from their nearest bound, will be used

  • 1 the nearest point to the “bound average” 0.5(X_l+X_u) that satisfies the linear constraints will be used

Int32 factor

the factorization to be used. Possible values are

  • 0 automatic

  • 1 Schur-complement factorization

  • 2 augmented-system factorization

Int32 max_col

the maximum number of nonzeros in a column of A which is permitted with the Schur-complement factorization

Int32 indmin

an initial guess as to the integer workspace required by SBLS

Int32 valmin

an initial guess as to the real workspace required by SBLS

Int32 itref_max

the maximum number of iterative refinements allowed

Int32 infeas_max

the number of iterations for which the overall infeasibility of the problem is not reduced by at least a factor .required_infeas_reduction before the problem is flagged as infeasible (see required_infeas_reducti

Int32 perturbation_strategy

the strategy used to reduce relaxed constraint bounds. Possible values are

  • 0 do not perturb the constraints

  • 1 reduce all perturbations by the same amount with linear reduction

  • 2 reduce each perturbation as much as possible with linear reduction

  • 3 reduce all perturbations by the same amount with superlinear reduction

  • 4 reduce each perturbation as much as possible with superlinear reduction

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

T infinity

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

T stop_p

the required accuracy for the primal infeasibility

T stop_d

the required accuracy for the dual infeasibility

T stop_c

the required accuracy for the complementarity

T prfeas

initial primal variables will not be closer than prfeas from their bound

T dufeas

initial dual variables will not be closer than dufeas from their bounds

T mu_target

the target value of the barrier parameter. If mu_target is not positive, it will be reset to an appropriate value

T mu_accept_fraction

the complemtary slackness x_i.z_i will be judged to lie within an acceptable margin around its target value mu as soon as mu_accept_fraction * mu <= x_i.z_i <= ( 1 / mu_accept_fraction ) * mu; the perturbations will be reduced as soon as all of the complemtary slacknesses x_i.z_i lie within acceptable bounds. mu_accept_fraction will be reset to ensure that it lies in the interval (0,1]

T mu_increase_factor

the target value of the barrier parameter will be increased by mu_increase_factor for infeasible constraints every time the perturbations are adjusted

T required_infeas_reduction

if the overall infeasibility of the problem is not reduced by at least a factor required_infeas_reduction over .infeas_max iterations, the problem is flagged as infeasible (see infeas_max)

T implicit_tol

any primal or dual variable that is less feasible than implicit_tol will be regarded as defining an implicit constraint

T pivot_tol

the threshold pivot used by the matrix factorization. See the documentation for SBLS for details (obsolete)

T pivot_tol_for_dependencies

the threshold pivot used by the matrix factorization when attempting to detect linearly dependent constraints. See the documentation for SBLS for details (obsolete)

T zero_pivot

any pivots smaller than zero_pivot in absolute value will be regarded to zero when attempting to detect linearly dependent constraints (obsolete)

T perturb_start

the constraint bounds will initially be relaxed by .perturb_start; this perturbation will subsequently be reduced to zero. If perturb_start < 0, the amount by which the bounds are relaxed will be computed automatically

T alpha_scale

the test for rank defficiency will be to factorize ( alpha_scale I A^T ) ( A 0 )

T identical_bounds_tol

any pair of constraint bounds (c_l,c_u) or (x_l,x_u) that are closer tha identical_bounds_tol will be reset to the average of their values

T reduce_perturb_factor

the constraint perturbation will be reduced as follows:

    • if the variable lies outside a bound, the corresponding perturbation will be reduced to reduce_perturb_factor * current pertubation

    • ( 1 - reduce_perturb_factor ) * violation

    • otherwise, if the variable lies within insufficiently_feasible of its bound the pertubation will be reduced to reduce_perturb_multiplier * current pertubation

    • otherwise if will be set to zero

T reduce_perturb_multiplier

see reduce_perturb_factor

T insufficiently_feasible

see reduce_perturb_factor

T perturbation_small

if the maximum constraint pertubation is smaller than perturbation_small and the violation is smaller than implicit_tol, the method will deduce that there is a feasible point but no interior

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 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 just_feasible

if .just_feasible is true, the algorithm will stop as soon as a feasible point is found. Otherwise, the optimal solution to the problem will be found

Bool balance_initial_complementarity

if .balance_initial_complementarity is .true. the initial complemetarity will be balanced

Bool use_corrector

if .use_corrector, a corrector step will be used

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 record_x_status

if .record_x_status is true, the array inform.X_status will be allocated and the status of the bound constraints will be reported on exit.

Bool record_c_status

if .record_c_status is true, the array inform.C_status will be allocated and the status of the general constraints will be reported on exit.

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’

fdc_control_type{T} fdc_control_type fdc_control

control parameters for FDC

sbls_control_type{T} sbls_control_type sbls_control

control parameters for SBLS