LPs and MIPs background and solution approaches Dr. Greg Bernstein Grotto Networking www.grotto-networking.com.

Slides:



Advertisements
Similar presentations
Cognitive Radio Communications and Networks: Principles and Practice By A. M. Wyglinski, M. Nekovee, Y. T. Hou (Elsevier, December 2009) 1 Chapter 12 Cross-Layer.
Advertisements

/425 Declarative Methods - J. Eisner1 Mathematical Programming especially Integer Linear Programming and Mixed Integer Programming.
1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
Branch-and-Bound Technique for Solving Integer Programs
BU Decision Models Integer_LP1 Integer Optimization Summer 2013.
Solving LP Models Improving Search Special Form of Improving Search
Linear programming: lp_solve, max flow, dual CSC 282 Fall 2013.
Linear Programming (LP) (Chap.29)
Linear Programming Simplex Method
B Multi-Layer Network Design II Dr. Greg Bernstein Grotto Networking
Introduction to Algorithms
Dragan Jovicic Harvinder Singh
B Network Design Problems: An Overview Dr. Greg Bernstein Grotto Networking Based on Chapter 2 of Pioro and Medhi
EE 553 Integer Programming
Progress in Linear Programming Based Branch-and-Bound Algorithms
Water Resources Development and Management Optimization (Integer Programming) CVEN 5393 Mar 11, 2013.
1 EL736 Communications Networks II: Design and Algorithms Class8: Networks with Shortest-Path Routing Yong Liu 10/31/2007.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Introduction to Linear and Integer Programming
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
Computational Methods for Management and Economics Carla Gomes
Chapter 10: Iterative Improvement
Optimization for Network Planning Includes slide materials developed by Wayne D. Grover, John Doucette, Dave Morley © Wayne D. Grover 2002, 2003 E E 681.
Solving the Protein Threading Problem in Parallel Nocola Yanev, Rumen Andonov Indrajit Bhattacharya CMSC 838T Presentation.
Review of Reservoir Problem OR753 October 29, 2014 Remote Sensing and GISc, IST.
AMPL Presentation 1 By Raymond Kleinberg Outline AMPL - Ugh! - What is it good for? Basics Starting a Problem Running the Problem Example.
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
ISM 206 Lecture 3 The Simplex Method. Announcements.
Lift-and-Project cuts: an efficient solution method for mixed-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Integer programming Branch & bound algorithm ( B&B )
LINEAR PROGRAMMING SIMPLEX METHOD.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Linear Programming Data Structures and Algorithms A.G. Malamos References: Algorithms, 2006, S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani Introduction.
MILP algorithms: branch-and-bound and branch-and-cut
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
WOOD 492 MODELLING FOR DECISION SUPPORT
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
1.2 Guidelines for strong formulations  Running time for LP usually depends on m and n ( number of iterations O(m), O(log n)). Not critically depend on.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
Linear Programming: Formulations, Geometry and Simplex Method Yi Zhang January 21 th, 2010.
Linear Programming Chapter 1 Introduction.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Efficient Point Coverage in Wireless Sensor Networks Jie Wang and Ning Zhong Department of Computer Science University of Massachusetts Journal of Combinatorial.
Chapter 6 Optimization Models with Integer Variables.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
Sebastian Ceria Graduate School of Business and
Water Resources Development and Management Optimization (Integer and Mixed Integer Programming) CVEN 5393 Mar 28, 2011.
Nonlinear Programming Prepared by Lee Revere and John Large
Signal processing and Networking for Big Data Applications: Lecture 9 Mix Integer Programming: Benders decomposition And Branch & Bound NOTE: To change.
The minimum cost flow problem
The CPLEX Library: Mixed Integer Programming
Introduction to Operations Research
MILP algorithms: branch-and-bound and branch-and-cut
Integer Programming (정수계획법)
Chapter 1. Formulations (BW)
Flow Feasibility Problems
Chapter 10: Iterative Improvement
Chapter 1. Formulations.
Branch-and-Bound Algorithm for Integer Program
1.2 Guidelines for strong formulations
Integer LP: Algorithms
Branch-and-Bound Technique for Solving Integer Programs
1.2 Guidelines for strong formulations
Discrete Optimization
Presentation transcript:

LPs and MIPs background and solution approaches Dr. Greg Bernstein Grotto Networking

Outline LP problem formulations – A variety of different forms Convex Sets and Functions – LP problems have both Linear Programming – Polytopes and the Simplex Method Mixed Integer Programming – Branch and Bound

LP and MIP References P & M Sections 5.1.1, 5.1.2, 5.1.3, 5.2.1, LINEAR PROGRAMMING: A Concise Introduction, Thomas S. Ferguson – – Well written and to the point Wikipedia – Combinatorial Optimization, Algorithms and Complexity – Christos Papadimitriou & Kenneth Steiglitz, Dover – Good more advanced book, inexpensive. Referenced as P&S in these slides.

General Linear Program I

General Linear Program II

Other Forms

LP Form conversion

Convex Sets

Optimizing over Convex Sets

Convex Sets II

Extreme Points

How to find vertices of Polytope

Example Inequality system Add slack variables to get equality constraints Look at 3 x 5 matrix representing this system – (5 choose 3) = 10 potential “basis”

Example (cont.) Not all basic solutions are feasible! These five are not feasible. Why?

Example (cont.) Compute cost at all feasible solutions – Take minimum

Number of Potential Polytope Vertices Simplest Node Link Capacitated Allocation Problem – 3 nodes, 6 links, 6 demands – 36 link flow variables (6 links, 6 demands) – 6 Link capacity constraints: add in 6 slack variables – Node conservation (balance) constraints: 18 (3 nodes, 6 demands) – Total 42 variables, 24 constraints  42 choose 24 potential vertices to be examined = 353,697,121,050 Can’t just iterate over all polytope vertices

Simplex Method

Linear programming (LP) I – Many optimization problems can be formulated exactly or approximately as LP problems. LP problems are also used in the solution of many much harder optimization problems Some well known LP Software – lp_solve ( – CLP ( Part of the COIN-OR projecthttps://projects.coin-or.org/Clp – GLPK (GNU Linear Programming Kit) GLPK – CPLEX (now part of IBM, commercial) CPLEX

Linear programming (LP) II Optimization Specific Languages – AMPL -- A Modeling Language for Mathematical Programming ( – GNU MathProg modeling language, which is a subset of the AMPL language Well known LP file formats – “The CPLEX LP file format provides a facility for entering a problem in a natural, algebraic LP formulation from the keyboard.” To read this type of file with lp_solve IDE rename to use an.lpt extension. – “MPS is an old format, so it is set up as though you were using punch cards. Fields start in column 2, 5, 15, 25, 40 and 50. Sections of an MPS file are marked by so-called header cards, which are distinguished by their starting in column 1. Although it is typical to use upper-case throughout the file (like I said, MPS has long historical roots), many MPS-readers will accept mixed-case for anything except the header cards, and some allow mixed-case anywhere.” – From

Theoretical Issues

Mixed Integer Programming (MIP) Modular Dimensioning Problems – Real and integer values Capacitated Allocation Problems – With “no-splitting” constraint leads to binary {0, 1} variables. We know that these are NP-Complete We’ve seen that they can be solved – How?

Branch and Bound Idea – Use a “smart” divide and conquer strategy. – We’ll divide up the Feasible set into disjoint pieces We’ll break the feasible set in pieces at integer boundaries of the variables Issue we can get a lot of pieces… – We initially solve a “relaxed” LP version of the MIP on a such a subset. Three possible results 1.Relaxed solution is infeasible on the subset 2.Relaxed solution has an solution that isn’t as good as current best integer solution 3.Relaxed solution has a solution that is better than current best

Example Problem Example from

Relaxed LP and MIP: Feasibility What does the feasibility of the Relaxed LP tell us about the feasibility of the MIP? – Nothing! The MIP could be either feasible or infeasible. – Why? The MIP is a more constrained problem than the Relaxed LP. What does would the infeasibility of the Relaxed LP tell us about the infeasibility of the MIP? – The MIP is infeasible!

Relaxed LP and MIP: Optimality

Relaxed LP and MIP: Optimality II What does the optimality of the Relaxed LP on a subset of the feasible set relative to the best current solution of the MIP tell us? – If the relaxed solution on a subset of the feasible solution is not as good as the current best MIP solution then we don’t need to consider this subset any further, since no MIP solution on this subset can be as good as the LP solution. – B&B Terminology: we say a node/branch/subset has been fathomed if the above condition holds. In a sense we understand what the best that subset can offer and we don’t need to deal with it (further partitioning) any longer.

B&B Example Part 1

B&B Example Part 2 X3=0 X3=1 Which one to try next?

B&B Example Part 3 X2=0 X2=1 Integer Solution (Best so far)

B&B Example Part 4 X1=0 X1=1 Integer Solution (Best so far)

B&B Example Part 5 Branching Tree: X1=0 X1=1 Integer Solution (Best ) X3 =0 X3 =1 Integer Solution (Best so far)

Understanding B&B Solver Behavior Modular Dimensioning Node Link Formulation – Chinese Network (directed) 204 links, 54 nodes 1224 variables, 474 constraints 204 integer (not binary) variables lp_solve open source MIP solver

Understanding B&B Solver Behavior Modular Dimensioning Node Link Formulation – Chinese Network (directed) 204 links, 54 nodes 1224 variables, 474 constraints 204 integer (not binary) variables

Websites and Such Introduction to Integer Linear Programming – html html A Tutorial on Integer Programming – tml tml MINLP Collaboration Site (CMU-IBM) –