The Simplex Algorithm for LP, and an Open Problem

Similar documents
Linear Programming and its Applications

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

Linear Programming in Small Dimensions

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

Introduction to Linear Programming

Linear Programming. Readings: Read text section 11.6, and sections 1 and 2 of Tom Ferguson s notes (see course homepage).

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

Linear programming and duality theory

6. Lecture notes on matroid intersection

Applications of Linear Programming

6 Randomized rounding of semidefinite programs

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Convex Optimization CMU-10725

5. Lecture notes on matroid intersection

CMPSCI611: The Simplex Algorithm Lecture 24

What s Linear Programming? Often your try is to maximize or minimize an objective within given constraints

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

Chapter 1 Linear Programming. Paragraph 4 The Simplex Algorithm

Lecture 2 - Introduction to Polytopes

Chapter 16. Greedy Algorithms

Advanced Algorithms Linear Programming

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

11.1 Facility Location

1. Lecture notes on bipartite matching February 4th,

An example of LP problem: Political Elections

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

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29

Solving Linear Programs Using the Simplex Method (Manual)

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

Linear Programming Terminology

Lecture Notes 2: The Simplex Algorithm

(67686) Mathematical Foundations of AI July 30, Lecture 11

The Simplex Algorithm

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

Outline of this Talk

3 No-Wait Job Shops with Variable Processing Times

Linear Programming Motivation: The Diet Problem

Approximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs

Artificial Intelligence

4 Integer Linear Programming (ILP)

Integer Programming Theory

Discrete Optimization. Lecture Notes 2

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

Math 5593 Linear Programming Lecture Notes

Approximation Algorithms

R n a T i x = b i} is a Hyperplane.

1. Lecture notes on bipartite matching

Design and Analysis of Algorithms (V)

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

Subexponential Lower Bounds for the Simplex Algorithm

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

5.3 Cutting plane methods and Gomory fractional cuts

Chapter 15 Introduction to Linear Programming

Circuit Walks in Integral Polyhedra

The Simplex Algorithm

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

Approximation Algorithms

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

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

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn

An iteration of the simplex method (a pivot )

Graphs that have the feasible bases of a given linear

The Affine Scaling Method

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

J Linear Programming Algorithms

CAP 5993/CAP 4993 Game Theory. Instructor: Sam Ganzfried

AMATH 383 Lecture Notes Linear Programming

Lec13p1, ORF363/COS323

16.410/413 Principles of Autonomy and Decision Making

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

LECTURES 3 and 4: Flows and Matchings

Trapezoidal decomposition:

Lesson 17. Geometry and Algebra of Corner Points

Online Appendix: A Stackelberg Game Model for Botnet Data Exfiltration

Exercises Computational Complexity

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 50

CS612 Algorithms for Electronic Design Automation

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

Linear Programming. them such that they

4.1 Graphical solution of a linear program and standard form

Subexponential lower bounds for randomized pivoting rules for the simplex algorithm

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

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 1: Introduction to Optimization. Instructor: Shaddin Dughmi

Algorithmic Game Theory and Applications. Lecture 6: The Simplex Algorithm

MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

A Subexponential Randomized Simplex Algorithm

OPERATIONS RESEARCH. Linear Programming Problem

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

Linear Programming 1

Chapter 29 Linear Programming 771. policy urban suburban rural build roads gun control farm subsidies 0 10 gasoline tax

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

3. The Simplex algorithmn The Simplex algorithmn 3.1 Forms of linear programs

Gift Wrapping for Pretropisms

6.856 Randomized Algorithms

Transcription:

The Simplex Algorithm for LP, and an Open Problem

Linear Programming: General Formulation Inputs: real-valued m x n matrix A, and vectors c in R n and b in R m Output: n-dimensional vector x There is one constraint per row of A, m constraints in total

The Simplex Algorithm let v be any vertex of the feasible region while v is not optimal find neighbor vʹ of v with a better objective value (or determine that the feasible region is unbounded) set v = vʹ output v Vertex: a point at the intersection of n or more facets, i.e., (n-1)- dimensional hyperplanes Edge: the intersection of (n-1) facets Neighbours: a pair of vertices connected by an edge

The Simplex Algorithm

The Simplex Algorithm Algorithmic implementation issues: How do we find an initial feasible v? (Or determine that the feasible region is empty) How do we determine whether v is optimal? How do we find a neighbor v' of v with better objective value?

The Simplex Algorithm Algorithmic implementation issues: How do we find an initial feasible v? (Or determine that the feasible region is empty) How do we determine whether v is optimal? How do we find a neighbor v' of v with better objective value? We'll start with simplifying assumptions: Our feasible v is at the origin Also, v is not degenerate: it isthe intersection of exactly n facets

The Simplex Algorithm Algorithmic implementation issues: How do we find an initial feasible v? (Or determine that the feasible region is empty) How do we determine whether v is optimal? How do we find a neighbor v' of v with better objective value? Now let s remove our assumptions: v is not at the origin v is degenerate

The Simplex Algorithm If v is not at the origin, we simply shift our coordinate system! For each of the n linearly independent facets defining v, let yi = bi - ai x Describe all of the constraints and objective function in terms of the yi's rather than the xi's The constraint "ai x bi" becomes "yi 0 ; as a result v shifts to 0

The Simplex Algorithm What if v is degenerate? Pick any n of the facets. Then apply the algorithm just as before. That is, relax one of the current n facets, identify a new facet that blocks improvement, and replace the relaxed one with this new blocking one. Perhaps surprisingly, we will not run into an infinite loop! (Proof omitted)

An Open Problem: Stochastic Games Generalization of Markov Decision Processes Applications in economics, evolutionary biology, computer networks

Stochastic Games Consider a directed graph with Decision, Random, and Sink nodes as before, but also now with Adversary nodes. This models a zero sum game involving two players: Decider and Adversary. A policy D of the Decider is simply a choice of one edge from each decision node, and a policy A of the Adversary is one edge from each Adversary node

Stochastic Games Decider wins if the win sink node n is reached, otherwise Adversary wins, i.e. when the lose sink node n-1 is reached Again assume that any run of the process halts with probability 1, for any policies of the players We want to find a policy D that maximizes Decider's chance of winning, assuming that Adversary uses a policy A that minimizes Decider's chance of winning

Stochastic Games Let w D,A (i) be the probability that Decider wins if policies D and A are used and the game starts at node i A min-max theorem holds for stochastic games: for any node i, max D min A w D,A (i) = min A max D w D,A (i) Mixed" policies that assign probabilities to edges from Decision and Adversary nodes are no better than the pure policies we've defined

Stochastic Games Optimal policies are independent of the starting node: there are policies D* and A* such that for all nodes i, w D*,A* (i) = max D min A w D,A (i) = min A max D w D,A (i) With these optimal policies, value w D*,A* (i) of node i is the max of its children s values if i is a Decision node the min of its children s values if i is an Adversary node the average of its children s values if i is a Random node 0 if i is the lose sink node n-1 and 1 if i is the win sink node n

Stochastic Games Exercise: For a fixed policy A of the Adversary, how can we can find an optimal policy D of the Decider in polynomial time? Exercise: For a fixed policy D of the Decider, how can we find an optimal policy A of the Adversary in polynomial time?

Stochastic Games Exercise: How to find optimal policies of both players (not necessarily in polynomial time)?

Stochastic Games Exercise: How to find optimal policies of both players (not necessarily in polynomial time)? Exhaustive search, using min-max theorem: max D min A w D,A (i) = min A max D w A,D (i) For each fixed D, find the optimal A, i.e. the A that minimizes min A w D,A (i) for all i. Choose the D* that maximizes these quantities.

Stochastic Games Exercise: How to find optimal policies of both players (not necessarily in polynomial time)? Extended Policy iteration: Starting with an arbitrary policy D, find the optimal A Then switch the decision of D at a node if it improves the winning probabilities Repeat until no further improvement is possible Once again, this "local search" approach yields globally optimal policies

Stochastic Games No polynomial time algorithm is known to find optimal policies of stochastic games Consider the decision problem: Does Decider win with probability at least 1/2 from a given start node? The decision problem is in NP (why?) AND the complement of the decision problem is in NP! Thus the problem is in NP intersection co-np, and thus unlikely to be NP-complete

LP Wrap-up Linear Programming algorithms are useful for solving a broad array of optimization problems, with many available solvers that use interior point methods or simplex