DOTcvpSB: a Matlab Toolbox for Dynamic Optimization in Systems Biology

The toolbox package is freely available to ACADEMIC USERS. Please follow these steps:
  1. Download your preferred version from the links below
  2. Email us to receive a password to unzip the downloaded file
  3. Unzip and check the installation notes and other help documents
Download DOTcvpSB toolbox for WINDOWS* gnumex and MinGW included [around 29 MB]      presentation      Documentation without gnumex and MinGW [around 8 MB] Graphical User Interface - check it out!
*The full functionality is guaranteed under the MATLAB version 7.0-7.7 [2008b]. The newest MATLAB versions do not support precompiled libraries for MITS, ACOmi, and MISQP.
Download some illustrative examples for new DOTcvpSB
Working area MATLAB zip files GUI zip files PDF description
Systems biology download it - download it
Biochemical engineering download it - download it
Other benchmarks download it - download it
Static optimization problems download it - -
All in one package 13 download it 10 download it download it
 click here and check how it works
License conditions for the DOTcvpSB
Creative Commons License *
The method is described in the following publication (please cite it if you publish results obtained with this toolbox):
T. Hirmajer, E. Balsa-Canto and J. R. Banga: DOTcvpSB, a software toolbox for dynamic optimization in systems biology. BMC Bioinformatics 2009, 10:199
*The DOTcvpSB toolbox is completely free of charge under the creative commons license.


  1. Abstract
  2. Toolbox description
  3. Numerical optimization (MI/NLP solvers) and simulation (IVP solvers) methods
  4. References for NLP, MINLP, and IVP solvers

Optimization aims to make a system or design as effective or functional as possible. In systems biology, most models have a dynamic nature, usually consisting of sets of differential equations. Dynamic optimization seeks the computation of optimal time-varying conditions (called control variables) for this type of systems. These control variables allow us to stimulate a given biosystem so as to achieve a desired dynamic behavior, e.g. stimulate a cell signaling cascade to maximize amplitude strength and/or duration, stimulate an oscillatory system to synchronize oscillations, remove oscillations, etc.

In other words, DO allows the computation of optimal operating policies for processes or systems which maximize (or minimize) a pre-defined performance index subject to the system dynamics and other possible constraints. DO may be solved by several methods, including the control vector parameterization (CVP) method, which has demonstrated excellent performance for a wide variety of problems.

Here we present a software toolbox, DOTcvpSB, which uses the CVP approach for handling continuous and mixed integer DO problems. DOTcvpSB has been successfully applied to several problems in systems biology and bioprocess engineering. The toolbox is written in MATLAB and provides an easy to use environment while maintaining a quite good performance. DOTcvpSB is designed for the Windows operating systems. The toolbox also contains a function for importing SBML models.

Key features:
Toolbox description
DOTcvpSB has been implemented in MATLAB. The original dynamic optimization or mixed-integer dynamic optimization problem is solved numerically by the use of a suitable optimizer (outer iteration) which requires the solution of an IVP (inner iteration) which will in general consist on a set of ODEs plus a set of sensitivities to compute gradient information. The solution of the inner IVP is accomplished by calls to tailored solvers from the SUite of Nonlinear and DIfferential/ALgebraic equation Solvers (SUNDIALS), more specifically CVODES. Since these simulations are the most computationally demanding task in the CVP method, our toolbox can automatically create compiled dynamically linked subroutines (known as MEX files in MATLAB) for the ODEs, Jacobian, and sensitivities, thus ensuring high performance.
The toolbox contains a number of modules (implemented as MATLAB functions) which can be grouped in two categories:

Utility modules

The utility modules offer several facilities for the definition, checking, and handling of problems. The toolbox can be operated through two equivalent approaches: by the use of the GUI, or directly from the command line (from where scripts with problem definitions can be created and executed). It also offers a module to import dynamic models from SBML files, and the imported models can be checked by a simulation module.

Optimization modules

The optimization modules offers a suite of four different optimization strategies, each one with different options for the optimization solvers, following the 'Swiss Army knife' approach mentioned previously. All these modules are described in more detail below.
Numerical optimization (MI/NLP solvers) and simulation (IVP solvers) methods
The toolbox provides interfaces to several optimization state-of-the-art solvers:

local deterministic

  1. IPOPT [Interior Point OPTimizer] implements a primal-dual interior point method, and uses line searches based on Filter methods;
  2. FMINCON [Find MINimum of CONstrained nonlinear multivariable function] is a part of the MATLAB optimization toolbox which uses sequential quadratic programming (SQP);
  3. MISQP [Mixed-Integer Sequential Quadratic Programming] solves mixed-integer non-linear programming problems by a modified sequential quadratic programming method;

stochastic global

  1. DE [Differential Evolution] uses population based approach for minimizing the performance index;
  2. SRES [Stochastic Ranking Evolution Strategy] uses an evolution strategy combined with an approach to balance objective and penalty functions;

and hybrid metaheuristics (combination of stochastic and deterministic solvers)

  1. ACOmi [Ant Colony Optimization for mixed integer nonlinear programming problems] is inspired by ants foraging behavior and for the local search it uses MISQP;
  2. MITS [Mixed-Integer Tabu Search algorithm] is based on extensions of the metaheuristic Tabu Search algorithm and for local search it uses MISQP too;
All NLP and MINLP solvers besides FMINCON, which is a part of MATLAB Optimization Toolboxes are included directly into the DOTcvp package.
Forward integration of the ODE, Jacobian, and sensitivities if it is needed is ensured by CVODES, a part of SUNDIALS, which is able to perform the simultaneous or staggered sensitivity analysis too. The IVP problem can be solved with the Newton or Functional iteration module and with the Adams or BDF linear multistep method (LMM). The Adams method is recommended for solving of the non-stiff problems while BDF is recommended for solving of the stiff problems. Note that the sensitivity equations are provided analytically and the error control strategy for the sensitivity variables could be enabled.
References for NLP, MINLP, and IVP solvers

[IPOPT] A. WACHTER AND L. T. BIEGLER, On the implementation of a primal-dual interior point filter line search algorithm for large-scale nonlinear programming, Mathematical Programming, 106 (2006), pp. 2557.

[FMINCON] T. COLEMAN, M. A. BRANCH, AND A. GRACE, Optimization toolbox for use with matlab user's guide version 2, 1998.

[MISQP] O. EXLER AND K. SCHITTKOWSKI, A trust region sqp algorithm for mixed-integer nonlinear programming, Optimization Letters, 1 (2007), pp. 269280.

[DE] R. STORN AND K. PRICE, Differential evolution - a simple and efficient heuristic for global optimization over continuous spaces, Journal of Global Optimization, 11 (1997), pp. 341359.

[SRES] T. P. RUNARSSON AND X. YAO, Stochastic ranking for constrained evolutionary optimization, IEEE Transactions Evolutionary Computation, 4 (2000), pp. 284294.

[ACOmi] M. SCHLUTER, J. A. EGEA, AND J. R. BANGA. Extended ant colony optimization for non-convex mixed integer nonlinear programming. Computers & Operations Research, (2008), doi:10.1016/j.cor.2008.08.015.

[MITS] O. EXLER, L. T. ANTELO, J. A. EGEA, A. A. ALONSO, AND J. R. BANGA, A tabu search-based algorithm for mixed-integer nonlinear problems and its application to integrated process and control system design, Computers and Chemical Engineering, 32 (2008), pp. 18771891.

[MESH REFINEMENT] E. Balsa-Canto, J. R. Banga, A. A. Alonso, and V. S. Vassiliadis. Efficient optimal control of bioprocesses using second-order information. Industrial and Engineering Chemistry Research, 39(11):42874295, 2000.

[HYBRID OPTIMIZATION] E. Balsa-Canto, V.S. Vassiliadis, and J.R. Banga. Dynamic optimization of single- and multi-stage systems using a hybrid stochastic-deterministic method. Industrial and Engineering Chemistry Research, 44(5):15141523, 2005.

[SUNDIALS] A. C. HINDMARSH, P. N. BROWN, K. E. GRANT, S. L. LEE, R. SERBAN, D. E. SHUMAKER, AND C. S. WOODWARD, Sundials: Suite of nonlinear and differential/algebraic equation solvers, ACM Transactions on Mathematical Software, 31 (2005), pp. 363396. For detailed information about SUNDIALS you can visit following web page: