Just as a disclaimer, I have never taken a probability or stats course, so please excuse me for not being up to snuff around here. Anyhow, for my CS class, we had to write a program that will emulate a car wash. We only had to do it for the variables being set to specific numbers, but I got curious as to how it would grow. The variables that I'm dealing with are...Also of note is that only one customer can be served at a time, and a random number generator will generate a number between 0 and 99, and if it's less than probOfArrival, it will decide a car has arrived.
- probOfArrival - Probability of a car arriving in a given minute.
- timeForWash - The number of minutes that a car wash takes.
- minutesOpen - The number of minutes that the car wash is open for.
- numberOfDays - How many days (or passes) will be made.
- totalCarsWashed - Total number of cars washed after numberOfDays days
- totalWaitTime - Total number of minutes waited in numberOfDays days which coincides with the days of totalCarsWashed
- averageWait - The average wait time for person (totalWaittime / totalCarsWashed)
Given all that, I ran through the test with probOfArrival at .2 (1/5) and timeForWash at 4. I tried seeing if averageWait was approaching a limit as minutesOpen grew larger. According to my tests, it looked like it was headed to ~6.00. However, the probability equations of 16.
The equation said...That all seemed to work out OK, so I started seeing what my program said.
- A = mean arrival rate of customers, which I thought of as probOfArrival, or .2 (1/5).
- u = mean service rate, which I thought of as .25 (1/4), as I can serve one customer per 4 minutes.
- p = (A/u), which equates to .8 (4/5), is the average utilization (which seems low to me, but I'll stick it out).
- W = (1/(u-A)), which equates to 20, is the average time spent waiting including service time.
- q = pW, or 16, which is to be the average time spent in line without service time.
When hours open is 1, average wait time is 0, which is right, and the number of customers at even 100,000 days averages to a number extremely close to 2, which seems dead on. However, as I scale up the hoursOpen towards 1,000,000, averageWait seems to be reaching a limit of 6 instead of the 16 that the equations are saying! I'm wondering why that is. Thanks a lot!
Tweet |