NivaarExam PrepOfficial exam papers ↗

23-Ind-A4 Production Management · May 2015

Question 7 of 7: Mathematical-Programming Model to Minimize the Worst Job's Lateness

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

Notes on this paper

National Technical Examinations — May 2015 — 98-Ind-A4 Production Management. Three-hour, closed-book exam; Casio or Sharp approved calculators only. Format: seven questions, each worth 20 marks (sub-part weights as tabulated on the front page); only the first five questions appearing in the answer book are marked, so candidates effectively choose 5 of 7. All seven are solved below for completeness. The paper asks for point-form answers wherever possible; the solutions below use full working for clarity.

Reference texts: Nahmias & Olsen, Production and Operations Analysis (7th ed., Waveland/McGraw-Hill) — forecasting, inventory (EOQ) and aggregate planning; Sipper & Bulfin, Production: Planning, Control, and Integration — production-management systems; Hillier & Lieberman, Introduction to Operations Research (11th ed.) — LP formulation and project scheduling (CPM/PERT); Pinedo, Scheduling: Theory, Algorithms, and Systems (5th ed.) — parallel-machine scheduling, makespan and tardiness; Hopp & Spearman, Factory Physics (3rd ed.) — variability and production-system inefficiency; Niebel & Freivalds, Methods, Standards, and Work Design — division of labour and work-design history; ISO 9001:2015 and the Toyota Production System literature — quality management, 5S/lean and TPM.

Question 7: Mathematical-Programming Model to Minimize the Worst Job's Lateness (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.

Check — job codes and the ask
The paper prints the job codes ("62401," "61184," "84056," "66298," "61910," "68212," "64813") without the leading "B"; they are read below as B2401, B1184, B4056, B6298, B1910, B8212, B4813. The question asks only for a mathematical programming model (single sub-part, 20 marks), with no per-job due dates given.

Given. Fourteen jobs, each with a fixed processing time (seconds) shown once regardless of which machine runs it (the three machines have "similar capabilities," so a job's time does not depend on its assigned machine); three identical parallel machines A, B, C. No individual job due dates or a common deadline are stated on this sitting.

JobBatch sizeTime (s)
B2401723,100
B79821264,400
B6183456,000
B11841103,800
B94552403,800
B4056324,300
B1847324,300
B6298324,300
B99891921,800
B1910641,200
B3311641,200
B8212322,900
B4813641,000
B7214641,000
Initial totalsA 11,300 / B 26,200 / C 5,600

Find. A mathematical programming (mixed-integer) model whose decision variables and constraints schedule the 14 jobs across the 3 machines to minimize the lateness of the single worst-off job.

Approach. Lateness is formally $L_j=C_j-d_j$, the completion time of job $j$ minus its due date; since no per-job or common due date is stated on this sitting, the model below treats the unstated due date as $d_j=0$ for every job — the standard convention when a scheduling problem gives no due dates — which collapses "minimize the lateness of the worst job" exactly to "minimize the makespan," $L_{max}=\max_j(C_j-0)=C_{max}$. The formulation is built generally (with an explicit $d_j$ term) so it is ready to use unchanged the moment real due dates are supplied, then solved as a bonus numeric check using the given processing-time data.

  1. Decision variables. For each job $j=1,\dots,14$ and machine $k\in\{A,B,C\}$: $x_{jk}\in\{0,1\}=1$ if job $j$ is assigned to machine $k$. $C_k\ge0$ = completion time (total load) of machine $k$. $L_{max}\ge0$ = the lateness of the worst job (the objective).
  2. Assignment constraints. Every job runs on exactly one machine: $$\sum_{k\in\{A,B,C\}}x_{jk}=1\qquad\forall j=1,\dots,14.$$
  3. Machine load / completion time. Each machine's completion time is the sum of the processing times $p_j$ of every job assigned to it (all jobs on a machine run back-to-back with no idle time in an optimal single-stage schedule): $$C_k=\sum_{j=1}^{14}p_j\,x_{jk}\qquad\forall k\in\{A,B,C\}.$$
  4. Worst-job lateness. With every job sharing due date $d_j=d=0$ (unstated on this sitting), the lateness of the job that finishes last on machine $k$ equals $C_k-d$; the worst job overall is on whichever machine has the largest completion time: $$L_{max}\ge C_k-d\qquad\forall k\in\{A,B,C\}.$$
  5. Objective. Minimize the worst job's lateness: $$\boxed{\min L_{max}}\quad\text{s.t. the constraints above, } x_{jk}\in\{0,1\},\ C_k,L_{max}\ge0.$$ This is the standard $P||C_{max}$ (identical parallel-machine makespan-minimization) mixed-integer formulation; if real due dates $d_j$ were supplied, only Step 4's right-hand side would change to $d_j$ (evaluated per job, not per machine), and a job-level lateness variable $L_j=C_j-d_j$ would replace the machine-level $C_k-d$ term.
ElementFormulation
Variables$x_{jk}\in\{0,1\}$, $C_k\ge0$, $L_{max}\ge0$
Objective$\min L_{max}$
Assignment$\sum_k x_{jk}=1$  $\forall j$
Machine load$C_k=\sum_j p_j x_{jk}$  $\forall k$
Worst-job lateness$L_{max}\ge C_k-d_j$  $\forall k$ (with $d_j=0$ here, absent real due dates)
Check
No individual due date or common deadline is printed anywhere in this sitting's Question 7 — treating the unstated due date as $d_j=0$ per job is the standard scheduling-theory convention and is what turns "minimize lateness of the worst job" into a well-posed model without inventing data the exam does not supply. If a deadline were given, only the $d_j$ term in Step 4 would need to change; the rest of the model (assignment, load, objective structure) is unaffected either way.

Bonus numeric validation. Solving the model above with the given processing-time data (not required by the question, but a useful check that the formulation is well-posed and achievable) gives the following. The total work content is $\sum_j p_j=43{,}100$ s, giving a lower bound $C_{max}\ge\lceil43{,}100/3\rceil=14{,}367$ s that no assignment can beat; an exhaustive search over 3-way partitions of the 14 jobs achieves $\boxed{L_{max}=C_{max}=14{,}400\ \text{s}}$ (Machine A 14,300 s; Machine B 14,400 s; Machine C 14,400 s), only 33 s above the theoretical floor — confirming the model in Steps 1–5 is both feasible and tight against the data.

Machine AB1910B9989B2401B1184B798214,300 sMachine BB3311B8212B4056B618314,400 sMachine CB4813B7214B9455B1847B629814,400 sEach segment = one job. Machine loads shown are the model's optimal assignment (bonus numeric check).
Figure 2 — Optimal load-balanced assignment for the model above (bonus numeric validation): Machine A 14,300 s; Machine B 14,400 s; Machine C 14,400 s. Worst-machine completion time $L_{max}=C_{max}=14{,}400$ s, 33 s above the 14,367 s theoretical floor.
Back to the paper →