Initial feasible origin: 1. Set values of original variables to zero. 2. Set values of slack variables according to the dictionary.

Similar documents
What s Your ORDER? Wellesley College October 6, 2015

Optimization (168) Lecture 7-8-9

Optimisation and Operations Research

The Strong Duality Theorem 1

CS711008Z Algorithm Design and Analysis

Complexity of linear programming: outline

CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017

Part III: A Simplex pivot

The Simplex Algorithm: Technicalities 1

Topics in Theoretical Computer Science April 08, Lecture 8

MS-E2140. Lecture 1. (course book chapters )

4.5 Simplex method. LP in standard form: min z = c T x s.t. Ax = b

Optimisation and Operations Research

MS-E2140. Lecture 1. (course book chapters )

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

Summary of the simplex method

DOWNLOAD PDF LINEAR OPTIMIZATION AND APPROXIMATION

Math 31 Lesson Plan. Day 2: Sets; Binary Operations. Elizabeth Gillaspy. September 23, 2011

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

Today: Linear Programming

Lecture slides by Kevin Wayne

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

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

Lecture 1 Introduction

Theory and Internet Protocols

Linear Programming: Chapter 5 Duality

The simplex algorithm

Lecture 5: Computational Complexity

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

Math 5593 Linear Programming Week 1

Week 2. The Simplex method was developed by Dantzig in the late 40-ties.

The augmented form of this LP is the following linear system of equations:

Summary of the simplex method

Introduction to Linear Programming

CS Algorithms and Complexity

The use of shadow price is an example of sensitivity analysis. Duality theory can be applied to do other kind of sensitivity analysis:

Today s class. Constrained optimization Linear programming. Prof. Jinbo Bi CSE, UConn. Numerical Methods, Fall 2011 Lecture 12

Lecture 11 Linear programming : The Revised Simplex Method

15-780: LinearProgramming

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

December 2014 MATH 340 Name Page 2 of 10 pages

Algorithms 2/6/2018. Algorithms. Enough Mathematical Appetizers! Algorithm Examples. Algorithms. Algorithm Examples. Algorithm Examples

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

LINEAR PROGRAMMING 2. In many business and policy making situations the following type of problem is encountered:

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Motivating examples Introduction to algorithms Simplex algorithm. On a particular example General algorithm. Duality An application to game theory

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 17: Duality and MinMax Theorem Lecturer: Sanjeev Arora

INDR 501 OPTIMIZATION MODELS AND ALGORITHMS. Metin Türkay Department of Industrial Engineering, Koç University, Istanbul

Quantum Computing 101. ( Everything you wanted to know about quantum computers but were afraid to ask. )

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

Review Solutions, Exam 2, Operations Research

MVE165/MMG631 Linear and integer optimization with applications Lecture 5 Linear programming duality and sensitivity analysis

Algorithms and Programming I. Lecture#1 Spring 2015

Linear Programming. H. R. Alvarez A., Ph. D. 1

1. What Is It, and What For?

Lesson 27 Linear Programming; The Simplex Method

Part 1. The Review of Linear Programming

1. Introduction. mathematical optimization. least-squares and linear programming. convex optimization. example. course goals and topics

In Chapters 3 and 4 we introduced linear programming

ORF 363/COS 323 Final Exam, Fall 2018

Introduction to Operations Research

LP. Lecture 3. Chapter 3: degeneracy. degeneracy example cycling the lexicographic method other pivot rules the fundamental theorem of LP

Part 1. The Review of Linear Programming

Lectures 6, 7 and part of 8

CSCI 5654 (Linear Programming, Fall 2013) CSCI 5654: Linear Programming. Notes. Lecture-1. August 29, Notes

CHAPTER 0. Introduction

Algorithms: COMP3121/3821/9101/9801

MAT016: Optimization

The Transform and Conquer Algorithm Design Technique

c) Place the Coefficients from all Equations into a Simplex Tableau, labeled above with variables indicating their respective columns

Discrete Optimization. Guyslain Naves

Extended Algorithms Courses COMP3821/9801

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

CS 6820 Fall 2014 Lectures, October 3-20, 2014

Lab Week 6. Quiz #3 Voltage Divider Homework P11, P12 Kirchhoff's Voltage Law (KVL) Kirchhoff's Current Law (KCL) KCL + KVL Module Report tips

Primal-Dual Interior-Point Methods. Ryan Tibshirani Convex Optimization

OPERATIONS RESEARCH. Linear Programming Problem

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

OPRE 6201 : 3. Special Cases

Ann-Brith Strömberg. Lecture 4 Linear and Integer Optimization with Applications 1/10

The P versus NP Problem. Dean Casalena University of Cape Town CSLDEA001

Lecture 31: Reductions

Contents. 4.5 The(Primal)SimplexMethod NumericalExamplesoftheSimplexMethod

Linear Programming, Lecture 4

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

END3033 Operations Research I Sensitivity Analysis & Duality. to accompany Operations Research: Applications and Algorithms Fatih Cavdur

The Simplex Algorithm and Goal Programming

Primal-Dual Interior-Point Methods. Ryan Tibshirani Convex Optimization /36-725

CS1210 Lecture 23 March 8, 2019

Lecture 10: Powers of Matrices, Difference Equations

PRACTICE FINAL , FALL What will NOT be on the final

A Strongly Polynomial Simplex Method for Totally Unimodular LP

To Infinity and Beyond

3 Does the Simplex Algorithm Work?

Ian Stewart's article "Million-Dollar Minesweeper"

For Integrated Math III Students,

MATH 445/545 Homework 2: Due March 3rd, 2016

Introduction to the Simplex Algorithm Active Learning Module 3

Math 354 Summer 2004 Solutions to review problems for Midterm #1

Transcription:

Initial feasible origin: 1. Set values of original variables to zero. 2. Set values of slack variables according to the dictionary. The problems we have solved so far always had an initial feasible origin. 1. Make up one problem which does NOT have an initial feasible origin. 2.What do you look at in the initial problem to tell if there is an initial feasible origin or not? 1

Office hours: MWR 4:20-5:30 inside or just outside Elliott 162- tell me in class that you would like to attend. For those of you who cannot stay: MWR: 1:30-2:30pm. But let me know 24 hours in advance you would like me to come in early. We will meet outside Elliott 162- Please estimate the length of time you require. I am also very happy to provide e-mail help: (wendym@csc.uvic.ca). Important note: to ensure your e-mail gets through the spam filter, use your UVic account. I answer all e-mails that I receive from my students. 2

George Dantzig: Founder of the Simplex method. http://wiki.hsc.com/wiki/main/convexoptimization 3

In Dantzig s own words: During my first year at Berkeley I arrived late one day to one of Neyman's classes. On the blackboard were two problems which I assumed had been assigned for homework. I copied them down. A few days later I apologized to Neyman for taking so long to do the homework - the problems seemed to be a little harder to do than usual. I asked him if he still wanted the work. He told me to throw it on his desk. I did so reluctantly because his desk was covered with such a heap of papers that I feared my homework would be lost there forever. 4

About six weeks later, one Sunday morning about eight o'clock, Anne and I were awakened by someone banging on our front door. It was Neyman. He rushed in with papers in hand, all excited: "I've just written an introduction to one of your papers. Read it so I can send it out right away for publication." For a minute I had no idea what he was talking about. To make a long story short, the problems on the blackboard which I had solved thinking they were homework were in fact two famous unsolved problems in statistics. 5

John von Neumannn established the theory of duality also in 1947. He made major contributions to a vast number of fields, including mathematics (set theory, functional analysis, ergodic theory, geometry, numerical analysis, and many other mathematical fields), physics (quantum mechanics, hydrodynamics, and fluid dynamics), economics (game theory), computer science (linear programming), and statistics. He is generally regarded as one of the greatest mathematicians in modern history. http://en.wikipedia.org/wiki/john_von_neumann John von Neumann: Dec. 28, 1903 Feb. 8, 1957. 6

His contributions to computer science: mergesort. established game theory as a mathematical discipline. contributions to mathematics of economics. introduced ideas leading to Karmarker s algorithm. developed a fast method for making pseudorandom numbers. first to describe a computer architecture where the data and the program are both stored in the computer's memory in the same address space. designed first template of a computer virus. 7

Other contributions: helped design nuclear bomb. member of committee responsible Hiroshima and Nagasaki as the first targets of the atomic bomb. oversaw computations related to the expected size of the bomb blasts, estimated death tolls, and the distance above the ground at which the bombs should be detonated for optimum shock wave propagation and thus maximum effect. 8

Popularity sky rocketed with it was realized it could be used to solve problems in production management formerly tackled by hit-or-miss or intuitive approaches. Awareness grew of advantages of stating decision problems in well-defined, clear cut terms. The Nobel prize in economics was awarded in 1975 to the mathematician Leonid Kantorovich (USSR) and the economist Tjalling Koopmans (USA) for their contributions to the theory of optimal allocation of resources. 9

The Nobel prize in economics was awarded in 1975 to the mathematician Leonid Kantorovich (USSR) and the economist Tjalling Koopmans (USA) for their contributions to the theory of optimal allocation of resources. Kantorovich: Jan. 19, 1912,- April 7, 1986. Koopmans: Aug. 28, 1910- Feb. 26, 1985. 10

Leonid Khachiyan: May 3, 1952- April 29, 2005. The Simplex method runs very fast in practice but has exponential worst case time. In 1979, Khachiyan presented the first polynomial time algorithm (the ellipsoid method) to solve linear programming problems (but it was not efficient in practice). Leonid Khachiyan was a Soviet mathematician of Armenian descent who taught Computer Science at Rutgers University. 11

Karmarker in 1984 presented the first reasonably efficient algorithm for solving linear programs in polynomial time. Our text: copyright 1983. At the time he discovered the algorithm, Narendra Karmarkar was employed by AT&T. AT&T applied for a patent on Karmarkar's algorithm. This left many mathematicians uneasy, such as Ronald Rivest (himself one of the holders of the patent on the RSA algorithm), who expressed the opinion that research proceeded on the basis that algorithms should be free. The patent was eventually granted but proved to be of limited commercial value. Narendra Karmarkar 1957- http://tetrahedral.blogspot.ca/2010/10/karmarkar-algorithm-algorithms-should.html 12

The Simplex Method (algorithm we are using) How can we solve problems which are not in standard form? How can we prove that the solution is optimal at the end? How can this be implemented in the computer? How can numerical round off errors be mitigated? How long does it take in the worst case? What can we do if we do not have an initial feasible solution? 13

Can we choose an entering variable to make the algorithm terminate faster? How should we try to do that? Can we prove that there always exists a basic feasible solution for feasible problems? If there is more than one optimal solution, what can the solution space look like? How can we analyze problems given that there could be small changes to the constraints (without starting from scratch)? 14

How long does it take in the worst case? Problem:As described, the Simplex method could end up in an infinite loop! For the following linear programming problem, the pivot variable is chosen to be the one with the largest positive coefficient in the z row. After 6 pivots, the dictionary is the same as the one we started with. This results in an infinite loop. The tightest constraint corresponding to the variable with smallest subscript is chosen to enter. 15

16

17

18

19

This is the same as: 20

Using smallest subscript rule instead for the entering variable: 21

22

What caused the infinite loop? For each basis, there is a unique dictionary and value for z. If the value for z increases at each iteration, no dictionary can be repeated and hence, there will be no infinite loop. Degenerate solution: has at least one basic variable with value 0. Degenerate pivot: pivot that does not increase the value for z. Infinite loop: sequence of degenerate pivots. 23

How many different bases can there be if the original problem has n variables and m equations? Example given: n=4, m=3. How can we prove that for each choice of basis, the dictionary for that choice of basis has the same equations? Or equivalently, if the rows/columns are listed in sorted order according to the subscripts of the variables then there is a unique dictionary for each basis. 24

Theorem: Any two dictionaries with the same choice of basis must be the same equations. Proof (by contradiction). Assume not. Consider two dictionaries D and D* which have the same basis. B is the set of subscripts of the basic variables. 25

Dictionary D: x i = b i - j B a ij xj for each i B. ----------------------------------------------------------- z = v + c j xj j B Dictionary D* with the same basis B: x i = b * i - j B a ij xj for each i B. --------------------------------------------------------- z = v * + j B c j xj 26

We get from one dictionary to another by: 1. Adding the same thing to both sides of an equation. 2. Multiplying both sides of an equation by a non-zero constant. 3. Adding a constant multiple of one equation to another one. If you do these operations to a set of equations, the set of solutions is preserved. 27

Operation 3: (1)f(x) = b 1 (2)g(x) = b 2 (3)g(x) + c * f(x) = c* b 1 + b 2 Equations (1) and (2) have exactly the same solutions as equations (1) and (3). If x is a solution to (1) and (2) then clearly it satisfies (3) and hence is a solution to (1) and(3). If x is a solution to (1) and (3), then by (1), c * f(x) = c * b 1 and hence from (3) g(x) = b 2 so it also satisfies (1) and (2). Equations (2) and (3) do not imply (1) if c=0. 28

Choose one non-basic variable x k and set x k =t and set other non-basic variables to zero: Dictionary D: x i = b i - j B a ij xj for each i B. ----------------------------------------------------------- z = v + c j xj j B Dictionary D* with the same basis B: x i = b * i - j B a ij xj for each i B. --------------------------------------------------------- z = v * + c j j B x j 29

Choose one non-basic variable x k and set x k =t and set other non-basic variables to zero: Dictionary D: x i = b i - a ik t for each i B. ----------------------------------------------------------- z = v + c k t Dictionary D* with the same basis B: x i = b i * - a ik * t for each i B. ----------------------------------------------------------- z = v * + c k * t 30

31

What can we conclude from setting t=0? Dictionary D: x i = b i - a ik t for each i B. ----------------------------------------------------------- z = v + c k t Dictionary D* with the same basis B: x i = b i * - a ik * t for each i B. ----------------------------------------------------------- z = v * + c k * t 32

What can we conclude from setting t=1? Dictionary D: x i = b i - a ik t for each i B. ----------------------------------------------------------- z = v + c k t Dictionary D* with the same basis B: x i = b i * - a ik * t for each i B. ----------------------------------------------------------- z = v * + c k * t 33

What can we conclude from trying all choices for a non-basic variable x k? Dictionary D: x i = b i - a ik t for each i B. ----------------------------------------------------------- z = v + c k t Dictionary D* with the same basis B: x i = b i * - a ik * t for each i B. ----------------------------------------------------------- z = v * + c k * t 34

What can we do to stop our programs from going into an infinite loop? 35