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