Production Planning, Inventory Control and Operations Research
Q* = √(2DC₀/C_h) balances ordering cost against holding cost, and the two are equal at the optimum — which is both the fastest check on an answer and the reason the total-cost curve is so flat that being 25 per cent off the ideal quantity costs about two and a half per cent. Operations research contributes three tools with three different shapes. Linear programming has its optimum at a vertex of the feasible region, always, which is why enumerating corners works and why the simplex method only ever needs to walk from corner to corner. Queueing theory contributes one deeply non-linear result: waiting time goes as 1/(μ − λ), so it does not rise gently with load but blows up as utilisation approaches one, and a server at 95 per cent busy is not slightly worse than one at 80 per cent but nearly five times worse. And network analysis gives the critical path, along with the float that tells you which delays cost nothing. Production planning then sits on top of all three, and its forecasting methods trade responsiveness against stability — which is a choice, not a correctness question.Vertices and Critical Paths: Two Structures That Give the Answer Away
A linear programme has a linear objective over a convex polyhedron, and that geometry has one consequence worth more than any solution method: if an optimum exists, one occurs at a vertex of the feasible region. So for two variables you can simply enumerate the corners. Maximise 3x + 5y subject to x ≤ 4, 2y ≤ 12 and 3x + 2y ≤ 18. The feasible vertices are (0,0), (4,0), (4,3), (2,6) and (0,6), giving Z = 0, 12, 27, 36 and 30 — the optimum is Z = 36 at (2, 6), where the second and third constraints intersect. The simplex method is exactly this enumeration made efficient: it starts at one vertex and moves along an edge to a better one, never entering the interior, because the interior can never beat the boundary. Two facts to keep with it. A constraint that holds with equality at the optimum is binding and its resource is fully used — here 2y ≤ 12 and 3x + 2y ≤ 18 are both binding while x ≤ 4 has slack of 2, so more of the first resource is worth paying for and more of the third is worth nothing. And the dual has one variable per primal constraint and one constraint per primal variable, which is why a problem with few constraints and many variables is easier to solve in its dual form.
| Activity | Duration | ES / EF | LS / LF | Total float |
|---|---|---|---|---|
| A | 4 | 0 / 4 | 0 / 4 | 0 — critical |
| B | 6 | 0 / 6 | 1 / 7 | 1 |
| C | 3 | 4 / 7 | 4 / 7 | 0 — critical |
| D | 4 | 4 / 8 | 5 / 9 | 1 |
| E | 2 | 7 / 9 | 7 / 9 | 0 — critical |
| F | 4 | 9 / 13 | 9 / 13 | 0 — critical |
| G | 3 | 13 / 16 | 13 / 16 | 0 — critical |
A-C-E-F-G = 4+3+2+4+3 = 16, A-D-F-G = 4+4+4+3 = 15, and B-E-F-G = 6+2+4+3 = 15. The longest is 16 days, so the project duration is 16 and the critical path is A-C-E-F-G — and the two activities not on it, B and D, carry exactly 1 day of float each, which matches the passes ✓. Now read the float as an instruction rather than a number. Total float is how long an activity can slip without delaying the project; free float is how long it can slip without delaying its own successors. For B and D here both are 1, because each has a single successor with its own slack. The distinction bites when they differ: an activity with total float 3 and free float 0 can absorb three days only by consuming its successors’ slack, so delaying it looks harmless on the project total and pushes the problem downstream. Two further consequences worth having. Reducing a non-critical activity’s duration does nothing at all — shortening B or D here leaves the project at 16 days — so crashing effort spent off the critical path is wasted money, which is the single most common project-management error this analysis exists to prevent. And crashing the critical path shifts it: cut C from 3 to 1 and A-C-E-F-G drops to 14 while the other two paths stay at 15, so the project only improves to 15 and the critical path becomes a different one. Recompute after every crash rather than assuming the path is fixed.Queues Blow Up, and Forecasts Trade Stability for Speed
The single-server M/M/1 queue — Poisson arrivals at λ, exponential service at μ, one server, infinite queue, first come first served — gives ρ = λ/μ, L = ρ/(1 − ρ) in the system, L_q = ρ²/(1 − ρ) waiting, and W = 1/(μ − λ). Read the denominator: as λ approaches μ, every one of these goes to infinity. Take a server handling μ = 10 jobs an hour. At λ = 5 (50 per cent busy) there is L = 1 job in the system and W = 12 minutes. At λ = 8 (80 per cent) it is L = 4 and W = 30 minutes. At λ = 9 (90 per cent), L = 9 and W = 60 minutes. At λ = 9.5 (95 per cent), L = 19 and W = 120 minutes. Going from 80 to 95 per cent utilisation is 19 per cent more work and produces nearly five times the queue. That non-linearity is the whole content of the topic.
ρ = 0.95 the queue in front of that machine is nineteen jobs deep and each waits two hours; drop the load to ρ = 0.80 and the queue is four jobs and thirty minutes. Utilisation and responsiveness are in direct conflict, and the conflict is hyperbolic rather than linear — the last few per cent of utilisation are paid for with most of the lead time. That is why lean production targets deliberate slack, and why a hospital emergency department or an airport runway is sized to run well below capacity: the cost of the queue is borne by someone other than the server. Three refinements are worth carrying so this is not applied too widely. Variability is what makes it bad: the blow-up comes from the randomness of M/M/1, and a queue with perfectly regular arrivals and perfectly constant service times has no queue at all until ρ = 1, so reducing variability is as powerful a lever as reducing load. Adding servers beats speeding one up: two servers at μ = 5 each handle the same throughput as one at μ = 10 and queue much less at high load, because either can take the next job. And L = λW, Little’s law, holds for essentially any queue regardless of distribution — a rare general result, and the one to reach for when a question gives you two of the three quantities and no distributional information at all.Forecasting closes the section, and its two elementary methods differ in a way that is a choice rather than a correctness question. A moving average of the last k periods weights those k equally and ignores everything older; exponential smoothing Ft+1 = αD_t + (1 − α)F_t weights every past period, with the weights decaying geometrically at rate 1 − α. Run both on the same series. Starting from a forecast of 100 with α = 0.2 and actuals 120, 90, 110, 130, the smoothed forecasts run 100 → 104 → 101.2 → 102.96 → 108.37. A three-period moving average on the same data gives 103.33 → 106.67 → 110.00. The moving average has followed the upward trend faster; the smoothed series is lagging and much steadier. That is the whole trade: a small α is stable and slow, a large α is responsive and jumpy, and α = 1 is simply "next period will be like this one". Neither is right in general. Choose a small α when the data are noisy and the underlying level is genuinely stable, and a large one when the level really does move and you would rather chase it than lag it. And note the honest limitation both share: neither method can project a trend, because both are averages of past levels and so always sit behind a rising series — which is exactly why trend-corrected methods exist.
Key takeaways
- At the EOQ, ordering cost equals holding cost. With D = 10 000, C₀ = 200, C_h = 4: EOQ = 1000, 10 orders a year, total ₹4000 split ₹2000 + ₹2000. Unequal terms mean the quantity is not the EOQ.
- The EOQ cost curve is flat and symmetric in the ratio: 800 and 1250 both cost +2.50 %, 500 and 2000 both cost +25.00 %. The penalty at
kQ*is½(k + 1/k) − 1, so rounding to a pallet or taking a quantity discount is nearly free. - A linear programme’s optimum sits at a vertex, always. For max
3x + 5yunderx ≤ 4,2y ≤ 12,3x + 2y ≤ 18the five corners give 0, 12, 27, 36, 30 — optimumZ = 36at (2, 6), with two binding constraints and slack of 2 on the third. - Enumerate the paths as a CPM check: A-C-E-F-G = 16, A-D-F-G = 15, B-E-F-G = 15, so 16 days and B and D each carry 1 day of float. Shortening a non-critical activity changes nothing; crashing the critical path moves it, so recompute.
M/M/1blows up at the denominatorμ − λ. With μ = 10/hr: L = 1 and W = 12 min at ρ = 0.5; L = 4 and 30 min at 0.8; L = 19 and 120 min at 0.95. Nineteen per cent more work, nearly five times the queue.- Variability, not just load, is what makes queues bad, so reducing variation is as strong a lever as reducing utilisation; two servers at μ beat one at 2μ under load; and
L = λW(Little) holds for any queue. - Small
αis stable and slow; largeαis responsive and jumpy. From F = 100 with α = 0.2 against 120, 90, 110, 130 the forecast reaches 108.37 while a 3-period moving average reaches 110.00. Neither can project a trend.
Practice questions (8)
Attempt each one before opening the answer. Every explanation names the tempting wrong option as well as the right one, because that is where marks are lost.
Annual demand is 10 000 units, ordering cost ₹200 per order and holding cost ₹4 per unit per year. The economic order quantity, in units, is ______
Numerical answer — type the value.
Show answer
Answer: 1000
1000 units.Q* = √(2DC₀/C_h) = √(2 × 10 000 × 200/4) = √1 000 000 = 1000. Then there are10 000/1000 = 10orders a year and the total relevant cost is√(2DC₀C_h) = √16 000 000 = ₹4000. Check it by splitting: ordering is10 × 200 = ₹2000and holding is(1000/2) × 4 = ₹2000— exactly equal, which they always are at the EOQ, and which is the fastest verification available. If the two come out unequal you are not at the optimum, and the direction tells you which way to move. Two properties worth carrying beyond the number. The cost curve is very flat: ordering 800 or 1250 instead of 1000 costs only 2.5 per cent more, which means an EOQ is useful even whenC₀andC_hare only roughly known — fortunate, since those are exactly the two figures a real firm estimates worst. And the penalty is symmetric in the ratio, not in the difference:kQ*andQ*/kcost the same,½(k + 1/k) − 1above the optimum, so 500 and 2000 both cost ₹5000, a 25 per cent penalty. Together those two facts license rounding to a pallet or truckload and make quantity discounts almost always worth taking. What the model does assume is worth stating: constant demand, instantaneous replenishment, no shortages and no price breaks — and the last two are what the extended models exist to relax.A firm orders 2000 units at a time when its EOQ is 1000. Its total relevant inventory cost is higher than the optimum by approximately
Show answer
Answer: B — 25 per cent
25 per cent. Ordering atktimes the EOQ costs½(k + 1/k)of the optimum, so atk = 2the factor is½(2 + 0.5) = 1.25— a 25 per cent penalty. Check it with the earlier numbers: atQ = 2000withD = 10 000,C₀ = 200,C_h = 4, the cost is(10 000/2000) × 200 + (2000/2) × 4 = 1000 + 4000 = ₹5000against the optimum ₹4000 ✓. Option A doubles the quantity and assumes the cost doubles, which mistakes a sum of two reciprocal terms for a single proportional one. Option D is the penalty atk = 1.25— ordering 1250 — and it is worth seeing both figures together, because the contrast is the point: a 25 per cent error in quantity costs 2.5 per cent, while a 100 per cent error costs 25 per cent. The curve is flat near the optimum and only bites when you are far out. Two consequences. The formula is symmetric in the ratio, so halving the order to 500 costs exactly the same 25 per cent as doubling it to 2000, and 800 costs exactly the same 2.5 per cent as 1250 — the penalty depends on the ratio to the EOQ, never on the direction. And the flatness is what makes EOQ practical rather than academic: it licenses rounding to a pallet, a carton multiple or a truckload at trivial cost, and it means a supplier’s quantity discount usually clears the small inventory penalty easily.Maximise
Z = 3x + 5ysubject tox ≤ 4,2y ≤ 12,3x + 2y ≤ 18andx, y ≥ 0. The maximum value of Z is ______Numerical answer — type the value.
Show answer
Answer: 36
36, at (x, y) = (2, 6). Because the objective is linear over a convex polygon, an optimum always sits at a vertex, so enumerating the corners settles it. The feasible vertices are(0,0),(4,0),(4,3),(2,6)and(0,6), givingZ = 0, 12, 27, 36, 30. The winner is(2,6), where2y = 12and3x + 2y = 18intersect. Read the solution for the information beyond the number. Both of those constraints hold with equality, so they are binding — those two resources are fully consumed, and buying more of either would raiseZ. The first constraint,x ≤ 4, holds as2 ≤ 4, so it has slack of 2 and more of that resource is worth precisely nothing; a question asking for a shadow price would give zero for it. That distinction between binding and slack constraints is what the dual formalises, and it is why the dual has one variable per primal constraint: each dual variable is the marginal value of relaxing one constraint by a unit. The vertex property is also why the simplex method works the way it does — it starts at a feasible corner and walks along edges to better corners, never entering the interior, because a linear objective can never be beaten in the interior of a convex region. For two variables, enumeration is faster than simplex and immune to arithmetic slips, so it is the method to use in an exam whenever the problem is small enough to graph.A project has activities A(4 days), B(6), C(3, after A), D(4, after A), E(2, after B and C), F(4, after D and E), G(3, after F). The project duration, in days, is ______
Numerical answer — type the value.
Show answer
Answer: 16
16 days. On a network this small, enumerating the paths is faster and safer than the forward and backward passes. There are exactly three routes to the end:A-C-E-F-G = 4+3+2+4+3 = 16,A-D-F-G = 4+4+4+3 = 15, andB-E-F-G = 6+2+4+3 = 15. The project takes as long as its longest path, so the answer is 16 days and the critical path is A-C-E-F-G. Everything else follows. The two activities off the critical path, B and D, carry exactly 1 day of total float each — B can start a day late (LS = 1againstES = 0) and D can too (LS = 5againstES = 4) without moving the finish. Two practical readings the calculation exists to supply. Shortening a non-critical activity buys nothing at all: cut B from 6 days to 3 and the project is still 16, so effort spent crashing off the critical path is wasted money — which is the commonest project-management error, and the reason the critical path is computed before any acceleration is planned. And crashing the critical path moves it: cut C from 3 to 1 andA-C-E-F-Gfalls to 14, but the other two paths are still 15, so the project only improves to 15 and the critical path is now a different one. Recompute after every crash rather than assuming the path is a fixed property of the network. Note also that a tie between paths is common and means two simultaneous critical paths, in which case both must be shortened together before the duration moves at all.In an M/M/1 queue jobs arrive at 9 per hour and are served at 10 per hour. The average number of jobs in the system is ______
Numerical answer — type the value.
Show answer
Answer: 9
9 jobs.ρ = λ/μ = 0.9, soL = ρ/(1 − ρ) = 0.9/0.1 = 9, of whichL_q = ρ²/(1 − ρ) = 8.1are waiting and 0.9 is being served — andL − L_q = ρalways, which is a useful check. The average time in system isW = 1/(μ − λ) = 1hour, and Little’s law confirms it:L = λW = 9 × 1 = 9✓. The number worth reacting to is not 9 but how fast it got there. Atρ = 0.5this queue hasL = 1andW = 12minutes; atρ = 0.8,L = 4and 30 minutes; atρ = 0.9,L = 9and 60 minutes; atρ = 0.95,L = 19and 120 minutes. Going from 80 to 95 per cent utilisation is 19 per cent more work and nearly five times the queue — the1 − ρin the denominator makes this hyperbolic, not linear. That is why lean systems deliberately leave capacity idle and why a hospital emergency department is sized to run well below capacity: the queue is paid for by someone other than the server. Three refinements keep this from being over-applied. Variability is what causes the blow-up — with perfectly regular arrivals and constant service times there is no queue at all untilρ = 1, so reducing variation is as strong a lever as reducing load. Two servers atμ = 5beat one atμ = 10at high load, despite identical throughput, because either can take the next job. AndL = λWholds for any queue regardless of distribution, which is the result to reach for when a question supplies two of the three quantities and nothing about the arrival process.A machine centre runs at 95 per cent utilisation with long queues. Which of the following would reduce the average waiting time?
Show answer
Answer: A — Reducing the variability of job arrival times, at the same average arrival rate; B — Diverting some jobs elsewhere so utilisation falls to 80 per cent; C — Replacing the single machine with two machines of half the service rate each
A, B and C. B is the direct lever and the numbers are stark: atμ = 10/hr, dropping fromρ = 0.95toρ = 0.80cuts the number in system from 19 to 4 and the wait from 120 minutes to 30. A is the lever people forget: the queue exists because of variability, not merely because of load. With perfectly regular arrivals and perfectly constant service times there is no queue at all untilρ = 1, so smoothing the arrival stream — appointment scheduling, released work orders, kanban — reduces waiting at unchanged throughput. C is genuinely true and counter-intuitive: two servers atμ = 5each have the same total capacity as one atμ = 10, so utilisation is unchanged, yet the wait falls, because a job arriving finds either server available rather than having to wait behind whatever is on the single machine. That pooling benefit is why bank queues were reorganised into one line feeding several tellers. D is false and is the trap the question is built around. Pushing utilisation to 0.99 makesL = ρ/(1 − ρ) = 99jobs andW = 1/(10 − 9.9) = 10hours — the machine is indeed never idle, and the queue in front of it has become catastrophic. High utilisation and short waiting are in direct hyperbolic conflict, and the last few per cent of utilisation are paid for with most of the lead time. A manager reporting 99 per cent utilisation as efficiency is reading one number and ignoring the one the customer experiences.A demand series is noisy but its underlying level is stable. In exponential smoothing, the appropriate choice of α and its consequence are
Show answer
Answer: A — a small α, giving a stable forecast that responds slowly to real changes
A small α, stable and slow to respond. Ft+1 = αD_t + (1 − α)F_t weights the newest observation byαand everything older by geometrically decaying weights. A smallαtherefore averages over many past periods, which suppresses noise — exactly what you want when the variation is noise rather than signal — and pays for it by lagging any real change in level. Options B and C both pair a value with the wrong consequence, which is the whole test: large α means responsive and jumpy, small α means stable and sluggish, and getting the pairing backwards is the standard error. Option D is the clearest way to see it:α = 1gives Ft+1 = D_t, the naive forecast that simply repeats the last actual — the least smooth forecast available, not the smoothest. Work the arithmetic to feel the lag. FromF = 100withα = 0.2against actuals 120, 90, 110, 130, the forecasts run100 → 104 → 101.2 → 102.96 → 108.37, while a three-period moving average on the same data reaches110.00. The moving average has followed the rising trend faster; the smoothed series is steadier and further behind. Neither is more correct — the choice depends on whether the movement is signal or noise. One limitation both share and a question may probe: neither method can project a trend, since both are weighted averages of past levels and so necessarily sit below a rising series, which is precisely why trend-corrected methods exist.In the project network A(4), B(6), C(3 after A), D(4 after A), E(2 after B and C), F(4 after D and E), G(3 after F), which of the following are correct?
Show answer
Answer: A — The critical path is A-C-E-F-G; B — Activity B has a total float of 1 day; D — Reducing C from 3 days to 1 shortens the project by only 1 day
A, B and D. Enumerate the three paths:A-C-E-F-G = 16,A-D-F-G = 15,B-E-F-G = 15. The longest is 16 days, so A is right and the project duration is 16. B follows because B lies only on the 15-day path, one day shorter than critical, so it can slip one day without moving the finish —LS = 1againstES = 0, total float 1. C is false and is the error the whole technique exists to prevent: D sits on a 15-day path with 1 day of float, so cutting it from 4 days to 2 leaves that path at 13 while the critical path is untouched at 16 — the project does not shorten at all, and the two days of crashing effort are wasted money. D is the subtler true one. Cut C from 3 to 1 and its path falls from 16 to 14, but the other two paths are still 15, so the project improves only to 15 days, a gain of 1 rather than 2 — and the critical path has now becomeA-D-F-GandB-E-F-Gsimultaneously, both at 15. That is the general behaviour worth internalising: crashing shifts the critical path, so the gain from a cut is limited by the second-longest path, and the network must be recomputed after every crash. It also explains why crashing gets progressively more expensive: once several paths are tied, all of them must be shortened together before the duration moves a single day further.