MATLAB: Simulation stop criteria for simfunctions and sbiofit

maximumwallclockSimBiology

Hello,
A few questions that are related to each other:
  1. Does the 'MaximumWallClock' property (https://www.mathworks.com/help/simbio/ref/maximumwallclock.html) apply only to 'sbiosimulate', or also to simfunctions and 'sbiofit'?
  2. If it does apply to simfunctions, would the specification of output times in the call of the simfunction override the MaximumWallClock setting, as suggested to be the case for 'sbiosimulate' in the link above?
  3. If the 'MaximumWallClock' property is used in 'sbiofit', what is the objective function value assigned to a failed simulation?
Thank you,
Abed

Best Answer

Hi Abed,
Interesting questions -
  1. Yes, most settings are inherited from the active configset. The most notable exceptions are the states and sensitivities that get logged, and the stop time/output times. So, MaximumWallClock should apply to all simulations for both SimFunction and sbiofit simulations.
  2. As always, the simulation runs until any of the stop criteria are met. So there’s no concept of “overruling.” If a simulation takes longer than the maximumWallClock time, simulation results are returned for whatever output times have been reached.
  3. Sbiofit detects when a simulation ends early and returns an objective function value of Inf, so that the optimizer will reject this condition as an optimum. Using a maximumWallClock time for sbiofit is generally a good idea to avoid the ODE solver getting stuck on implausible simulation results.
Best,
Sietse