You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This schedule is cyclic, therefore after the last shift (220-250), schedule begins again with the shift (0-40). The cycle length for this schedule is 250.
16
+
This schedule is cyclic, therefore after the last shift (220-250), schedule begins again with the shift (0-40). The cycle length for this schedule is 250. Let's call this schedule :code:`my_special_schedule_01`. We define this schedule in the parameters dictionary as follows::
17
17
18
-
In order to define this work schedule, it must be given a name.
In the :code:`parameters.yml` file, under :code:`Number_of_servers`, for the given node enter the name of the schedule.
22
-
An example is shown::
20
+
Here we are saying that there will be 2 servers scheduled between times 0 and 40, 3 between 40 and 100, etc.
21
+
This fully defines the cyclic work schedule.
23
22
24
-
Number_of_servers:
25
-
- 'my_special_schedule_01'
26
-
- 3
23
+
We then need to tell Ciw which node is using this schedule. This come under the :code:`Number_of_servers` part of the parameters dictionary. Simply add the name of the schedule instead of the usual integer value. The example below shows a two node network, the first node using the above schedule, and the second node with 3 static servers::
27
24
28
-
The equivalent way to add this to the parameters dictionary::
Here we are saying that there will be 2 servers scheduled between times 0 and 40, 3 between 40 and 100, etc.
55
-
This fully defines the cyclic work schedule.
50
+
Pre-emption
51
+
-----------
52
+
53
+
When a server is due to go off duty during a customer's service, there are two option of what may happen.
54
+
55
+
+ During a pre-emptive schedule, that server will immediately stop service and leave. Whenever more servers come on duty, they will prioritise the interrupted customers and continue their service. However those customers' service times are re-sampled. Therefore, a customer beginning service at time 5 who is meant to have a service time of 4, should finish service at time 9. However the server goes off duty at time 7. Another server restarts this customer's service at time 10, and re-samples the service time, this time service should last for 8 time units. Therefore the customer will finish service at time 18. In the records, this will be recorded as a total service time of 13, as service began at 5 and finished at 18.
56
+
57
+
+ During a non-pre-emptive schedule, customers cannot be interrupted. Therefore servers finish the current customer's service before disappearing. This of course may mean that when new servers arrive the old servers are still there, finishing up their original customers, resulting in a brief time where there are more servers on duty that was scheduled.
58
+
59
+
In order to implement pre-emptive or non-pre-emptive schedules, put the schedule in a tuple with a True or a False as the second term, indicating pre-emptive or non-pre-emptive interruptions. For example::
0 commit comments