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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<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> Biologydata.options.profiler test the per<strong>for</strong>mance of the toolbox str<strong>in</strong>g [’on’|’off’] ’off’data.options.multistart set 1 if the multistart is off, otherwise<strong>in</strong>teger [positive] – 1you have to put here some <strong>in</strong>-teger valuedata.options.action what will be done str<strong>in</strong>g [’s<strong>in</strong>gle-optimization’ ’s<strong>in</strong>gle-optimization’|’re-optimization’|’hybrid-strategy’|’simulation’]11.2 DEFAULT SETTINGS OF THE SUCESSIVE RE-OPTIMIZATIONDOTcvp: dotcvp_reoptimization_default.m.m1 function [data] = dotcvp_reoptimization_default(data)23 data.option.reoptimization.NRO = 4; % compute the number of ref<strong>in</strong><strong>in</strong>g optimizations4 data.option.reoptimization.Increas<strong>in</strong>g = 2; % how quickly will the mesh ref<strong>in</strong>ement be <strong>in</strong>creased5 data.option.reoptimization.NLPtol = 1e-003; % <strong>in</strong>itial NLP tolerance level6 data.option.reoptimization.IVPRelTol = 1e-005; % <strong>in</strong>itial IVP relative tolerance level7 data.option.reoptimization.IVPAbsTol = 1e-005; % <strong>in</strong>itial IVP absolute tolerance level8 data.option.reoptimization.SensAbsTol = 1e-005; % <strong>in</strong>itial absolute tolerance <strong>for</strong> sensitivity variables910 % Note that values of NLP and IVP tolerances will be <strong>in</strong>creased with the11 % mesh ref<strong>in</strong>ement algorithm until they reach the f<strong>in</strong>al tolerances def<strong>in</strong>ed12 % by the user <strong>in</strong> the <strong>in</strong>itial file.1314 end11.3 DEFAULT SETTINGS OF THE HYBRID STRATEGYDOTcvp: dotcvp_hybrid_strategy_default.m.m1 function [data] = dotcvp_hybrid_strategy_default(data)23 switch data.option.HybridStrategy.method4 case{'stochastic'}5 % first step [a stochastic solver]: please fill basic sett<strong>in</strong>gs <strong>for</strong>6 % a stochastic solver, otherwise they will be taken from the user7 % <strong>in</strong>put file89 data.option.HybridStrategy.IVPRelTol = 1e-005; % IVP relative tolerance level10 data.option.HybridStrategy.IVPAbsTol = 1e-005; % IVP absolute tolerance level11 data.option.HybridStrategy.NLPTol = 1e-003; % NLP tolerance level12 data.option.HybridStrategy.NLPSolver = 'DE'; % chose a solver ['FMINCON'|'IPOPT'|'SRES'|'DE'|'ACOMI'|'MISQP'|'MITS']13 data.option.HybridStrategy.NLPsett<strong>in</strong>gs = 'None'; % <strong>in</strong>sert the file name that conta<strong>in</strong>s sett<strong>in</strong>gs <strong>for</strong> NLP solver, otherwise 'None'14 data.option.HybridStrategy.MaxIter = 50; % maximum number of iterations15 data.option.HybridStrategy.MaxCPUTime = 60*10; % maximum CPU time of the optimization (60*60*0.25) = 15 m<strong>in</strong>utes16 data.option.HybridStrategy.<strong>in</strong>termediate = 'off'; % ['on'|'off'|'silent'] display of the <strong>in</strong>termediate results1718 case{'determ<strong>in</strong>istic'}19 % second step [a determ<strong>in</strong>istic solver]: all sett<strong>in</strong>gs <strong>for</strong> a20 % determ<strong>in</strong>istic solver are taken from the user <strong>in</strong>put file, but the21 % user can <strong>in</strong>troduce some new or special sett<strong>in</strong>gs, which rewrites22 % those from the <strong>in</strong>put file. The name of the structure is the same23 % as the name <strong>in</strong> the user <strong>in</strong>put file, e.g. data.nlp.RHO, etc.2425 end26 end11.4 DEFAULT SETTINGS OF THE SIMULATIONDOTcvp: dotcvp_simulation_default.m.m1 function [data] = dotcvp_simulation_default(data)23 data.options.simulation.IVPsolver = 'ode15s'; % ['ode45'|'ode23'|'ode23t'|'ode23tb'|'ode113'|'ode15s'|'ode23s']4 data.options.simulation.MaxStep = 1e-1; % ['positive scalar'] step size5 data.options.simulation.grid = 'yes'; % ['yes'|'no'] display of the grid <strong>in</strong> the figure(s)6 data.options.simulation.legend = 'yes'; % ['yes'|'no'] display of the legend <strong>in</strong> the figure7 data.options.simulation.semilogx = 'no'; % ['yes'|'no'] if the logarithmic (base 10) scale is used <strong>for</strong> the X-axis8 data.options.simulation.output = 'one'; % ['one'|'all'] how many state figures will be depicted910 end11.5 DEFAULT SETTINGS OF NLP OR MINLP SOLVERSThe follow<strong>in</strong>g are the default values <strong>for</strong> the different NLP solvers. The correspond<strong>in</strong>g m-files can be editedby the user <strong>in</strong> order to change these defaults if needed.11.5.1 ACOmiDOTcvp: dotcvp_acomi_default.m1 function [data] = dotcvp_acomi_default(data)23 data.options.acomi.report = 0; % create a report file conta<strong>in</strong><strong>in</strong>g all solution <strong>in</strong><strong>for</strong>mation: [1/0] = [Yes/No]4 data.options.acomi.acc = 10^(-3); % accuracy <strong>for</strong> both: object-function & constra<strong>in</strong>ts5 data.options.acomi.maxeval = data.nlp.MaxIter; % maximum number of function evaluationsPage – 51

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

Saved successfully!

Ooh no, something went wrong!