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