Notes taken by Graham Taylor. January 22, 2005

Similar documents
3. Vector spaces 3.1 Linear dependence and independence 3.2 Basis and dimension. 5. Extreme points and basic feasible solutions

TIM 206 Lecture 3: The Simplex Method

Ω R n is called the constraint set or feasible set. x 1

Simplex Method for LP (II)

Lecture slides by Kevin Wayne

Linear Programming. Linear Programming I. Lecture 1. Linear Programming. Linear Programming

LINEAR PROGRAMMING I. a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm

Chapter 3, Operations Research (OR)

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

The simplex algorithm

CSCI 1951-G Optimization Methods in Finance Part 01: Linear Programming

x 1 + x 2 2 x 1 x 2 1 x 2 2 min 3x 1 + 2x 2

Math 273a: Optimization The Simplex method

AM 121: Intro to Optimization

1 The linear algebra of linear programs (March 15 and 22, 2015)

DS-GA 1002 Lecture notes 0 Fall Linear Algebra. These notes provide a review of basic concepts in linear algebra.

Standard Form An LP is in standard form when: All variables are non-negativenegative All constraints are equalities Putting an LP formulation into sta

Chapter 5 Linear Programming (LP)

1 Review Session. 1.1 Lecture 2

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #06. The Simplex Method

Linear Programming Redux

CSC Linear Programming and Combinatorial Optimization Lecture 10: Semidefinite Programming

CS261: A Second Course in Algorithms Lecture #9: Linear Programming Duality (Part 2)

Supplementary lecture notes on linear programming. We will present an algorithm to solve linear programs of the form. maximize.

The Simplex Method for Solving a Linear Program Prof. Stephen Graves

3. Linear Programming and Polyhedral Combinatorics

3. Linear Programming and Polyhedral Combinatorics

Chapter 2: Linear Programming Basics. (Bertsimas & Tsitsiklis, Chapter 1)

Linear and Integer Programming - ideas

Summary of the simplex method

Linear Programming and its Extensions Prof. Prabha Shrama Department of Mathematics and Statistics Indian Institute of Technology, Kanpur

Chapter 1. Preliminaries

Lecture 1: Review of linear algebra

1 Overview. 2 Extreme Points. AM 221: Advanced Optimization Spring 2016

Contents. 4.5 The(Primal)SimplexMethod NumericalExamplesoftheSimplexMethod

Appendix PRELIMINARIES 1. THEOREMS OF ALTERNATIVES FOR SYSTEMS OF LINEAR CONSTRAINTS

Lecture 2: The Simplex method

3 The Simplex Method. 3.1 Basic Solutions

Review Notes for Linear Algebra True or False Last Updated: February 22, 2010

BBM402-Lecture 20: LP Duality

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

Linear Programming. Murti V. Salapaka Electrical Engineering Department University Of Minnesota, Twin Cities

Introduction to optimization

Lecture Summaries for Linear Algebra M51A

1. Algebraic and geometric treatments Consider an LP problem in the standard form. x 0. Solutions to the system of linear equations

Lecture #21. c T x Ax b. maximize subject to

LECTURE 6: VECTOR SPACES II (CHAPTER 3 IN THE BOOK)

Lecture 10: Linear programming. duality. and. The dual of the LP in standard form. maximize w = b T y (D) subject to A T y c, minimize z = c T x (P)

Lecture 9 Tuesday, 4/20/10. Linear Programming

ORIE 6300 Mathematical Programming I August 25, Recitation 1

Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004

CSC Linear Programming and Combinatorial Optimization Lecture 12: The Lift and Project Method

Lecture: Algorithms for LP, SOCP and SDP

ORF 522. Linear Programming and Convex Analysis

Lecture 2: Linear Algebra

Algebraic Methods in Combinatorics

Linear Programming and the Simplex method

Linear Programming. 1 An Introduction to Linear Programming

Linear Algebra Review: Linear Independence. IE418 Integer Programming. Linear Algebra Review: Subspaces. Linear Algebra Review: Affine Independence

A Review of Linear Programming

Distributed Real-Time Control Systems. Lecture Distributed Control Linear Programming

Chap6 Duality Theory and Sensitivity Analysis

Algebraic Methods in Combinatorics

Lecture 10: Linear programming duality and sensitivity 0-0

2.098/6.255/ Optimization Methods Practice True/False Questions

IE 5531: Engineering Optimization I

IE 400: Principles of Engineering Management. Simplex Method Continued

Lecture 2 Systems of Linear Equations and Matrices, Continued

Chapter 1 Linear Programming. Paragraph 5 Duality

Vector spaces. EE 387, Notes 8, Handout #12

Lecture 6 Simplex method for linear programming

The Simplex Algorithm

MAT-INF4110/MAT-INF9110 Mathematical optimization

Notes on Row Reduction

Game Theory. Greg Plaxton Theory in Programming Practice, Spring 2004 Department of Computer Science University of Texas at Austin

Linear Programming: Simplex

3. THE SIMPLEX ALGORITHM

Definition 2.3. We define addition and multiplication of matrices as follows.

CO350 Linear Programming Chapter 6: The Simplex Method

TRANSPORTATION PROBLEMS

15.083J/6.859J Integer Optimization. Lecture 10: Solving Relaxations

Chapter 1: Systems of Linear Equations

3.7 Cutting plane methods

Ma 322 Spring Ma 322. Jan 18, 20

Prelude to the Simplex Algorithm. The Algebraic Approach The search for extreme point solutions.

Note 3: LP Duality. If the primal problem (P) in the canonical form is min Z = n (1) then the dual problem (D) in the canonical form is max W = m (2)

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

9.1 Linear Programs in canonical form

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

Review of Matrices and Block Structures

Spring 2017 CO 250 Course Notes TABLE OF CONTENTS. richardwu.ca. CO 250 Course Notes. Introduction to Optimization

LP Duality: outline. Duality theory for Linear Programming. alternatives. optimization I Idea: polyhedra

More First-Order Optimization Algorithms

Lecture Notes for CAAM 378 A Quick Introduction to Linear Programming (DRAFT) Yin Zhang

CO350 Linear Programming Chapter 8: Degeneracy and Finite Termination

MATH2070 Optimisation

The Primal-Dual Algorithm P&S Chapter 5 Last Revised October 30, 2006

Midterm Review. Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A.

Math 2174: Practice Midterm 1

Math 4A Notes. Written by Victoria Kala Last updated June 11, 2017

Transcription:

CSC4 - Linear Programming and Combinatorial Optimization Lecture : Different forms of LP. The algebraic objects behind LP. Basic Feasible Solutions Notes taken by Graham Taylor January, 5 Summary: We first describe different forms of linear programming, including the standard and canonical forms. The concept of basic feasible solutions is introduced, and we discuss the basic algebraic objects behind LP which will lead to the Simplex method for solving LP. Overview In the previous lecture, we introduced the notion of optimization problems. Figure shows several families and examples of optimization problems. In this course, we will focus on the relationship between Linear Programming (a family of continuous optimization problems and certain finite domain problems. Specifically, we will examine methods of approximating solutions to the latter problems through tools developed for the former. Forms of Linear Programming Recall, from the previous lecture, the linear programming problem n min c j x j j= n a ij x j b i j= x j. for i =... m Lecture Notes for a course given by Avner Magen, Dept. of Computer Sciecne, University of Toronto.

Optimization Problems finite domain (MST, TSP, etc... continuous domain (mathematical programming, etc... Convex optimization relationship Linear programming Figure : Types of optimization problems Another way to write this is min c, x a i, x b i for i =... m a i R n x, where, specifies the dot product. An even more compact form is min c, x Ax b x. Definition.. An LP is said to be in standard form if it is written as min c, x Ax = b x.

An LP is said to be in canonical form if it is written as min c, x Ax b x. There are many other conventions, but these two will be the ones of interest for this course. The most general form will contain some inequalities, some equalities, some non-negative variables and some unconstrained variables. a i, x = b i, i E, a i, x b i, i I +, a i, x b i, i I, x j, x j, j N. j U, (uncostrained It is useful to know how to move from an LP in the general form (as above to standard form. First we need to eliminate inequality constraints. Given an inequality constraint a i, x b i, we introduce the slack variable y i and write a i, x + y i = b i, y i. Since a i, x b i is equivalent to a i, x b i, this also covers the other type of inequality. To attain standard form, we also must eliminate unconstrained variables of the form x j. Notice that any real number can be presented as a difference of two nonnegative numbers, hence we may replace x j by x + j x j, when x+ j, x j. We replace every occurrence of x j with x + j x j. Example.. Consider the LP max x + 3x x x x x. Convert to standard form. First we attempt to convert the inequality constraints to equality constraints by introducing the surplus variable, y. max x + 3x x x y = x x y. 3

Next we replace the unconstrained variable x by x + and x. max x + x + 3x x + x x y = x +, x, x, y. Finally, we convert the maximization problem to a minimization problem as follows min x + + x 3x x + x x y = x +, x, x, y. since max c, x = min c, x. Basic Feasible Solutions Let us now consider the linear system of equations Ax = b where A has m rows and n columns. We next show that we may assume that matrix A has full row rank. In particular, m n. The rank of a matrix is the dimension of the linear space spanned by its rows, and also the dimension of the linear space spanned by its columns. We may also say that m = rank(a n. Example.3. Consider the system of equations x + x = 5 x + x 3 = 8 3x + 5x + x 3 =?. The missing value can either have value = 3 or 3. In the former case, the third equation is redundant. In the latter case, the system is inconsistent. We will now introduce the notation A i to mean the ith row of A and similarly, A j to mean the jth column of A. We now formally prove the assumption about A. Suppose there is a row A i that is linearly dependent on the rest of the rows. A i = j i λ ja j, then for any solution x, we have b i = A i, x = j i λ j A j, x = λ j A j, x = λ j b j. So if b i = λ j b j then the i th equation is redundant. Otherwise, no x satisfies the system. These two cases are easily detected by Gaussian elimination. In the former 4

case, this row can be removed. In the latter case, we will just state that the system is infeasible and stop. Equipped with this assumption let s start with a fairly trivial situation in which m = n. Notice that in this event A is a nonsingular square matrix, and so Ax = b has a unique solution, x = A b. If x then that is the only solution to the system, and otherwise, the system is infeasible. We use this simple observation to characterize a certain (finite set of feasible solutions that will play a vital role in the following discussion. Before we go on we require the following. Definition.4. Let P = {x x, Ax = b} be called the set of feasible solutions. A solution to the system satisfies j x ja j = b. Let s pick a set I {,..., n} such that A j, j I is a set of linearly independent columns. There is at least one such set, since rank(a = m. We associate with I a vector x, for which for every j / I, x j =. By the linear independence of the columns A j, j I, we know that there is exactly one solution to the rest of the veraibales that will satisfy Ax = b. Formally, if we let A I be the matrix restircted to the columnes in I, and x I to be the vector x restriced to the indices in I, then we define the vector x so that x I = A I b and x I = (notice that by definition, A I is a square nonsingular matrix. Definition.5. A vector x defined as above is called a basic solution associated with I. If x, then we get that x P and we call it Basic Feasible Solution. We now consider an example of a procedure that generates basic feasible solutions. Example.6. Consider the LP min x, (,, T Ax = b where ( A = First, we choose I = {, 3} so We have ( ( ( x 4 = x 3 7 Next, we choose I = {, 3} so A I = ( 4, b = 7 (. ( ( x 4 = x 3 3. x = 4 3. 5

( A I =. We have ( ( ( x 4 = x 3 7 ( ( x = x 3 3 x = In the above example, we were fortunate to get y. Otherwise the solutions would not have been feasible. To motivate the concept of bfs, we state Claim.7. It will be proven later in our discussion. Claim.7. If an LP in standard form has an optimal solution, it has one which is a basic feasible solution. What does Claim.7 tells us? Instead of the initial infinite domain, we may restrict our attention to a special finite set of bfs. Consequently, there is a brute force algorithm that finds an optimal solution to an LP, provided an optimal solution exists. Algorithm.8 (Brute force. 3. Input: A, c, b Initialize: Cost, Z = For all subsets I {,..., n} of size m, do Check if A I is nonsingular If it is, check if A I b If so, let x be the corresponding bfs, do If x, c < Z Set Z = x, c x best = x Output: x best corresponding to the current best solution. When considering the running time, note that we have ( n m iterations, which for m = n/, say, is exponential in the size of n. This is indeed a good estimation to the running time, since the involved calculation does not contain extremely large numbers as is suggested by the following claim, which was given in Assignment, question 3a. Claim.9. The size of representation of a bfs is polynomial in the size of the input of the LP. Definition.. We call x P extreme if it is not the average of two points, y, z P ; y, z x. Specifically, if x is the average of two points y, z, we mean any convex combination x = λy + ( λz where x y z. 6

For example, the extreme points in [, ] are {, }. Also, is the extreme point of {x }. Example.. Consider the set of real values, { x }. The extreme points are { x = }. Example.. Consider a polygon in -D (Figure. Its extreme points are its vertices. Figure : Extreme points example: -d polygon Lemma.3. x is a bfs iff x is extreme. Proof. Part. bfs extreme Assume x is a bfs and is the average of two points, y and z x = λy + ( λz, < λ < y, z P. Equivalently, j, x j = λy j + ( λz j. For j / I we have = x j = λy j + ( λz j but y j, z j. Therefore y j = z j =, for j / I. So y j = z j = B b = x i, for j I and we have x = y = z. It follows that x is extreme. Part. extreme bfs We first claim that x is a bfs iff J = {j x j > } corresponds to a set of linearly independent columns. If this set is not independent it is immediate that x is not a bfs and if it is independent then simple linear algebra shows that there is a way to extetend the set of columns corresponding to J to a set of linearly independent columns, 7

corresponding to a set I, I = m, I J. Clearly, x is a bfs with a corresponding basis I. Assume x is not a bfs. Let J = {j x j > }. We know that x P such that the columns A i for x i > are linearly independent iff x is a bfs. Therefore, the columns in A J are linearly dependent. and so there is a nonzero vector v that is outside J so that Av =. We have A(x ± λv = Ax ± λav = Ax = b. In other words, x±λv is a solution to the system Ax = b. For small enough λ >, both x + λv, x λv. Hence x ± λv P. Since x = (x + λv + (x λv, x }{{} }{{} =y =z is not extreme. Claim.4. If x is a bfs, then there is a choice of vector c such that x, c < y, c, y P. A I x * * * * c Figure 3: Choosing the objective function, c Proof. Since x is a bfs, x j =, for j / I. We choose c such that c j =, for j I, and c j =, for j / I. Clearly x, c =. If y x, then y I (otherwise y I = x I and so y = x but since y I we get y, c = j I y j > and so y, c > = x, c. Notice that the reverse direction is obvious, since if x is not a bfs, it is the average of y, z and so cannot achieve strictly smaller value than both. We now set out to prove Claim.7. Proof. Assume that we have an optimal solution, x. If x is a bfs, then we are done. Otherwise, we may find a bfs through the following iterative procedure. Start with the initial solution, call it x Let J = { j x j > }. If A j, j J are linearly independent, stop: x is a bfs. Otherwise, choose v (as in Lemma.3 such that Av = and v j =, if x j =. Let k be the index for which and set λ = x k v k x k v k = min 8 j:v j x j v j,

Set x = x + λv. We can easily verify that Repeat. x (hence x P, x k =, x j =, for j / J. This process ends when J is a set of indices for independent columns of A (notice that we may end up with J = φ, in which case we know that x = P, and this is a bfs. We are left with showing that the bfs is as good as the optimal solution we started with. Indeed, at every iteration in the above procedure, the objective function changes by c, λv which, by the following claim, is. Claim.5. c, v = Proof. Assume x is the optimal solution. For λ > small enough, x ± λv P, c, x ± λv = c, x ± λ c, v Since λ, c, v would change the value of the optimal solution at x. We now turn to an example to illustrate the process of finding a bfs. Example.6. Given system Ax = b A = where 3 3 5 8, b = 9 8 9, and initial solution x = find a bfs. Step. J = {,, 3, 4} (only the last element of x is zero. A J is not linearly independent, so we choose v = (,,,, T such that Av = and v 5 =. Next we choose λ by comparing the ratios x j /v j for v j 3 4, x v = x v = 3 x 3 v 3 = 4, and a minimum is found for j =, so we set λ =. 9

x = x + λv = 3 4 + ( = 5. Step. J = {, 3, 4} (the first and last elements of x are zero. A J is not linearly independent, so we choose v = (,,,, T such that Av = and v, v 5 =. Next we choose λ by comparing the ratios x j /v j for v j x v = x 3 v 3 = 5 x 4 v 4 =. We see that there is a tie for the minimum at j =,j = 4 and so λ =. x = x + λv = 5 + = 9. We are left with only one column of A, corresponding to the x j at j = 3. This single vector is obviously linearly independent, so our solution, x = (,, 9,, T is a bfs.