LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
computeModelSensitivities.m
1function sens = computeModelSensitivities(model, useCTMC)
2% computeModelSensitivities Analytic d(metric)/d(rate) for a model as an
3% opt.SensitivityData, mirroring native-Python compute_model_sensitivities.
4% Returns [] when unavailable (the optimizer then falls back to finite
5% differences).
6%
7% The open and closed product-form branches are implemented in
8% opt.sens.openSensitivities and opt.sens.closedSensitivities. Both are fast
9% but narrow: they return [] for open, multiserver, or non-unit-visit
10% networks. When they do, and USECTMC is true, the generator-derivative
11% fallback opt.sens.ctmcSensitivities is tried instead, which is exact but
12% pays for state-space generation.
13%
14% @param model Network model
15% @param useCTMC Enable the CTMC fallback, default false
16% @return sens opt.SensitivityData or []
17
18if nargin < 2 || isempty(useCTMC)
19 useCTMC = false;
20end
21
22sens = [];
23try
24 s = opt.sens.openSensitivities(model);
25 if ~isempty(s)
26 sens = s;
27 return;
28 end
29 sens = opt.sens.closedSensitivities(model);
30catch
31 sens = [];
32end
33
34if isempty(sens) && useCTMC
35 try
36 sens = opt.sens.ctmcSensitivities(model);
37 catch
38 sens = [];
39 end
40end
41end
Definition Station.m:265