1%{ @file sn_has_product_form_not_het_fcfs.m
2 % @brief Checks
for product-form excluding heterogeneous FCFS
4 % @author LINE Development Team
8 % @brief Checks
for product-form excluding heterogeneous FCFS
11 % Returns
true if the network has product-form solution excluding cases with heterogeneous FCFS.
15 %
bool = sn_has_product_form_not_het_fcfs(sn)
20 % <tr><th>Name<th>Description
21 % <tr><td>sn<td>Network structure
26 % <tr><th>Name<th>Description
27 % <tr><td>bool<td>True
if product-form holds without heterogeneous FCFS
30function
bool = sn_has_product_form_not_het_fcfs(sn)
32bool = all(sn.sched==SchedStrategy.INF | sn.sched==SchedStrategy.PS | sn.sched==SchedStrategy.FCFS | sn.sched==SchedStrategy.LCFSPR | sn.sched==SchedStrategy.EXT);
33bool =
bool & ~sn_has_priorities(sn);
34bool =
bool & ~sn_has_fork_join(sn);
35bool =
bool & ~sn_has_sd_routing(sn);
36iset = find(sn.sched == SchedStrategy.FCFS);
38 icset = isfinite(sn.scv(i,:)) & sn.scv(i,:)>0;
39 bool = bool & all(sn.scv(i,icset) > 1-GlobalConstants.FineTol) & all(sn.scv(i,icset) < 1+GlobalConstants.FineTol);