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.
Let be the set of isolated vertices of the finite simple graph . Introduce a nonnegative integer for every vertex. Use the integer program
Every nonisolated vertex belongs to an edge, whose inequality and the other endpoint's nonnegativity already imply . The explicit bounds on therefore make all variables binary. For an integer feasible point, is an independent set, and its cardinality is the objective. Conversely the indicator vector of any independent set is feasible. Thus the optimal value is the maximum independent set size. Including the isolated-vertex bounds is essential for an arbitrary graph; without them the formulation would be unbounded whenever an isolated vertex is present.
Remove the integer requirements from the previous formulation to obtain its linear programming relaxation. Give each edge constraint a nonnegative dual variable , and each bound for a nonnegative dual variable . Since all right-hand sides are one, the dual linear program is
An integer feasible point selects a multiset of edges touching every nonisolated vertex, together with at least one singleton for each isolated vertex. Repeated edges or singleton choices can be discarded without losing coverage, so an optimum has a genuine edge cover of the nonisolated part and one singleton per isolated vertex. If has no isolated vertices, this is exactly an edge cover, with the objective counting selected edges including any unnecessary multiplicities. The isolated-singleton extension is necessary because a graph with an isolated vertex admits no ordinary edge cover.
This interpretation concerns integer feasible dual solutions. The linear programming relaxation can have fractional optima, so its value need not equal the integer independent set optimum. For example, the triangle has relaxed independent-set value , whereas its maximum independent set has size and its minimum edge cover has size .
Regard the two kinds of agents as the two sides of a complete bipartite graph, with edge weight . Pairing everyone is a perfect matching, and its maximum total weight is . Consider the capacitated linear program
It is feasible and bounded. Every optimum has all row and column sums equal to one: otherwise the equal total deficits of the two sides give a row and column both below one. Increasing by the smaller of their positive deficits remains feasible and increases the objective because , a contradiction.
Thus an optimum is a doubly stochastic matrix. By the Birkhoff-von Neumann theorem it is a convex combination of permutation matrices, so at least one corresponding perfect matching has weight at least its objective. Conversely every such perfect matching gives a feasible matrix. Hence . One way to justify the decomposition is to apply Hall's marriage theorem to the positive-entry support, subtract the smallest entry on a supported perfect matching, and repeat after rescaling the nonzero remainder; each subtraction removes a positive entry, so the process terminates.
The dual linear program assigns nonnegative dual variables to the row and column capacity constraints:
These are exactly the permitted payments and all the pairwise acceptance conditions, so its optimal value is . It is feasible, for example by taking and . Strong duality now gives . In particular, the nonnegative payment restriction has been retained throughout; using capacity inequalities rather than equality constraints avoids introducing unrestricted prices.
For a direct weak duality check, sum over any pairing . Its revenue never exceeds the company's total offered payment. The linear programming duality and integrality argument prove that this lower bound on payments is attained.
Combine all inequalities, including nonnegativity, into ; explicitly, the rows encode . Let be a vertex of a linear polyhedron, equivalently an extreme point of the feasible linear polyhedron, and let index the active constraints there.
Suppose the active row normals have rank smaller than . By the rank-nullity theorem there is a nonzero vector with for every . Every inactive row has positive slack variable value . Since there are only finitely many rows, choose so small that
Then both and are feasible points: the active constraints remain equalities and no inactive inequality is violated. They are distinct, and is their midpoint, contradicting the extreme point property.
Therefore the active row normals have rank , and at least linearly independent constraints are satisfied with equality. In particular at least constraints are tight, as claimed. Nonnegativity bounds must be counted: for example, at the origin these can supply all active rows. Degeneracy can make more than constraints tight, so the result does not assert exactly .

Articles by others on the same topic (0)

There are currently no matching articles.