1function ProbSysAggr = getProbSysAggr(self)
2% PROBSYSAGGR = GETPROBSYSAGGR() Returns joint aggregated system state probability via DES simulation
4% @brief Estimates joint steady-state probability of the entire aggregated system state via DES simulation
6% This method estimates the probability of observing the current system state
7% (combined per-class job counts across all stateful
nodes) using simulation.
8% States are aggregated over service phases - only job counts per class matter.
10% @param self SolverDES instance
12% @return ProbSysAggr Estimated joint aggregated system state probability value
13% - 0 if state not seen during simulation (rare event)
15% @note DES estimates probabilities from finite simulation. Accuracy improves with
16% more samples. For complex systems with large state spaces, the target state
17% may be rarely visited.
19% @warning Simulation-based estimate - results vary between runs unless seed
is set.
21% @see getProbSys - Returns joint phase-detailed system state probabilities
22% @see getProbAggr - Returns aggregated state probabilities for a single node
26% solver = SolverDES(model, 'samples', 100000, 'seed', 42);
28% % Estimate probability of current joint aggregated system state
29% prob_sys_aggr = solver.getProbSysAggr();
30% fprintf('Estimated joint aggregated probability = %.6f\n', prob_sys_aggr);
33if GlobalConstants.DummyMode
38% Convert model to Java
39jmodel = LINE2JLINE(self.model);
41% Create Java DES options
42joptions = jline.solvers.des.DESOptions();
43joptions.samples = self.options.samples;
44joptions.seed = self.options.seed;
47jsolver = jline.solvers.des.SolverDES(jmodel, joptions);
49% Call Java getProbSysAggr method and extract probability value
50jresult = jsolver.getProbSysAggr();
52% Extract the probability value from the ProbabilityResult
object
53ProbSysAggr = jresult.probability;