Recap, and outline of Lecture 20 Previously Local sensitivity analysis: having found an optimal basis to a problem in standard form, if the cost vectors is changed, or if the right-hand side vector is changed, or if a non-basic column in the constraint matrix is changed... under what conditions does the current basis remain optimal, and what should we do if it doesn t? Today More local sensitivity analysis: Adding variables Adding constraints A brief mention of decomposition methods Network flow problems Graphs and networks NFP definition and AMPL modeling tools IOE 510: Linear Programming I, Fall 2010 Outline of Lecture 20 Page 20 1 Sensitivity analysis The setup: (P) min c x (D) max p b s.t. Ax = b s.t. p A c x 0 Useful if Similar instances of the same problem need to be solved repeatedly There is uncertainty in the precise values of some of the data After solving the problem, have a basis B and basic matrix B which are: Primal feasible: xb = B 1 b 0 Dual feasible: c = c p A 0, wherep = c B B 1 If a change in the data is made, does basis B remain primal and dual feasible? IOE 510: Linear Programming I, Fall 2010 Sensitivity analysis Page 20 2
Adding a new variable Suppose a new variable x n+1 is introduced: min c x +c n+1 x n+1 s.t. Ax +A n+1 x n+1 = b x 0, x n+1 0 Is the current basis B still optimal? Note that (x, x n+1 )=(x, 0) is still a BFS of the new problem Variable xn+1 is non-basic For B to remain optimal, we need c n+1 = c n+1 c B B 1 A n+1 0. If c n+1 0, BFS (x, 0) is an optimal solution. If c n+1 < 0, apply continue primal simplex method starting with the current basis B x n+1 would enter the basis in the first iteration IOE 510: Linear Programming I, Fall 2010 Sensitivity analysis Page 20 3 Adding a new inequality constraint Suppose a new constraints a m+1 x b m+1 is added Can be re-written in the form a m+1 x x n+1 = b m+1, x n+1 0 Extension of the current basis: x n+1 is the extra basic variable If B is the new (extended) basic matrix, B 0 B = a, B 1 B 1 0 = 1 a B 1 1 (a is the m-vector of components of a m+1 corresponding to basic variables). Reduced costs: [c, 0] [c B B, 0] 1 0 A 0 a B 1 1 a m+1 1 =[c, 0] [c A 0 B B 1, 0] 1 a m+1 =[c c B B 1 A, 0] = [ c, 0] 0 IOE 510: Linear Programming I, Fall 2010 Sensitivity analysis Page 20 4
Adding a new inequality constraint If a m+1 x b m+1, current (extended) basis is still optimal: Reduced costs of non-basic variables remain the same The (extended) basic solution is feasible If am+1 x < b m+1, current (extended) basic solution is optimal (i.e., dual-feasible), but not primal-feasible Apply dual simplex method IOE 510: Linear Programming I, Fall 2010 Sensitivity analysis Page 20 5 Adding a new equality constraint Suppose a new constraints a m+1 x = b m+1 is added If x satisfies it, x is still an optimal solution If a m+1 x > b m+1 (w.o.l.o.g.). Introduce an auxiliary primal problem: min x n+1 s.t. Ax = b a m+1 x x n+1 = b m+1 x 0 x n+1 0 Aprimalfeasiblebasis sameas B above for the auxiliary problem is available. Apply the two-phase simplex method. IOE 510: Linear Programming I, Fall 2010 Sensitivity analysis Page 20 6
A word about decomposition algorithms Warm-starting an algorithm: using a known solution to a problem instance to initialize an algorithm (e.g., simplex method) for solving another similar instance of the same problem With a warm-start, an algorithm often takes less time than if started from scratch The last two tricks: Ability to warm-start primal simplex method if a new variable is added, and Ability to warm-start dual simplex method if a new constraint is added are used in decomposition approaches for solving large LPs. IOE 510: Linear Programming I, Fall 2010 Decomposition algorithms Page 20 7 A word about decomposition algorithms Column generation Consider a problem with extremely large number of variables, but only a few constraints Example: a version of the radiation treatment planning problem where each variable represents the intensity of a beam aperture, i.e.,aset of beamlets Many examples in combinatorial optimization Only a few variables will be basic at an optimal BFS Solve a restricted version of the problem which includes only a few of the variables If all excluded variables have nonnegative reduced costs, done! If not, include one (or several) with negative reduced costs into the restricted problem Re-solve the updated restricted problem (with warm-started primal simplex); repeat until done. Challenge: finding a variable with a negative reduced cost Called the pricing problem Don t want to check each one individually! Can be done efficiently for some problem classes IOE 510: Linear Programming I, Fall 2010 Decomposition algorithms Page 20 8
A word about decomposition algorithms Constraint generation, or cutting planes Consider a problem with extremely large number of constraints, but only a few variables Example: polyhedral representation of a feasible region of an integer programming problem (IOE 518) Many examples in combinatorial optimization Only a few constraints needed to be active at an optimal BFS Solve a restricted version of the problem which includes only a few of the constraints If all excluded constraints are satisfied, done! If not, include one (or several) violated constraints into the restricted problem Re-solve the updated restricted problem (with warm-started dual simplex); repeat until done. Challenge: finding a constraint violated by the current solution Called the separation problem Don t want to check each one individually! Can be done efficiently for some problem classes IOE 510: Linear Programming I, Fall 2010 Decomposition algorithms Page 20 9 Network flow problems Network flow problems are a special case of linear programming problems Examples include minimum cost flow, shortest path, assignment, transportation, maximum flow, and other problems. They arise naturally in study of problems involving networks: communication, transportation, logistical, etc. Also, can be discovered in models for other problems To solve some of these problems, we will use the simplex method, which becomes especially simple, due to the problem structure; for some, will develop more efficient specialized algorithms. IOE 510: Linear Programming I, Fall 2010 Network flow problems: definitions Page 20 10
Undirected graphs An undirected graph G =(N, E) consists of a set of nodes N and a set of (undirected) arcs or edges E, wheree E is an unordered pair {i, j} of distinct nodes Notation: Number of nodes: N, orn; number of edges: E, or m Arc {i, j} is incident to i and j; theyaretheendpoints of this arc Degree of a node number of edges incident to it A walk from i 1 to i t :afinitesequence{i 1, i 2,...,i t } such that {i k, i k+1 } E, k =1,...,t 1. Awalkisapath if it has no repeated nodes. Awalkisacycle if i 1 = i t and i 1,...,i t 1 form a path (t 4) G is connected if i = j N, there exists a path from i to j. IOE 510: Linear Programming I, Fall 2010 Network flow problems: definitions Page 20 11 Directed graphs An directed graph G =(N, A) consists of a set of nodes N and a set of (directed) arcs A, wherea A is an ordered pair (i, j) of distinct nodes Number of nodes: N, orn; number of arcs: A, orm For a =(i, j), i is the start and j is the end node; it is outgoing from i and incoming into j. I (i) ={j N :(j, i) A}; O(i) ={j N :(i, j) A} A directed graph is connected if the underlying undirected graph is. A walk from i 1 to i t :afinitesequence{i 1, i 2,...,i t } and associated sequence of arcs a 1,...,a t such that for k =1,...,t 1 either a k =(i k, i k+1 )(forward arc) or a k =(i k+1, i k )(backward arc). A path a walk with all nodes on it distinct; A cycle a walk with nodes i 1,...,i t 1 all distinct, and i t = i 1 (can have t = 3) Awalk,pathorcycleisdirected if all arcs are forward. IOE 510: Linear Programming I, Fall 2010 Network flow problems: definitions Page 20 12