LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
allExamples.m
1%% run all examples
2format compact
3warning on backtrace
4clc
5fprintf(1,'<strong>This script runs all LINE examples.</strong>\n');
6fprintf(1,'The current workspace will be cleared and figures will be closed. \n');
7fprintf(1,'Please press a key to continue or CTRL-C to terminate.\n');
8%pause; clc
9clear;
10close all;
11
12%% LINE examples - Basic
13fprintf(1,'\n<strong>RUNNING: basic/cacheModel examples</strong>');
14fprintf(1,'\n\nExample: <strong>cache_replc_rr</strong>\n');
15fprintf('This example shows a small cache model with an open arrival process.\n')
16clear; cache_replc_rr; fprintf(1,'Pausing...'); pause(3.0);
17fprintf(1,'\n\nExample: <strong>cache_replc_fifo</strong>\n');
18fprintf('This example shows a small cache model with a closed arrival process.\n')
19clear; cache_replc_fifo; fprintf(1,'Pausing...'); pause(3.0);
20fprintf(1,'\n\nExample: <strong>lcq_singlehost</strong>\n');
21fprintf('This example shows a small cache model within a layered queueing network.\n')
22clear; lcq_singlehost; fprintf(1,'Pausing...'); pause(3.0);
23
24%%
25fprintf(1,'\n<strong>RUNNING: basic/closedQN examples</strong>');
26fprintf(1,'\n\nExample: <strong>cqn_repairmen</strong>\n');
27fprintf(1,'This example shows all solvers on a basic single-class closed model.\n')
28clear; cqn_repairmen; fprintf(1,'Pausing...'); pause(3.0);
29fprintf(1,'\n\nExample: <strong>cqn_twoclass_hyperl</strong>\n');
30fprintf('This example shows a model with a multiclass FCFS station.\n')
31clear; cqn_twoclass_hyperl; fprintf(1,'Pausing...'); pause(3.0);
32fprintf(1,'\n\nExample: <strong>cqn_threeclass_hyperl</strong>\n');
33fprintf('This example shows the exact solution of a product-form queueing network.\n')
34fprintf(1,'In this example we also calculate performance indexes by chain.\n')
35clear; cqn_threeclass_hyperl; fprintf(1,'Pausing...'); pause(3.0);
36fprintf(1,'\n\nExample: <strong>cqn_multiserver</strong>\n');
37fprintf(1,'This example shows state space generation for a station.')
38clear; cqn_multiserver; fprintf(1,'Pausing...'); pause(3.0);
39fprintf(1,'\n\nExample: <strong>cqn_oneline</strong>\n');
40fprintf(1,'This example shows a 1-line solution of a cyclic queueing network.\n');
41clear; cqn_oneline; fprintf(1,'Pausing...'); pause(3.0);
42fprintf(1,'\n\nExample: <strong>cqn_twoclass_erl</strong>\n');
43fprintf(1,'This example shows a model with round-robin scheduling.\n');
44clear; cqn_twoclass_erl; fprintf(1,'Pausing...'); pause(3.0);
45fprintf(1,'\n\nExample: <strong>cqn_bcmp_theorem</strong>\n');
46fprintf(1,'This example shows equivalnce of models due to product-form solution (BCMP theorem).\n');
47clear; cqn_bcmp_theorem; fprintf(1,'Pausing...'); pause(3.0);
48
49%%
50fprintf(1,'\n<strong>RUNNING: basic/openQN examples</strong>');
51fprintf(1,'\n\nExample: <strong>oqn_basic</strong>\n');
52clear; oqn_basic; fprintf(1,'Pausing...'); pause(3.0);
53fprintf(1,'\n\nExample: <strong>oqn_oneline</strong>\n');
54clear; oqn_oneline; fprintf(1,'Pausing...'); pause(3.0);
55fprintf(1,'\n\nExample: <strong>oqn_cs_routing</strong>\n');
56clear; oqn_cs_routing; fprintf(1,'Pausing...'); pause(3.0);
57fprintf(1,'\n\nExample: <strong>oqn_trace_driven</strong>\n');
58clear; oqn_trace_driven; fprintf(1,'Pausing...'); pause(3.0);
59fprintf(1,'\n\nExample: <strong>oqn_vsinks</strong>\n');
60fprintf(1,' This model examplifies how to specify models with multiple sinks (virtual sinks).\n');
61clear; oqn_vsinks; fprintf(1,'Pausing...'); pause(3.0);
62fprintf(1,'\n\nExample: <strong>oqn_fourqueues</strong>\n');
63fprintf(1,' This model examplifies a large multiclass open model.\n');
64clear; oqn_fourqueues; fprintf(1,'Pausing...'); pause(3.0);
65
66%%
67fprintf(1,'\n<strong>RUNNING: basic/mixedQN examples</strong>');
68fprintf(1,'\n\nExample: <strong>mqn_basic</strong>\n');
69clear; mqn_basic; fprintf(1,'Pausing...'); pause(3.0);
70fprintf(1,'\n\nExample: <strong>mqn_multiserver_ps</strong>\n');
71clear; mqn_multiserver_ps; fprintf(1,'Pausing...'); pause(3.0);
72
73%%
74try % LQNS must be available on the system path
75fprintf(1,'\n<strong>RUNNING: basic/layeredModel examples</strong>');
76fprintf(1,'\n\nExample: <strong>lqn_serial</strong>\n');
77 clear; lqn_serial; fprintf(1,'Pausing...'); pause(3.0);
78fprintf(1,'\n\nExample: <strong>lqn_multi_solvers</strong>\n');
79 clear; lqn_multi_solvers; fprintf(1,'Pausing...'); pause(3.0);
80catch
81 warning('LQNS is not available on this computer. Skipping LQN tests.');
82end
83
84%%
85fprintf(1,'\n<strong>RUNNING: basic/prioModel examples</strong>');
86fprintf(1,' This model examplifies how to specify priorities.\n');
87clear; prio_hol_open; fprintf(1,'Pausing...'); pause(3.0);
88fprintf(1,' Another model that examplifies how to specify priorities.\n');
89clear; prio_hol_closed; fprintf(1,'Pausing...'); pause(3.0);
90
91%%
92fprintf(1,'\n<strong>RUNNING: basic/forkJoin examples</strong>');
93fprintf(1,'\n\nExample: <strong>fj_basic_open</strong>\n');
94fprintf(1,'This example shows the simulation of a fork-join open queueing network.\n');
95clear; fj_basic_open; fprintf(1,'Pausing...'); pause(3.0);
96fprintf(1,'\n\nExample: <strong>fj_twoclasses_forked</strong>\n');
97fprintf(1,'This example shows the simulation of a multiclass fork-join open queueing network.\n');
98clear; fj_twoclasses_forked; fprintf(1,'Pausing...'); pause(3.0);
99fprintf(1,'\n\nExample: <strong>fj_basic_nesting</strong>\n');
100fprintf(1,'This example shows the simulation of nested forks and joins.\n');
101clear; fj_basic_nesting; fprintf(1,'Pausing...'); pause(3.0);
102fprintf(1,'\n\nExample: <strong>fj_nojoin</strong>\n');
103fprintf(1,'This example shows a model with a fork but without a join.\n');
104clear; fj_nojoin; fprintf(1,'Pausing...'); pause(3.0);
105
106
107%%
108fprintf(1,'\n<strong>RUNNING: advanced/loadDependent examples</strong>');
109fprintf(1,'\n\nExample: <strong>ld_multiserver_fcfs</strong>\n');
110fprintf(1,'This example shows all solvers on a basic single-class closed model.\n')
111clear; ld_multiserver_fcfs; fprintf(1,'Pausing...'); pause(3.0);
112
113%%
114fprintf(1,'\n<strong>RUNNING: advanced/initState examples</strong>');
115fprintf(1,'\n\nExample: <strong>init_state_fcfs_exp</strong>\n');
116fprintf(1,'This example shows the execution of the transient solver on a 2-class 2-node class-switching model.')
117clear; init_state_fcfs_exp; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
118fprintf(1,'\n\nExample: <strong>init_state_fcfs_nonexp</strong>\n');
119fprintf(1,'This example shows the execution of the transient solver on a 2-class 2-node class-switching model.')
120clear; init_state_fcfs_nonexp; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
121
122%%
123fprintf(1,'\n<strong>RUNNING: advanced/stateDepRouting examples</strong>');
124fprintf(1,'This example analyzes round-robin scheduling.\n');
125fprintf(1,'\n\nExample: <strong>sdroute_closed</strong>\n');
126clear; sdroute_closed; fprintf(1,'Pausing...'); pause(3.0);
127
128%%
129fprintf(1,'\n<strong>RUNNING: advanced/stateProbabilities examples</strong>');
130fprintf(1,'\n\nExample: <strong>statepr_aggr</strong>\n');
131clear; statepr_aggr; fprintf(1,'Pausing...'); pause(3.0);
132fprintf(1,'\n\nExample: <strong>statepr_aggr_large</strong>\n');
133clear; statepr_aggr_large; fprintf(1,'Pausing...'); pause(3.0);
134fprintf(1,'\n\nExample: <strong>statepr_sys_aggr</strong>\n');
135clear; statepr_sys_aggr; fprintf(1,'Pausing...'); pause(3.0);
136fprintf(1,'\n\nExample: <strong>statepr_sys_aggr_large</strong>\n');
137clear; statepr_sys_aggr_large; fprintf(1,'Pausing...'); pause(3.0);
138fprintf(1,'\n\nExample: <strong>statepr_allprobs_ps</strong>\n');
139clear; statepr_allprobs_ps; fprintf(1,'Pausing...'); pause(3.0);
140fprintf(1,'\n\nExample: <strong>statepr_allprobs_fcfs</strong>\n');
141clear; statepr_allprobs_fcfs; fprintf(1,'Pausing...'); pause(3.0);
142
143%%
144fprintf(1,'\n<strong>RUNNING: advanced/cdfRespT examples</strong>');
145fprintf(1,'\n\nExample: <strong>cdf_respt_closed</strong>\n');
146clear; cdf_respt_closed; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
147fprintf(1,'\n\nExample: <strong>cdf_respt_closed_threeclasses</strong>\n');
148clear; cdf_respt_closed_threeclasses; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
149fprintf(1,'\n\nExample: <strong>cdf_respt_open_twoclasses</strong>\n');
150clear; cdf_respt_open_twoclasses; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
151fprintf(1,'\n\nExample: <strong>cdf_respt_distrib</strong>\n');
152clear; cdf_respt_distrib; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
153fprintf(1,'\n\nExample: <strong>cdf_respt_populations</strong>\n');
154clear; cdf_respt_populations; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
155
156%%
157fprintf(1,'\n<strong>RUNNING: advanced/randomEnv examples</strong>');
158fprintf(1,'\n\nExample: <strong>renv_twostages_repairmen</strong>\n');
159clear; renv_twostages_repairmen; fprintf(1,'Pausing...'); pause(3.0);
160fprintf(1,'\n\nExample: <strong>renv_fourstages_repairmen</strong>\n');
161clear; renv_fourstages_repairmen; fprintf(1,'Pausing...'); pause(3.0);
162fprintf(1,'\n\nExample: <strong>renv_threestages_repairmen</strong>\n');
163clear; renv_threestages_repairmen; fprintf(1,'Pausing...'); pause(3.0);
164
165%%
166fprintf(1,'\n<strong>RUNNING: advanced/misc examples</strong>');
167fprintf(1,'\n\nExample: <strong>cqn_scheduling_dps</strong>\n');
168fprintf(1,'This example illustrates the solution of DPS models.\n')
169clear; cqn_scheduling_dps; fprintf(1,'Pausing...'); pause(3.0);
170fprintf(1,'\n\nExample: <strong>cqn_mmpp2_service</strong>\n');
171fprintf(1,'This example shows that LINE automatically checks if a solver is feasible for a given model.\n');
172fprintf(1,'If not, an empty result set is returned.\n');
173clear; cqn_mmpp2_service; fprintf(1,'Pausing...'); pause(3.0);
174
175%%
176%fprintf(1,'\n<strong>RUNNING: example_svcEstimation_*</strong>');
177%fprintf(1,'\n\nExample: <strong>example_svcEstimation_1</strong>\n');
178%fprintf('This example shows service demand estimation in a single class model using the utilization-based regression (UBR) method.\n')
179%clear; example_svcEstimation_1; fprintf(1,'Pausing...'); pause(3.0);
180%fprintf('This example shows service demand estimation in a multiclass model using the ERPS method.\n')
181%clear; example_svcEstimation_2; fprintf(1,'Pausing...'); pause(3.0);
182%fprintf('This example shows service demand estimation in a multiclass model using the utilization-based regression (UBR) method.\n')
183%clear; example_svcEstimation_3; fprintf(1,'Pausing...'); pause(3.0);
184%fprintf('This example shows service demand estimation in a multiclass model using the utilization-based optimization (UBO) method.\n')
185%clear; example_svcEstimation_4; fprintf(1,'Pausing...'); pause(3.0);
186
187%%
188fprintf(1,'\nExamples completed.\n')