Solution

ID: past-exam-of-the-computer-science-course-of-the-university-of-oxford/2018/algorithms/3/a/solution

Use the standard maximum form of a linear program
An arbitrary linear program can be converted by the following operations.
  • Replace minimization of by maximization of , and negate the resulting optimal value when translating back. A constant term in the objective is recorded separately.
  • Replace every unrestricted variable by with both new variables nonnegative. A nonpositive variable can instead be negated. A lower bound can be eliminated by writing , ; other bounds remain linear inequalities.
  • Multiply a row by . Replace an equality by the pair and .
These substitutions preserve the attainable objective values, up to the stated sign and constant corrections, and map feasible points in both directions. An alternative standard-form convention uses : add a nonnegative slack variable to each upper-bound row, or subtract a nonnegative surplus variable from a lower-bound row. The inequality convention above is used in the remaining solutions.

New to topics? Read the docs here!