Ruby elevator simulator program
Implement Strategy 1 as part of your project. Where sim is a Simulation object, we run a simulation like this:
[login to view URL](filename_string, strategy_symbol) The symbol :strategy1 identifies this strategy.
Design and implement your own strategy, Strategy 2, that takes advantage of the information supplied by the notification methods. The symbol :strategy2 identifies this strategy.
Write a method
[login to view URL](nbr_runs, filename_prefix, strategy)
that runs your program nbr_runs many times on the input files named by filename_prefix with suffixes [login to view URL], [login to view URL], ..., and returns the average efficiency. For example:
[login to view URL](15, 'myelev', :strategy2)
runs your Strategy 2 on the files [login to view URL], ..., [login to view URL] and returns the average of the 15 efficiency values. I will give you a set of input files to test your program on, and you should report the average efficiency you obtain on these files for both strategies. You can also use these input files to compare your strategy to other strategies, with respect to efficiency. I’ll also give you a short Ruby program to generate your own test files.
Compare efficiency for Strategy 1 and Strategy 2 (and any other strategies you might choose to devise) with respect to average wait and trip time. Use a set of input files with these characteristics:
number of floors: 8
number of time steps: 120
average arrival rate: 0.5 passengers per time step (i.e., 1 passenger every 2 time steps) percentage of trips that start or end at floor 1: 90%
For example, you might use this to generate 10 test files:
GenPeopleFiles.gen_input_files('myInput', 10, 8, 0.5, 120, 0.9)
Submit your Ruby code for this project in a zip archive by the due date.