LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
Stochastic Network Utilities

Network analysis and transformation utilities.

Network analysis utilities for checking properties and computing derived metrics.

Function List

sn_deaggregate_chain_results

Description: Deaggregates chain-level performance metrics to class-level metrics

Syntax:

[Q, U, R, T, C, X] = sn_deaggregate_chain_results(sn, Lchain, ST, STchain, Vchain, alpha, Qchain, Uchain, Rchain, Tchain, Cchain, Xchain)

Parameters:

NameDescription
snStochastic network structure
LchainService demand per chain
STService time matrix
STchainService time per chain
VchainVisit ratios per chain
alphaInitial probability vector or shape parameter
QchainQueue length per chain
UchainUtilization per chain
RchainResponse time per chain
TchainResponse time per chain
CchainCycle time per chain
XchainThroughput per chain

Returns:

NameDescription
QGenerator matrix or queue lengths
UUtilization matrix
RR matrix (QBD) or response times
TTransient generator or service times
CCoefficient matrix or cost
XThroughput matrix

sn_get_arvr_from_tput

Description: Computes average arrival rates at stations from throughputs

Syntax:

sn_get_arvr_from_tput(...)

sn_get_demands_chain

Description: Computes aggregated demand parameters per chain

Syntax:

[Lchain, STchain, Vchain, alpha, Nchain, SCVchain, refstatchain] = sn_get_demands_chain(sn)

Parameters:

NameDescription
snStochastic network structure

Returns:

NameDescription
LchainService demand per chain
STchainService time per chain
VchainVisit ratios per chain
alphaInitial probability vector (phase-type)
NchainPopulation per chain
SCVchainSquared coefficient of variation per chain
refstatchainReference state per chain

sn_get_node_arvr_from_tput

Description: Computes average arrival rates at nodes from station throughputs

Syntax:

sn_get_node_arvr_from_tput(...)

sn_get_node_tput_from_tput

Description: Computes average throughputs at nodes from station throughputs

Syntax:

sn_get_node_tput_from_tput(...)

sn_get_product_form_chain_params

Description: Extracts product-form parameters aggregated by chain

Syntax:

[lambda, D, N, Z, mu, S, V] = sn_get_product_form_chain_params(sn)

Parameters:

NameDescription
snStochastic network structure

Returns:

NameDescription
lambdaArrival rates or eigenvalues
DService demand matrix
NPopulation vector or number of classes
ZThink times or partition function
muService rates or mean values
SService time or state probabilities
VVisit ratios

sn_get_product_form_params

Description: Extracts standard product-form parameters from the network structure

Syntax:

[lambda, D, N, Z, mu, S, V] = sn_get_product_form_params(sn)

Parameters:

NameDescription
snStochastic network structure

Returns:

NameDescription
lambdaArrival rates or eigenvalues
DService demand matrix
NPopulation vector or number of classes
ZThink times or partition function
muService rates or mean values
SService time or state probabilities
VVisit ratios

sn_get_residt_from_respt

Description: Computes residence times from response times

Syntax:

sn_get_residt_from_respt(...)

sn_get_state_aggr

Description: Returns the aggregated initial state of the network

Syntax:

initialStateAggr = sn_get_state_aggr(sn)

Parameters:

NameDescription
snStochastic network structure

Returns:

NameDescription
initialStateAggrInitial state after aggregation

sn_has_class_switching

Description: Checks if the network has class switching

Syntax:

sn_has_class_switching(...)

sn_has_closed_classes

Description: Checks if the network contains closed classes

Syntax:

sn_has_closed_classes(...)

sn_has_dps

Description: Checks if the network uses Discriminatory Processor Sharing

Syntax:

sn_has_dps(...)

sn_has_dps_prio

Description: Checks if the network uses DPS with priorities

Syntax:

sn_has_dps_prio(...)

sn_has_fcfs

Description: Checks if the network has FCFS scheduling

Syntax:

sn_has_fcfs(...)

sn_has_fork_join

Description: Checks if the network contains fork-join nodes

Syntax:

sn_has_fork_join(...)

sn_has_fractional_populations

Description: Checks if the network has fractional population values

Syntax:

sn_has_fractional_populations(...)

sn_has_gps

Description: Checks if the network uses GPS scheduling

Syntax:

sn_has_gps(...)

sn_has_gps_prio

Description: Checks if the network uses GPS with priorities

Syntax:

sn_has_gps_prio(...)

sn_has_hol

Description: Checks if the network uses HOL scheduling

Syntax:

sn_has_hol(...)

sn_has_homogeneous_scheduling

Description: Checks if all stations use the same scheduling policy

Syntax:

sn_has_homogeneous_scheduling(...)

sn_has_inf

Description: Checks if the network has infinite server stations

Syntax:

sn_has_inf(...)

sn_has_lcfs

Description: Checks if the network uses LCFS scheduling

Syntax:

sn_has_lcfs(...)

sn_has_lcfs_pi

Description: Checks if the network uses LCFS with preemptive-identical scheduling

Syntax:

sn_has_lcfs_pi(...)

sn_has_lcfs_pr

Description: Checks if the network uses LCFS with preemptive-resume scheduling

Syntax:

sn_has_lcfs_pr(...)

sn_has_lept

Description: Checks if the network uses LEPT scheduling

Syntax:

sn_has_lept(...)

sn_has_ljf

Description: Checks if the network uses LJF scheduling

Syntax:

sn_has_ljf(...)

sn_has_load_dependence

Description: Checks if the network has load-dependent service rates

Syntax:

sn_has_load_dependence(...)

sn_has_mixed_classes

Description: Checks if the network has both open and closed classes

Syntax:

sn_has_mixed_classes(...)

sn_has_multi_chain

Description: Checks if the network has multiple chains

Syntax:

sn_has_multi_chain(...)

sn_has_multi_class_fcfs

Description: Checks if the network has multi-class FCFS stations

Syntax:

sn_has_multi_class_fcfs(...)

sn_has_multi_class_heter_exp_fcfs

Description: Checks for multi-class FCFS with heterogeneous exponential service

Syntax:

sn_has_multi_class_heter_exp_fcfs(...)

sn_has_multi_class_heter_fcfs

Description: Checks for multi-class FCFS with heterogeneous service

Syntax:

sn_has_multi_class_heter_fcfs(...)

sn_has_multi_class

Description: Checks if the network has multiple classes

Syntax:

sn_has_multi_class(...)

sn_has_multiple_closed_classes

Description: Checks if the network has multiple closed classes

Syntax:

sn_has_multiple_closed_classes(...)

sn_has_multi_server

Description: Checks if the network has multi-server stations

Syntax:

sn_has_multi_server(...)

sn_has_open_classes

Description: Checks if the network contains open classes

Syntax:

sn_has_open_classes(...)

sn_has_priorities

Description: Checks if the network uses priority scheduling

Syntax:

sn_has_priorities(...)

sn_has_product_form

Description: Checks if the network has product-form solution

Syntax:

sn_has_product_form(...)

sn_has_product_form_not_het_fcfs

Description: Checks for product-form excluding heterogeneous FCFS

Syntax:

sn_has_product_form_not_het_fcfs(...)

sn_has_ps

Description: Checks if the network uses PS scheduling

Syntax:

sn_has_ps(...)

sn_has_ps_prio

Description: Checks if the network uses PS with priorities

Syntax:

sn_has_ps_prio(...)

sn_has_sept

Description: Checks if the network uses SEPT scheduling

Syntax:

sn_has_sept(...)

sn_has_single_chain

Description: Checks if the network has a single chain

Syntax:

sn_has_single_chain(...)

sn_has_single_class

Description: Checks if the network has a single class

Syntax:

sn_has_single_class(...)

sn_has_siro

Description: Checks if the network uses SIRO scheduling

Syntax:

sn_has_siro(...)

sn_has_sjf

Description: Checks if the network uses SJF scheduling

Syntax:

sn_has_sjf(...)

sn_is_closed_model

Description: Checks if the network is a closed model

Syntax:

sn_is_closed_model(...)

sn_is_mixed_model

Description: Checks if the network is a mixed model

Syntax:

sn_is_mixed_model(...)

sn_is_open_model

Description: Checks if the network is an open model

Syntax:

sn_is_open_model(...)

sn_is_population_model

Description: Checks if the network is defined by populations

Syntax:

sn_is_population_model(...)

sn_is_state_valid

Description: Validates a network state

Syntax:

isvalid = sn_is_state_valid(sn)

Parameters:

NameDescription
snStochastic network structure

Returns:

NameDescription
isvalidValidation flag (boolean)

sn_print

Description: Prints comprehensive information about a NetworkStruct object

Syntax:

function sn_print(sn)

Parameters:

NameDescription
snStochastic network structure

sn_print_routing_matrix

Description: Prints the routing matrix of the network

Syntax:

function sn_print_routing_matrix(sn, onlyclass)

Parameters:

NameDescription
snStochastic network structure
onlyclassRestrict computation to specific class

sn_refresh_visits

Description: Solves traffic equations to compute visit ratios

Syntax:

[visits, nodevisits, sn] = sn_refresh_visits(sn, chains, rt, rtnodes)

Parameters:

NameDescription
snStochastic network structure
chainsChain indices or chain structure
rtResponse time values
rtnodesRouting nodes

Returns:

NameDescription
visitsVisit counts or ratios
nodevisitsVisit counts per node
snStochastic network structure

sn_rtnodes_to_rtorig

Description: Converts node routing matrix to the original routing matrix format

Syntax:

[rtorigcell, rtorig] = sn_rtnodes_to_rtorig(sn)

Parameters:

NameDescription
snStochastic network structure

Returns:

NameDescription
rtorigcellOriginal routing as cell array
rtorigOriginal routing matrix