CPSC 420 -- Test #1 Topics
The test covers everything we have done so far. Notes, handouts, labs,
and the text (parts listed on the syllabus) should be studied. Some
things to know are ...
- What is simulation? What is modeling? What are some alternatives to simulation? In what circumstances is simulation an appropriate tool for analyzing a system or solving a problem? When should other techniques be used?
- Simulation Terminology: systems, state, events, entities, attributes, static, dynamic, stochastic, deterministic, continuous, discrete
- A simulation study involves a lot more than just writing a program to simulate some system -- what else is involved? (The steps in a simulation study.)
-
Implementing a simulation model using the event-scheduling approach:
How is time handled? What are the basic components of a model
using the event scheduling technique for discrete-event simulation?
What is the general structure of the main part of the program?
What is the role of the event routines?
What are possible stopping rules? When should future events be scheduled?
In the C++ implementation, what function plays the role of the timing
routine and keeps the simulation going? What does it do?
-
Designing a model: Be able to determine the events, state variables, etc.
and write pseudo code for event routines if given a description of a system to model; be able to use an event graph to illustrate events and which events
schedule other events; be able to show (in pseudo-code) how and where performance measures should be computed.
-
Tracing a simulation -- be able to trace a simulation if given a sequence
of numbers from the random number streams (for things like interarrival
times and service times as in an earlier exercise) -- be able to
do this by just computing the numbers (for things such as the time
of arrival, time service begins, etc) and showing the queues and event list;
be able to determine information about the state of the system from the
event list; be able to state what happens next in the system and show the
state of the system and the contents of the eventlist after that
next event is processed.
-
Examples of modeling systems: Single server queuing system,
Single item inventory, systems in the problems we discussed
or were assigned for you to think about (for example, two
servers in series, lunch, machine breakdowns);
Systems in Chapter 2: time-shared computer system [pages 129-130],
multiple teller bank model with jockeying [pages 141-142],
jobshop [pages 155-157] ---
Understand these systems well enough that you could discuss modifications
of them (without having to be told the details of the original system)
-
Computation of performance measures [average number in queue,
average time in queue (delay), utilization, etc.] ---
know what each is and how to compute them in a program (in pseudo-code)
-
Confidence intervals --- what is the basic idea behind confidence intervals?
What is the correct interpretation of a confidence interval?
(You don't need to know the formula)
How is a confidence interval affected by the confidence level specified?
How is it affected by the standard deviation of the data? How is it
affected by the number of observations (runs of the simulation) it is
constructed from?
-
Drawing conclusions from output --- how is output affected by length of the
run (for example, by the number of customers through the system);
why are many runs needed, why are conclusions based on the results
of one run never acceptable, why are confidence intervals preferable
to a mean; when comparing systems or operating policies --
how should you compare confidence intervals, what should you do
about random number generation in the programs testing the
different operating policies or systems?
-
Determining how reasonable your output is -- be able to estimate certain
performance measures to get an idea of how reasonable answers are
(for example, the number you would expect to balk during the server's lunch
or the number through the system or the average queue length).
Be able to use the formulas for mm1 queuing systems to find the
theoretical values (know the utilization formula
-- the others you don't need to memorize).