; Software Business Model
Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out
Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

Software Business Model

VIEWS: 17 PAGES: 8

Software Business Model document sample

More Info
  • pg 1
									                   bd86d6a2-043a-4d8c-9d2e-8668021de87b.xls. Instructions, page 1 of 8

          A Transient Queuing Model         v. 2.3, 25 Oct 2007
                              John O. McClain
                   Johnson Graduate School of Management
                        Sage Hall, Cornell University
                              Ithaca NY 14853
This spreadsheet is intended for teaching purposes. You are welcome to use it in any
manner and change it as you see fit. This model comes without any guarantee, and is
distributed free of charge.
                     Click Here if the worksheets don't seem to work properly.

Contents:
  The Model                                                        Queue Simulation Worksheet
  Tranisient, Defined
  Inputs
  The Output Sheet
  Example
  Solution


The Model
  The Transient Finite Queue Simulation begins with no customers, and simulates a
  fixed interval of time (input), using the Gamma probability distribution to generate times
  between arrivals and service times.
  ● If CV (coefficient of variation)= 1.0, Gamma is the Exponential distribution
  At the end of a designated time period, the results are recorded. The simulation then begins
  again (with no customers) and repeats. Optionally the start of data collection can be
  postponed, so that data pertains to the last part of the run time.
  Assumptions: Identical Servers, Gamma inter-arrival times, Gamma service times,
     All servers arrive at the same time (input), First customer arrival time is known (input).
     Arrivals cease when the queue is full. This is "balking". First come, first served queue.
Transient, Defined.
  This model gives "Transient" results; it models a fixed time period, not a "long run".
  Accurate results are obtained by repeating the simulation many times.
 ● The outputs are averages over a designated time period.
   For example, if the model gives 9% probability that the queue is empty, it means that
   9% of the time there will be no one waiting. But that represents an average. For example,
   there may be 100% near the beginning and 0% at the end of the time period, after the
   queue has had time to build. That fact would not be visible in the output.
 ● The probability distributions of arrivals and service times do not change with time.
   For example, you cannot model variations in the arrivals at different times of day.
 ● Customers and servers can be made to arrive "late". No business is
   transacted until both are present. If servers are late, there may be a queue when they
   arrive. If customers are late, there may be idle time for the servers at the outset.

         Your inputs always go in the yellow cells, like this:            3
                   bd86d6a2-043a-4d8c-9d2e-8668021de87b.xls. Instructions, page 2 of 8
Inputs
          Your inputs always go in the yellow cells, like this:           3
● S : the number of (identical) servers.
● M: the queue cannot hold more than M customers. Arrivals balk when the queue is full.
      Therefore the system can hold up to M+S customers (M in queue and S in service).
● l: the average arrival rate of customers
● m: the average service rate capacity for each server. (I.e. total system capacity is Sm per time unit.)
  Please be careful with time units. l and m are rates, and they must have the
  same time units. For example, suppose the arrival rate is 4 customers per hour, and the
  average service time is 10 minutes. To be consistent, the service rate must also be given
  in customers per hour, which would be 60/10 or 6. The inputs would be l=4 and m=6.
● CV(a) = Coefficient of Variation of Inter-arrival Times (i.e. times between arrivals):
● CV(s) = Coefficient of Variation of Service Times:
    Definition: CV = standard deviation divided by the mean.
● Simulated time per repetition, RunLength: Time units per repetition of the simulation.
  Time Units are defined by Arrival and Service Rates. For example, if you input the
  arrival rate as customers per hour, then you MUST use customers per hour for the
  service rate, and the time units for the simulation will be "hours".
● Time when Data Collection begins: DataStartTime = the point in time during the
  simulation after which data collection occurs. Before this time, the simulation runs
  normally, but averages, frequencies, etc. are not collected. Thus, the output relates
  only to the time between DataStartTime and RunLength.
● Repetitions, nReps = the number of times the simulation is repeated.
       Data collection occurs after each repetition, and the simulation starts over.
● Time when Servers Arrive: No customers can begin service until this time.
● Time when First Customer Arrives: Subsequent customers arrive randomly after this
    time (using the Gamma distribution to generate inter-arrival times).

The Output Sheet, SimResult
After you enter the input parameters, click the "Run Simulation" button.
When the simulation is finished, the results are displayed on a new worksheet.
Most of the output is self-explanatory.
However, there is one "input" on the SimResult worksheet, and it looks like this:
               Q: Frequency of Queue more than       2            customers waiting =

Use it to find how often the queue exceeded a given length, Q. For example, to find how
often 11 or more customers were waiting for service, type 10 in the yellow box.
                   bd86d6a2-043a-4d8c-9d2e-8668021de87b.xls. Instructions, page 3 of 8

Example:
NearBy Call Center provides over-the-phone help for computer owners. They currently
receive an average of 35 calls per hour during business hours, beginning at 8AM local time.
The CV of inter-arrival times is 1.0. Service times average 6 minutes, with CV of 0.5.
There are currently 2 servers.
   The phones are answered by an automatic system, which delivers a message and then
places the customer on hold until a server becomes available. It gives a "busy signal"
if more than 5 customers are already waiting, and those calls are "lost".
Before 8AM it gives a brief message about the opening time, and then hangs up.
   The system begins accepting calls at 8AM, but the servers do not begin work until 8:12AM.
This policy is intended to make sure that the servers are "highly utilized" by avoiding the
idle time that would occur if the servers started when no customers were present.
   NearBy is considering several changes to the system, and would like you to evaluate
the performance of current and proposed policies during the first 2 hours of each day.
They would like to see the results for 100 of these 2-hour runs.
a. Find the average number waiting and how often more than 2 are waiting.
    What is the average waiting time for a customer?
    What fraction of customers get a busy signal?
b. How do these answers change if the servers start at 8AM instead of 8:12?
 c. How do these answers change if they increase to 3 servers, starting at 8:12AM?
d. How would the current system perform if the CV of arrivals were reduced to 0.3?
e. What should they expect during the third hour, compared to the first 2 hours?
    (Run the simulation of part (a) for 3 hours, with data collection starting after 2 hours.)
                    bd86d6a2-043a-4d8c-9d2e-8668021de87b.xls. Instructions, page 4 of 8


Solution:
Time units: Hours is a convenient unit for this problem. Arrival rate is already in hours, but
service time averages 6 minutes, so the service rate is 60/6 = 10 per hour.
Servers arrive 12 minutes late, or 12/60 = 0.2 hours after the simulation begins.
a. On the Queue Simulation worksheet, enter S = 2, M = 5, l = 35, m = 10,
   CV(a) = 1.0, CV(s) = 0.5, RunLength = 2, DataStartTime = 0, and nReps = 100.
   Set "Time when servers arrive" = 0.2 and "Time when first customer arrives" = 0.
   Then click the "Simulate" Button.
Your answers will differ because each simulation has different customers.
   Answers: See SimResult (2)
      Average number waiting = 4.0 P(>2) in queue = 96%
      Average Waiting Time (Tq) = 0.21 hours. Fraction who balk = 43%
b. Set "Time when servers arrive" = 0. Answers: See SimResult (3)
      Average number waiting = 3.7 P(>2) in queue = 90%
      Average Waiting Time (Tq) = 0.17 hours. Fraction who balk = 36%
c. Set S = 3 and "Time when servers arrive" = 0.2. Answers: See SimResult (4)
      Average number waiting = 2.9 P(>2) in queue = 76%
      Average Waiting Time (Tq) = 0.11 hours. Fraction who balk = 21%
d. Set CV(a) = 0.3 and S = 2. Answers: See SimResult (5)
      Average number waiting = 4.5 P(>2) in queue = 99%
      Average Waiting Time (Tq) = 0.22 hours. Fraction who balk = 41%
e. Since the arrival rate exceeds the service capacity (35 compared to 20 per hour), they
   should expect the queue to grow steadily. However, the answers below do not agree
   with that analysis. Apparently the 12 minute tardy period causes enough queue
   buildup to disguise the effect. And, the queue cannot exceed 5.
   Set CV(a) = 1, RunLength = 3 and DataStartTime = 2. Answers: See SimResult (6)
      Average number waiting = 4.0 P(>2) in queue = 96%
      Average Waiting Time (Tq) = 0.21 hours. Fraction who balk = 42%

   SimResult2 SimResult3 SimResult4 SimResult5 SimResult6
      19.28       21.29      26.50       20.49       19.26    Average Rate Joining System without Balking
      15.57       13.14       7.89       14.35       15.23    Average Rate Balking (Leaving Without Service)
       0.38        0.38       0.18        0.54        0.43    Frequency that the System is Full
     42.6%       36.4%      21.2%       40.7%       41.5%     Fraction who balk
       4.04        3.69       2.93        4.46        4.01    Average Number Waiting in Queue (Nq)
       1.12        1.45       1.70        0.79        1.15    Standard Dev. of Number Waiting
       0.21        0.17       0.11        0.22        0.21    Average Waiting Time (Tq)
     96.2%       89.5%      76.2%       98.6%       96.0%     More than 2 customers waiting
       0.98        0.98       0.95        0.99        1.00    Average Utilization of Servers
       1.76        1.97       2.57        1.78        1.99    Average Number Being Served (Ns)
       5.81        5.66       5.50        6.25        6.01    Average Number in the System (N)
       1.34        1.54       1.96        1.16        1.17    Standard Dev. of Number in System
       0.30        0.27       0.21        0.30        0.31    Average Time in System (T)
                                     bd86d6a2-043a-4d8c-9d2e-8668021de87b.xls, Queue Simulation, page 5

              Transient Finite Capacity Queue Simulation
         Run Simulation
                                              Number of Servers, S =        2
    FALSE
   Run with Animation
   Run with Animation                           Queue Capacity, M =         5
                                                      Arrival Rate, l =    35
               Coefficient of Variation of Inter-arrival time, CV(a) =      1
                          Service Rate Capacity of each server, m =        10
                  Coefficient of Variation of Service time, CV(s) =       0.5
                        Simulated time per repetition, RunLength =          2
                           Start collecting data at: DataStartTime =        0
Animation is OFF                                Repetitions, nReps =      100
                                         Time when servers arrive =       0.2
                                 Time when first customer arrives =         0

    Service Time and Inter-Arrival Time use the Gamma Distribution.
                 The Exponential Distribution is Gamma with CV=1




                                                                                Service Times:
                                                                                CV=0.5


                                                                                Inter-Arrivals: CV=1
                                          bd86d6a2-043a-4d8c-9d2e-8668021de87b.xls, Warning, p. 6 of 8

                       WARNING: YOU NEED TO ENABLE THE MACROS IN THIS FILE
Try these steps. If step 1 does not work, then go to step 2.
STEP 1: Try to enable the macros
 For Excel 2007,
  A. If you see the Security Warning in your menu bar, proceed with step B.
        If the Security Warning is not there, go to STEP 2.
  B.  In the Security Warning, Click Options.
  C. In the Alert Window that appears, click Enable This Content and click OK.




 For Excel 2003,
  A. Close this file. Then open it again.
  B. In the window that appears, click Enable Macros.
      If a window like this one
         does NOT appear, then go to STEP 2.




STEP 2: If Step 1 does not work
  If you DID NOT get a Security Message, then your security setting is too high.
  Here is what you should do:

 For Excel 2007,
  A. Click the Microsoft Office Button at the top-left of the screen:
  B. Click Excel Options.
  C. Click Trust Center, then Trust Center Settings, and then Macro Settings.
  D. Click Disable all macros with notification
                                         bd86d6a2-043a-4d8c-9d2e-8668021de87b.xls, Warning, p. 7 of 8
  E. Exit from Excel. Closing the file is not enough. On the menu bar, select File, and then Exit.
  F. Open this file again and follow the instructions in STEP 1 to enable the macros.
 For Excel 2003,
  A. On the menu bar at the top of this page, select Tools, then Macro, then Security.
  B. On the Security Level tab, select Medium and click OK.
  C. Then exit from Excel. Closing the file is not enough. On the menu bar, select File, and then Exit.
  D. Open this file again and follow the instructions in STEP 1 to enable the macros.
bd86d6a2-043a-4d8c-9d2e-8668021de87b.xls, Warning, p. 8 of 8

								
To top