QPALM
A proximal augmented Lagrangian method for QPs.
constants.h
Go to the documentation of this file.
1 
7 #ifndef CONSTANTS_H
8 #define CONSTANTS_H
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif // ifdef __cplusplus
13 
18 #define TRUE 1
19 #define FALSE 0
20 
30 #define QPALM_SOLVED (1)
31 #define QPALM_DUAL_TERMINATED (2)
32 #define QPALM_MAX_ITER_REACHED (-2)
33 #define QPALM_PRIMAL_INFEASIBLE (-3)
34 #define QPALM_DUAL_INFEASIBLE (-4)
35 #define QPALM_TIME_LIMIT_REACHED (-5)
36 #define QPALM_UNSOLVED (-10)
37 #define QPALM_ERROR (0)
48 /**********************************
49 * Solver Parameters and Settings *
50 **********************************/
51 
52 #ifndef QPALM_NULL
53  #define QPALM_NULL 0
54 #endif /* ifndef QPALM_NULL */
55 
56 #ifndef QPALM_NAN
57  #define QPALM_NAN ((c_float)0x7fc00000UL)
58 #endif /* ifndef QPALM_NAN */
59 
60 #ifndef QPALM_INFTY
61  #define QPALM_INFTY ((c_float)1e20)
62 #endif /* ifndef QPALM_INFTY */
63 
64 
65 #define MAX_ITER (10000)
66 #define INNER_MAX_ITER (100)
67 #define EPS_ABS (1e-4)
68 #define EPS_REL (1e-4)
69 #define EPS_ABS_IN (1)
70 #define EPS_REL_IN (1)
71 #define RHO (0.1)
72 #define EPS_PRIM_INF (1e-5)
73 #define EPS_DUAL_INF (1e-5)
74 #define THETA (0.25)
75 #define DELTA (100)
76 #define SIGMA_MAX (1e9)
77 #define SIGMA_INIT (2e1)
78 #define PROXIMAL (TRUE)
79 #define GAMMA_INIT (1E7)
80 #define GAMMA_UPD (10)
81 #define GAMMA_MAX (1E7)
83 #define SCALING (10)
84 #define MIN_SCALING (1e-12)
85 #define MAX_SCALING (1e+04)
86 
87 #define NONCONVEX (FALSE)
88 #define WARM_START (FALSE)
89 #define VERBOSE (TRUE)
90 #define PRINT_ITER (1)
92 #define RESET_NEWTON_ITER (10000)
94 #define ENABLE_DUAL_TERMINATION (FALSE)
95 #define DUAL_OBJECTIVE_LIMIT (QPALM_INFTY)
96 #define TIME_LIMIT (QPALM_INFTY)
98 #define MAX_RANK_UPDATE 160
99 #define MAX_RANK_UPDATE_FRACTION 0.1
101 #define RELATIVE_REFINEMENT_TOLERANCE 1e-10
102 #define ABSOLUTE_REFINEMENT_TOLERANCE 1e-12
103 #define MAX_REFINEMENT_ITERATIONS 3
105 /* Options for settings->factorization_method */
106 #define FACTORIZE_KKT 0
107 #define FACTORIZE_SCHUR 1
108 #define FACTORIZE_KKT_OR_SCHUR 2
110 #define FACTORIZATION_METHOD FACTORIZE_KKT_OR_SCHUR
112 #ifdef USE_LADEL
113 #include "ladel.h"
114 #define ORDERING AMD
115 #elif defined USE_CHOLMOD
116 #define ORDERING 0
117 #endif
118 
124 #ifdef __cplusplus
125 }
126 #endif // __cplusplus
127 
128 #endif // ifndef CONSTANTS_H