Options
ALADIN-\alpha comes with several ALADIN variants. These variants can be activated by setting options. All options with possible values can be found in loadDefOpts.m
. Here, we give a little more detailled description of these options.
Basic options
ALADIN option | default values | alternative |
---|---|---|
rho0 | 1e2 | double > 0 |
rhoUpdate | 1.1 | double > 0 |
rhoMax | 1e8 | double > 0 |
Sig | ‘const’ | ‘dyn’ |
lamInit | ‘false’ | ‘true’ |
term_eps | 0 | double > 0 |
maxiter | 30 | integer > 0 |
mu0 | 1e3 | double > 0 |
muUpdate | 2 | double > 0 |
muMax | 2*1e6 | double > 0 |
solveQP | ‘MA57’ | ‘ipopt’, ‘pinv’, ‘linsolve’, ‘sparseBs’, ‘MOSEK’, ‘quadprog’ |
loc Sol | ‘MA57’ | ‘ipopt’,’sqpmethod’ |
reg | ‘true’ | ‘false’ |
regParam | 1e-4 | double > 0 |
actMargin | -1e-6 | double < 0 |
plot | ‘true’ | ‘false’ |
Extensions
ALADIN option | default values | alternative |
---|---|---|
slack | ‘standard’ | ‘redSpace’ |
hessian | ‘standard’ | |
Hess | ‘standard’ | ‘DBFGS’, \text{ } ‘BFGS’ |
BFGSinit | ‘ident’ | ‘exact’ |
parfor | ‘false’ | ‘true’ |
DelUp | ‘false’ | ‘true’ |
reuse | ‘false’ | ‘true’ |
commCount | ‘false’ | ‘true’ |
Bi-Level options
ALADIN option | default values | alternative |
---|---|---|
innnerAlg | ‘none’ | ‘D-CG’, ‘D-ADMM’ |
rhoADM | 2e-2 | |
warmStart | ‘true’ | ‘false’ |
innerIter | 200 | integer > 0 |
Parameter choices for initialization
During the initialization process, the options for the parameters \Sigma, \rho 0, \mu 0 and \varepsilon are of relevance. The default settings are given by
ALADIN option | default values | alternatives |
---|---|---|
Sig | ‘const’ | ‘dny’ |
rho0 | 1e2 | \geq 0 |
mu0 | 1e3 | \geq 0 |
term_eps | 0 | \geq 0 |
The parameter \texttt{rho0} represents the penalization of the distance (augmented step size) \left|x_i-z_i^k\right|_{\Sigma_i}^2 during the first parallel step. The option \texttt{Sig} determines the augemented norm. In the first step, \texttt{Sig} is the identity matrix, thus the norm |x_i - z_i| is evaluated. Changing sigma leads to penalization of the distance |\Sigma_i(x_i - z_i)| = |x_i - z_i|_{\Sigma_i}.
First, we recall, that the algorithm consists of several stepts, which are see here. Keeping the algorithm in mind, we can now focus on the options that can be selected.
Basic Options
Parameter \rho
During the Parallelizable Step k, the optimization problems
need to be solved for fixed z_i. The parameter \rho^k represents the penalization of the distance \left|x_i-z_i^k\right|_{\Sigma_i}^2. As long as \texttt{rho} is smaller than \texttt{rhoMax}, it is increased by factor \texttt{rhoUpdate}.
ALADIN option | default values | alternative |
---|---|---|
rho0 | 1e2 | double > 0 |
rhoUpdate | 1.1 | double > 0 |
rhoMax | 1e8 | double > 0 |
Dynamic \Sigma
The second parameter relevant for the Parallelizable Step is the scaling matrix \Sigma. During the first iteration, \Sigma equals the identity matrix. When the alternative option ‘dyn’ was selected, in each step the it is checked whether the step sizes for all variables decrease. In case that a step size is not decreasing in a sufficient manner, \Sigma is changed dynamically to increase the negative impact of the large step size on the objective function in the parallel step.
ALADIN option | default value | alternative |
---|---|---|
Sig | ‘const’ | ‘dyn’ |
Parameter \lambda
The parameter \lambda takes over the function of the lagrange multipliers. We can decide whether we want to hand over a specific one or not.
ALADIN option | default value | alternative |
---|---|---|
lamInit | ‘false’ | ‘true’ |
Termination criterion
Executing the ALADIN algorithm, in each step a termination criterion is checked. The termination criterion is split into two parts. Part one checks, whether the maximum number \texttt{maxiter} of iterations is reached. Additionatlly, a termination bound \varepsilon > 0 can be handed over. Then, in each step, it is terminated, if \left\|\sum_{i\in \mathcal{R}}A_ix^k_i -b \right\|\leq \epsilon \text{ and } \left\| x^k - z^k \right \|\leq \epsilon\;, holds true.
ALADIN option | default value | alternative |
---|---|---|
term_eps | 0 | double > 0 |
maxiter | 30 | integer > 0 |
Parameter \mu
During the consensus step, the coordination QP
has to be executed. Setting s:= \sum A_ix_i - b \overset{!}{=} 0, the parameter \mu is similarly to the parameter \rho from above a penalty parameter. It can be set in the same manner as \rho.
ALADIN option | default values | alternative |
---|---|---|
mu0 | 1e3 | double > 0 |
muUpdate | 2 | double > 0 |
muMax | 2*1e6 | double > 0 |
Solvers
To solve the two optimization problems in each iteration step, the desired solvers can be indicated via setting the option opts.solveQP and opts.locSol:
1. QP Solver
ALADIN option | default value | alternatives |
---|---|---|
solveQP | ‘MA57’ | ‘ipopt’, ‘pinv’, ‘linsolve’, ‘sparseBs’, ‘MOSEK’, ‘quadprog’ |
2. Local Solver
ALADIN option | default value | alternatives |
---|---|---|
locSol | ‘ipopt’ | ‘ipopt’, ‘sqpmethod’ |
Regularization Parameters
Sometimes the Hessian matrices of the given problems do not have full rank, such that some important matrix operations are not readily available. Remedy can be obtained by regularization approaches that increase the rank of the matrix. The option can be set as follows:
ALADIN option | default value | alternative |
---|---|---|
reg | ‘true’ | ‘false’ |
regParam | 1e-4 |
Active Margin Detection
ALADIN, beeing a solver for constraint optimization, needs an active margin detection. The tolerance is handed over by the option \texttt{actMargin}
ALADIN option | default value |
---|---|
actMargin | -1e-6 |
Plots
Plotting results is nice, because one can immediately see the results. However, push up windows spreading plots over your screen can be annoying and slow down the algorithm, so we included an option to deactivate plots :)
ALADIN option | default value | alternative |
---|---|---|
plot | ‘true’ | ‘false’ |
Extensions
parfor Option
The parallelizable step from the ALADIN Algorithm can be executed in the parallel threads in matlab using its implemented parfor
-loop. This can be activeted by:
ALADIN option | default value | alternative |
---|---|---|
parfor | ‘false’ | ‘true’ |
Bilevel Options
Parameter combinations
Note that ss ALADIN-\alpha is still in a prototypical phase of development, it is not guaranteed that all combinations of options work. We tried to make ALADIN-\alpha as stable as possible running tests with a high code coverage, but we are at the moment not able to guarantee that all combinations of options work