Simulation of queues, Data Structure & Algorithms

Simulation is the process of making an abstract model of a real world situation in order to be aware of the effect of modifications and alterations and the effect of introducing number of strategies on the situation. The simulation program must necessity schedule the events in the simulation so the activities occur in the correct time sequence.  Take an example, suppose a person visit an outlet at time 't1' to deposit the bill of his cell phone. The transaction can be expected to take a certain period of the time 't2' to complete. If any of the service window is free or not busy, then the person can immediately deposit the bill in time (t1+t2) spending the exact time required to deposit the bill. If none of the service window is free and there is long queue waiting at each window. Then the person joins the smallest queue and waits until all previous people deposits their bills and leaves the line. In such case, the time spends by person in the bill office in t2+time spends in waiting. These kinds of problem are solved by writing a program to simulate the actions of the persons. The various service windows can be represented by different queues and each person waiting in that line is represented by the node in that particular queue. The node at the front of the queue represents the person currently taking service at the window. We can define  various  events related  with  the  process  like  arrival  of  a  person and departure of a person etc.

When a departure node is removed from the event list when the person leaves, the amount of time spent by  the  departing  person  is  computed  and  added  to  a  total  and  the  node representing the person is separated from the front of the queue. After a node has been removed from the front of the queue, the next person in the queue becomes the first to be service window and a departure node is added to the event list. At the end of simulation, when the event list gets empty, the total sum will be divided by the number of persons to obtain the average time spent by a person.

 

 

Posted Date: 7/10/2012 6:15:43 AM | Location : United States







Related Discussions:- Simulation of queues, Assignment Help, Ask Question on Simulation of queues, Get Answer, Expert's Help, Simulation of queues Discussions

Write discussion on Simulation of queues
Your posts are moderated
Related Questions
Define Big Omega notation Big Omega notation (?) : The lower bound for the function 'f' is given by the big omega notation (?). Considering 'g' to be a function from the non-n

Explain principle of Optimality It indicates that an optimal solution to any instance of an optimization problem is composed of  optimal solutions to its subinstances.

I=PR/12 numbers of years : Interest Rate up to 1 years : 5.50 Up to 5 years : 6.50 More than 5 year : 6.75 please design an algorithm based on the above information

We would like to implement a 2-4Tree containing distinct integer keys. This 2-4Tree is defined by the ArrayList Nodes of all the 2-4Nodes in the tree and the special 2-4Node Root w

In the earlier unit, we have discussed about the arrays. Arrays are data structures of fixed size. Insertion & deletion involves reshuffling of array elements. Thus, arraymanipulat

By changing the NULL lines in a binary tree to the special links called threads, it is possible to execute traversal, insertion and deletion without using either a stack or recursi

Worst Case: For running time, Worst case running time is an upper bound with any input. This guarantees that, irrespective of the type of input, the algorithm will not take any lo

Explain the Interfaces in Ruby Recall that in object-oriented programming, an interface is a collection of abstract operations that cannot be instantiated. Even though Ruby i

Explain an efficient way of storing two symmetric matrices of the same order in memory. A n-square matrix array is said to be symmetric if a[j][k]=a[k][j] for all j and k. For

reverse the order of elements on a stack S using two additional stacks using one additional stack