5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1



Similar documents
4.6 Linear Programming duality

Discrete Optimization

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Approximation Algorithms

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Transportation Polytopes: a Twenty year Update

Algorithm Design and Analysis

Applied Algorithm Design Lecture 5

24. The Branch and Bound Method

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

11. APPROXIMATION ALGORITHMS

Scheduling Shop Scheduling. Tim Nieberg

Optimization in R n Introduction

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

3. Linear Programming and Polyhedral Combinatorics

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Discuss the size of the instance for the minimum spanning tree problem.

Classification - Examples

Proximal mapping via network optimization

Optimization Modeling for Mining Engineers

Equilibrium computation: Part 1

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

Single machine parallel batch scheduling with unbounded capacity

Math 115A HW4 Solutions University of California, Los Angeles. 5 2i 6 + 4i. (5 2i)7i (6 + 4i)( 3 + i) = 35i + 14 ( 22 6i) = i.

Permutation Betting Markets: Singleton Betting with Extra Information

Lecture 3: Finding integer solutions to systems of linear equations

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

Systems of Linear Equations

Lecture 11: 0-1 Quadratic Program and Lower Bounds

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

CHAPTER 9. Integer Programming

Notes on Determinant

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

Dantzig-Wolfe bound and Dantzig-Wolfe cookbook

Can linear programs solve NP-hard problems?

What is Linear Programming?

An Introduction to Linear Programming

2.3.4 Project planning

Linear Programming. March 14, 2014

1 Solving LPs: The Simplex Algorithm of George Dantzig

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

26 Linear Programming

Practical Guide to the Simplex Method of Linear Programming

1 Determinants and the Solvability of Linear Systems

Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

Warshall s Algorithm: Transitive Closure

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

Improved Algorithms for Data Migration

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

Solving Curved Linear Programs via the Shadow Simplex Method

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Linear Programming I

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Fairness in Routing and Load Balancing

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints

Minimizing the Number of Machines in a Unit-Time Scheduling Problem

Permutation Betting Markets: Singleton Betting with Extra Information

Minimal Cost Reconfiguration of Data Placement in a Storage Area Network

A Linear Programming Based Method for Job Shop Scheduling

Binary Image Reconstruction

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

Integer Programming Approach to Printed Circuit Board Assembly Time Optimization

Integer Programming Formulation

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Two objective functions for a real life Split Delivery Vehicle Routing Problem

Solution of Linear Systems

Introduction to Support Vector Machines. Colin Campbell, Bristol University

Embedded Systems 20 BF - ES

How To Solve A Minimum Set Covering Problem (Mcp)

THE SCHEDULING OF MAINTENANCE SERVICE

How To Find An Optimal Search Protocol For An Oblivious Cell

Chapter 6. Linear Programming: The Simplex Method. Introduction to the Big M Method. Section 4 Maximization and Minimization with Problem Constraints

A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem

A MODEL TO SOLVE EN ROUTE AIR TRAFFIC FLOW MANAGEMENT PROBLEM:

Integrating Benders decomposition within Constraint Programming

Embedded Systems 20 REVIEW. Multiprocessor Scheduling

Notes on NP Completeness

Near Optimal Solutions

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

1 Review of Least Squares Solutions to Overdetermined Systems

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

VENDOR MANAGED INVENTORY

CSC2420 Spring 2015: Lecture 3

arxiv:cs/ v2 [cs.dm] 21 Aug 2001

Mathematics Course 111: Algebra I Part IV: Vector Spaces

Scheduling Single Machine Scheduling. Tim Nieberg

A Branch-Cut-and-Price Approach to the Bus Evacuation Problem with Integrated Collection Point and Shelter Decisions

Duplicating and its Applications in Batch Scheduling

Integer Programming. subject to: (i = 1, 2,..., m),

Two-Stage Stochastic Linear Programs

Maximum Utility Product Pricing Models and Algorithms Based on Reservation Prices

On the effect of forwarding table size on SDN network utilization

DETERMINANTS IN THE KRONECKER PRODUCT OF MATRICES: THE INCIDENCE MATRIX OF A COMPLETE GRAPH

THE PROBLEM WORMS (1) WORMS (2) THE PROBLEM OF WORM PROPAGATION/PREVENTION THE MINIMUM VERTEX COVER PROBLEM

1 VECTOR SPACES AND SUBSPACES

Transcription:

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition is non linear: sin (π x j ) = 0 j If x j {0, 1} j, binary LP If not all variables x j are integer, mixed ILP E. Amaldi Fondamenti di R.O. Politecnico di Milano 2

Example: max z = 21x 1 + 11x 2 7x 1 + 4x 2 13 x 1, x 2 0 integer 3 x 2 optimal LP solution with z LP = 35.75 optimal ILP solution with z ILP = 33 Deleting integrality constraints LP with optimal value z LP 2 1 7x 1 + 4x 2 =13 1 Region of the feasible solutions ILP = lattice (finite or infinite points) 2 3 x 1 E. Amaldi Fondamenti di R.O. Politecnico di Milano 3

Def.: Given z ILP max c T x (ILP) Ax b x 0 intero X ILP The problem (LP) z LP max c T x Ax b x 0 X LP X ILP is the linear (continuous) relaxation. Property: For each ILP with max we have z ILP z LP, i.e., z LP is an upper bound on the optimal value of ILP. NB: If ILP with min, then z ILP z LP E. Amaldi Fondamenti di R.O. Politecnico di Milano 4

Idea: relax the integrality constraints of ILP and round up/down the optimal solution of the linear relaxation LP. If an optimal solution of LP is integer then it is also an optimal solution of ILP. Often the rounded solutions are: - infeasible for ILP - useless (very different from the optimal solution of the ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 5

- infeasible rounded solutions c LP optimum infeasible! ILP optimum - useless rounded solutions When the variables take small values at optimality (a few units) e.g. binary assignment variables (job to machine) or activation variables (plants) E. Amaldi Fondamenti di R.O. Politecnico di Milano 6

- Usefull rounded solutions When the variables take large values at optimality e.g. number of pieces to produce NB: it also depends on the unit costs (coefficients of the objective functions) E. Amaldi Fondamenti di R.O. Politecnico di Milano 7

Knapsack problem n objects j = 1,, n p j v j b profit (value) of object j volume (weight) of object j knapsack capacity Select a subset of objects so as to maximize the total profit while respecting the knapsack capacity. Variables: x j = 1 j-th object is selected 0 otherwise E. Amaldi Fondamenti di R.O. Politecnico di Milano 8

n max j= 1 n j=1 p j x j v j x j b x j {0,1} j Wide range of direct or indirect applications: - loading (containers, vehicles, CDs, ) - investements (p j = expected return, v j = amount to invest, b = available capital) - as a subproblem E. Amaldi Fondamenti di R.O. Politecnico di Milano 9

Assignment problem m machines i = 1,, m n jobs j = 1,, n c ij cost of assigning job j to machine i Assumption: n > m Determine an assignment of the jobs to the machines so as to minimize the total cost while assigning at least one job per machine and making sure at. E. Amaldi Fondamenti di R.O. Politecnico di Milano 10

Variables: x ij = 1 job j is executed on machine i 0 otherwise m n min i=1 j=1 c ij x ij m i=1 x ij 1 j = 1,, n each job is executed on at most one machine n x ij 1 i = 1,, m j=1 x ij {0,1} i, j at least one job per machine E. Amaldi Fondamenti di R.O. Politecnico di Milano 11

Transportation problem (single product) m production plants i = 1,, m n clients j = 1,, n c ij p i d j q ij transportation cost of 1 unit of product from plant i to client j production capacity of plant i demand client j maximum amount to be transported from i to j Determine a transportation plan that minimizes total costs while satisfying plant capacities and client demands. E. Amaldi Fondamenti di R.O. Politecnico di Milano 12

min m n j=1 i=1 n j=1 m Assumption: c ij x ij x ij p i x ij d j m i=1 i = 1,, m j = 1,, n n p i j=1 Variables: x ij = amount transported from plant i to client j plant capacity client demand i=1 0 x ij q ij i, j integer transportation capacity d j E. Amaldi Fondamenti di R.O. Politecnico di Milano 13

Property of transportation and assignment problems: Optimal solution of the linear relaxation optimal solution of ILP! Property: If right hand side constants are integer, all basic feasible solutions (vertices) of the linear relaxation are integer. In transportation problem, special (mn+n+m) (mn) integer matrix A of the constraints: a ij {-1, 0, 1} with exactly three nonzero coefficients per column. Right hand side vector b has all integer components E. Amaldi Fondamenti di R.O. Politecnico di Milano 14

Optimal solution of linear relaxation: x * = B 1b 0 B 1 = 1 det B ( ) α... α 11 m1......... α α 1, m... mm T where α ij = (-1) i+j det(m ij ) with M ij sub-matrix obtained from B by deleting row i and column j B integer α ij integer If det(b) = ±1 B -1 integer x * integer In fact A is totally unimodular, that is det(q) = {-1,0,1} square sub-matrix of A E. Amaldi Fondamenti di R.O. Politecnico di Milano 15

Scheduling problem m machines k = 1,, m n jobs j = 1,, n For each job j, deadline d j p jk = processing time of job j on machine k (may be = 0) Assumption: each job must be processed once on each machine, following the order of the machine indices 1, 2,, m Determine an optimal sequence in which to process the jobs so as to minimize the completion time (makespan) while satisfying the deadlines. E. Amaldi Fondamenti di R.O. Politecnico di Milano 16

Variables: t jk = time at which the proceesing of job j starts on machine k t = upper bound on the completion time of all jobs y ijk = 1 if job i preceeds job j on machine k 0 otherwise and we set M n j=1 d j E. Amaldi Fondamenti di R.O. Politecnico di Milano 17

min t t jm + p jm t j t is upper bound on completion timeof all jobs t jm + p jm d j j respect deadlines t ik + p ik t jk + M (1-y ijk ) i,j,k i < j (*) t jk + p jk t ik + M y ijk i,j,k i < j (**) t jk + p jk t j,k+1 j,k = 1,, m-1 job processed in the given order t 0, t jk 0 j,k y ijk {0,1} i,j,k mixed ILP E. Amaldi Fondamenti di R.O. Politecnico di Milano 18

(*) and (**) make sure that 2 jobs are not simultaneously processed on the same machine (*) active when y ijk = 1 (i preceeds j on machine k) and ensures that i is completed before j starts (on k) (**) active when y ijk = 0 (j preceeds i on machine k) and ensures that j is completed before i starts (on k) The formulation can be easily extended to the case where each job j must be processed on the m machines (or on a subset of them) according to a different order. E. Amaldi Fondamenti di R.O. Politecnico di Milano 19

Most ILP problems are NP-hard efficient algorithms to solve them The existence of a polynomial algorithm would imply that P = NP! Type of methods extremely unlikely implicit enumeration cutting planes heuristic algorithms ( greedy, local serach, ) approximate solutions exact methods (global optimum) E. Amaldi Fondamenti di R.O. Politecnico di Milano 20

Implicit enumeration methods explore all feasible solutions explicitly or implicitly. Branch and Bound method Dynamic programming (see optimal paths in acyclic graphs) E. Amaldi Fondamenti di R.O. Politecnico di Milano 21