30 for (j = 0; j < data->
m; j++) {
33 qpalm_eprint(
"Lower bound at index %d is greater than upper bound: %.4e > %.4e",
34 (
int)j, data->
bmin[j], data->
bmax[j]);
82 qpalm_eprint(
"at least one of eps_abs and eps_rel must be positive");
102# ifdef QPALM_PRINTING
103 qpalm_eprint(
"at least one of eps_abs_in and eps_rel_in must be positive");
108 if (settings->
rho <= 0 || settings->
rho >= 1) {
109# ifdef QPALM_PRINTING
110 qpalm_eprint(
"rho must be positive and smaller than 1");
116# ifdef QPALM_PRINTING
123# ifdef QPALM_PRINTING
129 if (settings->
theta > 1) {
130# ifdef QPALM_PRINTING
136 if (settings->
delta <= 1) {
137# ifdef QPALM_PRINTING
144# ifdef QPALM_PRINTING
151# ifdef QPALM_PRINTING
158# ifdef QPALM_PRINTING
165# ifdef QPALM_PRINTING
166 qpalm_eprint(
"gamma update factor must be greater than or equal to 1");
172# ifdef QPALM_PRINTING
173 qpalm_eprint(
"gamma max must be greater than or equal to gamma");
179# ifdef QPALM_PRINTING
180 qpalm_eprint(
"scaling must be greater than or equal to zero");
186# ifdef QPALM_PRINTING
193# ifdef QPALM_PRINTING
200# ifdef QPALM_PRINTING
207# ifdef QPALM_PRINTING
214# ifdef QPALM_PRINTING
215 qpalm_eprint(
"enable_dual_termination must be either 0 or 1");
ladel_int c_int
type for integer numbers
#define qpalm_eprint(...)
Linear algebra with vectors.
size_t m
number of constraints m
c_float * bmin
dense array for lower bounds (size m)
c_float * bmax
dense array for upper bounds (size m)
c_float gamma_upd
proximal penalty update factor
c_float sigma_max
penalty factor cap
c_float eps_abs_in
intermediate absolute convergence tolerance
c_float gamma_max
proximal penalty parameter cap
c_int proximal
boolean, use proximal method of multipliers or not
c_float delta
penalty update factor
c_int warm_start
boolean, warm start
c_float eps_dual_inf
dual infeasibility tolerance
c_int reset_newton_iter
frequency of performing a complete Cholesky factorization
c_float eps_rel_in
intermediate relative convergence tolerance
c_float rho
tolerance scaling factor
c_float theta
penalty update criterion parameter
c_int enable_dual_termination
boolean, enable termination based on dual objective (useful in branch and bound)
c_float gamma_init
initial proximal penalty parameter
c_float eps_prim_inf
primal infeasibility tolerance
c_int inner_max_iter
maximum number of iterations per subproblem
c_float eps_rel
relative convergence tolerance
c_int verbose
boolean, write out progress
c_int max_iter
maximum number of iterations
c_int scaling
scaling iterations, if 0 then scaling is disabled
c_float eps_abs
absolute convergence tolerance
c_int print_iter
frequency of printing
c_int validate_data(const QPALMData *data)
Validate problem data.
c_int validate_settings(const QPALMSettings *settings)
Validate problem settings.
Validation of the user provided settings and data.