Previously Local sensitivity analysis: having found an optimal basis to a problem in standard form,

Similar documents
Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 16. Dr. Ted Ralphs

Recap, and outline of Lecture 18

An iteration of the simplex method (a pivot )

CSC 8301 Design & Analysis of Algorithms: Linear Programming

Linear Programming. Course review MS-E2140. v. 1.1

Optimization of Design. Lecturer:Dung-An Wang Lecture 8

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

CSE 417 Network Flows (pt 4) Min Cost Flows

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

LECTURES 3 and 4: Flows and Matchings

LP Geometry: outline. A general LP. minimize x c T x s.t. a T i. x b i, i 2 M 1 a T i x = b i, i 2 M 3 x j 0, j 2 N 1. where

Linear Programming Duality and Algorithms

5. DUAL LP, SOLUTION INTERPRETATION, AND POST-OPTIMALITY

Solutions for Operations Research Final Exam

Lesson 17. Geometry and Algebra of Corner Points

ME 391Q Network Flow Programming

5.4 Pure Minimal Cost Flow

Lecture 3: Totally Unimodularity and Network Flows

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Column Generation: Cutting Stock

Math Models of OR: The Simplex Algorithm: Practical Considerations

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

6. Lecture notes on matroid intersection

Artificial Intelligence

Mathematical Tools for Engineering and Management

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

Some Advanced Topics in Linear Programming

Linear Programming. Linear Programming. Linear Programming. Example: Profit Maximization (1/4) Iris Hui-Ru Jiang Fall Linear programming

LECTURE 6: INTERIOR POINT METHOD. 1. Motivation 2. Basic concepts 3. Primal affine scaling algorithm 4. Dual affine scaling algorithm

Generalized Network Flow Programming

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Module 10. Network Simplex Method:

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

1 Bipartite maximum matching

Graphs and Network Flows IE411. Lecture 20. Dr. Ted Ralphs

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Lecture 14: Linear Programming II

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Marginal and Sensitivity Analyses

CSc 545 Lecture topic: The Criss-Cross method of Linear Programming

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

Integer and Combinatorial Optimization: Clustering Problems

Source. Sink. Chapter 10: Iterative Programming Maximum Flow Problem. CmSc250 Intro to Algorithms

Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem

AM 121: Intro to Optimization Models and Methods Fall 2017

Combinatorial Optimization

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way.

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

CSCI 5654 (Fall 2013): Network Simplex Algorithm for Transshipment Problems.

Benders Decomposition

ORF 307: Lecture 14. Linear Programming: Chapter 14: Network Flows: Algorithms

BCN Decision and Risk Analysis. Syed M. Ahmed, Ph.D.

Math 5490 Network Flows

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs

Section Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018

1. What do you get as the integer and noninteger parts if you factor this as we did with our cutting planes:

Convex Optimization CMU-10725

Lecture 18 Solving Shortest Path Problem: Dijkstra s Algorithm. October 23, 2009

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008

LECTURE 13: SOLUTION METHODS FOR CONSTRAINED OPTIMIZATION. 1. Primal approach 2. Penalty and barrier methods 3. Dual approach 4. Primal-dual approach

Design and Analysis of Algorithms (V)

CS 4407 Algorithms Lecture 5: Graphs an Introduction

Linear programming and duality theory

COLUMN GENERATION IN LINEAR PROGRAMMING

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:

A Note on the Separation of Subtour Elimination Constraints in Asymmetric Routing Problems

Lecture Overview. 2 Shortest s t path. 2.1 The LP. 2.2 The Algorithm. COMPSCI 530: Design and Analysis of Algorithms 11/14/2013

The Ascendance of the Dual Simplex Method: A Geometric View

5.3 Cutting plane methods and Gomory fractional cuts

Outline. Combinatorial Optimization 2. Finite Systems of Linear Inequalities. Finite Systems of Linear Inequalities. Theorem (Weyl s theorem :)

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar

Graphs and Network Flows IE411 Lecture 20

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

TIM 206 Lecture Notes Integer Programming

The SYMPHONY Callable Library for Mixed-Integer Linear Programming

Decomposition in Integer Linear Programming

Primal Simplex Algorithm for the Pure Minimal Cost Flow Problem

OPTIMIZATION METHODS

1 Linear programming relaxation

Algorithms for Integer Programming

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

Chapter II. Linear Programming

Lecture Notes 2: The Simplex Algorithm

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

Selected Topics in Column Generation

DETERMINISTIC OPERATIONS RESEARCH

Duality. Primal program P: Maximize n. Dual program D: Minimize m. j=1 c jx j subject to n. j=1. i=1 b iy i subject to m. i=1

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018

DM515 Spring 2011 Weekly Note 7

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Math 414 Lecture 30. The greedy algorithm provides the initial transportation matrix.

Transcription:

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