BE Computer Engineering (IOE, TU) Simulation and Modeling (IOE, CT 751 / ENCT 353) Question Paper 2078 Nepal
This is the official BE Computer Engineering (IOE, TU) Simulation and Modeling (IOE, CT 751 / ENCT 353) question paper for 2078, as set in the regular annual examination. It carries 80 full marks and a time allowance of 180 minutes, across 11 questions. On Kekkei you can attempt this Simulation and Modeling (IOE, CT 751 / ENCT 353) past paper online with a timer, get instant AI feedback and step-by-step solutions, and track the topics where you lose marks — completely free. Whether you are revising for your BE Computer Engineering (IOE, TU) Simulation and Modeling (IOE, CT 751 / ENCT 353) exam or solving previous years' question papers, this 2078 paper is a great way to practise under real exam conditions.
Section A: Long Answer Questions
Attempt all / any as specified.
(a) Define a system and explain the components of a system (entities, attributes, activities, state and events) with suitable examples. (6)
(b) Distinguish between a physical model and a mathematical model. With the help of a flowchart, explain the steps involved in a typical simulation study. (6)
(a) System and its components (6)
System: A system is a collection of entities (people, machines, objects) that interact together over time to accomplish one or more goals. Example: a bank, a factory, a computer network.
Components:
- Entity: An object of interest in the system. Example: a customer in a bank.
- Attribute: A property/characteristic of an entity. Example: the account balance or priority of a customer.
- Activity: A time period of specified length representing an operation. Example: the act of serving a customer (a teller transaction).
- State: The collection of variables needed to describe the system at any instant, relative to the objectives of the study. Example: number of busy tellers and number of customers waiting.
- Event: An instantaneous occurrence that may change the state of the system. Example: the arrival of a customer or the completion of service (departure).
| Concept | Bank example |
|---|---|
| Entity | Customers, tellers |
| Attribute | Balance, service-need |
| Activity | Serving a customer |
| State | No. waiting, no. busy tellers |
| Event | Arrival, departure |
(b) Physical vs Mathematical model + steps of a simulation study (6)
Physical model: A tangible, scaled-down (iconic) replica of the real system whose physical properties resemble the original. Example: a wind-tunnel model of an aircraft, a model dam.
Mathematical model: Represents the system through logical and quantitative relationships (equations, inequalities, logical conditions) that are manipulated to see how the model reacts. Example: for a queue. Simulation models are typically mathematical models solved numerically.
| Physical model | Mathematical model |
|---|---|
| Tangible / scaled | Abstract / symbolic |
| Studied by physical experiment | Studied by analysis or simulation |
| Costly to change | Easy to change parameters |
Steps in a simulation study (flowchart, described in words):
- Problem formulation — state objectives.
- Setting objectives and overall plan.
- Model conceptualization — build the conceptual model.
- Data collection.
- Model translation — code the model in a language/tool.
- Verified? (No → return to step 5).
- Validated? (No → return to step 3/4).
- Experimental design — runs, length, replications.
- Production runs and analysis.
- More runs? (Yes → step 8).
- Documentation and reporting.
- Implementation.
The flowchart is a top-down flow from Problem formulation down to Implementation, with decision diamonds at Verification and Validation looping back, and a loop from production runs back to experimental design when more runs are needed.
Consider a single-server queuing system (M/M/1) where customers arrive at a counter. The inter-arrival times and service times for the first 6 customers are given below (all in minutes):
| Customer | Inter-arrival time | Service time |
|---|---|---|
| 1 | 0 | 4 |
| 2 | 3 | 2 |
| 3 | 5 | 5 |
| 4 | 2 | 1 |
| 5 | 6 | 3 |
| 6 | 4 | 2 |
(a) Prepare a simulation table showing arrival time, service-begin time, waiting time in queue, service-end time and time the customer spends in the system. (8)
(b) From your table, compute the average waiting time in the queue, the average time a customer spends in the system, and the server utilization. (4)
(a) Simulation table (8)
Arrival time = running sum of inter-arrival times. Service begins at .
| Cust | IAT | Arrival | Service time | Service begin | Wait in queue | Service end | Time in system |
|---|---|---|---|---|---|---|---|
| 1 | 0 | 0 | 4 | 0 | 0 | 4 | 4 |
| 2 | 3 | 3 | 2 | 4 | 1 | 6 | 3 |
| 3 | 5 | 8 | 5 | 8 | 0 | 13 | 5 |
| 4 | 2 | 10 | 1 | 13 | 3 | 14 | 4 |
| 5 | 6 | 16 | 3 | 16 | 0 | 19 | 3 |
| 6 | 4 | 20 | 2 | 20 | 0 | 22 | 2 |
| Sum | 17 | 4 | 21 |
(b) Performance measures (4)
Average waiting time in queue:
Average time in system:
Server utilization (total busy time over total simulation time; server idle gaps exist between customers):
So customers wait on average 0.67 min in the queue, spend 3.5 min in the system, and the server is busy 77% of the time.
(a) Explain the Linear Congruential Method (LCM) for generating pseudo-random numbers. State the conditions (Hull-Dobell theorem) under which an LCM achieves a full period. (5)
(b) Using the multiplicative congruential generator X(n+1) = (17 X(n)) mod 100 with seed X(0) = 27, generate the first five random numbers and the corresponding U(0,1) values. (3)
(c) Describe the inverse-transform technique and use it to derive a procedure for generating random variates from an exponential distribution with mean 1/lambda. (4)
(a) Linear Congruential Method + Hull-Dobell theorem (5)
The Linear Congruential Method (LCM) produces a sequence of integers between and by the recurrence:
where = seed, = multiplier, = increment, = modulus. Random numbers on are then . If it is called the multiplicative congruential method.
Hull-Dobell theorem — a mixed LCG () has full period if and only if:
- and are relatively prime ();
- is divisible by every prime factor of ;
- is divisible by if is divisible by .
(b) Multiplicative generator (3)
, seed .
| n | ||
|---|---|---|
| 1 | 0.59 | |
| 2 | 0.03 | |
| 3 | 0.51 | |
| 4 | 0.67 | |
| 5 | 0.39 |
First five random numbers: 0.59, 0.03, 0.51, 0.67, 0.39.
(c) Inverse-transform technique for the exponential distribution (4)
Idea: If has CDF and , then has the desired distribution, because is monotone and .
For the exponential distribution with mean :
Set and invert:
Since is also uniform on , in practice we use:
Procedure: generate ; return as an exponential variate.
(a) Differentiate between verification and validation of a simulation model. Describe at least three techniques used for verifying a simulation model. (7)
(b) Compare general-purpose programming languages with special-purpose simulation languages (such as GPSS / SIMSCRIPT) for building simulation models, listing the advantages and disadvantages of each. (5)
(a) Verification vs Validation + verification techniques (7)
Verification asks "Are we building the model right?" — it checks that the computer program/implementation correctly represents the conceptual (assumed) model, i.e. it is debugging the code.
Validation asks "Are we building the right model?" — it checks that the model is an accurate representation of the real system for the intended purpose, comparing model behavior with reality.
| Verification | Validation | |
|---|---|---|
| Question | Built right? | Right model? |
| Compares | Code vs conceptual model | Model vs real system |
| Concern | Programming/logic errors | Accuracy/realism |
Techniques for verifying a simulation model (any three):
- Structured walk-through / code review of the program by the modeler and others.
- Trace and debugging — print the state, clock, and event list as events occur and check them by hand for a few steps.
- Run with simplified/known input for which analytic answers exist (e.g. set arrival = service so the queue should behave predictably) and compare.
- Animation — observe the dynamic behavior graphically to spot logical errors.
- Check output reasonableness for a variety of input parameter settings.
(b) General-purpose vs special-purpose simulation languages (5)
General-purpose languages (C, C++, Java, Python):
- Advantages: widely known, flexible, fast execution, low cost, no licensing, portable, integrates easily with other software.
- Disadvantages: must program the simulation infrastructure (clock, event list, random generators, statistics) yourself; longer development time; more error-prone.
Special-purpose simulation languages (GPSS, SIMSCRIPT, SIMAN, SLAM):
- Advantages: built-in simulation facilities — automatic time advance, event/queue handling, random-variate generators, automatic statistics collection; faster modeling; reduced coding/errors; good built-in reporting and often animation.
- Disadvantages: must learn a new language; less flexible for unusual logic; may run slower; licensing cost; less portable.
Conclusion: general-purpose languages give maximum flexibility at the cost of effort, while simulation languages speed up development at the cost of flexibility and money.
Section B: Short Answer Questions
Attempt all / any as specified.
Apply the Kolmogorov-Smirnov test to the following sequence of random numbers to test for uniformity at the 0.05 level of significance (critical value D = 0.565 for n = 5): 0.44, 0.81, 0.14, 0.05, 0.93.
Kolmogorov-Smirnov (K-S) test for uniformity
Hypotheses: : the numbers are uniform on ; : they are not.
Step 1 — sort the numbers in ascending order:
Step 2 — compute and , with .
| 1 | 0.05 | 0.20 | 0.15 | 0.00 | 0.05 |
| 2 | 0.14 | 0.40 | 0.26 | 0.20 | -0.06 |
| 3 | 0.44 | 0.60 | 0.16 | 0.40 | 0.04 |
| 4 | 0.81 | 0.80 | -0.01 | 0.60 | 0.21 |
| 5 | 0.93 | 1.00 | 0.07 | 0.80 | 0.13 |
Step 3 — test statistic:
Step 4 — compare with critical value: for .
Since , we do not reject .
Conclusion: There is no evidence against uniformity at the level — the numbers can be regarded as uniformly distributed on .
For an M/M/1 queue with arrival rate lambda = 8 customers per hour and service rate mu = 10 customers per hour, calculate: (a) the server utilization, (b) the average number of customers in the system (L), (c) the average number in the queue (Lq), and (d) the average time a customer spends in the system (W).
M/M/1 queue: ,
(a) Server utilization (traffic intensity):
(b) Average number in the system :
(c) Average number in the queue :
(d) Average time a customer spends in the system :
Summary: , , , hr (30 min).
(a) Explain the acceptance-rejection technique for generating random variates. (4)
(b) Describe how the convolution method can be used to generate an Erlang random variate. (4)
(a) Acceptance-Rejection technique (4)
Used when the inverse CDF is hard to obtain. To generate with density , choose a simpler density from which we can sample, and a constant such that for all .
Algorithm:
- Generate from .
- Generate independently.
- If , accept and set .
- Otherwise reject and return to step 1.
The accepted values follow . The efficiency is (the probability of acceptance), so a smaller (tighter envelope) means fewer rejections. Example: generating a variate from a Poisson/triangular density using a uniform envelope.
(b) Convolution method for an Erlang variate (4)
The convolution method uses the fact that some random variables are the sum of simpler, independent variates. The Erlang- distribution with rate (mean ) is the sum of independent exponential variates each with mean :
Procedure:
- Generate independent uniforms .
- Convert each to an exponential by inverse transform: .
- Sum them:
The result is an Erlang- variate. (Only multiplications/one log are needed using the product form.)
Explain the autocorrelation test and the runs test (test for independence) used to evaluate a sequence of random numbers. What property of the random numbers does each test check?
Tests for independence of random numbers
Both tests check independence (no correlation/pattern), as opposed to uniformity.
Autocorrelation test
It checks whether numbers separated by a lag are correlated. For numbers , the test computes the autocorrelation between every -th number starting from :
where is the largest integer with . The standardized statistic
is compared with the standard normal critical value . If we accept (the numbers are independent / not autocorrelated at lag ). Property checked: independence — absence of correlation between numbers a fixed distance apart.
Runs test (test for independence)
A run is a succession of numbers in the same direction. We look at runs up and down: mark when the next number is larger and when smaller; a run is a maximal block of identical signs. Count the total number of runs . For numbers the expected number and variance of runs are:
The statistic is compared with . Too few or too many runs both indicate dependence. Property checked: independence — whether the sequence has patterns/trends (clustering or rapid oscillation).
Summary: the autocorrelation test detects correlation between numbers at a given lag; the runs test detects trends/patterns in the order of the numbers. Both assess independence, not uniformity.
Describe the event-scheduling / time-advance algorithm used in discrete-event simulation. Explain the role of the future event list (FEL) and the system clock with the help of a diagram.
Event-scheduling / time-advance algorithm in DES
In discrete-event simulation the system state changes only at discrete points in time called events. The simulation jumps from one event time to the next using the next-event time-advance approach (the clock skips over idle periods).
Key data structures:
- System clock (CLOCK): holds the current simulation time.
- Future Event List (FEL): an ordered list of pending events, each tagged with the (event type, event time). It is kept sorted by event time so the imminent (earliest) event is always at the head.
- State variables and statistical counters.
Algorithm:
1. Initialize: CLOCK = 0; set state variables and counters;
schedule initial event(s) and place them in the FEL.
2. While (FEL not empty AND stopping condition not met):
a. Remove the imminent event (smallest time) from the FEL.
b. Advance the CLOCK to that event's time.
c. Execute the event routine:
- update system state,
- update statistical counters,
- generate and schedule future events (insert into FEL),
- generate random variates as needed.
3. End while -> compute and report summary statistics.
Role of FEL and clock (diagram, in words): Imagine a horizontal time axis. The FEL is a queue of event notices ordered left-to-right by time, e.g. [t=3 Arrival] -> [t=4 Departure] -> [t=7 Arrival]. The simulation engine repeatedly: (1) pops the leftmost (imminent) notice, (2) sets the CLOCK to its time, (3) runs the corresponding event routine which may push new notices back into the FEL in sorted order. Thus the CLOCK never moves backward and only stops at instants where the state actually changes, making the simulation efficient.
(a) Differentiate between continuous and discrete simulation, and between deterministic and stochastic simulation, with one example of each. (4)
(b) Explain the Monte Carlo simulation technique and describe one practical application where it is used. (4)
(a) Classifications of simulation (4)
Continuous vs Discrete:
- Discrete simulation: the state variables change only at discrete (countable) points in time. Example: number of customers in a bank queue (changes at arrivals/departures).
- Continuous simulation: the state variables change continuously over time, usually described by differential equations. Example: the water level in a reservoir, or velocity of a moving vehicle.
Deterministic vs Stochastic:
- Deterministic simulation: contains no random variables; the same input always gives the same output. Example: a fixed-schedule chemical reaction model.
- Stochastic simulation: contains one or more random variables; outputs are random and must be treated as statistical estimates. Example: a queue with random arrival and service times.
(b) Monte Carlo simulation (4)
Monte Carlo simulation is a technique that uses repeated random sampling from probability distributions to obtain numerical estimates of quantities that may be deterministic but hard to compute analytically. It is generally static (no time-advance mechanism). Steps: model the problem with random inputs, sample many values, evaluate the outcome each time, and aggregate (average) the results, whose accuracy improves with the number of trials ().
Example application — estimating / numerical integration: Throw random points uniformly in the unit square; the fraction landing inside the quarter circle approximates , so . Other practical uses: evaluating definite integrals, risk and financial-portfolio analysis, reliability estimation, and inventory/project-cost analysis.
Write short notes on any TWO of the following:
(a) Steps in building a simulation model
(b) Calibration and validation of models
(c) Advantages and disadvantages of simulation
Short notes (any two)
(a) Steps in building a simulation model
- Problem formulation — define the problem and objectives.
- Model conceptualization — identify entities, attributes, activities, events and assumptions.
- Data collection — gather input data and fit distributions.
- Model translation (coding) — implement in a language or simulation package.
- Verification — check that the program matches the conceptual model.
- Validation — check that the model represents the real system.
- Experimental design — decide run length, number of replications, warm-up.
- Production runs and analysis of output.
- Documentation, reporting and implementation.
(b) Calibration and validation of models
- Calibration is the iterative process of tuning/adjusting model parameters and assumptions so that model output matches observed real-system data as closely as possible. It is an internal refinement loop.
- Validation is the process of confirming that the (calibrated) model is an accurate representation of the real system for its intended purpose, typically by comparing model output with independent real-world data, using face validity, historical-data validation and sensitivity analysis.
- Relationship: calibration adjusts the model; validation judges whether the adjusted model is good enough. Over-calibrating to one data set can hurt validity, so validation should use data not used in calibration.
(c) Advantages and disadvantages of simulation
Advantages:
- Can study systems too complex for analytical solution.
- "What-if" experiments without disturbing the real system.
- Compresses or expands time; cheaper and safer than real experiments.
- Gives insight into how the system works and which variables matter.
Disadvantages:
- Model building requires special skill and is time-consuming.
- Results can be hard to interpret (random output needs statistical analysis).
- Can be expensive and may consume much computer time.
- May be misused — a model that looks realistic may still be invalid.
Frequently asked questions
- Where can I find the BE Computer Engineering (IOE, TU) Simulation and Modeling (IOE, CT 751 / ENCT 353) question paper 2078?
- The full BE Computer Engineering (IOE, TU) Simulation and Modeling (IOE, CT 751 / ENCT 353) 2078 (regular) question paper is available free on Kekkei. You can read every question online and attempt the paper under timed exam conditions.
- Does the Simulation and Modeling (IOE, CT 751 / ENCT 353) 2078 paper come with solutions?
- Yes. Every question on this Simulation and Modeling (IOE, CT 751 / ENCT 353) past paper includes a step-by-step solution, plus instant AI feedback when you attempt it on Kekkei.
- How many marks is the BE Computer Engineering (IOE, TU) Simulation and Modeling (IOE, CT 751 / ENCT 353) 2078 paper?
- The BE Computer Engineering (IOE, TU) Simulation and Modeling (IOE, CT 751 / ENCT 353) 2078 paper carries 80 full marks and is meant to be completed in 180 minutes, across 11 questions.
- Is practising this Simulation and Modeling (IOE, CT 751 / ENCT 353) past paper free?
- Yes — reading and attempting this Simulation and Modeling (IOE, CT 751 / ENCT 353) past paper on Kekkei is completely free.