NivaarExam PrepOfficial exam papers ↗

23-Ind-A1 Operations Research · December 2016

Question 2 of 8: Dynamic Programming — Sales-Staff Allocation

Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)

Notes on this paper

National Exams — December 2016 — 98-Ind-A1 Operations Research. Three-hour, open-book exam (any non-communicating calculator permitted); the paper totals 160 marks across 8 questions (each worth 20) and only 100 marks are required, so a candidate would normally answer 5 — all eight are solved below for completeness.

Reference texts: Hillier & Lieberman, Introduction to Operations Research (11th ed., McGraw-Hill) — linear programming and the simplex method & sensitivity analysis (ch. 3–4/6), network optimization & PERT/CPM (ch. 9–10), integer programming (ch. 12), Markov chains (ch. 16), decision analysis (ch. 15). Nahmias, Production and Operations Analysis — the single-period (newsvendor) inventory model.

Question 2: Dynamic Programming — Sales-Staff Allocation (20 marks)

Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.

Given. 6 sales staff to assign across 3 regions, each region gets at least 1 staff member; estimated sales (in some sales unit) as a function of staff assigned:

Given data — estimated sales by region and staff count
No. of staffRegion 1Region 2Region 3
1352128
2484241
3605653
4697065

Find. The allocation $(n_1,n_2,n_3)$ with $n_1+n_2+n_3=6$, $n_i\ge 1$, that maximizes total sales.

Approach. This is a 3-stage allocation (separable resource-allocation) DP: treat each region as a stage, the state as staff already committed, and build up the best cumulative sales via Bellman's recursion, then read the optimal split off the final stage backward.

  1. Define stages, states and the recursion. Let $s_k(n)$ = sales of region $k$ with $n$ staff (the table). With $x$ = staff used through region $k$, $$f_1(x)=s_1(x),\qquad f_k(x)=\max_{1\le n_k\le x-(k-1)}\big[s_k(n_k)+f_{k-1}(x-n_k)\big]\ (k=2,3),$$ each region getting at least 1 staff caps $n_k\le x-(k-1)\cdot 1$ so the remaining regions can still get their minimum of one each.
  2. Stage 1 (Region 1): $f_1(n_1)=s_1(n_1)$ for $n_1=1,2,3,4$: $f_1=(35,48,60,69)$.
  3. Stage 2 (Regions 1+2), state = staff used so far. For each total $x=n_1+n_2$ from 2 to 8, maximize $s_2(n_2)+f_1(x-n_2)$ over feasible $n_2\in[1,4]$: $$f_2(5)=\max\{s_2(1)+f_1(4),\,s_2(2)+f_1(3),\,s_2(3)+f_1(2),\,s_2(4)+f_1(1)\}$$ $$=\max\{21+69,\,42+60,\,56+48,\,70+35\}=\max\{90,102,104,\boxed{105}\}=105\ \text{at }n_2=4,n_1=1.$$ The other feasible totals for stage 3 ($x=2,3,4,6,7,8$) are worked the same way; the full table is below.
  4. Stage 3 (Regions 1+2+3), total must equal 6. With $n_3=6-x$ for each stage-2 state $x$, maximize $f_2(x)+s_3(6-x)$. Enumerating every feasible $(n_1,n_2,n_3)$ with each $\ge 1$ and $\le4$ (equivalent to and cross-checked against the recursion) gives the complete comparison:
    All feasible splits and their total sales (DP-recursion cross-check)
    $n_1$$n_2$$n_3$Total sales
    411118
    114121
    312122
    213122
    321130
    123130
    222131
    231132
    132132
    141133
    $$\boxed{(n_1^*,n_2^*,n_3^*)=(1,4,1),\quad Z^*=133}$$
Final results — Question 2
ItemValue
Optimal allocationRegion 1: 1  |  Region 2: 4  |  Region 3: 1
Maximum total sales $Z^*$133