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> BiologyL<strong>in</strong>e: 21-44 There is a place <strong>for</strong> the constant parameters or <strong>for</strong> the <strong>for</strong>mulas, e.g. conditions, description of the problem <strong>in</strong>the ODE <strong>for</strong>m, possible black box def<strong>in</strong>ition option, and the vector of the <strong>in</strong>itial values. Note that the notationy(number), u(number), p(number) has to be used <strong>for</strong> the state, decision variables, and time-<strong>in</strong>dependentparameters, respectively. Next options serve <strong>for</strong> the def<strong>in</strong>ition of the number of state variables with the<strong>in</strong>itial and f<strong>in</strong>al time. The last group of the options is related with the sett<strong>in</strong>gs <strong>for</strong> both, system and sensitivitymodule. In this place it is possible to <strong>in</strong>itialize the ODE and sensitivities as <strong>for</strong> example nonl<strong>in</strong>ear and l<strong>in</strong>earsolver, l<strong>in</strong>ear multistep method, maximum number of steps, relative and absolute tolerance <strong>for</strong> the ODE andsensitivities. The last option <strong>in</strong> this part conta<strong>in</strong>s <strong>in</strong><strong>for</strong>mation about the sensitivities error control. When thisoption is set at the value of ’on’ then the CPU time will be larger and the sensitivities will be controlled.Note The last version of the DOTcvp toolbox was extended to solve black box models. The models haveto be def<strong>in</strong>ed as function <strong>in</strong> the <strong>for</strong>m [J0,Ji]=FunctionName(x), where J0, Ji, and x represent thecost function, constra<strong>in</strong>ts violation <strong>in</strong> the vector <strong>for</strong>m, and vector of optimized variables, respectively.Firstly, these models have to be copied to the follow<strong>in</strong>g folder ’DOTcvp/src_black_box’ andthen run the toolbox <strong>in</strong>stallation file (to save all new paths <strong>in</strong>to the MATLAB environment). Theuser can change the option regard<strong>in</strong>g the black box models <strong>in</strong> the <strong>in</strong>put file: ’data.odes.black_box =’None’,’1’,’FunctionName’’ where <strong>in</strong> the first part can be def<strong>in</strong>ed an argument ’None’ if ODE are providedor ’Full’ if black box function is def<strong>in</strong>ed. The second parameter is the penalty coefficient <strong>for</strong> thesummary of the constra<strong>in</strong>ts violation and the last one is the name of the black box function.L<strong>in</strong>e: 46-73 This part of the <strong>in</strong>put file conta<strong>in</strong>s options related with the NLP def<strong>in</strong>ition. First, the number of time <strong>in</strong>tervalshas to be def<strong>in</strong>ed, then the m<strong>in</strong>imization or maximization option is chosen. After the def<strong>in</strong>ition of the costfunction is done it is needed to def<strong>in</strong>e the upper and lower bounds of the decision variables and/or time<strong>in</strong>dependentparameters. Next the NLP or MINLP solver can be chosen together with the default <strong>in</strong>put file(note that this file conta<strong>in</strong>s default sett<strong>in</strong>gs <strong>for</strong> every MI/NLP solver, the user can change it), NLP tolerancelevel, gradient method, and maximum number of function evaluation. Next it is possible to set if free timeproblem is solved, if yes, then the upper and lower bounds have to be def<strong>in</strong>ed and the penalty function canbe enabled. In the next option it is possible to switch the piecewise constant (PWC) control trajectory to thepiecewise l<strong>in</strong>ear (PWL) control trajectory. Note, this option is available only <strong>for</strong> FMINCON and non-freetime problems. At the end of this group of options it is needed to def<strong>in</strong>e the number of decision, <strong>in</strong>tegervariables, and time-<strong>in</strong>dependent parameters.Note The number of state variables and decision, time-<strong>in</strong>dependent variables is counted automatically, butthe user can change it. The user can also <strong>in</strong>troduce a non-constant <strong>in</strong>itial control trajectories <strong>for</strong> theoptimization or simulation. If we consider two time <strong>in</strong>tervals and two control variables, then the option’data.nlp.u0’ will be def<strong>in</strong>ed as follows: [u 011 u 012 ; u 021 u 022 ]L<strong>in</strong>e: 75-83 This place is necessary <strong>for</strong> def<strong>in</strong><strong>in</strong>g the number of the equality constra<strong>in</strong>ts with the time at which they areactive, i.e. after which segment. The penalty function <strong>for</strong> the equality constra<strong>in</strong>ts can also be active.Note The equality constra<strong>in</strong>t of the type ’data.nl.eq.eq(1) = {’y(2)+0.1’}’ is active, the status is set on thevalue of ’on’ what means that the equationx 2 (t F ) = −0.1 (4.7)is active <strong>in</strong> the f<strong>in</strong>al segment ’data.nlp.eq.time(1) = data.nlp.RHO’. This direction – tim<strong>in</strong>g is equal tothe f<strong>in</strong>al time. If we would like to set the active equality constra<strong>in</strong>t on the half time of the optimization,we have to def<strong>in</strong>e the be<strong>for</strong>e mentioned option on the value of 15 or ’data.nlp.RHO/2’.L<strong>in</strong>e: 85-96 This part of the function conta<strong>in</strong>s <strong>in</strong><strong>for</strong>mation about the <strong>in</strong>equality constra<strong>in</strong>ts and their penalty functions.The user can <strong>in</strong>sert the number of <strong>in</strong>equality constra<strong>in</strong>s and choose type: ’>’ or ’=’ and ’

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

Saved successfully!

Ooh no, something went wrong!