-
Notifications
You must be signed in to change notification settings - Fork 28
Optimization algorithms available in the d2d framework
The default parameter estimation procedure of the d2d-framework uses a deterministic optimisation algorithm (LSQNONLIN) based on evaluated sensitivities, which are integrated together with the ODE system. This approach is justify in [1] to be the most efficient and reliable for typical problems in Systems Biology. The initial parameters in a multi-start setup are taken from a Latin hypercube sampling.
However, plenty of other optimisation algorithms which are described in [1] can be utilised, too. These comprise stochastic methods, e.g. different realisations of particle swarm optimisation, evolutionary strategies and hill climbing strategies. They are accessible via
arFitEvA2(optimizer_index)
with the index ranging from one to thirteen for the different methods described in EvA2 Optimization Framework.
In addition, several deterministic optimisation procedures and functions are available. Currently, seven optimizers are available:
>> ar.config.optimizers
ans =
'lsqnonlin' 'fmincon' 'PSO' 'STRSCNE' 'arNLS' 'fmincon_as_lsq' 'arNLS_SR1' 'NL2SOL' 'TRESNEI' 'Ceres'
The default optimizer lsqnonlin
is chosen by
ar.config.optimizer = 1;
Matlab's fmincon
is chosen by
ar.config.optimizer = 2;
An implementation of particle-swarm optimization is available via
ar.config.optimizer = 3;
Custom self-written optimization routines like STRSCNE
, arNLS
, fmincon_as_lsq
, arNLS_SR1
can be chosen by setting ar.config.optimizer
to 4
,5
,6
or 7
. These examples also show how users implement their own optimization techniques (see arFit.m
).
ar.config.optim
coincides with Matlab's optimization struct which is specified by the standard Matlab function optimset
or returned by optimget
.
Third party optimization routines with self-written interfaces include NL2SOL
, TRESNEI
, and Ceres
. They can be chosen by setting ar.config.optimizer
to 8
,9
, and 10
.
The optimization struct for Googles Ceres non-linear solver is specified in ar.config.optimceres
. When encountering problems while compiling or running Ceres check out the wiki page
[Solving issues with Ceres](Solving issues with Ceres)
[1] Raue A., et al. Lessons Learned from Quantitative Dynamical Modeling in Systems Biology. PLOS ONE, 8(9), e74335, 2013.
- Installation and system requirements
- Setting up models
- First steps
- Advanced events and pre-equilibration
- Computation of integration-based prediction bands
- How is the architecture of the code and the most important commands?
- What are the most important fields of the global variable ar?
- What are the most important functions?
- Optimization algorithms available in the d2d-framework
- Objective function, likelhood and chi-square in the d2d framework
- How to set up priors?
- How to set up steady state constraints?
- How do I restart the solver upon a step input?
- How to deal with integrator tolerances?
- How to implement a bolus injection?
- How to implement washing and an injection?
- How to implement a moment ODE model?
- How to run PLE calculations on a Cluster?