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> Biology6 data.options.acomi.maxtime = data.nlp.MaxCPUTime; % maximum CPU time [sec]7 data.options.acomi.fex = -<strong>in</strong>f; % stopp<strong>in</strong>g criteria: if objective function = fex -> stop8 data.options.acomi.loc_solver = 1; % use local solver at with<strong>in</strong> ACOMI: [1/0] = [Yes/No]9 data.options.acomi.loc_type = 'MISQP'; % select a local solver <strong>in</strong> ACOMI: ['MISQP']10 data.options.acomi.loc_start = 1; % 10 seconds multistart of the local solver be<strong>for</strong>e (!) ACOMI: [1/0] = [Yes/No]11 %data.options.acomi.oracle = -10^(12); % oracle parameter <strong>for</strong> penalty function [optional]; with constra<strong>in</strong>ts: 10^(12)1213 end11.5.2 DEDOTcvp: dotcvp_de_default.m1 function [data] = dotcvp_de_default(data)23 data.options.de.VTR = -Inf; % <strong>for</strong> m<strong>in</strong>imization "Value To Reach" (stop when objective function < VTR)4 data.options.de.F = 0.7; % DE-stepsize F from <strong>in</strong>terval [0, 2] (recommended 0.7/0.8)5 data.options.de.CR = 1.0; % crossover probability constant from <strong>in</strong>terval [0, 1]6 data.options.de.strategy = 3; % recommended 3 or 87 data.options.de.max_time = data.nlp.MaxCPUTime; % maximum CPU time [sec]8 data.options.de.NLPtol = data.nlp.NLPtol; % NLP tolerance level9 data.options.de.itermax = data.nlp.MaxIter; % maximum number of iterations (generations)10 data.options.de.MaxFunEvals = <strong>in</strong>f; % maximum function evaluation11 data.options.de.<strong>in</strong>termediate = data.options.<strong>in</strong>termediate; % display of the <strong>in</strong>termediate results1213 end11.5.3 FMINCONDOTcvp: dotcvp_fm<strong>in</strong>con_default.m1 function [data] = dotcvp_fm<strong>in</strong>con_default(data)23 data.options.fm<strong>in</strong>con.MaxTime = data.nlp.MaxCPUTime; % maximum CPU time [sec]4 data.options.fm<strong>in</strong>con.GradObj = 'on'; % objective function gradients def<strong>in</strong>ed by the user5 data.options.fm<strong>in</strong>con.GradConstr = 'on'; % constra<strong>in</strong>ts gradients def<strong>in</strong>ed by the user6 data.options.fm<strong>in</strong>con.TolFun = data.nlp.NLPtol; % term<strong>in</strong>ation tolerance on the function value7 data.options.fm<strong>in</strong>con.TolCon = data.nlp.NLPtol; % term<strong>in</strong>ation tolerance on the constra<strong>in</strong>t violation8 data.options.fm<strong>in</strong>con.TolX = data.nlp.NLPtol; % term<strong>in</strong>ation tolerance on the function value9 data.options.fm<strong>in</strong>con.Hessian = 'off'; % hessian <strong>in</strong><strong>for</strong>mation10 data.options.fm<strong>in</strong>con.DerivativeCheck = 'off'; % compare user-supplied derivatives to FD derivatives11 data.options.fm<strong>in</strong>con.MaxIter = data.nlp.MaxIter; % maximum number of iterations12 data.options.fm<strong>in</strong>con.MaxFunEvals = 10*data.nlp.MaxIter; % maximum number of function evaluations1314 end11.5.4 IPOPTDOTcvp: dotcvp_ipopt_default.m1 function [data] = dotcvp_ipopt_default(data)23 data.options.ipopt.jac_c_constant = 'no'; % <strong>in</strong>dicates whether all equality constra<strong>in</strong>ts are l<strong>in</strong>ear ['yes','no']4 data.options.ipopt.hessian_approximation = 'limited-memory'; % <strong>in</strong>dicates what Hessian <strong>in</strong><strong>for</strong>mation is to be used5 ['exact','limited-memory']6 data.options.ipopt.mu_strategy = 'adaptive'; % update strategy <strong>for</strong> barrier parameter ['adaptive','monotone']7 data.options.ipopt.nlp_scal<strong>in</strong>g_method = 'gradient-based'; % select the technique used <strong>for</strong> scal<strong>in</strong>g the NLP8 ['none','user-scal<strong>in</strong>g','gradient-based','equilibration-based']9 data.options.ipopt.pr<strong>in</strong>t_options_documentation = 'no'; % switch to pr<strong>in</strong>t all algorithmic options ['yes','no']10 %data.options.ipopt.pr<strong>in</strong>t_level = 5; % [pr<strong>in</strong>t_level] Output verbosity level [2

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

Saved successfully!

Ooh no, something went wrong!