LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
Utilities and Constants

Constants and enumerations.

These modules provide utility functions, constants, and enumerations.

Constants and Enumerations (matlab/src/lang/constant/)

The constants module defines enumerations and global constants used throughout the LINE Solver package.

Scheduling Strategies (SchedStrategy)

Constant Description
FCFS First-Come First-Served
LCFS Last-Come First-Served (non-preemptive)
LCFSPR Last-Come First-Served Preemptive-Resume
LCFSPI Last-Come First-Served Preemptive-Independent
PS Processor Sharing (egalitarian)
DPS Discriminatory Processor Sharing
GPS Generalized Processor Sharing
INF Infinite Server (delay station)
HOL Head-of-Line priority (non-preemptive)
SJF Shortest Job First
LJF Longest Job First
SEPT Shortest Expected Processing Time
LEPT Longest Expected Processing Time
SIRO Service In Random Order
POLLING Polling-based service
EXT External (arrivals from outside)
FORK Fork behavior
REF Reference (for reference stations)

Routing Strategies (RoutingStrategy)

Constant Description
DISABLED Routing disabled
FIRING Petri net transition firing
JSQ Join Shortest Queue
KCHOICES Power of k choices
PROB Probabilistic routing
RAND Random (uniform) routing
RL Reinforcement learning routing
RROBIN Round-robin routing
WRROBIN Weighted round-robin

Process Types (ProcessType)

Constant Description
EXP Exponential
ERLANG Erlang
HYPEREXP Hyperexponential
APH Acyclic Phase-Type
PH Phase-Type
COXIAN Coxian
DET Deterministic
UNIFORM Uniform
GAMMA Gamma
PARETO Pareto
WEIBULL Weibull
LOGNORMAL Log-normal
MAP Markovian Arrival Process
MMPP2 Two-state MMPP
REPLAYER Trace replayer
TRACE Generic trace
DISABLED Disabled process
IMMEDIATE Instantaneous

Node Types (NodeType)

Constant Description
SOURCE Arrival source
SINK Departure sink
QUEUE Service queue
DELAY Infinite server station
ROUTER Routing node
FORK Fork node
JOIN Join node
CACHE Cache station
CLASSSWITCH Class-switching node
LOGGER Logging node
PLACE Petri net place
TRANSITION Petri net transition

Job Class Types (JobClassType)

Constant Description
OPEN Open class (external arrivals)
CLOSED Closed class (fixed population)
DISABLED Disabled class

Service Strategies (ServiceStrategy)

Constant Description
LI Load-Independent service
LD Load-Dependent service

Solver Types (SolverType)

Constant Description
MVA Mean Value Analysis
CTMC Continuous-Time Markov Chain
FLUID Fluid approximation
MAM Matrix-Analytic Methods
NC Normalizing Constant
SSA Stochastic Simulation Algorithm
JMT Java Modelling Tools
AUTO Automatic selection
LQNS Layered QN Solver
QNS QN Solver
LN Layered Network
ENV Random Environment

Metric Types (MetricType)

Constant Description
ArvR Arrival rate
DropRate Drop rate
FCRMemOcc FCR memory occupation
FCRWeight FCR total weight
FJQLen Fork-join number of customers
FJRespT Fork-join response time
QLen Number of customers (queue length)
QueueT Queue time
ResidT Residence time
RespT Response time
RespTSink Response time per sink
SysDropR System drop rate
SysPower System power
SysQLen System number of customers
SysRespT System response time
SysTput System throughput
Tput Throughput
TputSink Throughput per sink
TranQLen Transient number of customers
TranRespT Transient response time
TranTput Transient throughput
TranUtil Transient utilization
Util Utilization

Drop Strategies (DropStrategy)

Constant Description
WAITQ Waiting queue (infinite buffer)
DROP Drop arriving customers when full
BAS Blocking after service

Replacement Strategies (ReplacementStrategy)

Constant Description
LRU Least Recently Used
FIFO First-In First-Out
RR Random Replacement
SFIFO Static FIFO
MRU Most Recently Used
LFU Least Frequently Used

Join Strategies (JoinStrategy)

Constant Description
STD Standard join (wait for all)
PARTIAL Partial join (k-of-n)
GUARD Guarded join

Call Types (CallType)

Constant Description
SYNC Synchronous call
ASYNC Asynchronous call

Activity Precedence Types (ActivityPrecedenceType)

Constant Description
PRE_SEQ Sequential precedence
PRE_AND AND split/join
PRE_OR OR split/join
POST_SEQ Post-sequential
POST_AND Post-AND
POST_OR Post-OR
POST_LOOP Post-loop

Polling Types (PollingType)

Constant Description
EXHAUSTIVE Exhaustive polling
GATED Gated polling
KLIMITED K-limited polling

Verbose Levels (VerboseLevel)

Constant Description
SILENT No output
STD Standard output
DEBUG Debug output

GlobalConstants

The GlobalConstants class provides global configuration options:

Property Description
CoarseTol Coarse tolerance for comparisons (default: 1e-3)
FineTol Fine tolerance for comparisons (default: 1e-6)
Zero Near-zero threshold (default: 1e-14)
Immediate Immediate service rate (default: Inf)
MaxInt Maximum integer value (default: 2147483647)

Usage Examples

Setting Scheduling Strategy

model = Network('Example');
queue = Queue(model, 'Queue1', SchedStrategy.PS); % Processor Sharing

Setting Routing Strategy

model.link(Network.serialRouting(source, queue, sink));
% or use probabilistic routing
P = model.initRoutingMatrix();
P{class1}(source, queue) = 1.0;
P{class1}(queue, sink) = 1.0;
model.link(P);

Setting Distribution Type

queue.setService(jobclass, Exp(1.0)); % Exponential
queue.setService(jobclass, Erlang(2, 0.5)); % Erlang
queue.setService(jobclass, HyperExp([0.5 0.5], [1.0 2.0])); % Hyperexponential