This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Chapter 7 Linear programming and reductions Many of the problems for which we want algorithms are optimization tasks: the shortest path, the cheapest spanning tree, the longest increasing subsequence, and so on. In such cases, we seek a solution that (1) satisfies certain constraints (for instance, the path must use edges of the graph and lead from s to t , the tree must touch all nodes, the subsequence must be increasing); and (2) is the best possible, with respect to some welldefined criterion, among all solutions that satisfy these constraints. Linear programming describes a broad class of optimization tasks in which both the con straints and the optimization criterion are linear functions . It turns out an enormous number of problems can be expressed in this way. Given the vastness of its topic, this chapter is divided into several parts, which can be read separately subject to the following dependencies. Duality matchings Flows and Games Simplex Introduction to linear programming and reductions 7.1 An introduction to linear programming In a linear programming problem we are given a set of variables, and we want to assign real values to them so as to (1) satisfy a set of linear equations and/or linear inequalities involving these variables and (2) maximize or minimize a given linear objective function. 201 202 Algorithms Figure 7.1 (a) The feasible region for a linear program. (b) Contour lines of the objective function: x 1 + 6 x 2 = c for different values of the profit c . (a) 100 200 300 400 100 200 300 400 x 2 x 1 (b) 100 200 300 400 100 200 300 400 c = 1500 c = 1200 c = 600 x 2 x 1 Optimum point Profit = $1900 7.1.1 Example: profit maximization A boutique chocolatier has two products: its flagship assortment of triangular chocolates, called Pyramide , and the more decadent and deluxe Pyramide Nuit . How much of each should it produce to maximize profits? Let’s say it makes x 1 boxes of Pyramide per day, at a profit of $1 each, and x 2 boxes of Nuit, at a more substantial profit of $6 apiece; x 1 and x 2 are unknown values that we wish to determine. But this is not all; there are also some constraints on x 1 and x 2 that must be accommodated (besides the obvious one, x 1 , x 2 ≥ ). First, the daily demand for these exclusive chocolates is limited to at most 200 boxes of Pyramide and 300 boxes of Nuit. Also, the current workforce can produce a total of at most 400 boxes of chocolate per day. What are the optimal levels of production? We represent the situation by a linear program , as follows. Objective function max x 1 + 6 x 2 Constraints x 1 ≤ 200 x 2 ≤ 300 x 1 + x 2 ≤ 400 x 1 , x 2 ≥ A linear equation in x 1 and x 2 defines a line in the twodimensional (2D) plane, and a linear inequality designates a halfspace , the region on one side of the line. Thus the set of all feasible solutions of this linear program, that is, the points ( x 1 , x 2 ) which satisfy all constraints, is the intersection of five halfspaces. It is a convex polygon, shown in Figure 7.1.constraints, is the intersection of five halfspaces....
View
Full
Document
This document was uploaded on 08/10/2011.
 Spring '11
 Algorithms

Click to edit the document details