Presentation is loading. Please wait.

Presentation is loading. Please wait.

What is Linear Programming? A Linear Program is a minimization or maximization problem, subject to several restraints. Linear programs can be set up for.

Similar presentations


Presentation on theme: "What is Linear Programming? A Linear Program is a minimization or maximization problem, subject to several restraints. Linear programs can be set up for."— Presentation transcript:

1 What is Linear Programming? A Linear Program is a minimization or maximization problem, subject to several restraints. Linear programs can be set up for a variety of problems. Linear Programming is the process and methods involved in solving Linear Programs. A linear program in general form looks like this: maximize Subject to There may be many solutions to an LP, we call these feasible solutions, but we generally look for the optimal solution—the solution that maximizes or minimizes the linear function. LPs may have no feasible solutions, or may have many feasible solutions but no optimal solution. We call these LPs infeasible and unbounded, respectively. The Duality Theorem Feasible LPs can be solved by finding an optimal solution. The Duality theorem states that every LP has a dual. The original LP is called the primal. If the primal is a maximization problem and has an optimal solution, then its dual, a minimization problem, has the same optimal solution. The Primal: The Dual: The dual can help us understand the primal--any feasible solution of the the dual is a bound on the solution of the primal. For example, look at the following LP: Looking at the first constraint, we can immediately see that 3 is an upper bound on this LP. Now, to learn more, lets look at the dual: In order to find a lower bound, we examine the constraints. Since and, then. Now, we have 3 has both an upper bound on the primal and a lower bound on the dual, getting us closer to figuring out the optimal solutions for x 1 and x 2. The formal statement of the duality theorem is as follows: The Duality Theorem (as stated in Chvátal p.58): If the primal has an optimal solution then the dual has an optimal solution such that An Example: The Diet Problem (example adapted from Chvátal) Say you are going to eat some combination of the following foods, with the following nutritional information and costs: For each food, there are only a certain number of servings you would eat, so each variable will have a maximum. In order to make sure you get enough calories, protein, and calcium while minimizing the cost, you could solve the following linear program: Minimize 3a + 24b + 13c + 9d +20e Subject to 0 ≤ a ≤ 4 0 ≤ b ≤ 3 0 ≤ c ≤ 2 0 ≤ d ≤ 8 0 ≤ e ≤ 2 110a + 205b +160c + 160d + 420e ≥ 2000 4a + 32b +13c + 8d + 4e ≥ 55 2a + 12b +54c + 285d + 22e ≥ 800 Cut Formulation LP for the Survivable Network Design Problem Where  G (S) is the set of all edges with exactly one endpoint in S, where S is a cut. We can figure out the dual of this LP, which will help us find bounds on the optimal solutions. The Dual: Linear Programming and the Survivable Network Design Problem Rebecca Benjamin ’07 Swarthmore College, Department of Mathematics & Statistics References V. Chvatal, Linear Programming. W. H. Freeman and Company: USA (1983). K. Jain, I.I. Mandoiu, V.V. Vazirani, and D.P. Williamson, A primal- dual schema based approximation algorithm for the element connectivity problem, Journal of Algorithms 45 (2002), pp. 1- 15. K. Jain, A factor 2-approximation algorithm for the generalized steiner network problem, {IEEE} Symposium on Foundations of Computer Science (1998), p. 448-457. H. Karloff, Linear Programming. Berkhauser: Boston (1991). For more information see: http://mathstat.swarthmore.edu/webspot The Survivable Network Design Problem Given an undirected graph G = (V, E), where V are the vertices and E the edges, a set of nonnegative weights, a set T  V which are the terminals, and connectivity requirements for the terminals, find the minimum cost sub-graph which satisfies the connectivity requirements. We will examine the 2-connected version. This problem has many practical applications. Say, a phone company wanting to lay phone lines. The phone company might want to build redundancy into their network--if one line goes out, customers would still be connected because there would be another path. However, in building two paths between terminals, various costs would have to be taken into consideration--laying wire will vary in expense depending on who owns the land. A linear program written to solve this problem would seek to find the optimal combination of two paths (it is not necessarily true that one path is the optimal path.) A very small example graph might look like this: where s is the source and t the sink, the edges are the black lines, and the vertices or terminals are where the lines meet. Each edge has a cost associated with it. We want to build two paths from s to t and minimize the cost. There are different ways to formulate this problem. In the cut formulation, we look at all the paths over all possible cuts, where a cut is two disjoint sets of vertices such that one set contains the source and the other contains the sink. In the graph above, one cut is noted with red circles, another with blue (these are not the only cuts of this graph.) We look at all edges that get us from one set in the cut to the other set. Since we want to minimize the cost, we write the following, where e in E are edges in the graph, c e is the cost of edge e and z e is an indicator variable stating whether or not we bought that edge. Notice that since z e is an indicator variable, it will be either 0 or 1. This actually creates an integer program. However, integer programming is prohibitively difficult, so we will look at z e between 0 and 1 inclusive. Acknowledgements I would like to thank Sorelle Friedler for her advice and help, and Professor Walter Stromquist, for recommending valuable references. FoodCaloriesProtein (g)Calcium (mg)Price per serving (cents) Oatmeal (a)110423 Chicken (b)2053212274 Eggs (c)160135413 Milk (d)16082859 Cherry pie (e)42042220


Download ppt "What is Linear Programming? A Linear Program is a minimization or maximization problem, subject to several restraints. Linear programs can be set up for."

Similar presentations


Ads by Google