The Central Idea
Inventory and queueing problems both involve systems that receive demand over time.
In an inventory system, demand consumes stored units.
In a queueing system, demand creates arrivals that require service.
The central question is:
\[ \boxed{\text{how much capacity should be available, and when?}} \]Capacity may mean:
- physical inventory;
- workers;
- machines;
- service channels;
- computer processors;
- buffer space.
Two Related Resource Problems
Inventory and queueing are closely related but not identical.
| Inventory | Queueing |
|---|---|
| Units wait for demand | Demand waits for service |
| Concerned with stock levels | Concerned with waiting lines |
| Replenishment restores capacity | Service completions release capacity |
| Shortage can create lost demand or backorders | Congestion can create delays or abandonment |
Both systems depend on rates, variability, capacity, and decision rules.
Inventory Levels
Let \(I_t\) represent the amount of inventory available at time \(t\).
A simple inventory balance has the form
\[ \boxed{ I_{\text{new}} = I_{\text{old}} +\text{replenishment} -\text{demand} }. \]This basic balance is the foundation of more advanced inventory models.
A First Inventory Example
Suppose a warehouse begins the day with
\[ 120 \]units.
During the day, it receives
\[ 40 \]units and ships
\[ 95 \]units.
Ending inventory is
\[ 120+40-95=\boxed{65}. \]Inventory Position
On-hand inventory is not always the complete operational picture.
A common broader quantity is inventory position.
In a simple form,
\[ \boxed{ \text{inventory position} = \text{on hand} +\text{on order} -\text{backorders} }. \]The exact accounting definition should match the system being modeled.
Demand
Demand may be deterministic or stochastic.
Deterministic demand is treated as known.
Stochastic demand is modeled as uncertain.
Real systems often use forecasts together with probability distributions or historical variability.
Lead Time
Lead time is the delay between placing a replenishment order and receiving it.
If an order is placed at time \(t\) and arrives at time \(t+L\), then \(L\) is the lead time.
Lead time matters because demand may continue while the system waits for replenishment.
Reorder Points
A reorder point is an inventory threshold that triggers a replenishment order.
Under constant demand rate \(d\) and constant lead time \(L\), a basic reorder point is
\[ \boxed{R=dL}. \]This represents expected demand during lead time.
Reorder-Point Example
Suppose demand is
\[ 12 \]units per day and lead time is
\[ 5 \]days.
Then
\[ R=12(5)=\boxed{60}. \]In the simplest deterministic model, an order is triggered when inventory position reaches \(60\) units.
Safety Stock
When demand or lead time is uncertain, systems often hold safety stock.
A simplified reorder-point model becomes
\[ \boxed{R=\text{expected lead-time demand}+\text{safety stock}}. \]Safety stock provides a buffer against variability.
Safety-Stock Example
Suppose expected lead-time demand is
\[ 60 \]units and the chosen safety stock is
\[ 20 \]units.
Then the reorder point is
\[ 60+20=\boxed{80}. \]Service Level
Inventory policies are often evaluated using a service level.
The phrase can refer to different measures depending on context, such as:
- probability of avoiding a stockout during a replenishment cycle;
- fraction of demand filled immediately from stock;
- fraction of orders filled completely.
A service-level definition should always be stated explicitly.
Stockouts
A stockout occurs when available inventory cannot satisfy current demand.
The consequence may be:
- lost sales;
- backorders;
- expedited replenishment;
- production delays;
- substitution;
- customer dissatisfaction.
Different consequences create different shortage costs.
Backorders and Lost Sales
In a backorder system, unsatisfied demand remains and is filled later.
In a lost-sales system, unsatisfied demand disappears from the system.
These are mathematically different models because future inventory requirements differ.
Holding Cost
Holding inventory is not free.
Holding cost may reflect:
- storage space;
- insurance;
- capital tied up in stock;
- damage or deterioration;
- obsolescence;
- handling.
A simple annual holding-cost model is
\[ \boxed{\text{holding cost}=h(\text{average inventory})}, \]where \(h\) is the holding cost per unit per year.
Ordering Cost
Each replenishment order can create a fixed administrative or setup cost.
If annual demand is \(D\) and the order quantity is \(Q\), then the approximate number of orders per year is
\[ \frac{D}{Q}. \]If each order costs \(S\), annual ordering cost is
\[ \boxed{\frac{D}{Q}S}. \]Average Cycle Inventory
In the basic deterministic order-quantity model, inventory falls steadily from \(Q\) to \(0\) before replenishment.
The average cycle inventory is therefore
\[ \boxed{\frac{Q}{2}}. \]If holding cost per unit per year is \(h\), then annual cycle holding cost is
\[ \boxed{\frac{Q}{2}h}. \]Economic Order Quantity
The classical economic order quantity, or EOQ, balances fixed ordering cost against holding cost under simplifying assumptions.
The EOQ formula is
\[ \boxed{ Q^\ast=\sqrt{\frac{2DS}{h}} }. \]Here:
- \(D\) is demand per planning period;
- \(S\) is ordering or setup cost per order;
- \(h\) is holding cost per unit per planning period.
EOQ Example
Suppose annual demand is
\[ D=2400, \]ordering cost is
\[ S=50, \]and annual holding cost is
\[ h=12 \]per unit.
Then
\[ Q^\ast = \sqrt{\frac{2(2400)(50)}{12}}. \]Therefore,
\[ Q^\ast = \sqrt{20000} \approx \boxed{141.4}. \]In practice, the order quantity would need to be converted to a feasible operational quantity.
EOQ Assumptions Matter
The classical EOQ formula depends on strong assumptions.
A basic version assumes:
- demand is known and approximately constant;
- replenishment is received as modeled;
- ordering cost per order is fixed;
- holding cost is proportional to inventory;
- shortages are excluded in the basic model.
If these assumptions do not fit the system, another model may be needed.
Periodic and Continuous Review
Inventory systems can be reviewed in different ways.
Under continuous review, inventory position is monitored continuously or effectively in real time.
Under periodic review, inventory is checked at scheduled intervals.
The review policy affects when replenishment decisions can be made.
Queueing Systems
A queueing system contains arrivals that request service from one or more servers.
Examples include:
- customers waiting at a checkout;
- patients waiting for a clinician;
- calls waiting for an agent;
- jobs waiting for a machine;
- packets waiting for network transmission;
- requests waiting for a processor.
The Basic Queueing Structure
A queueing model usually contains:
- an arrival process;
- a waiting area;
- one or more servers;
- a service process;
- a departure process.
The system can be represented schematically as:
Arrivals → Queue → Server(s) → Departures
Arrival Rate
The arrival rate is commonly denoted
\[ \lambda. \]If an average of \(18\) customers arrive per hour, then
\[ \boxed{\lambda=18\text{ customers/hour}}. \]The arrival rate is a rate, not a count of customers currently in the system.
Service Rate
The service rate of one server is commonly denoted
\[ \mu. \]If one server can complete an average of \(24\) services per hour, then
\[ \boxed{\mu=24\text{ customers/hour}}. \]Mean Service Time
If one server has mean service rate \(\mu\), then its mean service time is
\[ \boxed{\frac{1}{\mu}}. \]If
\[ \mu=12\text{ customers/hour}, \]then the mean service time is
\[ \frac{1}{12}\text{ hour} = \boxed{5\text{ minutes}}. \]Utilization
In a basic one-server queue, utilization is
\[ \boxed{\rho=\frac{\lambda}{\mu}}. \]If
\[ \lambda=18 \]and
\[ \mu=24, \]then
\[ \rho=\frac{18}{24}=\boxed{0.75}. \]The server is busy about \(75\%\) of the time under the model's long-run assumptions.
Stability
In the basic one-server model, a necessary long-run stability condition is
\[ \boxed{\lambda<\mu}. \]If arrivals occur faster on average than the server can complete work, the expected queue cannot remain bounded indefinitely under the standard model.
Why High Utilization Creates Long Waits
A server operating near \(100\%\) utilization has little spare capacity to absorb random bursts.
Even when
\[ \lambda<\mu, \]waiting times can become large as
\[ \rho=\frac{\lambda}{\mu} \]approaches \(1\).
This is one of the central operational lessons of queueing theory.
Queue Length and System Size
We distinguish between customers waiting and customers in the entire system.
Let
\[ L_q \]be the average number waiting in queue.
Let
\[ L \]be the average number in the entire system, including those being served.
Waiting Time and Time in System
Let
\[ W_q \]be the average waiting time before service begins.
Let
\[ W \]be the average total time in the system.
Total time includes both waiting and service.
Little's Law
One of the most useful relationships in queueing and flow systems is Little's Law:
\[ \boxed{L=\lambda W}. \]Under appropriate long-run conditions:
- \(L\) is the average number in the system;
- \(\lambda\) is the average effective arrival or throughput rate;
- \(W\) is the average time in the system.
Little's Law Example
Suppose a service system processes
\[ \lambda=20 \]customers per hour, and customers spend an average of
\[ W=0.25 \]hour in the system.
Then
\[ L=\lambda W=20(0.25)=\boxed{5}. \]On average, \(5\) customers are in the system.
Little's Law for the Queue
The same relationship applies to the waiting line:
\[ \boxed{L_q=\lambda W_q}, \]provided the quantities are defined consistently for the relevant steady flow.
If customers wait an average of \(6\) minutes and the effective arrival rate is \(10\) per hour, then
\[ W_q=\frac{6}{60}=0.1\text{ hour} \]and
\[ L_q=10(0.1)=\boxed{1}. \]The M/M/1 Model
A classical introductory queue is denoted
\[ \boxed{M/M/1}. \]In this notation:
- the first \(M\) indicates a memoryless Poisson arrival model;
- the second \(M\) indicates memoryless exponential service times;
- the \(1\) indicates one server.
The model is useful because it has simple formulas, but its assumptions should not be applied automatically to every real queue.
M/M/1 Utilization
For the M/M/1 model,
\[ \rho=\frac{\lambda}{\mu}, \]with the stability requirement
\[ \lambda<\mu. \]The long-run probability that the server is busy is \(\rho\).
Average Number in an M/M/1 System
Under the M/M/1 assumptions,
\[ \boxed{ L=\frac{\lambda}{\mu-\lambda} }. \]As \(\lambda\) approaches \(\mu\), the denominator becomes small and the expected number in the system grows rapidly.
Average Time in an M/M/1 System
Under the same assumptions,
\[ \boxed{ W=\frac{1}{\mu-\lambda} }. \]This is consistent with Little's Law because
\[ L=\lambda W. \]Average Queue Length in M/M/1
The average number waiting in queue is
\[ \boxed{ L_q=\frac{\lambda^2}{\mu(\mu-\lambda)} }. \]An equivalent form is
\[ L_q=\frac{\rho^2}{1-\rho}. \]Average Waiting Time in M/M/1
The average waiting time before service is
\[ \boxed{ W_q=\frac{\lambda}{\mu(\mu-\lambda)} }. \]It also satisfies
\[ L_q=\lambda W_q. \]M/M/1 Example
Suppose
\[ \lambda=6\text{ customers/hour} \]and
\[ \mu=10\text{ customers/hour}. \]Utilization is
\[ \rho=\frac{6}{10}=0.6. \]Average number in the system:
\[ L=\frac{6}{10-6} =\frac{6}{4} =\boxed{1.5}. \]Average time in the system:
\[ W=\frac{1}{10-6} =\frac14\text{ hour} =\boxed{15\text{ minutes}}. \]Waiting Time in the Same Example
The average waiting time in queue is
\[ W_q = \frac{6}{10(10-6)} = \frac{6}{40} = 0.15\text{ hour}. \]Therefore,
\[ W_q=0.15(60)=\boxed{9\text{ minutes}}. \]Mean service time is
\[ \frac{1}{10}\text{ hour}=6\text{ minutes}. \]Thus
\[ 9+6=15\text{ minutes}, \]agreeing with \(W\).
Multiple Servers
Many systems use several parallel servers.
Examples include:
- several checkout lanes;
- several support agents;
- several machines;
- several hospital beds or treatment stations.
Multiple-server queues require different formulas than M/M/1.
Combined Service Capacity
If \(c\) identical servers each have service rate \(\mu\), their nominal combined service capacity is
\[ \boxed{c\mu}. \]A common utilization measure is
\[ \boxed{\rho=\frac{\lambda}{c\mu}}. \]Stability requires arrival rate to remain below total long-run service capacity under the model.
One Line or Several Lines?
A multi-server system can use:
- one shared queue feeding several servers;
- separate queues for each server.
A shared queue often pools variability more effectively because the next available server can take the next waiting customer.
Separate lines may be simpler operationally but can create uneven waits.
Queue Discipline
A queue discipline determines the order in which waiting customers or jobs receive service.
Common disciplines include:
- first come, first served;
- last come, first served;
- priority service;
- shortest job first;
- random selection.
Different disciplines can change waiting-time distributions even when arrival and service rates are unchanged.
Priority Queues
In a priority queue, some arrivals receive service before others.
Priority may be based on:
- urgency;
- customer class;
- deadline;
- job size;
- service agreement.
Priority rules can improve service for one class while increasing waiting for another.
Balking, Reneging, and Jockeying
Real customers do not always remain in a queue.
Balking occurs when an arrival decides not to join.
Reneging occurs when a waiting customer leaves before receiving service.
Jockeying occurs when a customer switches between queues.
These behaviors can materially change effective arrival rates and waiting patterns.
Finite Capacity
Some queues have limited waiting space.
If the system can hold at most \(K\) customers, an arrival that finds \(K\) already present may be blocked or lost.
Finite-capacity systems require different stochastic models from infinite waiting-room models.
Variability Matters
Two systems can have the same average arrival and service rates but very different waiting behavior.
Greater variability generally creates more congestion because bursts are harder to absorb.
Average rates alone do not describe the entire stochastic process.
Inventory Variability and Queue Variability
The same general operational principle appears in both families.
Uncertain demand creates inventory risk.
Uncertain arrivals and service times create queueing risk.
Buffers respond to that uncertainty:
- safety stock is an inventory buffer;
- waiting space and spare service capacity are queueing buffers.
Capacity Versus Delay
Adding service capacity can reduce waiting time.
But additional servers, machines, or infrastructure cost money.
Therefore, a common objective is to balance
\[ \boxed{\text{capacity cost}+\text{waiting cost}}. \]The least expensive system is not necessarily the system with the fewest servers or the shortest wait.
Inventory Cost Tradeoff
Inventory systems have a similar balancing problem:
\[ \boxed{ \text{ordering cost} +\text{holding cost} +\text{shortage cost} }. \]Increasing stock can reduce shortages but increase holding cost.
Ordering less frequently can reduce order count but increase average inventory.
Simulation
When formulas become difficult or assumptions are unrealistic, simulation can approximate system behavior.
A queue simulation may generate:
- random arrival times;
- random service times;
- queue lengths;
- waiting times;
- server utilization.
An inventory simulation may generate random demand and lead times under a chosen replenishment policy.
Event-Driven Simulation
Many queueing and inventory simulations are organized around events.
Typical events include:
- customer arrival;
- service completion;
- inventory demand;
- order placement;
- replenishment arrival.
The system state changes only when an event occurs.
Common Error: Confusing Inventory Level and Inventory Position
On-hand inventory counts what is physically available now.
Inventory position may also include outstanding orders and backorders.
A reorder policy based on inventory position should not be evaluated using on-hand inventory alone.
Common Error: Ignoring Lead Time
If demand continues during replenishment lead time, ordering only when stock reaches zero will often be too late.
The reorder point should reflect demand expected before the replenishment arrives.
Common Error: Treating Safety Stock as Cycle Stock
Cycle stock supports routine demand between replenishments.
Safety stock is a buffer against uncertainty.
These quantities serve different purposes even though both contribute to total inventory.
Common Error: Using EOQ Without Checking Assumptions
EOQ is not a universal ordering rule.
Strong seasonality, quantity discounts, variable lead times, perishability, capacity limits, or shortage behavior may require a different model.
Common Error: Confusing Arrival Rate with Service Time
If
\[ \mu=12\text{ customers/hour}, \]then mean service time is
\[ \frac{1}{12}\text{ hour}, \]not \(12\) hours.
Rates and times are reciprocals when the units are compatible.
Common Error: Forgetting Unit Conversion
Little's Law requires consistent units.
If arrival rate is measured per hour but waiting time is measured in minutes, convert one before multiplying.
For example,
\[ 12\text{ minutes}=0.2\text{ hour}. \]Common Error: Assuming Stability Means Short Waits
The condition
\[ \lambda<\mu \]can make a basic one-server model stable, but it does not guarantee short waits.
If
\[ \lambda \]is very close to
\[ \mu, \]expected waiting can still be large.
Common Error: Using M/M/1 Formulas for Every Queue
M/M/1 formulas depend on specific assumptions about:
- arrival behavior;
- service-time behavior;
- number of servers;
- queue capacity;
- service discipline.
A formula is valid only when its assumptions fit the model being analyzed.
Common Error: Confusing \(L\) with \(L_q\)
\(L_q\) counts only customers waiting.
\(L\) counts customers waiting plus those currently receiving service.
Likewise, \(W_q\) excludes service time while \(W\) includes it.
A Reliable Procedure for Inventory Problems
- Define the inventory item or resource.
- Measure or estimate demand.
- Identify lead time.
- Define ordering, holding, and shortage costs.
- Choose continuous or periodic review.
- Determine the replenishment quantity rule.
- Determine the reorder trigger.
- Add safety stock when uncertainty requires it.
- Check service-level consequences.
- Test sensitivity to demand and lead-time changes.
A Reliable Procedure for Queueing Problems
- Identify the arriving entities.
- Identify the server or servers.
- Measure the arrival rate.
- Measure the service rate or service-time distribution.
- Identify the number of servers.
- Identify queue capacity and service discipline.
- Check model assumptions.
- Calculate utilization.
- Check stability.
- Calculate waiting and system measures using an appropriate model.
- Compare capacity changes or policy alternatives.
A Reliable Procedure for Little's Law
- Identify whether the problem concerns the queue or the whole system.
- Choose \(L_q,W_q\) or \(L,W\) consistently.
- Identify the effective throughput rate \(\lambda\).
- Convert all time units to match the rate units.
- Use \(L=\lambda W\) or \(L_q=\lambda W_q\).
- Interpret the result using the original units.
Example: Full Inventory Workflow
Suppose demand is
\[ 30 \]units per day, lead time is
\[ 4 \]days, and management wants
\[ 25 \]units of safety stock.
Expected lead-time demand is
\[ 30(4)=120. \]Therefore, the reorder point is
\[ R=120+25=\boxed{145}. \]Under this policy, replenishment is triggered when inventory position reaches \(145\) units.
Example: Full EOQ Workflow
Suppose:
\[ D=3600, \qquad S=40, \qquad h=18. \]Then
\[ Q^\ast = \sqrt{\frac{2(3600)(40)}{18}}. \]Simplify:
\[ Q^\ast = \sqrt{16000} \approx \boxed{126.5}. \]This gives the theoretical EOQ under the classical assumptions.
Example: Full Queueing Workflow
Suppose a one-server M/M/1 system has
\[ \lambda=8 \]arrivals per hour and
\[ \mu=12 \]services per hour.
Utilization:
\[ \rho=\frac{8}{12}=\boxed{\frac23}. \]Average number in the system:
\[ L=\frac{8}{12-8}=\boxed{2}. \]Average time in the system:
\[ W=\frac{1}{12-8} =\frac14\text{ hour} =\boxed{15\text{ minutes}}. \]Average waiting time:
\[ W_q = \frac{8}{12(12-8)} = \frac{8}{48} = \frac16\text{ hour} =\boxed{10\text{ minutes}}. \]Practice 1: Inventory Balance
A warehouse begins with \(150\) units, receives \(30\), and ships \(95\).
Find ending inventory.
Practice 2: Reorder Point
Demand is \(14\) units per day and lead time is \(6\) days.
Find the basic deterministic reorder point.
Practice 3: Reorder Point with Safety Stock
Expected lead-time demand is \(84\) units and safety stock is \(18\) units.
Find the reorder point.
Practice 4: Orders per Year
Annual demand is \(2400\) units and each order contains \(200\) units.
Approximately how many orders are placed per year?
Practice 5: Arrival and Service Utilization
A one-server system has
\[ \lambda=15 \]arrivals per hour and
\[ \mu=20 \]services per hour.
Find utilization.
Practice 6: Stability
A one-server queue has
\[ \lambda=11,\qquad\mu=10. \]Is the basic long-run queue stable?
Practice 7: Little's Law
A system processes \(24\) jobs per hour, and each job spends an average of \(10\) minutes in the system.
Find the average number of jobs in the system.
Practice 8: Service Time
A server completes an average of \(15\) customers per hour.
Find the mean service time in minutes.
Practice 9: M/M/1 System Time
In an M/M/1 system,
\[ \lambda=4,\qquad\mu=10 \]per hour.
Find \(W\).
Practice 10: M/M/1 Average Number
Using the same queue from Practice 9, find \(L\).
Practice Answers
Practice 1
\[ 150+30-95=\boxed{85}. \]Practice 2
\[ R=dL=14(6)=\boxed{84}. \]Practice 3
\[ 84+18=\boxed{102}. \]Practice 4
\[ \frac{2400}{200}=\boxed{12}. \]Approximately \(12\) orders are placed per year.
Practice 5
\[ \rho=\frac{15}{20}=\boxed{0.75}. \]Practice 6
No.
The basic stability condition requires
\[ \lambda<\mu. \]Here,
\[ 11>10. \]Practice 7
Convert \(10\) minutes to hours:
\[ W=\frac{10}{60}=\frac16\text{ hour}. \]Then
\[ L=\lambda W=24\left(\frac16\right)=\boxed{4}. \]Practice 8
\[ \frac{1}{15}\text{ hour} = \frac{60}{15}\text{ minutes} = \boxed{4\text{ minutes}}. \]Practice 9
\[ W=\frac{1}{\mu-\lambda} = \frac{1}{10-4} = \frac16\text{ hour}. \]Therefore,
\[ \boxed{W=10\text{ minutes}}. \]Practice 10
\[ L=\frac{\lambda}{\mu-\lambda} = \frac{4}{10-4} = \frac46 = \boxed{\frac23}. \]What to Remember
Inventory and queueing models help manage limited capacity under continuing demand.
- inventory balance tracks stock entering and leaving a system;
- lead time creates the need to reorder before inventory reaches zero;
- reorder points reflect lead-time demand;
- safety stock protects against uncertainty;
- EOQ balances ordering and holding costs under specific assumptions;
- \(\lambda\) is arrival rate and \(\mu\) is service rate;
- utilization compares demand with service capacity;
- high utilization can create sharply increasing waits;
- Little's Law is \(L=\lambda W\);
- M/M/1 formulas require specific stochastic assumptions;
- buffers, spare capacity, and replenishment policies all manage variability.
The central habit is: separate average demand from variability, identify the relevant capacity constraint, and choose a policy or stochastic model that matches how the real system operates.
Where We Go Next
Inventory and queueing models explain how systems respond to uncertain demand and limited capacity. The next applied problem family focuses on whether systems continue to perform correctly over time and whether their outputs remain within acceptable standards.
The next lesson, Reliability and Quality Control, develops models for component failure, system reliability, redundancy, defect rates, sampling, control limits, and process monitoring.