13.07.2015 Views

DOTcvpSB: a Matlab Toolbox for Dynamic Optimization in Systems ...

DOTcvpSB: a Matlab Toolbox for Dynamic Optimization in Systems ...

DOTcvpSB: a Matlab Toolbox for Dynamic Optimization in Systems ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>DOTcvpSB</strong>: a <strong>Matlab</strong> <strong>Toolbox</strong> <strong>for</strong> <strong>Dynamic</strong> <strong>Optimization</strong> <strong>in</strong> <strong>Systems</strong> Biology• optimization modules: offer<strong>in</strong>g several optimization strategies, namely s<strong>in</strong>gle optimization, multi-start, successivere-optimization, and hybrid optimization modules.1.2.1 Utility modulesThe utility modules offer several facilities <strong>for</strong> the def<strong>in</strong>ition, check<strong>in</strong>g, and handl<strong>in</strong>g of problems. Thetoolbox can be operated through two equivalent approaches: by the use of the GUI, or directly from the commandl<strong>in</strong>e (from where scripts with problem def<strong>in</strong>itions can be created and executed). It also offers a module to importdynamic models from SBML files, and the imported models can be checked by a simulation module.• Graphical User Interface (GUI) module: this module was developed <strong>in</strong> order to help users <strong>in</strong> the def<strong>in</strong>itionand execution of problems. With the help of this module, which follows an <strong>in</strong>tuitive wizard-like approach,problem def<strong>in</strong>itions and modifications are guided <strong>in</strong> an easy and convenient stepwise manner, especially<strong>in</strong>dicated <strong>for</strong> entry users.• Simulation module: this module carries out the dynamic simulation of the user-def<strong>in</strong>ed dynamics (plusassigned <strong>in</strong>itial conditions and controls) generat<strong>in</strong>g the correspond<strong>in</strong>g state trajectories. This module isespecially useful <strong>for</strong> check<strong>in</strong>g the model correctness dur<strong>in</strong>g the def<strong>in</strong>ition phase, which is particularly errorprone.Typical errors like those related with units <strong>in</strong>consistencies can be readily identified with this procedure.• SBML to <strong>DOTcvpSB</strong> module: this module allows <strong>DOTcvpSB</strong> to import the systems dynamics from SBML(<strong>Systems</strong> Biology Markup Language) models [18; 20]. Once a dynamic model is imported, it is necessaryto check the model correctness by simulation (previous module). If everyth<strong>in</strong>g works correctly, the usercan proceed with the def<strong>in</strong>ition of the other terms of the dynamic optimization problem (per<strong>for</strong>mance <strong>in</strong>dex,constra<strong>in</strong>ts) and, f<strong>in</strong>ally, with its numerical solution.1.2.2 <strong>Optimization</strong> modulesThe optimization modules offers a suite of four different optimization strategies, each one with differentoptions <strong>for</strong> the optimization solvers, follow<strong>in</strong>g the "Swiss Army knife" approach mentioned previously. All thesemodules are described <strong>in</strong> more detail below.• S<strong>in</strong>gle optimization module: this module makes a s<strong>in</strong>gle call to one of the optimization solvers, which canbe either a local determ<strong>in</strong>istic or global stochastic method (see available solvers below). This procedure canbe sufficient <strong>for</strong> 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 (per<strong>for</strong>mance <strong>in</strong>dex values) obta<strong>in</strong>ed can then be analyzed (e.g. plott<strong>in</strong>ga histogram) <strong>in</strong> order to check the multimodality of the problem.• Sucessive re-optimization module: Sucessive re-optimization can be used to speed up the convergence <strong>for</strong>problems where a high discretization level is desired (e.g. those where the control profiles behave wildly).This procedure runs several successive s<strong>in</strong>gle optimizations automatically <strong>in</strong>creas<strong>in</strong>g the control discretization,NLP, and IVP tolerances after each run.• Hybrid optimization module: Hybrid optimization is characterized by the comb<strong>in</strong>ation of a stochasticglobal method plus a determ<strong>in</strong>istic local method. This procedures ensures a compromise between the robustnessof global methods and the efficiency of local ones. This module is especially <strong>in</strong>dicated <strong>for</strong> difficultmultimodal problems. In any case, tweak<strong>in</strong>g the hybrid method requires a deep knowledge of the solvers,and this approach will be almost always more costly (<strong>in</strong> CPU time) than the s<strong>in</strong>gle optimization proceduresus<strong>in</strong>g local methods (the price to pay <strong>for</strong> the <strong>in</strong>creased robustness).1.3 NUMERICAL OPTIMIZATION METHODS (NLP AND MINLP SOLVERS)The toolbox provides <strong>in</strong>terfaces to several optimization state-of-the-art solvers:• local determ<strong>in</strong>istic1. IPOPT [37] (Interior Po<strong>in</strong>t OPTimizer) implements a primal-dual <strong>in</strong>terior po<strong>in</strong>t method, and uses l<strong>in</strong>esearches based on Filter methods;Page – 8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!