Simulation algorithm, Programming Languages

Assignment Help:

 Please remember to read and follow all of the assignment guidelines.

This assignment will expand upon the simulation algorithm given in class to produce a program which may be used to predict the behaviour of a slightly more complex system. Instead of assuming there is only a single cashier available to handle our lineup for movie tickets, we will allow an arbitrary number of cashiers instead. This would allow - for example- a movie theatre owner to determine the optimal number of cashiers to have on staff to ensure a reasonable wait for tickets.

One way to allow our algorithm to solve the slightly more complicated problem is to keep track of an extra piece of information. In the method, we used in class, we stated that the entry at the front of the lineup queue represented the customer currently at the cashier. If we have more than one cashier, we cannot use this method, since we can only examine the first element in a queue. Instead, the lineup will only contain a queue of waiting customers, not those at cashiers; as soon as a customer gets a cashier, they are removed from the queue. The event queue will have to be modified - instead of holding only 0 or 1 departure events, it will have to hold at most as many departure events as there are cashiers. When one of those departures occurs, then another cashier is free; thus, the event queue will have to keep track of how many departure events are in it.

Since you will have to make the appropriate modifications to the algorithm, you may want to test your algorithm on paper before implementing it. If you can come up with a different way to modify the algorithm, feel free to use it!

Your complete program should open a data file containing a sequence of time and duration values sorted by increasing time, one pair on each line. In a loop, read in values for the number of cashiers; check your input (the number of cashiers has to be greater than or equal to 1). Ask the user of the program whether or not they want to observe your algorithm working. Apply your simulation algorithm to the data in the file with that number of cashiers. If the user wanted to see algorithm work, show the contents of your data structures at each time value (this should include the time, the list of events waiting to happen, the lineup, and the total wait so far). This data should be neatly printed in a table. After your algorithm is done, print out the total amount of time customers spent waiting in line, and the average wait (divide the total wait by the number of customers). Repeat, using the same data file, reading in a new number of cashiers.

Although data structures you choose will largely be determined by the algorithm, you may choose any method of implementation, with one restriction. If you use a fixed-size implementation (i. E, an array), you may not choose the size of the array based on solely on the amount of given input data. If you use an array for your queue, it may have a maximum of 10 entries in it (to simulate the fact that you should not know the size of the input data). If you use an array for the ordered list, it should have the ability to dynamically re-size itself based on the number of entries that will be in it.

Hand in your source code and the output of running your program on the following two data sets: a5test1.txt and a5test2.txt. For each, run the simulation with 1 cashier (your output should show the algorithm work in these cases), 2 cashiers (do not show the algorithm working), 4 cashiers and 5 cashiers (optional).

 


Related Discussions:- Simulation algorithm

Windows presentation foundation, Windows Presentation Foundation Designed b...

Windows Presentation Foundation Designed by Microsoft Technologies, the Microsoft Technologies windows Display Groundwork (or WPF) is a computer-software graphic subsystem for maki

Windows workflow foundation, Windows Workflow Foundation Microsoft windows ...

Windows Workflow Foundation Microsoft windows Work-flows foundation (WF) is an Enthusiasm technological innovation that provides an API, an in-process workflow website, and a rehos

Write a procedure to prints the avl tree, (a) Write a procedure called (loo...

(a) Write a procedure called (lookup n t). This procedure has 2 arguments: n is the value being looked up, t is the AVL tree. The subtree with n as its root is returned (or '() if

Display files specified in directory in format, W.A.S.S to display all the ...

W.A.S.S to display all the files in a specified directory in the following format: File  size in K        Date   Protection    Owner Program echo -e "Enter dir : \c" read di

Lexical analyzer - xml table output, Lexical Analyzer: Symbol Table - Ho...

Lexical Analyzer: Symbol Table - Holds the symbols accepted by the lexical analyzer or parser.  Each symbol may be a terminal or a non-terminal.  Terminal symbols are listed

Dating game program, You are to write a program that determines the day of ...

You are to write a program that determines the day of the week for New Year's Day in the year 3000. To do this, you must create your own date class (MyDate) and use the following i

Shell script print “gm/afternoon/evening”acc to system time, Normal 0 ...

Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4

Read file in Perl, These are the specifications for your Perl program: 1. ...

These are the specifications for your Perl program: 1. The file containing your program must be named cookiemgr.pl 2. It must be invoked as: cookiemgr.pl cookies_file [options]

Program for simulate part of the game of yahtzee, This assignment will make...

This assignment will make use of arrays and functions to simulate a game. ASSIGNMENT DESCRIPTION This program will simulate part of the game of Yahtzee! The player will

Matrix, Write a function named prob2.m which creates and returns an N×N ide...

Write a function named prob2.m which creates and returns an N×N identity matrix. An identity matrix is a square matrix with values of one on the main diagonal and zeros in all off-

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd