QPALM
A proximal augmented Lagrangian method for QPs.
|
Constants used in QPALM. More...
#include "ladel.h"
Go to the source code of this file.
Macros | |
Booleans | |
#define | TRUE 1 |
#define | FALSE 0 |
Solver status | |
#define | QPALM_SOLVED (1) |
status to indicate the problem is solved to optimality given the specified tolerances More... | |
#define | QPALM_DUAL_TERMINATED (2) |
status to indicate the problem has a dual objective that is higher than the specified bound More... | |
#define | QPALM_MAX_ITER_REACHED (-2) |
status to indicate termination due to reaching the maximum number of iterations More... | |
#define | QPALM_PRIMAL_INFEASIBLE (-3) |
status to indicate the problem is primal infeasible More... | |
#define | QPALM_DUAL_INFEASIBLE (-4) |
status to indicate the problem is dual infeasible More... | |
#define | QPALM_TIME_LIMIT_REACHED (-5) |
status to indicate the problem's runtime has exceeded the specified time limit More... | |
#define | QPALM_UNSOLVED (-10) |
status to indicate the problem is unsolved. More... | |
#define | QPALM_ERROR (0) |
status to indicate an error has occured (this error should automatically be printed) More... | |
Solver parameters and settings | |
#define | QPALM_NULL 0 |
NULL, if something goes wrong during setup, the workspace pointer is set to this. More... | |
#define | QPALM_NAN ((c_float)0x7fc00000UL) |
not a number, used for the solution if the problem is primal or dual infeasible More... | |
#define | QPALM_INFTY ((c_float)1e20) |
infinity, used to indicate one-sided constraints More... | |
#define | MAX_ITER (10000) |
default maximum number of iterations More... | |
#define | INNER_MAX_ITER (100) |
default maximum number of iterations per subproblem More... | |
#define | EPS_ABS (1e-4) |
default absolute convergence tolerance More... | |
#define | EPS_REL (1e-4) |
default relative convergence tolerance More... | |
#define | EPS_ABS_IN (1) |
default intermediate absolute convergence tolerance More... | |
#define | EPS_REL_IN (1) |
default intermediate relative convergence tolerance More... | |
#define | RHO (0.1) |
default tolerance scaling factor More... | |
#define | EPS_PRIM_INF (1e-5) |
default primal infeasibility tolerance More... | |
#define | EPS_DUAL_INF (1e-5) |
default dual infeasibility tolerance More... | |
#define | THETA (0.25) |
default penalty update criterion parameter More... | |
#define | DELTA (100) |
default penalty update factor More... | |
#define | SIGMA_MAX (1e9) |
default penalty cap More... | |
#define | SIGMA_INIT (2e1) |
default initial penalty parameter (guideline) More... | |
#define | PROXIMAL (TRUE) |
default use of proximal method of multipliers More... | |
#define | GAMMA_INIT (1E7) |
default initial proximal penalty parameter More... | |
#define | GAMMA_UPD (10) |
default proximal penalty update factor More... | |
#define | GAMMA_MAX (1E7) |
default proximal penalty cap More... | |
#define | SCALING (10) |
default number of scaling iterations More... | |
#define | MIN_SCALING (1e-12) |
Minimum scaling value/**< minimum scaling value */. More... | |
#define | MAX_SCALING (1e+04) |
Maximum scaling value/**< maximum scaling value */. More... | |
#define | NONCONVEX (FALSE) |
default use of nonconvex adjustments More... | |
#define | WARM_START (FALSE) |
default warm start setting More... | |
#define | VERBOSE (TRUE) |
default write out progress setting More... | |
#define | PRINT_ITER (1) |
default frequency of printing More... | |
#define | RESET_NEWTON_ITER (10000) |
default frequency of performing a full Cholesky factorization More... | |
#define | ENABLE_DUAL_TERMINATION (FALSE) |
enable termination after dual objective > something (useful in branch and bound) More... | |
#define | DUAL_OBJECTIVE_LIMIT (QPALM_INFTY) |
termination value for the dual objective (useful in branch and bound) More... | |
#define | TIME_LIMIT (QPALM_INFTY) |
time limit after which the solver aborts More... | |
#define | MAX_RANK_UPDATE 160 |
maximum rank for the sparse factorization update More... | |
#define | MAX_RANK_UPDATE_FRACTION 0.1 |
maximum rank (relative to n+m) for the factorization update More... | |
#define | RELATIVE_REFINEMENT_TOLERANCE 1e-10 |
relative tolerance on the residual for linear systems solving More... | |
#define | ABSOLUTE_REFINEMENT_TOLERANCE 1e-12 |
absolute tolerance on the residual for linear systems solving More... | |
#define | MAX_REFINEMENT_ITERATIONS 3 |
maximum number of refinement iterations More... | |
#define | FACTORIZE_KKT 0 |
factorize the kkt system More... | |
#define | FACTORIZE_SCHUR 1 |
factorize the Schur complement More... | |
#define | FACTORIZE_KKT_OR_SCHUR 2 |
select automatically between kkt system and schur complement More... | |
#define | FACTORIZATION_METHOD FACTORIZE_KKT_OR_SCHUR |
default method for solving the linear system More... | |
#define | ORDERING AMD |
ordering in the factorization More... | |
Constants used in QPALM.
This file contains the constants that are used as default settings and to set the solver status.
#define ABSOLUTE_REFINEMENT_TOLERANCE 1e-12 |
absolute tolerance on the residual for linear systems solving
#define DELTA (100) |
default penalty update factor
#define DUAL_OBJECTIVE_LIMIT (QPALM_INFTY) |
termination value for the dual objective (useful in branch and bound)
#define ENABLE_DUAL_TERMINATION (FALSE) |
enable termination after dual objective > something (useful in branch and bound)
#define EPS_ABS (1e-4) |
default absolute convergence tolerance
#define EPS_ABS_IN (1) |
default intermediate absolute convergence tolerance
#define EPS_DUAL_INF (1e-5) |
default dual infeasibility tolerance
#define EPS_PRIM_INF (1e-5) |
default primal infeasibility tolerance
#define EPS_REL (1e-4) |
default relative convergence tolerance
#define EPS_REL_IN (1) |
default intermediate relative convergence tolerance
#define FACTORIZATION_METHOD FACTORIZE_KKT_OR_SCHUR |
default method for solving the linear system
#define FACTORIZE_KKT 0 |
factorize the kkt system
#define FACTORIZE_KKT_OR_SCHUR 2 |
select automatically between kkt system and schur complement
#define FACTORIZE_SCHUR 1 |
factorize the Schur complement
#define FALSE 0 |
#define GAMMA_INIT (1E7) |
default initial proximal penalty parameter
#define GAMMA_MAX (1E7) |
default proximal penalty cap
#define GAMMA_UPD (10) |
default proximal penalty update factor
#define INNER_MAX_ITER (100) |
default maximum number of iterations per subproblem
#define MAX_ITER (10000) |
default maximum number of iterations
#define MAX_RANK_UPDATE 160 |
maximum rank for the sparse factorization update
#define MAX_RANK_UPDATE_FRACTION 0.1 |
maximum rank (relative to n+m) for the factorization update
#define MAX_REFINEMENT_ITERATIONS 3 |
maximum number of refinement iterations
#define MAX_SCALING (1e+04) |
Maximum scaling value/**< maximum scaling value */.
#define MIN_SCALING (1e-12) |
Minimum scaling value/**< minimum scaling value */.
#define NONCONVEX (FALSE) |
default use of nonconvex adjustments
#define ORDERING AMD |
ordering in the factorization
#define PRINT_ITER (1) |
default frequency of printing
#define PROXIMAL (TRUE) |
default use of proximal method of multipliers
#define QPALM_DUAL_INFEASIBLE (-4) |
status to indicate the problem is dual infeasible
#define QPALM_DUAL_TERMINATED (2) |
status to indicate the problem has a dual objective that is higher than the specified bound
#define QPALM_ERROR (0) |
status to indicate an error has occured (this error should automatically be printed)
#define QPALM_INFTY ((c_float)1e20) |
infinity, used to indicate one-sided constraints
#define QPALM_MAX_ITER_REACHED (-2) |
status to indicate termination due to reaching the maximum number of iterations
#define QPALM_NAN ((c_float)0x7fc00000UL) |
not a number, used for the solution if the problem is primal or dual infeasible
#define QPALM_NULL 0 |
NULL, if something goes wrong during setup, the workspace pointer is set to this.
#define QPALM_PRIMAL_INFEASIBLE (-3) |
status to indicate the problem is primal infeasible
#define QPALM_SOLVED (1) |
status to indicate the problem is solved to optimality given the specified tolerances
#define QPALM_TIME_LIMIT_REACHED (-5) |
status to indicate the problem's runtime has exceeded the specified time limit
#define QPALM_UNSOLVED (-10) |
status to indicate the problem is unsolved.
Only setup function has been called
#define RELATIVE_REFINEMENT_TOLERANCE 1e-10 |
relative tolerance on the residual for linear systems solving
#define RESET_NEWTON_ITER (10000) |
default frequency of performing a full Cholesky factorization
#define RHO (0.1) |
default tolerance scaling factor
#define SCALING (10) |
default number of scaling iterations
#define SIGMA_INIT (2e1) |
default initial penalty parameter (guideline)
#define SIGMA_MAX (1e9) |
default penalty cap
#define THETA (0.25) |
default penalty update criterion parameter
#define TIME_LIMIT (QPALM_INFTY) |
time limit after which the solver aborts
#define TRUE 1 |
#define VERBOSE (TRUE) |
default write out progress setting
#define WARM_START (FALSE) |
default warm start setting