Resource Constrained Project Scheduling Linear and Integer Programming (1)

Similar documents
Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model

01M1 Lecture Linear and Integer Programming: an Introduction

Single Machine Problems Polynomial Cases

RCPSP Single Machine Problems

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation

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

Integer Linear Programming Modeling

Travelling Salesman Problem

The traveling salesman problem

Multicommodity Flows and Column Generation

Linear Programming. Leo Liberti. LIX, École Polytechnique. Operations research courses / LP theory p.

CS711008Z Algorithm Design and Analysis

Lecture 9: Dantzig-Wolfe Decomposition

Introduction to Linear and Combinatorial Optimization (ADM I)

Integer Linear Programming (ILP)

Introduction to Integer Programming

7. Lecture notes on the ellipsoid algorithm

3. Linear Programming and Polyhedral Combinatorics

Math 5593 Linear Programming Week 1

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

DM559/DM545 Linear and Integer Programming. Linear Programming. Marco Chiarandini

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III. Instructor: Shaddin Dughmi

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms

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

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization

Introduction to Bin Packing Problems

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

Algorithms and Theory of Computation. Lecture 13: Linear Programming (2)

Supporting hyperplanes

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

Scheduling and Optimization Course (MPRI)

FRACTIONAL PACKING OF T-JOINS. 1. Introduction

Integer Linear Programming

Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Workforce Scheduling. 1. Workforce Scheduling.

2.098/6.255/ Optimization Methods Practice True/False Questions

Integer Programming Methods LNMB

Lecture 5: Computational Complexity

1 Solution of a Large-Scale Traveling-Salesman Problem... 7 George B. Dantzig, Delbert R. Fulkerson, and Selmer M. Johnson

Lecture notes on the ellipsoid algorithm

3. Linear Programming and Polyhedral Combinatorics

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

Week 8. 1 LP is easy: the Ellipsoid Method

Optimization methods NOPT048

How to Relax. CP 2008 Slide 1. John Hooker Carnegie Mellon University September 2008

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014

Discrete Optimization 2010 Lecture 8 Lagrangian Relaxation / P, N P and co-n P

Linear Programming Duality

DOWNLOAD PDF LINEAR OPTIMIZATION AND APPROXIMATION

Modeling with Integer Programming

Chapter 2: Linear Programming Basics. (Bertsimas & Tsitsiklis, Chapter 1)

Scientific Computing: Optimization

The Ellipsoid (Kachiyan) Method

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi

Optimization WS 13/14:, by Y. Goldstein/K. Reinert, 9. Dezember 2013, 16: Linear programming. Optimization Problems

Duality in Mathematical Programming

Integer Programming ISE 418. Lecture 12. Dr. Ted Ralphs

Complexity of linear programming: outline

COMP3121/9101/3821/9801 Lecture Notes. Linear Programming

Single Machine Models

Another max flow application: baseball

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

18 hours nodes, first feasible 3.7% gap Time: 92 days!! LP relaxation at root node: Branch and bound

Lectures 6, 7 and part of 8

3.7 Strong valid inequalities for structured ILP problems

Notes on Dantzig-Wolfe decomposition and column generation

Theory and Internet Protocols

Lecture 1 Introduction

Decomposition Methods for Integer Programming

The Traveling Salesman Problem: Inequalities and Separation

1 Column Generation and the Cutting Stock Problem

Chapter 3: Discrete Optimization Integer Programming

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

3.8 Strong valid inequalities

Deciding Emptiness of the Gomory-Chvátal Closure is NP-Complete, Even for a Rational Polyhedron Containing No Integer Point

Optimization methods NOPT048

Chapter 3: Discrete Optimization Integer Programming

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique.

In complexity theory, algorithms and problems are classified by the growth order of computation time as a function of instance size.

Topics in Theoretical Computer Science April 08, Lecture 8

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

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

Lecture 15: October 15

Review Questions, Final Exam

Optimization (168) Lecture 7-8-9

Lecture 10: Linear programming duality and sensitivity 0-0

BBM402-Lecture 20: LP Duality

Decomposition-based Methods for Large-scale Discrete Optimization p.1

21. Set cover and TSP

4. Duality Duality 4.1 Duality of LPs and the duality theorem. min c T x x R n, c R n. s.t. ai Tx = b i i M a i R n

OPTIMIZATION AND OPERATIONS RESEARCH Vol. I - Linear Programming - Karl Heinz Borgwardt

DEPARTMENT OF STATISTICS AND OPERATIONS RESEARCH OPERATIONS RESEARCH DETERMINISTIC QUALIFYING EXAMINATION. Part I: Short Questions

The Dual Simplex Algorithm

Linear and Integer Optimization (V3C1/F4C1)

Nondeterministic Turing Machines

CO 250 Final Exam Guide

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t.

Separation Techniques for Constrained Nonlinear 0 1 Programming

Compact vs. exponential-size LP relaxations

Section #2: Linear and Integer Programming

Mathematical Programs Linear Program (LP)

Transcription:

DM204, 2010 SCHEDULING, TIMETABLING AND ROUTING Lecture 3 Resource Constrained Project Linear and Integer Programming (1) Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark

Outline 1. Resource Constrained Project Model 2. Mathematical Programming.::. 2

Outline RCPSP 1. Resource Constrained Project Model 2. Mathematical Programming.::. 3

RCPSP Resource Constrained Project Model RCPSP Given: activities (jobs) j = 1,..., n renewable resources i = 1,..., m amount of resources available R i processing times p j amount of resource used r ij precedence constraints j k Further generalizations Time dependent resource profile R i (t) given by (t µ i, R µ i ) where 0 = ti 1 < ti 2 <... < t m i i = T Disjunctive resource, if R k (t) = {0, 1}; cumulative resource, otherwise Multiple modes for an activity j processing time and use of resource depends on its mode m: p jm, r jkm..::. 5

Modeling RCPSP Assignment 1 A contractor has to complete n activities. The duration of activity j is p j each activity requires a crew of size W j. The activities are not subject to precedence constraints. The contractor has W workers at his disposal his objective is to complete all n activities in minimum time..::. 6

RCPSP Assignment 2 Exams in a college may have different duration. The exams have to be held in a gym with W seats. The enrollment in course j is W j and all W j students have to take the exam at the same time. The goal is to develop a timetable that schedules all n exams in minimum time. Consider both the cases in which each student has to attend a single exam as well as the situation in which a student can attend more than one exam..::. 7

RCPSP Assignment 3 In a basic high-school timetabling problem we are given m classes c 1,..., c m, h teachers a 1,..., a h and T teaching periods t 1,..., t T. Furthermore, we have lectures i = l 1,..., l n. Associated with each lecture is a unique teacher and a unique class. A teacher a j may be available only in certain teaching periods. The corresponding timetabling problem is to assign the lectures to the teaching periods such that each class has at most one lecture in any time period each teacher has at most one lecture in any time period, each teacher has only to teach in time periods where he is available..::. 8

RCPSP Assignment 4 A set of jobs J 1,..., J g are to be processed by auditors A 1,..., A m. Job J l consists of n l tasks (l = 1,..., g). There are precedence constraints i 1 i 2 between tasks i 1, i 2 of the same job. Each job J l has a release time r l, a due date d l and a weight w l. Each task must be processed by exactly one auditor. If task i is processed by auditor A k, then its processing time is p ik. Auditor A k is available during disjoint time intervals [sk ν, l k ν ] ( ν = 1,..., m) with lk ν < sν k for ν = 1,..., m k 1. Furthermore, the total working time of A k is bounded from below by H and from k above by H + k with H k H+ (k = 1,..., m). k We have to find an assignment α(i) for each task i = 1,..., n := P g l=1 n l to an auditor A α(i) such that each task is processed without preemption in a time window of the assigned auditor the total workload of A k is bounded by H k and Hk k for k = 1,..., m. the precedence constraints are satisfied, all tasks of J l do not start before time r l, and the total weighted tardiness P g l=1 w l T l is minimized..::. 9

Outline 1. Resource Constrained Project Model 2. Mathematical Programming.::. 10

Mathematical Programming Linear, Integer, Nonlinear program = optimization problem min f (x) g i (x) = 0, i = 1, 2,..., k h j (x) 0, j = 1, 2,..., m x R n general (nonlinear) program (NLP) min linear program (LP) c T x Ax = a Bx b x 0 (x R n ) min c T x Ax = a Bx b x 0 (x Z n ) (x {0, 1} n ) integer (linear) program (IP, MIP).::. 12

Linear Programming Linear Program in standard form min c 1 x 1 + c 2 x 2 +... c n x n s.t. a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2. a 21 x 1 + a 22 x 2 +... + a 2n x n = b n x 1, x 2,..., x n 0 min c T x Ax = b x 0.::. 13

Historic Roots 1939 L. V. Kantorovitch: Foundations of linear programming (Nobel Prize 1975) George J. Stigler s 1945 (Nobel Prize 1982) Diet Problem : the first linear program find the cheapest combination of foods that will satisfy the daily requirements of a person Army s problem had 77 unknowns and 9 constraints. http://www.mcs.anl.gov/home/otc/guide/casestudies/diet/index.html 1947 G.B. Dantzig: Invention of the simplex algorithm Founding fathers: 1950s Dantzig: Linear Programming 1954, the Beginning of IP G. Dantzig, D.R. Fulkerson, S. Johnson TSP with 49 cities 1960s Gomory: Integer Programming.::. 14

LP Theory Max-Flow Min-Cut Theorem The maximal (s,t)-flow in a capaciatetd network is equal to the minimal capacity of an (s,t)-cut The Duality Theorem of Linear Programming max c T x Ax b x 0 min y T b y T A c T y 0 If feasible solutions to both the primal and the dual problem in a pair of dual LP problems exist, then there is an optimum solution to both systems and the optimal values are equal..::. 15

LP Theory Max-Flow Min-Cut Theorem does not hold if several source-sink relations are given (multicommodity flow) The Duality Theorem of Integer Programming max c T x Ax b x 0 x Z n min y T b y T A c T y 0 y Z n.::. 16

LP Solvability Linear programs can be solved in polynomial time with the Ellipsoid Method (Khachiyan, 1979) Interior Point Methods (Karmarkar, 1984, and others) Open: is there a strongly polynomial time algorithm for the solution of LPs? Certain variants of the Simplex Algorithm run - under certain conditions - in expected polynomial time (Borgwardt, 1977...) Open: Is there a polynomial time variant of the Simplex Algorithm?.::. 17

LP Solvability Theorem (Grötschel, Lovász, Schrijver 1979, 1988)) (modulo technical details) There exists a polynomial time algorithm to minimize convex functions (e.g., linear functions) over the elements of a class of convex bodies K (e. g. polyhedra) if and only if, there exists a polynomial time algorithm that decides, for any given point x, whether x is in K, and that, when x is not in K, finds a hyperplane that separates x from K. Short version: Optimization and Separation are polynomial-time equivalent. Consequence: Theoretical Foundation of cutting plane algorithms..::. 18

IP Solvability Theorem Integer, 0/1, and mixed integer programming are NP-hard. Consequence investigate special cases special purpose algorithms heuristics.::. 19

Algorithms for the solution of nonlinear programs Algorithms for the solution of linear programs 1) Fourier-Motzkin Elimination (hopeless) 2) The Simplex Method (good, above all with duality) 3) The Ellipsoid Method (total failure) 4) Interior-Point/Barrier Methods (good) Algorithms for the solution of integer programs 1) Branch & Bound 2) Cutting Planes.::. 21

Nonlinear programming Iterative methods that solve the equation and inequality systems representing the necessary local optimality conditions (Kuhn-Tucker sufficient conditions) Steepest descent Newton method Subgradient method (for piecewise functions).::. 22

Linear programming The Simplex Method Dantzig, 1947: primal Simplex Method Lemke, 1954; Beale, 1954: dual Simplex Method Dantzig, 1953: revised Simplex Method... Underlying Idea: Find a vertex of the set of feasible LP solutions (polyhedron) and move to a better neighbouring vertex, if possible..::. 23

The simplex method.::. 24

The simplex method.::. 24

The simplex method Hirsch Conjecture If P is a polytope of dimension n with m facets then every vertex of P can be reached from any other vertex of P on a path of length at most m n. In the example before: m = 5, n = 2 and m n = 3, conjecture is true. At present, not even a polynomial bound on the path length is known. Best upper bound: Kalai, Kleitman (1992): The diameter of the graph of an n-dimensional polyhedron with m facets is at most m (logn+1). Lower bound: Holt, Klee (1997): at least m n (m, n large enough)..::. 25

Integer Programming (easy) special simple" combinatorial optimization problems Finding a: minimum spanning tree shortest path maximum matching maximal flow through a network cost-minimal flow... solvable in polynomial time by special purpose algorithms.::. 26

Integer Programming (hard) special hard" combinatorial optimization problems traveling salesman problem location and routing set-packing, partitioning, -covering max-cut linear ordering scheduling (with a few exceptions) node and edge colouring... NP-hard (in the sense of complexity theory) The most successful solution techniques employ linear programming..::. 27

Integer Programming (hard) 1) Branch & Bound 2) Cutting Planes Branch & cut, Branch & Price (column generation), Branch & Cut & Price.::. 28

Summary We can solve today explicit LPs with up to 500,000 of variables and up to 5,000,000 of constraints in relatively short running times. We can solve today structured implicit LPs (employing column generation and cutting plane techniques) in special cases with hundreds of million (and more) variables and almost infinitely many constraints in acceptable running times. (Examples: TSP, bus circulation in Berlin) [Martin Grötschel, Block Course at TU Berlin, Combinatorial Optimization at Work, 2005 http://co-at-work.zib.de/berlin/].::. 29