CS5321 Numerical Optimization

Slides:



Advertisements
Similar presentations
February 14, 2002 Putting Linear Programs into standard form
Advertisements

The simplex algorithm The simplex algorithm is the classical method for solving linear programs. Its running time is not polynomial in the worst case.
Solving LP Models Improving Search Special Form of Improving Search
Linear Programming (LP) (Chap.29)
Introduction to Algorithms
MATHEMATICS 3 Operational Analysis Štefan Berežný Applied informatics Košice
Dragan Jovicic Harvinder Singh
C&O 355 Lecture 4 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Computational Methods for Management and Economics Carla Gomes Module 6b Simplex Pitfalls (Textbook – Hillier and Lieberman)
The Simplex Method: Standard Maximization Problems
The Simplex Algorithm An Algorithm for solving Linear Programming Problems.
CS38 Introduction to Algorithms Lecture 15 May 20, CS38 Lecture 15.
Design and Analysis of Algorithms
Chapter 10: Iterative Improvement
ISM 206 Lecture 3 The Simplex Method. Announcements Homework due 6pm Thursday Thursday 6pm lecture.
ISM 206 Lecture 3 The Simplex Method. Announcements.
MIT and James Orlin © Chapter 3. The simplex algorithm Putting Linear Programs into standard form Introduction to Simplex Algorithm.
LINEAR PROGRAMMING SIMPLEX METHOD.
1. The Simplex Method.
ECE 556 Linear Programming Ting-Yuan Wang Electrical and Computer Engineering University of Wisconsin-Madison March
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
Kerimcan OzcanMNGT 379 Operations Research1 Linear Programming: The Simplex Method Chapter 5.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
Solving Systems Using Elimination
3.3 Implementation (1) naive implementation (2) revised simplex method
 Minimization Problem  First Approach  Introduce the basis variable  To solve minimization problem we simple reverse the rule that is we select the.
Discrete Optimization Lecture #3 2008/3/41Shi-Chung Chang, NTUEE, GIIE, GICE Last Time 1.Algorithms and Complexity » Problems, algorithms, and complexity.
1 1 Slide © 2005 Thomson/South-Western Linear Programming: The Simplex Method n An Overview of the Simplex Method n Standard Form n Tableau Form n Setting.
Chapter 4 Linear Programming: The Simplex Method
The Simplex Algorithm 虞台文 大同大學資工所 智慧型多媒體研究室. Content Basic Feasible Solutions The Geometry of Linear Programs Moving From Bfs to Bfs Organization of a.
1 THE REVISED SIMPLEX METHOD CONTENTS Linear Program in the Matrix Notation Basic Feasible Solution in Matrix Notation Revised Simplex Method in Matrix.
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
MIT and James Orlin © Chapter 3. The simplex algorithm Putting Linear Programs into standard form Introduction to Simplex Algorithm file Simplex2_AMII_05a_gr.
Introduction to Operations Research
An-Najah N. University Faculty of Engineering and Information Technology Department of Management Information systems Operations Research and Applications.
Part 3. Linear Programming 3.2 Algorithm. General Formulation Convex function Convex region.
Hon Wai Leong, NUS (CS6234, Spring 2009) Page 1 Copyright © 2009 by Leong Hon Wai CS6234: Lecture 4  Linear Programming  LP and Simplex Algorithm [PS82]-Ch2.
Linear Programming: Formulations, Geometry and Simplex Method Yi Zhang January 21 th, 2010.
Linear Programming Chap 2. The Geometry of LP  In the text, polyhedron is defined as P = { x  R n : Ax  b }. So some of our earlier results should.
1 Simplex algorithm. 2 The Aim of Linear Programming A Linear Programming model seeks to maximize or minimize a linear function, subject to a set of linear.
Chapter 4 The Simplex Algorithm and Goal Programming
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Chap 10. Sensitivity Analysis
The minimum cost flow problem
Perturbation method, lexicographic method
10CS661 OPERATION RESEARCH Engineered for Tomorrow.
Chapter 4 Linear Programming: The Simplex Method
Chap 9. General LP problems: Duality and Infeasibility
The Simplex Method.
Chapter 5. Sensitivity Analysis
Chap 3. The simplex method
Chapter 3 The Simplex Method and Sensitivity Analysis
Part 3. Linear Programming
Starting Solutions and Convergence
Well, just how many basic
Chapter 8. General LP Problems
Chapter 8. General LP Problems
Part 3. Linear Programming
Chapter 2. Simplex method
Chapter 10: Iterative Improvement
BASIC FEASIBLE SOLUTIONS
Chapter 8. General LP Problems
Practical Issues Finding an initial feasible solution Cycling
Prepared by Po-Chuan on 2016/05/24
Chapter 2. Simplex method
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
Presentation transcript:

CS5321 Numerical Optimization 13 Linear Programming: The Simplex Method 2/23/2019

Minxz=cTx subject to Ax = b, x  0 The standard form The standard form of linear programming is Minxz=cTx subject to Ax = b, x  0 Matrix A is anmn matrix, where m is the number of constraints and n is the number of variables. We assume A has full row rank and m  n. For Axb, add slack variables. Ax − s = b, s  0. For Axb, subtract slack variables Ax + s=b, s  0. 2/23/2019

Geometry of LP Feasible region : the set of all feasible points If  is empty, LP has no solution. (infeasible) If  is nonempty, it is convex. If the object function is unbounded on , LP has no solution. If LP is bounded and feasible, it can have either one or infinitely many solutions. 2/23/2019

Basic feasible point A point x is a basic feasible point (or a vertex of feasible polytope) if it is feasible and is not a linear combination of any other feasible points. If LP has solutions, at least one solution is a basic feasible point. (Theorem 13.2) At a basic feasible point, at least n−m variables are zero. The case it has more than n−m zero variables is called degenerate. 2/23/2019

Basic variable and basis matrix At a basic feasible point, variables that can be uniquely determined are called basic variables. The other are called nonbasic variables. (set to zero.) Let B, N be the index sets for basic/nonbasic variables. Variable x, c, and A can be rearranged according to basic/nonbasic variables. B, an nn nonsingular matrix, is called the basis matrix x = µ B N ¶ ; c A ¡ ¢ 2/23/2019

Simplex multiplier Since xN=0 at a basic feasible point µ B N ¶ ; c A ¡ ¢ Since xN=0 at a basic feasible point Object function: Constraints: The basic variables are and therefore the object function The simplex multiplier is z = c T x B + N A x = B + N b x B = ¡ 1 b z = c T B x ¡ 1 b ¸ = ( c T B ¡ 1 ) 2/23/2019

Pricing Object function could be decreased by changing nonbasic variables, xN. , Plug in , The vector is called pricing. If sN(i)<0, z can be decrease by increasing xN(i). If all sN(i)0, the optimal solution is founded. z = c T x B + N x B = ¡ 1 b N A x = B + N b z = c T B x + N ¡ 1 b ( ) ¸ = ( c T B ¡ 1 ) z = c T B ¡ 1 b + ( N ¸ ) x s N = c ¡ T ¸ 2/23/2019

The ratio test Select q s.t. sN(q)<0 is the smallest element in sN and increase xN(q) until one element in xB, say xB(p), becomes zero. (How to find p?) Need xB(i)  0 for all i. If B−1N(:,q)(i)<0, then xB(i)>0 Only need to consider i for B−1N(:,q)(i)0 What if no such i? the unbounded case x B = ¡ 1 b N ( p r e v i o u s l d . ) : ; q c t p = a r g m i n 1 : ½ ( B ¡ b ) N ; q ¯ ¸ ¾ 2/23/2019

Pivoting Exchange p and q in B,N and update xB, xN and B. Let Update xB = xB− d and xN(q) =  Update B: replace B(p) with N(q) (How about B−1?) It is a rank-1 update. Let B+ be the updated one. The Sherman-Morrison formula d = ( B ¡ 1 N : ; q ) ° b p B + = ( N : ; q ) ¡ e p T ( B + ) ¡ 1 = N : ; q e p T 2/23/2019

The simplex method While (true) Given B,N. xB=B−1b, xN = 0 (Basic feasible point) =B−1cB, sN=cN−NT (Simplex multiplier, pricing) If sN  0, stop (Found an optimal solution) Select q s.t. sN(q)<0, and solve Bd=N(:,q) If d  0, stop (Unbounded case) Compute [,p]=mind(i)>0 xB(i)/d(i) (Ratio test) Update xB=xB− d and xN(p) =  (Pivoting) Exchange p and q in B,N and update matrix B. 2/23/2019

Remaining problems How to find the initial basic feasible point? Two phase algorithm: add more slack variables to make the trivial point (0,…,0) feasible, and solve it until all additional slack variables become zero. How to resolve the degenerate case? In degenerate case, the algorithm might pivot the same p and q repeatedly. Perturb the constraints to avoid the degenerate case. 2/23/2019

Complexity In each iteration, the most time consuming task is pricing, ratio test and update B. O(mn) The number of iterations is less than or equals to the number of basic feasible points, which is The worst case time complexity is exponential. Try n=2m. The number of iterations > 2m. But practically, it terminates in m to 3m iterations. Average case analysis and smoothed analysis. µ n m ¶ = ! ( ¡ ) 2/23/2019