1.
(2)
(Total for Question 1 is 2 marks)
4 specification points · notes, questions, answers and worked methods
Checked against Edexcel 9FM0 section D1-5. Review basis: the qualification registry sourced from the Pearson Edexcel Level 3 Advanced GCE in Further Mathematics (9FM0) specification; registry verification recorded 17 July 2026.
Explanation
Worked example
A factory makes tables and chairs. Wood is limited to units, with per table and per chair, and at least tables must be made. Each table yields a profit of and each chair . Formulate the problem and write the constraints as equations.
Answer: Maximise subject to and , with all variables non-negative.
Common mistakes
Exam tip
Write the units into every variable definition; a formulation mark is often lost for a variable that is named but not quantified.
1.
(2)
(Total for Question 1 is 2 marks)
2.
(3)
(Total for Question 2 is 3 marks)
1.
(6)
(Total for Question 1 is 6 marks)
2.
(5)
(Total for Question 2 is 5 marks)
3.
(4)
(Total for Question 3 is 4 marks)
1.
(8)
(Total for Question 1 is 8 marks)
2.
(6)
(Total for Question 2 is 6 marks)
3.
(8)
(Total for Question 3 is 8 marks)
4.
(6)
(Total for Question 4 is 6 marks)
5.
(7)
(Total for Question 5 is 7 marks)
Explanation
Worked example
Maximise subject to and , with , .
Answer: The maximum is at , .
Common mistakes
Exam tip
Solve the two binding equations simultaneously rather than reading the intersection off the graph; examiners expect exact fractions, not measured values.
1.
(3)
(Total for Question 1 is 3 marks)
2.
(3)
(Total for Question 2 is 3 marks)
1.
(6)
(Total for Question 1 is 6 marks)
2.
(6)
(Total for Question 2 is 6 marks)
3.
(6)
(Total for Question 3 is 6 marks)
1.
(8)
(Total for Question 1 is 8 marks)
2.
(9)
(Total for Question 2 is 9 marks)
3.
(8)
(Total for Question 3 is 8 marks)
4.
(6)
(Total for Question 4 is 6 marks)
5.
(8)
(Total for Question 5 is 8 marks)
Explanation
Worked example
Maximise subject to and . Carry out the first iteration.
Answer: After one iteration , , and , and a further iteration is needed because is still negative.
Common mistakes
Exam tip
After each iteration state the current values of every variable and of ; those interim statements carry marks even if a later iteration goes wrong.
1.
(2)
(Total for Question 1 is 2 marks)
2.
(3)
(Total for Question 2 is 3 marks)
1.
(8)
(Total for Question 1 is 8 marks)
2.
(4)
(Total for Question 2 is 4 marks)
3.
(4)
(Total for Question 3 is 4 marks)
1.
(9)
(Total for Question 1 is 9 marks)
2.
(8)
(Total for Question 2 is 8 marks)
3.
(9)
(Total for Question 3 is 9 marks)
4.
(7)
(Total for Question 4 is 7 marks)
5.
(7)
(Total for Question 5 is 7 marks)
Explanation
Worked example
Maximise subject to and . Set up the big-M tableau.
Answer: The initial tableau has rows : with value ; : with value ; and : with value .
Common mistakes
Exam tip
Write the objective row of a big-M tableau in the form so the comparison of columns is a comparison of the coefficients first; that is the whole point of the method.
1.
(3)
(Total for Question 1 is 3 marks)
2.
(4)
(Total for Question 2 is 4 marks)
1.
(6)
(Total for Question 1 is 6 marks)
2.
(6)
(Total for Question 2 is 6 marks)
3.
(6)
(Total for Question 3 is 6 marks)
1.
(10)
(Total for Question 1 is 10 marks)
2.
(7)
(Total for Question 2 is 7 marks)
3.
(7)
(Total for Question 3 is 7 marks)
4.
(7)
(Total for Question 4 is 7 marks)
5.
(9)
(Total for Question 5 is 9 marks)
Answers begin on a new printed page so the question pack can be completed without the solutions alongside it.
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 2 |
| (2 marks) | 2 | |
| Notes | ||
| A slack variable takes up the difference between the left-hand side and the limit, so adding turns the inequality into an equation. Because the constraint is a maximum, is non-negative and equals , the quantity of the resource not consumed by the chosen values of and . | ||
| 2 |
| 3 |
| (3 marks) | 3 | |
| Notes | ||
| For a constraint the left-hand side is at least the bound, so the excess is subtracted: . That equation alone has no feasible basic solution at the origin, since would have to be negative. Adding a non-negative artificial variable gives , which has the feasible starting point and . | ||
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 6 |
| (6 marks) | 6 | |
| Notes | ||
| Define the variables with their units, then convert every quantity to consistent units before writing the inequalities: kg is g, so the flour constraint is , and dividing by gives . The oven constraint divides by to give . The minimum production of rolls is a constraint, and the objective is the total revenue in pounds. | ||
| 2 |
| 5 |
| (5 marks) | 5 | |
| Notes | ||
| Each constraint gains a slack variable that soaks up the unused capacity. The constraint loses a surplus variable that measures the excess over , and because that leaves no feasible basic solution at the origin it also gains an artificial variable. Reading the three equations with the four new variables as the basis gives a starting tableau in which , and are basic and take the values on the right-hand side. | ||
| 3 |
| 4 |
| (4 marks) | 4 | |
| Notes | ||
| A slack variable records how much of a resource is left, so a value of zero means the resource is exhausted and the corresponding inequality holds with equality. Here , so the optimal vertex lies on that boundary line and the constraint is active, or binding. A positive slack of means the second constraint could be tightened by before it began to affect the answer. | ||
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 8 |
| (8 marks) | 8 | |
| Notes | ||
| The objective is the weekly cost, which the haulier wants as small as possible, so this is a minimisation. Each requirement becomes one inequality: a lower bound on tonnage moved, an upper bound on cost, an upper bound on the fleet size and a comparison between two variables, which must be rearranged so that all the variables are on one side. Converting to equations adds a slack to each constraint and a surplus to the constraint, and the surplus row also needs an artificial variable so that the origin gives a valid starting basis. | ||
| 2 |
| 6 |
| (6 marks) | 6 | |
| Notes | ||
| Writing means the true constraint holds only when ; any positive value of represents an amount by which the constraint is being violated and then patched up. The first stage therefore minimises the artificial variables, and only when they all reach zero does the current basic solution correspond to a genuine point of the feasible region. If that minimum is positive, the violation cannot be removed, which proves the feasible region is empty and the problem has no solution at all. | ||
| 3 |
| 8 |
| (8 marks) | 8 | |
| Notes | ||
| The two resource constraints are direct. The proportion condition says the deluxe units are at least a quarter of the total, which is ; clearing the fraction gives , and collecting terms gives , that is . Writing it in this form keeps every constraint linear with the variables on the left, which is what the simplex tableau requires; leaving it as a fraction of a total is the usual source of error. | ||
| 4 |
| 6 |
| (6 marks) | 6 | |
| Notes | ||
| The slack is the limit minus the amount actually consumed, so . A constraint with positive slack is not binding, which means the optimal vertex is determined by the other constraints. Tightening a non-binding constraint changes nothing until the slack is used up, and since is still below , the same point remains feasible and optimal; only a reduction below would begin to cut into the solution. | ||
| 5 |
| 7 |
| (7 marks) | 7 | |
| Notes | ||
| Subtracting the surplus converts the inequality into an equation that any feasible point satisfies with ; the surplus therefore has an interpretation, namely the excess over the requirement. The artificial variable is added purely so that the origin, where all the original variables are zero, gives a basic solution with non-negative values, and it must be removed before the answer means anything. At the feasible point , the constraint already holds with to spare, so a valid basic representation takes and . | ||
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 3 |
| (3 marks) | 3 | |
| Notes | ||
| A linear objective attains its extreme values at a vertex of the feasible region, so it is enough to evaluate at each of the four corners. The values are , , and , and the largest is , which occurs at the vertex . | ||
| 2 |
| 3 |
| (3 marks) | 3 | |
| Notes | ||
| All lines are parallel, and increases as the line moves away from the origin, so the greatest feasible value of is found at the last contact between the sliding line and the region. Normally that contact is a single vertex. When the objective has the same gradient as one of the constraint lines, the sliding line meets the region along an entire edge at the moment of departure, and every point on that edge gives the same maximum value. | ||
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 6 |
| (6 marks) | 6 | |
| Notes | ||
| The line meets the -axis at and the line meets the -axis at ; each of these is feasible for the other constraint. Eliminating from and gives , so and then . Evaluating the objective at all four vertices gives , , and , so the maximum is . | ||
| 2 |
| 6 |
| (6 marks) | 6 | |
| Notes | ||
| The feasible region is unbounded above, so only the corners on its lower boundary matter. Those corners are where meets the -axis, where the two lower-bound lines cross, and where meets the vertical line . The point fails the second constraint and is not a vertex of the region. Evaluating at the three vertices gives , and , so the minimum is . | ||
| 3 |
| 6 |
| (6 marks) | 6 | |
| Notes | ||
| Substituting into gives , and that point satisfies . Eliminating from and gives , so and , which satisfies . Including the axis vertices and , the four values of are , , and . Since , the maximum is . | ||
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 8 |
| (8 marks) | 8 | |
| Notes | ||
| The continuous optimum sits at and , and rounding each coordinate to the nearest integer gives , which breaks the second constraint since . The correct method is to examine the feasible lattice points near the optimum. Checking , , , and against both constraints leaves , , and feasible, with objective values , , and . No lattice point can beat the continuous bound of , and gives the largest feasible value, . | ||
| 2 |
| 9 |
| (9 marks) | 9 | |
| Notes | ||
| Solving with gives and hence , so and ; the third constraint is slack there, so the vertex is feasible and . For the integer problem, the continuous optimum lies near , so the lattice points to test are those with in and near or . The binding constraint rules out , and among the feasible candidates gives , beating at , at and at . | ||
| 3 |
| 8 |
| (8 marks) | 8 | |
| Notes | ||
| Because the objective is linear, the maximum is at a vertex, so it is enough to compare the three non-zero vertex values , and ; the origin gives and can be ignored for . Requiring to be at least each of the others gives the two inequalities and . At each endpoint two vertices tie, which means the objective line is parallel to the edge joining them, so every point of that edge is optimal and there are infinitely many optimal solutions. | ||
| 4 |
| 6 |
| (6 marks) | 6 | |
| Notes | ||
| Each constraint cuts the plane into two, and the feasible region is the intersection of the retained halves, which is convex and bounded by straight edges. The objective takes a constant value on each line of a parallel family, so the greatest feasible value is reached where that family last meets the region. On a convex polygon the last contact is a corner, unless the family is parallel to an edge, in which case the whole edge is optimal and its endpoints are vertices attaining the same value. When the region extends without limit in a direction of increase, the sliding line never leaves it and the objective can be made arbitrarily large. | ||
| 5 |
| 8 |
| (8 marks) | 8 | |
| Notes | ||
| Since , the objective line has exactly the same gradient as the first constraint, so the sliding line leaves the region along that constraint rather than at a single corner. The bound gives , with equality precisely on the boundary line, so the optimal set is the feasible part of . That line leaves the region where cuts it, at , and ends at on the -axis, so the optimal points form the segment between them and every one of them gives . | ||
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 2 |
| (2 marks) | 2 | |
| Notes | ||
| Each negative entry in the objective row shows that increasing the corresponding variable from zero would increase , and the size of the entry is the rate of increase per unit. Choosing the most negative entry increases fastest per unit of the entering variable, so the column with is chosen ahead of the column with . | ||
| 2 |
| 3 |
| (3 marks) | 3 | |
| Notes | ||
| The ratio test finds how far the entering variable can increase before a basic variable would go negative. A row with a negative or zero entry in the pivot column places no such limit, so it is excluded from the test. Comparing the two valid ratios, and , the binding one is , which selects row and the pivot element . | ||
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 8 |
| (8 marks) | 8 | |
| Notes | ||
| The most negative objective entry is , so enters; the ratios and select the row, and dividing by gives the row with value . Subtracting twice that row from the row and adding five times it to the objective row completes the first iteration. The objective row still has under , so enters; the ratios are and , so the row is the pivot row. Dividing by and eliminating gives an objective row with no negative entries, so the algorithm stops with both slacks zero and . | ||
| 2 |
| 4 |
| (4 marks) | 4 | |
| Notes | ||
| The simplex tableau is built to increase a quantity, so a minimisation is converted by maximising the negative of the objective; the two problems have the same optimal point and their optimal values differ only by sign. Writing and reversing the signs for the tableau row gives entries , and . The presence of negative entries shows that increasing or reduces , so the algorithm has somewhere to go. | ||
| 3 |
| 4 |
| (4 marks) | 4 | |
| Notes | ||
| Each row is labelled by its basic variable and gives that variable's value directly, so , and , while every variable not labelling a row is zero; the bottom right entry gives for that basic solution. Deciding whether to stop is a separate question. The algorithm terminates only when no entry of the objective row is negative, and a column that has not been printed cannot be checked, so the shown entries , , , and prove nothing about . A negative entry there would make the pivot column and a further iteration would raise ; for the problem this tableau comes from the hidden entry is in fact , and the third iteration takes from to . | ||
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 9 |
| (9 marks) | 9 | |
| Notes | ||
| The most negative entry is , so enters. The ratios , and select the row, and dividing by gives the row. Eliminating the column from the other three rows produces the tableau shown, with raised from to . The objective row now has under and under , so enters; the ratios , and select the row with pivot . Dividing and eliminating raises to , but the column is still negative, so the algorithm has not terminated. | ||
| 2 |
| 8 |
| (8 marks) | 8 | |
| Notes | ||
| Only the column is negative, so enters. The row contributes no ratio because its entry is zero, and comparing with selects the row, whose pivot element is . Dividing that row by and eliminating the column elsewhere gives an objective row of , all non-negative, so the algorithm terminates. All three slack variables are non-basic and hence zero, which is confirmed by substituting the solution into the original constraints: each is satisfied with equality, and . | ||
| 3 |
| 9 |
| (9 marks) | 9 | |
| Notes | ||
| Converting to a maximisation gives , whose tableau row is . The most negative entry is , so enters; the ratios and select the row, and dividing by gives the row. Eliminating leaves under , so enters next; the ratios and select the row with pivot . After that iteration every objective entry is non-negative, so the algorithm stops with , and . Checking, , and the constraints give and , both exactly met. | ||
| 4 |
| 7 |
| (7 marks) | 7 | |
| Notes | ||
| Reading a row as , where is the amount by which the entering variable is increased, the requirement gives only when ; a non-positive makes increase or stay fixed, so the constraint is vacuous. The binding limit is therefore the smallest ratio over the positive entries, which identifies the leaving variable. When every entry in the pivot column is zero or negative, no basic variable is driven to zero, so and hence the objective can be made arbitrarily large. | ||
| 5 |
| 7 |
| (7 marks) | 7 | |
| Notes | ||
| A variable is basic exactly when its column has been cleared, so and label rows and take the values in the value column, while and are held at zero. The objective row entries are rates of change of with respect to those non-basic variables, with the sign reversed by the tableau convention: a negative entry marks a variable worth increasing, so is the next entering variable, and a positive entry marks one that would cost the objective. Since is the slack of the second constraint, its positive entry of also measures what an extra unit of that constraint's resource would be worth. | ||
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 3 |
| (3 marks) | 3 | |
| Notes | ||
| The artificial variables are added only to give the tableau a valid starting basis, and a point of the true feasible region is one at which they are all zero. Stage one therefore drives their sum down as far as possible. Reaching zero produces a genuine feasible point from which the real objective can be optimised; failing to reach zero shows that the constraints cannot all be satisfied at once. | ||
| 2 |
| 4 |
| (4 marks) | 4 | |
| Notes | ||
| The constraint takes a slack variable and the constraint takes a surplus, which alone leaves no feasible basis at the origin, so an artificial variable is added to that row. Setting the three original and surplus variables to zero makes the two remaining variables basic, taking the right-hand side values and ; both are non-negative, so this is a valid starting point for the algorithm. | ||
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 6 |
| (6 marks) | 6 | |
| Notes | ||
| The big-M objective penalises any positive artificial variable by a huge amount, so maximising it forces to zero. The objective row of a tableau must contain only non-basic variables, and is basic, so it is eliminated by substituting the constraint that defines it. Collecting terms gives the coefficients and under and and under , with the constant appearing on the right. | ||
| 2 |
| 6 |
| (6 marks) | 6 | |
| Notes | ||
| The pivot column is the one with the most negative objective entry. Since stands for a number larger than every other quantity in the problem, comparing with reduces to comparing the coefficients of : the difference is , which is negative for large , so the entry is the smaller. The ratio test then compares and , selecting the row, which is exactly the behaviour intended: the first pivot removes the artificial variable from the basis. | ||
| 3 |
| 6 |
| (6 marks) | 6 | |
| Notes | ||
| The stage-one objective is written in terms of the non-basic variables by substituting for the artificial variable from its own constraint row, which is the same substitution the big-M method makes. The resulting expression shows the rate at which each non-basic variable reduces the infeasibility. Choosing the fastest reduction picks , and this matches the choice the big-M method makes, since the two methods differ only in bookkeeping. | ||
| Question | Scheme | Marks |
|---|---|---|
| 1 |
| 10 |
| (10 marks) | 10 | |
| Notes | ||
| The first pivot on removes the artificial variable, raising the objective from to and leaving in the column, which keeps out of the basis for good. The second pivot enters : the ratios are and , so leaves and rises to . The objective row still has under , and only the row has a positive entry there, giving the ratio ; pivoting brings into the basis at value and to . All objective entries are then non-negative, so the maximum is at , , which is the vertex where meets the -axis. | ||
| 2 |
| 7 |
| (7 marks) | 7 | |
| Notes | ||
| The two methods solve the same underlying difficulty, namely that a constraint leaves the origin infeasible. Stage one of the two-stage method is exactly the minimisation of the artificial sum, and the leading term of the big-M objective row is a multiple of that same expression, which is why the pivot choices agree while any artificial variable remains basic. The choice between them is practical: symbolic entries in make comparisons quick to justify but are easy to mishandle in a written tableau, whereas two shorter numerical runs cost an extra setup but keep every entry concrete. | ||
| 3 |
| 7 |
| (7 marks) | 7 | |
| Notes | ||
| The two constraints are directly contradictory, and the algorithm discovers this rather than failing silently. Stage one drives up as far as the other constraint allows, which is , at which point and no further pivot can reduce it because every objective entry has become non-negative. A stage-one minimum that is strictly positive is exactly the certificate of infeasibility, so the algorithm stops and reports that the feasible region is empty; stage two is never started. | ||
| 4 |
| 7 |
| (7 marks) | 7 | |
| Notes | ||
| Because stands for a number larger than any other in the problem, entries are compared by their coefficients first. Here carries against 's , so the entry is the more negative however large the constants are, and enters the basis. When two entries carry the same multiple of the terms cancel from the comparison and the ordinary constants decide, which is why beats and would enter instead. | ||
| 5 |
| 9 |
| (9 marks) | 9 | |
| Notes | ||
| A minimisation is converted by maximising , and each of the two constraints needs both a surplus and an artificial variable, while the two upper bounds need one slack each. Stage one minimises the sum of the artificials, which is found by adding the two constraint rows: . To check the answer independently, the corners of the region are where meets , at ; where meets , at ; where meets , at ; and where the two upper bounds meet, at , which satisfies both constraints and so is a vertex of the region. The objective takes the values , , and there, so the minimum is at . | ||