From: DOTcvpSB, a software toolbox for dynamic optimization in systems biology
% Example of the DOTcvp simple input file for the drug displacement problem | ||
---|---|---|
data.name | = 'DrugDisplacement'; | % name of the problem |
data.odes.parameters(1) | = {'A = 232'}; | % constant parameters before ODE |
data.odes.parameters(2) | = {'B = 46.4'}; | |
data.odes.parameters(3) | = {'C = 2152.96'}; | |
data.odes.res(1) | = {'((1+0.2*(y(1)+y(2)))^2/(((1+0.2*(y(1)+y(2)))^2+A+B*y(2))*((1+0.2*(y(1)+y(2)))^2+A+B*y(1))-C*y(1)*y(2)))*(((1+0.2*(y(1)+y(2)))^2+A+B*y(1))*(0.02-y(1))+B*y(1)*(u(1)-2*y(2)))'}; | |
data.odes.res(2) | = {'((1+0.2*(y(1)+y(2)))^2/(((1+0.2*(y(1)+y(2)))^2+A+B*y(2))*((1+0.2*(y(1)+y(2)))^2+A+B*y(1))-C*y(1)*y(2)))*(((1+0.2*(y(1)+y(2)))^2+A+B*y(2))*(u(1)-2*y(2))+46.4*(0.02-y(1)))'}; | |
data.odes.res(3) | = {'1'}; | |
data.odes.ic | = [0.02 0.0 0.0]; | % vector of initial conditions |
data.odes.tf | = 300.0; | % final time |
data.nlp.RHO | = 5; | % CVP discretization level |
data.nlp.J0 | = 'y(3)'; | % performance index, min-max(performance index) |
data.nlp.u0 | = 4.0; | % initial guess for control values |
data.nlp.lb | = 0.0; | % lower bounds for control values |
data.nlp.ub | = 8.0; | % upper bounds for control values |
data.nlp.solver | = 'IPOPT'; | % ['FMINCON'|'IPOPT'|'SRES'|'DE'|'ACOMI'|'MISQP'|'MITS'] |
data.nlp.FreeTime | = 'on'; | % ['on'|'off'] set 'on' if free time is considered |
data.nlp.eq.status | = 'on'; | % ['on'|'off'] switch on/off of the equality constraints |
data.nlp.eq.NEC | = 2; | % number of active equality constraints |
data.nlp.eq.eq(1) | = {'y(1)-0.02'}; | % first equality constraint |
data.nlp.eq.eq(2) | = {'y(2)-2.0'}; | % second equality constraint |
data.nlp.eq.time(1) | = data.nlp.RHO; | % to indicate that it is an end-point constraint |
data.nlp.eq.time(2) | = data.nlp.RHO; | % to indicate that it is an end-point constraint |
data.options.trajectories | = size(data.odes.res,2)-1; | % how many state trajectories will be displayed |