7.06e, 7.06f - Changing coefficients and integer programming
Find when a changed coefficient preserves an optimum and when it changes the answer. Then use continuous relaxations, bounds and branching to prove an integer optimum, including problems where nearby rounded points are not enough.
Changing objective coefficients
How much can an item's profit change before a production plan stops being best? An optimum is often stable over a whole interval of prices. The key is to compare the current vertex with the vertices that could replace it.
You already know
A linear objective over a bounded feasible polygon attains an optimum at a vertex. Its level lines are parallel; equal objective values at adjacent optimal vertices make the whole joining edge optimal. Integer solutions must also have integer coordinates.
Use the region , , . Its vertices are , , and . Maximising , with , gives the vertex values , , and .
For to remain optimal, it must be at least as good as both neighbours:
Thus . Strict inequalities give a unique optimum at . At , edge is optimal; at , edge is optimal. These comparison and gradient criteria are not in the formula booklet: learn them.
Worked example 1: one variable profit coefficient
Question. Over this region, maximise , where . Determine the values of for which is optimal, and state when it is the unique optimum.
Plan. Compare with the objective at the other vertices.
The origin gives , which is smaller because .
Why this step? An interval needs both comparisons: checking only one neighbour misses the point where the other becomes better.
Answer. is optimal for , and uniquely optimal for . At , every point on is optimal; at , every point on is optimal.
Check. For , the values at are . For , they are , so has replaced .
The next example changes both coefficients together. A single parameter now rotates the objective line by increasing one contribution while decreasing the other.
Worked example 2: two linked coefficient changes
Question. Maximise over the same region. Determine the range of for which is optimal.
Plan. Compare its objective with the values at , and the origin.
On this interval , so the origin is also beaten.
Why this step? Direct vertex comparisons remain safe even when the parameter could make a coefficient negative outside the eventual interval.
Answer. . The optimum is unique in the open interval. At the lower endpoint is optimal; at the upper endpoint is optimal.
Check. At , . At , .
The same result can be seen by rotating the objective line: its gradient must lie between those of the two incident boundary edges.
[DIAGRAM: asset_name: A range of objective gradients selects the same vertex; asset_slug: h245_7_06_coefficient_range; caption: The vertex B remains optimal while a <= b <= 2a; equality makes a neighbouring edge optimal; description: Equal-scale axes show the feasible quadrilateral with excluded regions shaded and vertices A(6,0), B(4,2), C(0,4), O. Three objective lines through B have gradients -1, -3/4 and -1/2. The limiting lines coincide with edges AB and BC; the middle line touches only B. A side panel states b = a gives edge AB, a < b < 2a gives B only, b = 2a gives edge BC]

Watch out
Wrong: replace by when asked when is optimal. The endpoints still make optimal; they only remove uniqueness. Keep “optimal” and “uniquely optimal” separate.
Now compare the same vertex under a different fixed coefficient.
Changing constraint coefficients
Changing a resource coefficient changes the feasible region itself, so an old vertex cannot simply be reused.
For example, changing to means that each unit of uses twice as much of that resource. The vertical intercept stays at , while the horizontal intercept moves from to . Redraw the affected boundary, find the new surviving vertices and then optimise the objective. A change to the right-hand side would instead translate this boundary parallel to itself; in either case, recheck feasibility.
Worked example 3: a resource coefficient doubles
Question. Maximise , subject to , and .
Plan. Recalculate the intersection after the coefficient change and compare every new vertex.
The other vertices , and give , and .
Why this step? The old optimum uses , so it is no longer feasible.
Answer. The new maximum is , at .
Check. and .
The next example changes only that coefficient again, from to . The method stays the same even though the intersection moves.
Worked example 4: a further resource change
Question. Maximise , subject to , and .
Plan. Find the new intersection and check it against the axis vertices.
The other vertices , and give , and , all smaller than .
Why this step? An intersection is a candidate, not automatically the answer; comparing the remaining vertices establishes the maximum.
Answer. The maximum is , at .
Check. and .
Both changes reduce the feasible set, so neither can increase the maximum of the unchanged objective. This gives a useful sense-check: . The coefficient-change method and this set-inclusion argument are not in the formula booklet: learn them.
Problem-solving
Change only the affected line, but recheck every resulting vertex against every constraint. A boundary intersection can move outside the feasible region or disappear as a relevant vertex.
Apply the same comparison after one more resource change.
Relaxations and bounds
An integer programme has fewer allowed points than its continuous version, and that simple containment supplies a way to prove that a search is finished.
Continuous relaxation
The continuous relaxation of an integer programme keeps its objective and linear constraints but removes the requirement that specified variables be integers. For example, it allows when the integer programme does not.
For maximisation, removing the integer restriction can only increase, or preserve, the best value. Thus a continuous maximum of is an upper bound for the integer maximum. For minimisation, a continuous minimum of is a lower bound for the integer minimum.
Incumbent and bound
An incumbent is the best feasible integer solution found so far. A bound limits how good any solution in an unsearched branch could be. For maximisation, an incumbent value of and a branch upper bound of show that this branch cannot improve the incumbent.
If the objective itself is integer-valued, tighten upper bounds downwards and lower bounds upwards. A maximum bounded by is at most ; a minimum bounded below by is at least . Do this only when the objective is known to be integer-valued: integer variables with a coefficient such as need not give an integer objective. These relaxation and rounding bounds are not in the formula booklet: learn them.
This leads to three reasons to stop exploring a branch:
- Its constraints are infeasible, so it contains no candidate.
- Its continuous optimum has integer coordinates, so that solution settles the branch and can update the incumbent.
- Its bound cannot improve the incumbent, so it can be discarded without listing its integer points.
Discarding a branch is often called pruning. If all optimal solutions are requested, a branch whose bound ties the incumbent may contain further tied optima and must be retained or investigated. If only one optimum and its value are required, a tied bound is enough to stop that branch.
Key idea
A feasible integer solution gives a target already achieved; a continuous relaxation gives a limit no integer solution in that branch can beat. When the two meet, the optimum is proved.
The bound direction depends on whether the objective is being maximised or minimised.
Continue this lesson.
You’re previewing NovaLearn without an account. Create a free account to read the rest.
Create free account