12.07.2015 Views

Design of Approximation Algorithms

Design of Approximation Algorithms

Design of Approximation Algorithms

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C h a p t e rALinear programmingIn this appendix we give a quick overview <strong>of</strong> linear programming. In linear programming,we find a non-negative, rational vector x that minimizes a given linear objective function inx subject to linear constraints on x. More formally, given an n-vector c ∈ Q n , an m-vectorb ∈ Q m , and an m×n matrix A = (a ij ) ∈ Q m×n , an optimal solution to the linear programmingproblemminimize(P ) subject ton∑c j x jj=1n∑a ij x j ≥ b i , i = 1, . . . , m, (A.1)j=1x j ≥ 0, j = 1, . . . , n. (A.2)is an n-vector x that minimizes the linear objective function ∑ nj=1 c jx j subject to the constraints(A.1) and (A.2). The vector x is called the variable. Any x which satisfies the constraints issaid to be feasible, and if such an x exists, the linear program is said to be feasible or is a feasiblesolution. We say that we solve the linear program if we find an optimal solution x. If theredoes not exist any feasible x, the linear program is called infeasible. The term “linear program”is frequently abbreviated to LP. There are very efficient, practical algorithms to solve linearprograms; LPs with tens <strong>of</strong> thousands <strong>of</strong> variables and constraints are solved routinely.One could imagine variations and extensions <strong>of</strong> the linear program above: for example,maximizing the objective function rather than minimizing it, having equations in addition toinequalities, and allowing variables x j to take on negative values. However, the linear program(P ) above is sufficiently general that it can capture all these variations, and so is said to bein canonical form. To see this, observe that maximizing ∑ nj=1 c jx j is equivalent to minimizing− ∑ nj=1 c jx j , and that an equation ∑ n∑ j=1 a ijx j = b i can be expressed as a pair <strong>of</strong> inequalitiesnj=1 a ijx j ≥ b i and − ∑ nj=1 a ijx j ≥ −b i . Finally, a variable x j which is allowed to be negativecan be expressed in terms <strong>of</strong> two nonnegative variables x + jand x − jby substituting x + j − x− jforx j in the objective function and the constraints.Another variation <strong>of</strong> linear programming, called integer linear programming or integer programming,allows constraints that require variable x j to be an integer. For instance, we can453

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!