Contents college 5 and 6 Branch and Bound; Beam Search (Chapter , book)! general introduction

Similar documents
Flow Shop and Job Shop Models

Lecture 2: Scheduling on Parallel Machines

Algorithm Design. Scheduling Algorithms. Part 2. Parallel machines. Open-shop Scheduling. Job-shop Scheduling.

Partition is reducible to P2 C max. c. P2 Pj = 1, prec Cmax is solvable in polynomial time. P Pj = 1, prec Cmax is NP-hard

Scheduling with Constraint Programming. Job Shop Cumulative Job Shop

Lecture 4 Scheduling 1

Single Machine Problems Polynomial Cases

RCPSP Single Machine Problems

P C max. NP-complete from partition. Example j p j What is the makespan on 2 machines? 3 machines? 4 machines?

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Single Machine Models

Combinatorial optimization problems

A branch and bound method for the job-shop problem with sequence-dependent setup times

4 Sequencing problem with heads and tails

Approximation Algorithms for scheduling

Improved Bounds for Flow Shop Scheduling

A Branch and Bound Algorithm for the Project Duration Problem Subject to Temporal and Cumulative Resource Constraints

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i

On Machine Dependency in Shop Scheduling

CMSC 722, AI Planning. Planning and Scheduling

A branch and bound method for the job-shop problem with sequence-dependent setup times

APTAS for Bin Packing

Recoverable Robustness in Scheduling Problems

CSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD

Multi-Skill Resource-Constrained Project Scheduling: Formulation and Inequalities

Decision Diagrams for Discrete Optimization

(1) The starting point is the precedence table (aka dependence table) Immediately preceding activities

VLSI System Design Part V : High-Level Synthesis(2) Oct Feb.2007

Deterministic Models: Preliminaries

A scheme developed by Du Pont to figure out

Using column generation to solve parallel machine scheduling problems with minmax objective functions

Complexity analysis of the discrete sequential search problem with group activities

Discrete (and Continuous) Optimization WI4 131

Solving the MWT. Recall the ILP for the MWT. We can obtain a solution to the MWT problem by solving the following ILP:

The Maximum Flow Problem with Disjunctive Constraints


Scheduling with AND/OR Precedence Constraints

Embedded Systems 14. Overview of embedded systems design

1 Basic Definitions. 2 Proof By Contradiction. 3 Exchange Argument

Embedded Systems - FS 2018

Dynamic Scheduling with Genetic Programming

CS 374: Algorithms & Models of Computation, Spring 2017 Greedy Algorithms Lecture 19 April 4, 2017 Chandra Chekuri (UIUC) CS374 1 Spring / 1

LPT rule: Whenever a machine becomes free for assignment, assign that job whose. processing time is the largest among those jobs not yet assigned.

A Dynamic Programming algorithm for minimizing total cost of duplication in scheduling an outtree with communication delays and duplication

Network Techniques - I. t 5 4

A tabu search algorithm for the open shop scheduling problem

Job Sequencing with One Common and Multiple Secondary Resources: A Problem Motivated from Particle Therapy for Cancer Treatment

Notes on Complexity of the Simple Assembly Line Balancing Problem

Scheduling Lecture 1: Scheduling on One Machine

Greedy Algorithms My T. UF

Metode şi Algoritmi de Planificare (MAP) Curs 2 Introducere în problematica planificării

Scheduling Lecture 1: Scheduling on One Machine

CS521 CSE IITG 11/23/2012

Algorithm Design Strategies V

Marjan van den Akker. Han Hoogeveen Jules van Kempen

Part 4. Decomposition Algorithms

Deterministic Scheduling. Dr inż. Krzysztof Giaro Gdańsk University of Technology

BRANCH-AND-BOUND ALGORITHMS FOR STOCHASTIC RESOURCE-CONSTRAINED PROJECT SCHEDULING

An improved approximation algorithm for two-machine flow shop scheduling with an availability constraint

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Inference of A Minimum Size Boolean Function by Using A New Efficient Branch-and-Bound Approach From Examples

Using column generation to solve parallel machine scheduling problems with minmax objective functions

Vehicle Routing and Scheduling. Martin Savelsbergh The Logistics Institute Georgia Institute of Technology

No-Idle, No-Wait: When Shop Scheduling Meets Dominoes, Eulerian and Hamiltonian Paths

Introduction to Bin Packing Problems

Scheduling problem subject to compatibility constraints

Scheduling on Unrelated Parallel Machines. Approximation Algorithms, V. V. Vazirani Book Chapter 17

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #7: More on Uniprocessor Scheduling

Algorithm Design and Analysis

On the Generation of Circuits and Minimal Forbidden Sets

Simulation. Stochastic scheduling example: Can we get the work done in time?

Robust optimization for resource-constrained project scheduling with uncertain activity durations

Combinatorische Optimalisering, Exam 25 March 2013

Minimizing Mean Flowtime and Makespan on Master-Slave Systems

Genetic algorithms for hybrid job-shop problems with minimizing the makespan and mean flow time

A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling

Stochastic Scheduling History and Challenges

Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131

A neighborhood for complex job shop scheduling problems with regular objectives

1 Ordinary Load Balancing

Lecture 9: Search 8. Victor R. Lesser. CMPSCI 683 Fall 2010

STABILITY OF JOHNSON S SCHEDULE WITH LIMITED MACHINE AVAILABILITY

More Approximation Algorithms

Knapsack and Scheduling Problems. The Greedy Method

Complexity analysis of job-shop scheduling with deteriorating jobs

CSE 431/531: Analysis of Algorithms. Dynamic Programming. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo

A polynomial-time approximation scheme for the two-machine flow shop scheduling problem with an availability constraint

1 T 1 = where 1 is the all-ones vector. For the upper bound, let v 1 be the eigenvector corresponding. u:(u,v) E v 1(u)

Greedy Algorithms. Kleinberg and Tardos, Chapter 4

Project scheduling with calendars

A Framework for Integrating Optimization and Constraint Programming

The two-machine flowshop total completion time problem: A branch-and-bound based on network-flow formulation

Chapter 3: Discrete Optimization Integer Programming

Alternative Methods for Obtaining. Optimization Bounds. AFOSR Program Review, April Carnegie Mellon University. Grant FA

Temporal Constraint Networks

Lecture 4: NP and computational intractability

PROGRAMMING CPM. Network Analysis. Goal:

these durations are not neglected. Little is known about the general problem of scheduling typed task systems: Jae [16] and Jansen [18] studied the pr

2. Project management

UNIVERSITY OF YORK. MSc Examinations 2004 MATHEMATICS Networks. Time Allowed: 3 hours.

Transcription:

Contents college 5 and 6 Branch and Bound; Beam Search (Chapter 3.4-3.5, book)! general introduction Job Shop Scheduling (Chapter 5.1-5.3, book) ffl branch and bound (5.2) ffl shifting bottleneck heuristic (5.3) JOB SHOP ffl multi-operational model ffl several machines (workcenters) ffl individual routes for the jobs ffl with/without recirculation 1

Applications: JOB SHOP - cont. ffl wafer production ffl patients in a hospital Remark: Job shop is a special case of the resource constraint project scheduling problem We concentrate on ffl machines (no workcenters) ffl no recirculation ffl makespan minimization 2

JOB SHOP - Definition ffl n jobs to be processed on ffl m machines ffl operation (i; j): processing of job j on machine i ffl order of the operations of a job is given: (i; j)! (k; j) specifies that job j has to be processed on machine i earlier than on machine k ffl p ij : duration of operation (i; j) ffl Goal: Schedule the jobs on the machines without overlapping on machines without overlapping within a job minimizing the makespan (latest completion of a job) 3

Data: JOB SHOP - Example Machines: M1, M2, M3 Jobs: J1 (3,1)-->(2,1)-->(1,1) J2 (1,2)-->(3,2) J3 (2,3)-->(1,3)-->(3,3) M1 M2 M3 Durations: p31=4, p21=2, p11=1 p12=3, p32=3 p23=2, p13=4, p33=1 4

JOB SHOP - Example (cont.) Schedule: M1 M2 M3 5 10 12 Makespan Cmax=12 5

Disjunctive Graph Representation Graph G = (N; A; B) ffl nodes correspond to operations N = f(i; j)j(i; j) is operationg ffl conjunctive arcs A represent order of the operations of jobs (i; j)! (k; j) 2 A () operation (i; j) preceeds (k; j) ffl disjunctive arcs B represent conflicts on machines Two operations (i; j) and (i; l) are connected by two arcs going in opposite direction 6

Disjunctive Graph Rep. (cont.) ffl Two dummy nodes U and V representing source and sink ffl arcs from U to all first operations of jobs ffl arcs from all last operations of jobs to V Remark: The disjunctive arcs form m cliques of double arcs (one for each machine) 7

Disjunctive Graph - Example 3,1 2,1 1,1 U 1,2 3,2 V 2,3 1,3 3,3 Conjunctive arcs Disjunctive arcs (double arcs) 8

Selection A subset D ρ B is called a selection if it contains from each pair of disjunctive arcs exactly one A selection D is feasible if the resulting directed graph G(D) = (N; A [ D) (graph with conjunctive and selected disjunctive arcs) is acyclic Remarks: 1. a feasible selection leads to a sequence in which operations have to be processed on machines 2. a feasible solution induces to a feasible selection 3. each feasible selection leads to a feasible schedule 9

Infeasible selection - Example 3,1 2,1 1,1 U 1,2 3,2 V 2,3 1,3 3,3 Conjunctive arcs Selection 10

Feasible selection - Example 3,1 2,1 1,1 U 1,2 3,2 V 2,3 1,3 3,3 Conjunctive arcs Selection Corresponding Schedule M1 M2 M3 5 10 15 20 Makespan Cmax=20 11

Selection for given Schedule M1 M2 M3 5 10 12 Makespan Cmax=12 Corresponding selection 3,1 2,1 1,1 U 1,2 3,2 V 2,3 1,3 3,3 Conjunctive arcs Selection 12

Calculate Schedule for Selection Method: Calculated longest paths from U to all other nodes in G(D) Technical description: ffl weight nodes (i; j) by p ij and node U by 0 ffl length of a path i 1 ; i 2 ; : : : ; i r = sum of the weights of the nodes i 1 ; i 2 ; : : : ; i r 1 ffl calculate length l ij of the longest path from U to (i; j) and V (using e.g. Dijkstra) ffl start operation (i; j) at time l ij ffl the length of a longest path from U to V (such paths are called critical paths) is equal to the makespan of the solution 13

Calculate Schedule for Selection - Example 4 2 1 3,1 2,1 1,1 U 3 3 1,2 3,2 V 2,3 1,3 3,3 2 4 1 Conjunctive arcs Selection Calculation l ij s: Node (3,1) (1,2) (3,2) (2,3) (2,1) Length 0 0 4 0 4 Node (1,1) (1,3) (3,3) V Length 6 7 11 12 14

Disjunctive Programming Formulation y ij denotes starting time of operation (i; j) minimize C max subject to y kl y ij p ij C max y ij p ij for all (i; j)! (k; j) 2 A for all (i; j) 2 N or y ij y il p il y il y ij p ij for all (i; l); (i; j); i = 1; : : : ; m y ij 0 for all (i; j) 2 N 15

Active Schedules A schedule is active if no operation can be scheduled earlier without delaying another operation ffl reducing the makespan of an active schedule is only possible by increasing the starting time of at least one operation ffl there exist an optimal schedule which is active 16

Example of a non-active schedule M1 M2 M3 5 10 15 20 Possible modifications Cmax=20 M1 M2 M3 M1 M2 M3 5 10 15 1. 20 2. 3. 5 10 15 20 Cmax=19 Cmax=17 17

Base of Branch and Bound Remark: The set of all active schedules contains an optimal schedule Solution method: Generate all active schedules and take the best Improvement: Use the generation scheme in a branch and bound setting Consequence: We need a generation scheme to produce all active schedules for a job shop 18

Generation of all active schedules Notations: Ω: set of all operations which predecessors have already been ffl scheduled ffl r ij: earliest possible starting time of operation (i; j) 2 Ω ffl Ω 0 : subset of Ω Remark: r ij can be calculated via longest path calculations 19

Generation of all active schedules - cont. Step 1 (Initial Conditions) Ω := ffirst operations for each jobg r ij := 0 for all (i; j) 2 Ω Step 2 (Machine selection) Compute for current partial schedule t(ω) := min fr ij + p ij g (i;j)2ω i Λ := machine on which minimum is achieved Step 3 (Branching) Ω 0 := f(i Λ ; j)jr i Λ j < t(ω)g FOR ALL (i Λ ; j) 2 Ω 0 DO extend partial schedule by scheduling (i Λ ; j) next on machine i Λ ; delete (i Λ ; j) from Ω; add job-successor of (i Λ ; j) to Ω; Return to Step 2 20

Generation...- example Jobs: J1 J2 J3 Part. Schedule (3,1)-->(2,1)-->(1,1) (1,2)-->(3,2) (2,3)-->(1,3)-->(3,3) M1 M2 M3 4 6 t Ω=f(1; 1); (3; 2); (1; 3)g,r 11 = 6; r 32 = 4; r 13 = 3 t(ω) = minf6 + 1; 4 + 3; 3 + 4g = 7; i Λ = M 1 Ω 0 = f(1; 1); (1; 3)g Extended partial schedules: M1 M2 M3 M1 M2 M3 6 6 21

Generation of all active schedules - cont. Remarks on the algorithm: ffl the given algorithms is the base of the branching ffl nodes of the branching tree correspond to partial schedules ffl Step 3 branches from the node corresponding to the current partial schedule ffl the number of branches is given by the cardinality of Ω 0 ffl a branch corresponds to the choice of an operation (i Λ ; j) to be schedules next on machine i Λ! a branch fixes new disjunctions 22

Disjunctions fixed by a branching Ω 0 = f(i Λ ; j); (i Λ ; l)g Node v Node v Node v selection (i Λ ; j) selection (i Λ ; l) Add disjunctions Add disjunctions (i Λ ; j)! (i Λ k) (i Λ ; l)! (i Λ k) for all unscheduled operations (i Λ ; k) for all unscheduled operations (i Λ ; k) Consequence: Each node in the branch and bound tree is characterized by a set D 0 of fixed disjunctions 23

Lower bounds for nodes of the branch and bound tree Consider node V with fixed disjunctions D 0 : Simple lower bound: Calculate critical path in G(D 0 )! Lower bound LB(V ) Better lower bound: ffl consider machine i ffl allow parallel processing on all machines 6= i ffl solve problem on machine i 24

Resulting 1-machine problem 1. calculate earliest starting times r ij of all operations (i; j) on machine i (longest paths from source in G(D 0 )) 2. calculate minimum amount ij of time between start of (i; j) and end of schedule (longest path to sink in G(D 0 ))! due date d ij = LB(V ) ij + p ij 3. solve single machine problem on machine i: ffl respect release dates ffl no preemption ffl minimize maximum lateness (see Section 3.4) Result: maximum lateness L i 25

Better lower bound ffl solve 1-machine problem for all machines ffl this results in values L 1 ; : : : ; L m ffl LB new (V ) = LB(V ) + max m L i i=1 Remarks: ffl 1-machine problem is NP-hard ffl computational experiments have shown that it pays of to solve these m NP-hard problems per node of the search tree ffl 20 20 instances are already hard to solve by branch and bound 26

Better lower bound - example Partial Schedule: M1 M2 M3 3 6 Corresponding graph G(D 0 ): 3,1 2,1 1,1 U 1,2 3,2 V 2,3 1,3 3,3 Conjunctive arcs fixed disj. 27

Better lb - example - cont. Graph G(D 0 ) with processing times: 4 2 1 3,1 2,1 1,1 U 3 1,2 3,2 3 V 2,3 1,3 3,3 2 4 1 LB(V )=l(u; (1; 2); (1; 3); (3; 3); V )=8 (unique) Data for jobs on Machine 1: green blue red r 12 = 0 r 13 = 3 r 11 = 6 12 = 8 13 = 5 11 = 1 d 12 = 3 d 13 = 7 d 11 = 8 Opt. solution: L max = 0, LB new (V ) = 8 M1 3 7 8 28

Better lb - example - cont. Change p 11 from1to2! 4 2 2 3,1 2,1 1,1 U 3 1,2 3,2 3 V 2,3 1,3 3,3 2 4 1 LB(V ) = l(u; (1; 2); (1; 3); (3; 3); V ) = l(u; (3; 1); (2; 1); (1; 1); V ) = 8 Data for jobs on Machine 1: green blue red r 12 = 0 r 13 = 3 r 11 = 6 12 = 8 13 = 5 11 = 2 d 12 = 3 d 13 = 7 d 11 = 8 Opt. solution: L max = 1, LB new (V ) = 9 M1 3 7 9 29

Opgaven voor werkcollege Date: Thursday, 31 May, 2001 Time: 13.45-15.30 (5+6) Room: WB H-IV-206 Exercises: 5.1, 5.3, 5.6 (a) 30