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);
48fprintf(1,'\n\nExample: <strong>cqn_repairmen_multi</strong>\n');
49fprintf(1,'This example shows a multiclass variant of the repairmen model.\n');
50clear; cqn_repairmen_multi; fprintf(1,'Pausing...'); pause(3.0);
51fprintf(1,'\n\nExample: <strong>cqn_twoqueues</strong>\n');
52fprintf(1,'This example shows a closed queueing network with two queues.\n');
53clear; cqn_twoqueues; fprintf(1,'Pausing...'); pause(3.0);
54fprintf(1,'\n\nExample: <strong>cqn_twoqueues_multi</strong>\n');
55fprintf(1,'This example shows a multiclass closed queueing network with two queues.\n');
56clear; cqn_twoqueues_multi; fprintf(1,'Pausing...'); pause(3.0);
57
58%%
59fprintf(1,'\n<strong>RUNNING: basic/openQN examples</strong>');
60fprintf(1,'\n\nExample: <strong>oqn_basic</strong>\n');
61clear; oqn_basic; fprintf(1,'Pausing...'); pause(3.0);
62fprintf(1,'\n\nExample: <strong>oqn_oneline</strong>\n');
63clear; oqn_oneline; fprintf(1,'Pausing...'); pause(3.0);
64fprintf(1,'\n\nExample: <strong>oqn_cs_routing</strong>\n');
65clear; oqn_cs_routing; fprintf(1,'Pausing...'); pause(3.0);
66fprintf(1,'\n\nExample: <strong>oqn_trace_driven</strong>\n');
67clear; oqn_trace_driven; fprintf(1,'Pausing...'); pause(3.0);
68fprintf(1,'\n\nExample: <strong>oqn_vsinks</strong>\n');
69fprintf(1,' This model examplifies how to specify models with multiple sinks (virtual sinks).\n');
70clear; oqn_vsinks; fprintf(1,'Pausing...'); pause(3.0);
71fprintf(1,'\n\nExample: <strong>oqn_fourqueues</strong>\n');
72fprintf(1,' This model examplifies a large multiclass open model.\n');
73clear; oqn_fourqueues; fprintf(1,'Pausing...'); pause(3.0);
74
75%%
76fprintf(1,'\n<strong>RUNNING: basic/mixedQN examples</strong>');
77fprintf(1,'\n\nExample: <strong>mqn_basic</strong>\n');
78clear; mqn_basic; fprintf(1,'Pausing...'); pause(3.0);
79fprintf(1,'\n\nExample: <strong>mqn_multiserver_ps</strong>\n');
80clear; mqn_multiserver_ps; fprintf(1,'Pausing...'); pause(3.0);
81fprintf(1,'\n\nExample: <strong>mqn_multiserver_fcfs</strong>\n');
82clear; mqn_multiserver_fcfs; fprintf(1,'Pausing...'); pause(3.0);
83fprintf(1,'\n\nExample: <strong>mqn_singleserver_fcfs</strong>\n');
84clear; mqn_singleserver_fcfs; fprintf(1,'Pausing...'); pause(3.0);
85fprintf(1,'\n\nExample: <strong>mqn_singleserver_ps</strong>\n');
86clear; mqn_singleserver_ps; fprintf(1,'Pausing...'); pause(3.0);
87
88%%
89try % LQNS must be available on the system path
90fprintf(1,'\n<strong>RUNNING: basic/layeredModel examples</strong>');
91fprintf(1,'\n\nExample: <strong>lqn_serial</strong>\n');
92 clear; lqn_serial; fprintf(1,'Pausing...'); pause(3.0);
93fprintf(1,'\n\nExample: <strong>lqn_multi_solvers</strong>\n');
94 clear; lqn_multi_solvers; fprintf(1,'Pausing...'); pause(3.0);
95catch
96 warning('LQNS is not available on this computer. Skipping LQN tests.');
97end
98
99%%
100fprintf(1,'\n<strong>RUNNING: basic/prioModel examples</strong>');
101fprintf(1,' This model examplifies how to specify priorities.\n');
102clear; prio_hol_open; fprintf(1,'Pausing...'); pause(3.0);
103fprintf(1,' Another model that examplifies how to specify priorities.\n');
104clear; prio_hol_closed; fprintf(1,'Pausing...'); pause(3.0);
105fprintf(1,'\n\nExample: <strong>prio_identical</strong>\n');
106fprintf(1,' This model examplifies identical priority classes.\n');
107clear; prio_identical; fprintf(1,'Pausing...'); pause(3.0);
108
109%%
110fprintf(1,'\n<strong>RUNNING: basic/forkJoin examples</strong>');
111fprintf(1,'\n\nExample: <strong>fj_basic_open</strong>\n');
112fprintf(1,'This example shows the simulation of a fork-join open queueing network.\n');
113clear; fj_basic_open; fprintf(1,'Pausing...'); pause(3.0);
114fprintf(1,'\n\nExample: <strong>fj_twoclasses_forked</strong>\n');
115fprintf(1,'This example shows the simulation of a multiclass fork-join open queueing network.\n');
116clear; fj_twoclasses_forked; fprintf(1,'Pausing...'); pause(3.0);
117fprintf(1,'\n\nExample: <strong>fj_basic_nesting</strong>\n');
118fprintf(1,'This example shows the simulation of nested forks and joins.\n');
119clear; fj_basic_nesting; fprintf(1,'Pausing...'); pause(3.0);
120fprintf(1,'\n\nExample: <strong>fj_nojoin</strong>\n');
121fprintf(1,'This example shows a model with a fork but without a join.\n');
122clear; fj_nojoin; fprintf(1,'Pausing...'); pause(3.0);
123
124
125%%
126fprintf(1,'\n<strong>RUNNING: advanced/loadDependent examples</strong>');
127fprintf(1,'\n\nExample: <strong>ld_multiserver_fcfs</strong>\n');
128fprintf(1,'This example shows all solvers on a basic single-class closed model.\n')
129clear; ld_multiserver_fcfs; fprintf(1,'Pausing...'); pause(3.0);
130
131%%
132fprintf(1,'\n<strong>RUNNING: advanced/initState examples</strong>');
133fprintf(1,'\n\nExample: <strong>init_state_fcfs_exp</strong>\n');
134fprintf(1,'This example shows the execution of the transient solver on a 2-class 2-node class-switching model.')
135clear; init_state_fcfs_exp; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
136fprintf(1,'\n\nExample: <strong>init_state_fcfs_nonexp</strong>\n');
137fprintf(1,'This example shows the execution of the transient solver on a 2-class 2-node class-switching model.')
138clear; init_state_fcfs_nonexp; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
139fprintf(1,'\n\nExample: <strong>init_state_ps</strong>\n');
140fprintf(1,'This example shows the execution with PS scheduling.')
141clear; init_state_ps; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
142
143%%
144fprintf(1,'\n<strong>RUNNING: advanced/stateDepRouting examples</strong>');
145fprintf(1,'This example analyzes round-robin scheduling.\n');
146fprintf(1,'\n\nExample: <strong>sdroute_closed</strong>\n');
147clear; sdroute_closed; fprintf(1,'Pausing...'); pause(3.0);
148fprintf(1,'\n\nExample: <strong>sdroute_open</strong>\n');
149fprintf(1,'This example shows state-dependent routing in an open model.\n');
150clear; sdroute_open; fprintf(1,'Pausing...'); pause(3.0);
151
152%%
153fprintf(1,'\n<strong>RUNNING: advanced/stateProbabilities examples</strong>');
154fprintf(1,'\n\nExample: <strong>statepr_aggr</strong>\n');
155clear; statepr_aggr; fprintf(1,'Pausing...'); pause(3.0);
156fprintf(1,'\n\nExample: <strong>statepr_aggr_large</strong>\n');
157clear; statepr_aggr_large; fprintf(1,'Pausing...'); pause(3.0);
158fprintf(1,'\n\nExample: <strong>statepr_sys_aggr</strong>\n');
159clear; statepr_sys_aggr; fprintf(1,'Pausing...'); pause(3.0);
160fprintf(1,'\n\nExample: <strong>statepr_sys_aggr_large</strong>\n');
161clear; statepr_sys_aggr_large; fprintf(1,'Pausing...'); pause(3.0);
162fprintf(1,'\n\nExample: <strong>statepr_allprobs_ps</strong>\n');
163clear; statepr_allprobs_ps; fprintf(1,'Pausing...'); pause(3.0);
164fprintf(1,'\n\nExample: <strong>statepr_allprobs_fcfs</strong>\n');
165clear; statepr_allprobs_fcfs; fprintf(1,'Pausing...'); pause(3.0);
166
167%%
168fprintf(1,'\n<strong>RUNNING: advanced/cdfRespT examples</strong>');
169fprintf(1,'\n\nExample: <strong>cdf_respt_closed</strong>\n');
170clear; cdf_respt_closed; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
171fprintf(1,'\n\nExample: <strong>cdf_respt_closed_threeclasses</strong>\n');
172clear; cdf_respt_closed_threeclasses; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
173fprintf(1,'\n\nExample: <strong>cdf_respt_open_twoclasses</strong>\n');
174clear; cdf_respt_open_twoclasses; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
175fprintf(1,'\n\nExample: <strong>cdf_respt_distrib</strong>\n');
176clear; cdf_respt_distrib; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
177fprintf(1,'\n\nExample: <strong>cdf_respt_populations</strong>\n');
178clear; cdf_respt_populations; fprintf(1,'Pausing...'); pause(3.0); try close(handleFig); end
179
180%%
181fprintf(1,'\n<strong>RUNNING: advanced/randomEnv examples</strong>');
182fprintf(1,'\n\nExample: <strong>renv_twostages_repairmen</strong>\n');
183clear; renv_twostages_repairmen; fprintf(1,'Pausing...'); pause(3.0);
184fprintf(1,'\n\nExample: <strong>renv_fourstages_repairmen</strong>\n');
185clear; renv_fourstages_repairmen; fprintf(1,'Pausing...'); pause(3.0);
186fprintf(1,'\n\nExample: <strong>renv_threestages_repairmen</strong>\n');
187clear; renv_threestages_repairmen; fprintf(1,'Pausing...'); pause(3.0);
188
189%%
190fprintf(1,'\n<strong>RUNNING: advanced/misc examples</strong>');
191fprintf(1,'\n\nExample: <strong>cqn_scheduling_dps</strong>\n');
192fprintf(1,'This example illustrates the solution of DPS models.\n')
193clear; cqn_scheduling_dps; fprintf(1,'Pausing...'); pause(3.0);
194fprintf(1,'\n\nExample: <strong>cqn_mmpp2_service</strong>\n');
195fprintf(1,'This example shows that LINE automatically checks if a solver is feasible for a given model.\n');
196fprintf(1,'If not, an empty result set is returned.\n');
197clear; cqn_mmpp2_service; fprintf(1,'Pausing...'); pause(3.0);
198
199%%
200%fprintf(1,'\n<strong>RUNNING: example_svcEstimation_*</strong>');
201%fprintf(1,'\n\nExample: <strong>example_svcEstimation_1</strong>\n');
202%fprintf('This example shows service demand estimation in a single class model using the utilization-based regression (UBR) method.\n')
203%clear; example_svcEstimation_1; fprintf(1,'Pausing...'); pause(3.0);
204%fprintf('This example shows service demand estimation in a multiclass model using the ERPS method.\n')
205%clear; example_svcEstimation_2; fprintf(1,'Pausing...'); pause(3.0);
206%fprintf('This example shows service demand estimation in a multiclass model using the utilization-based regression (UBR) method.\n')
207%clear; example_svcEstimation_3; fprintf(1,'Pausing...'); pause(3.0);
208%fprintf('This example shows service demand estimation in a multiclass model using the utilization-based optimization (UBO) method.\n')
209%clear; example_svcEstimation_4; fprintf(1,'Pausing...'); pause(3.0);
210
211%%
212fprintf(1,'\nExamples completed.\n')