Discrete 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.
Linear Programming (LP) (Chap.29)
Linear Programming – Simplex Method
Linear Programming Simplex Method
Introduction to Algorithms
Chapter 6 Linear Programming: The Simplex Method
Linear Programming Fundamentals Convexity Definition: Line segment joining any 2 pts lies inside shape convex NOT convex.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Operation Research Chapter 3 Simplex Method.
Design and Analysis of Algorithms
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.
1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.
Chapter 10: Iterative Improvement
5.6 Maximization and Minimization with Mixed Problem Constraints
C&O 355 Lecture 2 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
1. The Simplex Method.
Computational Geometry Piyush Kumar (Lecture 5: Linear Programming) Welcome to CIS5930.
Linear Programming Piyush Kumar. Graphing 2-Dimensional LPs Example 1: x y Feasible Region x  0y  0 x + 2 y  2 y  4 x  3 Subject.
1 Linear programming Linear program: optimization problem, continuous variables, single, linear objective function, all constraints linear equalities or.
ECE 556 Linear Programming Ting-Yuan Wang Electrical and Computer Engineering University of Wisconsin-Madison March
Solving Linear Programming Problems: The Simplex Method
The Simplex Algorithm 虞台文 大同大學資工所 智慧型多媒體研究室. Content Basic Feasible Solutions The Geometry of Linear Programs Moving From Bfs to Bfs Organization of a.
§1.4 Algorithms and complexity For a given (optimization) problem, Questions: 1)how hard is the problem. 2)does there exist an efficient solution algorithm?
The Simplex Algorithm 虞台文 大同大學資工所 智慧型多媒體研究室. Content Basic Feasible Solutions The Geometry of Linear Programs Moving From Bfs to Bfs Organization of a.
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.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
L15 LP Problems Homework Review Why bother studying LP methods History N design variables, m equations Summary 1.
Linear Programming for Solving the DSS Problems
Linear Programming Many problems take the form of maximizing or minimizing an objective, given limited resources and competing constraints. specify the.
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Solving Linear Program by Simplex Method The Concept
The basis of the whole field of operations research
Lap Chi Lau we will only use slides 4 to 19
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Optimization Problems
ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS
Algorithms in the Real World
Topics in Algorithms Lap Chi Lau.
Perturbation method, lexicographic method
The Simplex Method The geometric method of solving linear programming problems presented before. The graphical method is useful only for problems involving.
10CS661 OPERATION RESEARCH Engineered for Tomorrow.
Linear programming Simplex method.
Chapter 6 Linear Programming: The Simplex Method
Gomory Cuts Updated 25 March 2009.
Linear Programming.
Chapter 4 Linear Programming: The Simplex Method
The Simplex Method.
Chap 3. The simplex method
Chapter 3 The Simplex Method and Sensitivity Analysis
Dual simplex method for solving the primal
Solving Linear Programming Problems: Asst. Prof. Dr. Nergiz Kasımbeyli
Starting Solutions and Convergence
Well, just how many basic
CISC5835, Algorithms for Big Data
The Simplex Method The geometric method of solving linear programming problems presented before. The graphical method is useful only for problems involving.
Linear programming Simplex method.
ISyE 4231: Engineering Optimization
Chapter 2. Simplex method
Simplex method (algebraic interpretation)
Chapter 10: Iterative Improvement
BASIC FEASIBLE SOLUTIONS
Practical Issues Finding an initial feasible solution Cycling
Chapter 2. Simplex method
Part 4 Nonlinear Programming
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
Linear Constrained Optimization
Presentation transcript:

Discrete Optimization MA2827 Fondements de l’optimisation discrète https://project.inria.fr/2015ma2827/ Material from P. Van Hentenryck’s course

Outline Linear Programming Mixed Integer Program Examples (TSP, Knapsack)

What is a linear program?

What is a linear program? n variables, m constraints Variables are non-negative Inequality constraints

What is a linear program? What about maximization? solve What if a variable can take negative values? replace xi by Equality constraints? use two inequalities Variables taking integer values? mixed integer programming

Geometrical view First, convex sets

Geometrical view First, convex sets

Geometrical view Convex combinations

Geometrical view Convex sets The intersection of convex sets is convex A set S in Rn is convex if it contains all the convex combinations of the points in S The intersection of convex sets is convex Proof ?

Geometrical view A half space is a convex set Polyhedron: intersection of set of half spaces (also convex). If finite, polytope

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view

Geometrical view Theorem: At least one of the points where the objective value is minimal is a vertex Proof ?

Geometrical view

Geometrical view How to solve a linear program? Enumerate all the vertices Select the one with the smallest objective value

Algebraic view The simplex algorithm Invented by G. Dantzig A more intelligent way of exploring the vertices Invented by G. Dantzig Exponential worst-case, but works well in practice

Simplex algorithm Outline An optimal solution is at a vertex A vertex is a basic feasible solution (BFS) You can move from one BFS to a neighboring BFS You can detect whether a BFS is optimal From any BFS, you can move to a BFS with better a cost

Basic feasible solution (BFS)

Basic feasible solution (BFS)

Basic feasible solution (BFS)

Basic feasible solution (BFS)

Basic feasible solution (BFS)

Basic feasible solution (BFS)

Basic feasible solution (BFS)

Basic feasible solution (BFS)

Basic feasible solution (BFS)

Basic feasible solution (BFS)

Basic feasible solution (BFS) Select m variables Will be the basic variables Re-write them using only non-basic variables Gaussian elimination If all the b’s are non-negative We have a BFS

Basic feasible solution (BFS) But we do not have equalities

Basic feasible solution (BFS) But we do not have equalities Slack variables

Basic feasible solution (BFS) Re-write the constraints as equalities With slack variables Select m variables Will be the basic variables Re-write them using only non-basic variables Gaussian elimination If all the b’s are non-negative We have a BFS

Naïve algorithm Generate all basic feasible solutions i.e., select m basic variables, perform Gaussian elim. test whether it is feasible Select the BFS with the best cost But, Can we explore this space more efficiently?

Simplex algorithm Outline An optimal solution is at a vertex A vertex is a basic feasible solution (BFS) You can move from one BFS to a neighboring BFS You can detect whether a BFS is optimal From any BFS, you can move to a BFS with better a cost

Simplex algorithm Local search algorithm Move from BFS to BFS Guaranteed to find a global optimum Due to convexity Key idea: How do we do this move operation?

Simplex algorithm

Simplex algorithm Move to another BFS (local search) Select a non-basic variable with negative coeff. (entering variable) Replace a basic variable with this selection (leaving variable) Perform Gaussian elimination

Simplex algorithm

Simplex algorithm

Simplex algorithm

Simplex algorithm

Simplex algorithm

Simplex algorithm

Simplex algorithm

Simplex algorithm Move to another BFS: Select the entering variable xe Non-basic variable with negative coeff. Select the leaving variable xl to maintain feasibility Apply Gaussian elimination i.e., eliminate xe from the the right hand side Pivot(e,l)

Simplex algorithm Outline An optimal solution is at a vertex A vertex is a basic feasible solution (BFS) You can move from one BFS to a neighboring BFS You can detect whether a BFS is optimal From any BFS, you can move to a BFS with better a cost

Simplex algorithm A BFS is optimal if the objective function, after eliminating all the basic variables is

Simplex algorithm Example

Simplex algorithm Example

Simplex algorithm

Simplex algorithm

Simplex algorithm

Simplex algorithm

Simplex algorithm

Simplex algorithm Outline An optimal solution is at a vertex A vertex is a basic feasible solution (BFS) You can move from one BFS to a neighboring BFS You can detect whether a BFS is optimal From any BFS, you can move to a BFS with better a cost

Simplex algorithm Local move improves the objective value In a BFS, assume that b1 > 0, b2 > 0, …, bm > 0 there exists an entering variable e with ce < 0 Then, the move pivot(e,l) is improving

Simplex algorithm If Algorithm terminates with an optimal solution b1, b2, …, bm are strictly positive objective function is bounded below Algorithm terminates with an optimal solution

Simplex algorithm Selecting the leaving variable No leaving variable!

Simplex algorithm Basic solution What if I increase the value of x1 Solution remains feasible, but Value of objective function decreases

Simplex algorithm Another issue: What if some bi becomes zero? Leaving variable: x2

Simplex algorithm Outline An optimal solution is at a vertex A vertex is a basic feasible solution (BFS) You can move from one BFS to a neighboring BFS You can detect whether a BFS is optimal From any BFS, you can move to a BFS with better a cost Need to find a new way to guarantee termination

Simplex algorithm Termination Bland rule: select always the first entering variable lexicographically Lexicographic pivoting rule: break ties when selecting the leaving variable Pertubation methods

Simplex algorithm How do I find my first BFS ? Introduce artificial variables

Simplex algorithm Easy BFS But wrt another problem

Simplex algorithm Two-phase strategy First find a BFS (if one exists) Then, find optimal BFS

Simplex algorithm Find a BFS Feasible if the objective value is 0 i.e., all yi’s are 0, and there is a BFS without yi (almost always)

Simplex algorithm