|
QPALM
1.2.0
Proximal Augmented Lagrangian method for Quadratic Programs
|
#include <qpalm/types.h>
QPALM Workspace.
The workspace is the main data structure and is given as a pointer to (almost) all QPALM functions. It contains pointers to the settings, the data, return info, solution variables and intermediate workspace variables.
Collaboration diagram for QPALMWorkspace:Data Fields | |
| QPALMData * | data |
| problem data to work on (possibly scaled) | |
| QPALMSolver * | solver |
| linsys variables | |
| QPALMSettings * | settings |
| problem settings | |
| QPALMScaling * | scaling |
| scaling vectors | |
| QPALMSolution * | solution |
| problem solution | |
| QPALMInfo * | info |
| solver information | |
| QPALMTimer * | timer |
| timer object | |
Iterates | |
| c_float * | x |
| primal iterate | |
| c_float * | y |
| dual iterate | |
| c_float * | Ax |
| scaled A * x | |
| c_float * | Qx |
| scaled Q * x | |
| c_float * | Aty |
| A' * y (useful for saving one mat_tpose_vec) | |
| c_float * | x_prev |
| previous primal iterate | |
| c_int | initialized |
| flag whether the iterates were initialized or not | |
Workspace variables | |
| c_float * | temp_m |
| placeholder for vector of size m | |
| c_float * | temp_n |
| placeholder for vector of size n | |
| c_float * | sigma |
| penalty vector | |
| c_float * | sigma_inv |
| 1./sigma | |
| c_float | sqrt_sigma_max |
| sqrt(sigma_max) | |
| c_int | nb_sigma_changed |
| number of sigma-components that changed in an outer iteration (relevant for factorization update) | |
| c_float | gamma |
| proximal penalty factor | |
| c_int | gamma_maxed |
| flag to indicate whether gamma has been maximized when the primal residual was low | |
| c_float * | Axys |
| Ax + y./sigma. | |
| c_float * | z |
| projection of Axys onto the constraint set [bmin, bmax] | |
| c_float * | pri_res |
| primal residual | |
| c_float * | pri_res_in |
| intermediate primal residual | |
| c_float * | yh |
| candidate dual update | |
| c_float * | Atyh |
| A' * yh. | |
| c_float * | df |
| gradient of the primal objective (+proximal term) | |
| c_float * | x0 |
| record of the primal iterate during the last dual update | |
| c_float * | xx0 |
| x - x0 | |
| c_float * | dphi |
| gradient of the Lagrangian | |
| c_float * | neg_dphi |
| -dphi, required as the rhs in SCHUR | |
| c_float * | dphi_prev |
| previous gradient of the Lagrangian | |
| c_float * | d |
| primal update step | |
Linesearch variables | |
| c_float | tau |
| stepsize | |
| c_float * | Qd |
| Q * d. | |
| c_float * | Ad |
| A * d. | |
| c_float * | sqrt_sigma |
| elementwise sqrt(sigma) | |
| c_float | sqrt_delta |
| sqrt(penalty update factor) | |
| c_float | eta |
| linesearch parameter | |
| c_float | beta |
| linesearch parameter | |
| c_float * | delta |
| linesearch parameter | |
| c_float * | alpha |
| linesearch parameter | |
| c_float * | temp_2m |
| placeholder for vector of size 2m | |
| c_float * | delta2 |
| delta .* delta | |
| c_float * | delta_alpha |
| delta .* alpha | |
| array_element * | s |
| alpha ./ delta | |
| c_int * | index_L |
| index set L (where s>0) | |
| c_int * | index_P |
| index set P (where delta>0) | |
| c_int * | index_J |
| index set J (L xor P) | |
Termination criteria variables | |
| c_float | eps_pri |
| primal tolerance | |
| c_float | eps_dua |
| dual tolerance | |
| c_float | eps_dua_in |
| intermediate dual tolerance | |
| c_float | eps_abs_in |
| intermediate absolute tolerance | |
| c_float | eps_rel_in |
| intermediate relative tolerance | |
Primal infeasibility variables | |
| c_float * | delta_y |
| difference of consecutive dual iterates | |
| c_float * | Atdelta_y |
| A' * delta_y. | |
Dual infeasibility variables | |
| c_float * | delta_x |
| difference of consecutive primal iterates | |
| c_float * | Qdelta_x |
| Q * delta_x. | |
| c_float * | Adelta_x |
| A * delta_x. | |
Temporary vectors used in scaling | |
| c_float * | D_temp |
| temporary primal variable scaling vectors | |
| c_float * | E_temp |
| temporary constraints scaling vectors | |
| QPALMData* QPALMWorkspace::data |
| c_float* QPALMWorkspace::Aty |
| c_int QPALMWorkspace::initialized |
| c_float* QPALMWorkspace::temp_m |
| c_float* QPALMWorkspace::temp_n |
| c_int QPALMWorkspace::nb_sigma_changed |
| c_int QPALMWorkspace::gamma_maxed |
| c_float* QPALMWorkspace::z |
| c_float* QPALMWorkspace::pri_res_in |
| c_float* QPALMWorkspace::df |
| c_float* QPALMWorkspace::x0 |
| c_float* QPALMWorkspace::neg_dphi |
| c_float* QPALMWorkspace::dphi_prev |
| c_float QPALMWorkspace::sqrt_delta |
| c_float* QPALMWorkspace::temp_2m |
| array_element* QPALMWorkspace::s |
| c_float QPALMWorkspace::eps_dua_in |
| c_float QPALMWorkspace::eps_abs_in |
| c_float QPALMWorkspace::eps_rel_in |
| c_float* QPALMWorkspace::delta_y |
| c_float* QPALMWorkspace::delta_x |
| c_float* QPALMWorkspace::D_temp |
| c_float* QPALMWorkspace::E_temp |
| QPALMSolver* QPALMWorkspace::solver |
| QPALMSettings* QPALMWorkspace::settings |
| QPALMScaling* QPALMWorkspace::scaling |
| QPALMSolution* QPALMWorkspace::solution |
| QPALMInfo* QPALMWorkspace::info |
| QPALMTimer* QPALMWorkspace::timer |