Engineering & Technology · Industrial Engineering, Operations & Logistics
Process improvement, simulation and evaluating operational changes
A new dispatch rule looks faster in one animation. The model started with an empty queue and used a quiet day. The actual operation opens with unfinished work and uneven demand. The animation may execute its rules correctly while providing weak evidence for the proposed decision.
Use engineering measurement and design methods for evidence, requirements and comparisons. This chapter introduces its own rates, count balances and inequalities. All operations, times, outputs and scores are original constructed cases; no reported business or personnel performance is implied.
Back to the chapterAfter reading, you can
Execute and check comparable finite event models, relate policy changes to individual and aggregate outcomes, and use initial-state and validation evidence to reconsider an operational decision.
Make the model explainable before making it complex
In discrete-event simulation, selected state variables change at events such as arrivals, service starts, completions or equipment changes. A state might include waiting jobs, resource status and inventory. Between events, the model advances its clock according to its rules. Keep a paper event trace for a small case so the behaviour can be inspected.
For the single-server recurrence in the queue lesson, start=max(arrival,previous completion), then finish=start+service. With arrivals 0, 0, 4, 4 and 2-minute services, finishes are 2, 4, 6, 8. An implementation that instead starts both first jobs at zero has ignored the single-resource constraint. That is a model implementation defect, regardless of how smooth its animation looks.
Generate the comparison from a declared event model
Use the original input table below to model an opening workload. The clock starts at 0 with one idle server and no earlier jobs. Jobs require exclusive service and cannot be paused once started. There is no setup, travel, breakdown or service-time uncertainty in this first model. Arrival time is when a job becomes available, and service time is how long it occupies the server. A must finish by minute 10; B, C and D have no completion deadlines in this case.
The first-come policy chooses the earliest-arriving waiting job whenever the server becomes free; an alphabetical ID breaks a simultaneous-arrival tie. The proposal instead chooses the waiting job with the shortest service time, breaking equal service times by arrival then ID. It does not stop an active job or select an unavailable future job. Process arrivals at a decision time before choosing the next job. These rules define what happens at ties and prevent a trace from quietly using knowledge that the policy lacks.
To execute either model, maintain the clock, the waiting set and the server’s finish event. At a service completion, remove the finished job, add newly arrived jobs up to that time, and select one available job using the policy. If the waiting set is empty, advance to the next arrival. Record start and finish for each job, then calculate waiting as start minus arrival. Verify that no two service intervals overlap, no start precedes its arrival, and every completed job has received its declared service time.
| Job | Arrival | Service | Completion requirement |
|---|---|---|---|
| A | 0 | 8 | Finish by 10 |
| B | 0 | 2 | None supplied |
| C | 1 | 2 | None supplied |
| D | 3 | 2 | None supplied |
Trace the causal change, including the job that loses
First-come selects A at 0 because A and B arrive together and A wins the ID tie. It runs A from 0 to 8. C and D arrive while A is busy; service cannot be interrupted. The remaining order is B from 8–10, C from 10–12 and D from 12–14. In A/B/C/D order, waits are 0, 8, 9 and 9 minutes, giving mean 26/4=6.5. A finishes at 8 and meets its requirement.
Shortest-available selects B from 0–2. At 2, A and C are waiting, so C’s two-minute service is chosen over A’s eight. At 4, D is already available and is chosen next, from 4–6. Finally A runs 6–14. Waits in the same A/B/C/D order are 6, 0, 1 and 1, with mean 8/4=2. The shorter average is generated by different selections, not inserted as an assumed output. However A now finishes at 14 and misses its deadline.
By minute 6, first-come has completed zero jobs and shortest-available three. By minute 14, both have completed all four. The early completion count and the complete-batch average answer different questions; neither should be renamed a general capacity increase. In both traces the server remains occupied for the same total service time 8+2+2+2=14 minutes. Another arrival pattern or an added setup could change this result.
The decision is not limited to accepting one of those two rules. Consider a third, deadline-aware candidate: serve B from 0–2, then commit to A from 2–10, followed by C 10–12 and D 12–14. At minute 2, A’s latest possible start is 10−8=2; choosing another two-minute job would make A late. The resulting waits are 2, 0, 9 and 9, mean 20/4=5. Among these three candidates, minimise mean waiting subject to A finishing by 10: this candidate improves on first-come while respecting the deadline. It is not a universal optimal scheduling rule.
Change the initial state, then reconsider the decision
This experiment is one deterministic opening trace, with four named input jobs. It runs until all four finish, so none of their waits are omitted because they happen to remain unfinished at a cutoff. There is no random sampling distribution and no confidence interval. A repeated run with identical deterministic inputs supplies no additional independent evidence about actual daily variation. For statistical comparisons of real or randomised runs, use the experimental-design and statistical-evidence lessons linked after this article.
Now suppose an earlier job X already occupies the server from minute 0 until 2. Its original arrival is unknown, so exclude X from the four-job mean wait but retain its resource use in the initial state. First-come serves A 2–10, B 10–12, C 12–14, D 14–16: waits 2, 10, 11, 11, mean 8.5. Shortest-available serves B 2–4, C 4–6, D 6–8, A 8–16: waits 8, 2, 3, 3, mean 4. A again misses under the shortest policy.
With X present, A’s latest start is still 2. The earlier B-then-A candidate is no longer feasible: serving B at 2 would postpone A until 4. To meet A’s deadline in this initial state, start A immediately when X finishes. The finite-opening question therefore changes the admissible policy. Discarding minutes 0–2 as “warm-up” would remove precisely the busy resource state that determines the opening decision.
Make a validation discrepancy change the result
Return to the initially empty case. Suppose a constructed test log for the shortest policy shows B finishing at 2 but C starting at 2.5. An unexplained half-minute gap is evidence of a mismatch, not permission to tune the input until the mean looks right. Check timestamp definitions and the actual intervening task. For this teaching example, the log identifies a server-occupying handoff of 0.5 minute between each pair of jobs, with no handoff before the first or after the last.
Add that specific rule to every candidate, keeping arrivals and service durations unchanged. Shortest-available becomes B 0–2, C 2.5–4.5, D 5–7 and A 7.5–15.5. Its waits are 0, 1.5, 2 and 7.5 in service order; in A/B/C/D order they are 7.5, 0, 1.5, 2. Their mean is 11/4=2.75. By minute 6 only two jobs have finished, rather than the old prediction of three.
The deadline-aware candidate is affected too: B 0–2, handoff 2–2.5, then A 2.5–10.5. It now violates A’s requirement. First-come still finishes A at 8, and its complete trace ends at 15.5 with waits 0, 8.5, 10, 10.5, mean 7.25. Among these unchanged candidate rules, first-come is now the only one meeting A’s deadline. Other redesigns could be investigated, but shortening a service or handoff requires evidence, not an unrecorded convenience.
A real evaluation would preserve its input and log definitions, compare the updated model on further relevant cases, and record whether the missing task varies with job type or conditions. The example completes a model-to-discrepancy-to-revision loop, but supplies no empirical claim about a workplace. The new mechanism and the actual operating evidence would need independent checking before any real policy decision.
Preserve conditions, uncertainty and distribution
Define the proposed decision, model boundary, policy, inputs, initial state, run duration and output measures. Check the implemented rules against small known cases, then assess whether the representation corresponds adequately to the actual operation for its intended use. Comparing a simulated average with reality also requires matching definitions, conditions and uncertainty.
The figure gives deliberately supplied scenario values rather than results of a model run. Baseline mean waits 4, 8, 12, 16 minutes become 3, 5, 7, 13 under a proposal. Their unweighted means are 10 and 7. The averages hide unequal benefits, so retain the individual scenarios and investigate demanding conditions, quality and affected job classes as well.
Treat a proposed change as a learning cycle
For a stochastic simulation, one random run does not establish a precise long-run mean. Choose appropriate replications, collection windows and an uncertainty method. Initial empty conditions can bias a steady-state question; a finite morning-opening question may instead require exactly that initial condition. Removing warm-up data without understanding the question can be as misleading as keeping inappropriate startup data.
Before changing an actual operation, compare the proposal with its requirements and practical constraints and plan a proportionate, reversible trial where appropriate. Record baseline conditions, what changed, relevant outcomes and unintended effects. Concurrent demand or staffing changes can confound a before/after comparison. Keep the evidence tied to its conditions and revise the model when observations contradict it.
Keep generated policy results distinct from supplied scenario summaries
The executed empty-start, no-handoff traces give a specific decision: shortest-available lowers mean wait to 2 minutes but fails A’s deadline; B-then-A has mean 5 and meets it. The updated handoff model invalidates that candidate by finishing A at 10.5. Those numbers come from the stated jobs and event rules. The following four-scenario summary is a separate arithmetic exercise, not an additional run of that model.
The scenario differences are 1, 3, 5 and 3 minutes, with mean 3. The baseline mean is(4+8+12+16)/4=10; the proposal mean is 28/4=7. The reduction between these unweighted means is 30%.
There are no stated scenario probabilities, random replications or population sampling process, so this is not a confidence interval or a proven 30% real-world effect. It is an arithmetic summary of four supplied cases. Ask which actual operating conditions and evidence would make the comparison relevant to the intended decision.
Try the reasoning
Can an accurate animation establish a useful real-system model?
Show the answer and reasoning
No. It may help inspect rules, but representation, input quality, initial conditions and correspondence with the intended operation need separate checks.
Should startup observations always be discarded?
Show the answer and reasoning
No. The correct treatment depends on whether the question concerns startup, a finite period or a long-run state.
What should happen when a trial contradicts the prediction?
Show the answer and reasoning
Preserve the observation, check definitions and conditions, investigate the discrepancy and update the model or decision with a recorded rationale.
Execute first-come and shortest-available for new arrivals/services A=0/6, B=0/2, C=1/1, D=4/1, with A due by 8. What deadline-aware candidate improves on first-come?
Show the answer and reasoning
First-come is A 0–6, B 6–8, C 8–9, D 9–10; waits in A/B/C/D order are 0, 6, 7, 5, mean 4.5, and A meets. Shortest-available is B 0–2, C 2–3, A 3–9, D 9–10; D is not yet available at 3, so selecting it then would be invalid. Waits are 3, 0, 1, 5, mean 2.25, but A misses. Serving B 0–2 then A 2–8, C 8–9, D 9–10 gives waits 2, 0, 7, 5, mean 3.5 and meets A’s deadline. This comparison assumes the original no-handoff rules.
In the original empty-start jobs, why must adding a 0.5-minute handoff trigger reconsideration even if the average wait remains lower than first-come?
Show the answer and reasoning
B then A now places A at 2.5–10.5, missing the required completion by 10. The requirement is a constraint, not a score that can be offset by other jobs’ smaller waits. Apply the handoff to every candidate; first-come still finishes A at 8, while shortest-available finishes it at 15.5. Recheck feasibility before comparing the means.
With the original four jobs but X busy until 2, can reporting only jobs completed by minute 6 establish the mean waiting of the opening workload?
Show the answer and reasoning
No. Under shortest-available, only B and C finish by 6; A and D are omitted despite belonging to the workload. B and C waits are 2 and 3, giving 2.5 for that selected subset, while the complete A/B/C/D mean is (8+2+3+3)/4=4. Define the finite completion window and population explicitly; an early completion count is useful but is a different outcome.
What to carry forward
Generate policy consequences from inspectable event rules, compare the relevant jobs and constraints, and let changed initial states or validation evidence alter the decision.
References
Teaching resources and research supporting this lesson’s explanations and examples.