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 : graphical user interface (GUI), simulation, and SBML-import modules;
optimization modules : offering several optimization strategies, namely single optimization, multi-start, successive re-optimization, and hybrid optimization modules.
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.
Graphical User Interface (GUI) module: this module was developed in order to help users in the definition and execution of problems. With the help of this module, which follows an intuitive wizard-like approach, problem definitions and modifications are guided in an easy and convenient stepwise manner, especially indicated for entry users.
Simulation module: this module carries out the dynamic simulation of the user-defined dynamics (plus assigned initial conditions and controls) generating the corresponding state trajectories. This module is especially useful for checking the model correctness during the definition phase, which is particularly error-prone. Typical errors like those related with units inconsistencies can be readily identified with this procedure.
SBML to DOTcvpSB module: this module allows DOTcvpSB to import the systems dynamics from SBML (Systems Biology Markup Language) models. Once a dynamic model is imported, it is necessary to check the model correctness by simulation (previous module). If everything works correctly, the user can proceed with the definition of the other terms of the dynamic optimization problem (performance index, constraints) and, finally, with its numerical solution.
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.
Single optimization module: this module makes a single call to one of the optimization solvers, which can be either a local deterministic or global stochastic method (see available solvers below). This procedure can be sufficient for well conditioned, convex problems, or non-convex problems which are cheap to evaluate. In any case, it is recommended as the first strategy to try with any new problem.
Multi-start optimization module: this modules runs a selected optimization solver (typically a local one) repeatedly. The set of solutions (performance index values) obtained can then be analyzed (e.g. plotting a histogram) in order to check the multimodality of the problem.
Sucessive re-optimization module: Sucessive re-optimization can be used to speed up the convergence for problems where a high discretization level is desired (e.g. those where the control profiles behave wildly). This procedure runs several successive single optimizations automatically increasing the control discretization, NLP, and IVP tolerances after each run.
Hybrid optimization module: Hybrid optimization is characterized by the combination of a stochastic global method plus a deterministic local method. This procedures ensures a compromise between the robustness of global methods and the efficiency of local ones. This module is especially indicated for difficult multimodal problems. In any case, tweaking the hybrid method requires a deep knowledge of the solvers, and this approach will be almost always more costly (in CPU time) than the single optimization procedures using local methods (the price to pay for the increased robustness).
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. 25–57.
[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. 269–280.
[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. 341–359.
[SRES ] T. P. RUNARSSON AND X. YAO, Stochastic ranking for constrained evolutionary optimization , IEEE Transactions Evolutionary Computation, 4 (2000), pp. 284–294.
[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. 1877–1891.
[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):4287–4295, 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):1514–1523, 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. 363–396. For detailed information about SUNDIALS you can visit following web page: https://computation.llnl.gov/casc/sundials/main.html