Skip to content

Commit 8155d5e

Browse files
committed
update list_of_parameters reference in docs
1 parent c1287fc commit 8155d5e

2 files changed

Lines changed: 120 additions & 15 deletions

File tree

docs/Guides/Queues/system_capacity.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. system-capacity:
1+
.. _system-capacity:
22

33
===================================================
44
How to Set a Maximium Capacity for the Whole System

docs/Reference/parameters.rst

Lines changed: 119 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ class_change_matrices
7676
*Optional*
7777

7878
A dictionary of class change matrices for each node.
79-
For more details see :ref:`dynamic-classes`.
79+
For more details see :ref:`changeclass-afterservice`.
8080

8181
An example for a two node network with two classes of customer::
8282

@@ -91,6 +91,22 @@ An example for a two node network with two classes of customer::
9191

9292

9393

94+
class_change_time_distributions
95+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96+
97+
*Optional*
98+
99+
A dictionary of distributions representing the time it takes to change from one class into another while waiting. For more details see :ref:`changeclass-whilequeueing`.
100+
101+
An example of a two class network where customers of class 0 change to customers of class 1 according to an exponential distribution::
102+
103+
class_change_dist_dict = {
104+
'Class 0': {'Class 1': ciw.dists.Exponential(rate=5)}
105+
}
106+
107+
108+
109+
94110
number_of_servers
95111
~~~~~~~~~~~~~~~~~
96112

@@ -123,19 +139,63 @@ Example::
123139

124140

125141

142+
ps_thresholds
143+
~~~~~~~~~~~~~
144+
145+
A list of thresholds for capacitated processor sharing queues.
146+
For more information see :ref:`processor-sharing`.
147+
148+
Example::
149+
150+
ps_thresholds=[3]
151+
152+
153+
154+
126155
queue_capacities
127156
~~~~~~~~~~~~~~~~
128157

129158
*Optional*
130159

131160
A list of maximum queue capacities at each node.
132-
If ommitted, default values of :code:`float('inf')` for every node are given.
161+
If omitted, default values of :code:`float('inf')` for every node are given.
162+
For more details see :ref:`queue-capacities`.
133163

134164
Example::
135165

136166
queue_capacities=[5, float('inf'), float('inf'), 10]
137167

138168

169+
reneging_destinations
170+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
171+
172+
*Optional*
173+
174+
A dictionary of lists representing the destination a customer goes to when they renege, or abandon the queue, while waiting. For more details see :ref:`reneging-customers`.
175+
176+
An example of a one node, two class network where customers of class 0 renege to node 2, and customers of class 1 renege and leave the system::
177+
178+
reneging_destinations = {
179+
'Class 0': [2],
180+
'Class 1': [-1]
181+
}
182+
183+
184+
185+
reneging_time_distributions
186+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
187+
188+
*Optional*
189+
190+
A dictionary of distributions representing the time it takes for a customer to renege, or abandon the queue, while waiting. For more details see :ref:`reneging-customers`.
191+
192+
An example of a one node, two class network where customers of class 0 renege after a 5 time units, and customers of class 1 do not renege::
193+
194+
reneging_time_distributions = {
195+
'Class 0': [ciw.dists.Deterministic(value=5)],
196+
'Class 1': [None]
197+
}
198+
139199

140200
routing
141201
~~~~~~~
@@ -144,31 +204,59 @@ routing
144204

145205
*Optional for 1 node*
146206

147-
Describes how each customer class routes around the system.
148-
This may be a routing matrix for each customer class, or a list routing function for process-based simulations, see :ref:`process-based`.
207+
Describes how each customer class routes around the system.
208+
This may be a routing matrix for each customer class, or a routing object, see :ref:`routing-objects`.
149209

150-
This is a dictionary, with keys as customer classes, and values are lists of lists (matrices) containing the routing probabilities.
151-
If only one class of customer is required it is sufficient to simply enter single routing matrix (a list of lists).
210+
This is a dictionary, with keys as customer classes, and values are routing objects (or lists of of lists, matrices, containing the routing probabilities).
211+
If only one class of customer is required it is sufficient to simply enter single routing object or matrix.
152212

153-
An example is shown::
213+
An example of using a routing object::
214+
215+
routing = ciw.routing.NetworkRouting(
216+
routers=[
217+
ciw.routing.Direct(to=2),
218+
ciw.routing.Leave()
219+
]
220+
)
221+
222+
And an example of using transition matrices is shown::
154223

155224
routing={'Class 0': [[0.1, 0.3],
156225
[0.0, 0.8]],
157226
'Class 1': [[0.0, 1.0],
158227
[0.0, 0.0]]}
159228

160-
An example where only one class of customer is required::
161229

162-
routing=[[0.5, 0.3],
163-
[0.2, 0.6]]
230+
server_priority_functions
231+
~~~~~~~~~~~~~~~~~~~~~~~~~
232+
233+
*Optional*
164234

165-
If using only one node, the default value is::
235+
A function for each node that decides how to choose between multiple servers in the same node.
236+
For more details see :ref:`server-priority`.
166237

167-
routing={'Class 0': [[0.0]]}
238+
Example::
239+
240+
server_priority_functions=[custom_server_priority]
241+
242+
243+
244+
service_disciplines
245+
~~~~~~~~~~~~~~~~~~~
246+
247+
*Optional*
168248

169-
Otherwise a process-based routing function::
249+
A list of service discipline functions, that describe the order in which customers are taken from the queue and served.
250+
For more details see :ref:`service-disciplines`.
251+
252+
If omitted, FIFO service disciplines are assumed.
253+
254+
Example of a 3 node network, one using FIFO, one using LIFO, and one using SIRO::
255+
256+
service_disciplines=[ciw.disciplines.FIFO,
257+
ciw.disciplines.LIFO,
258+
ciw.disciplines.SIRO]
170259

171-
routing=[routing_function]
172260

173261

174262

@@ -194,3 +282,20 @@ An example where only one class of customer is required::
194282
service_distributions=[ciw.dists.Exponential(rate=4.8),
195283
ciw.dists.Exponential(rate=5.2)]
196284

285+
286+
287+
288+
system_capacity
289+
~~~~~~~~~~~~~~~
290+
291+
*Optional*
292+
293+
The maximum queue capacity for the system.
294+
If omitted, a default value of :code:`float('inf')` is given.
295+
For more details see :ref:`system-capacity`.
296+
297+
Example::
298+
299+
system_capacity=12
300+
301+

0 commit comments

Comments
 (0)