Resource-Constrained Project Scheduling

Similar documents
Resource Constrained Project Scheduling. Reservations and Timetabling

Flow Shop and Job Shop

Course Introduction. Scheduling: Terminology and Classification

n Given: n set of resources/machines M := {M 1 n satisfies constraints n minimizes objective function n Single-Stage:

Construction Heuristics and Local Search Methods for VRP/VRPTW

Mathematical Programming Formulations, Constraint Programming

Parallel Machine and Flow Shop Models

Forward-backward Improvement for Genetic Algorithm Based Optimization of Resource Constrained Scheduling Problem

Outline. No Free Lunch Theorems SMTWTP. Outline DM812 METAHEURISTICS

Scheduling. Job Shop Scheduling. Example JSP. JSP (cont.)

Job-shop scheduling with limited capacity buffers

A simple stochastic local search for multi-mode resource-constrained multi-project scheduling

Resource Constrained Project Scheduling Problem with sequence dependent Transfer Times: The single mode case

The Job-Shop Problem: Old and New Challenges

Lagrangian Relaxation in CP

Outline. Construction Heuristics for CVRP. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING

Priority rule-based reconstruction for total weighted tardiness minimization of job-shop scheduling problem

Real-Time Architectures 2004/2005

Scheduling Algorithms in Large Scale Distributed Systems

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Profit-oriented scheduling of resource-constrained projects with flexible capacity constraints

Constraint Programming in Practice

Outline. A Puzzle Example. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING

ISE480 Sequencing and Scheduling

DM204 - Scheduling, Timetabling and Routing

(Stochastic) Local Search Algorithms

A Modular Multiphase Heuristic Solver for Post Enrolment Course Timetabling

Introduction to Mathematical Programming IE406. Lecture 16. Dr. Ted Ralphs

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

Profit-oriented scheduling of resource-constrained projects with flexible capacity constraints

A Hybrid Genetic Algorithm for the Distributed Permutation Flowshop Scheduling Problem Yan Li 1, a*, Zhigang Chen 2, b

A Fast Taboo Search Algorithm for the Job Shop Scheduling Problem

Ant Colony Optimization Exercises

PARALLEL GRASP WITH PATH-RELINKING FOR JOB SHOP SCHEDULING

Manpower Planning: Task Scheduling. Anders Høeg Dohn

Bi-Objective Optimization for Scheduling in Heterogeneous Computing Systems

SENSITIVITY ANALYSIS OF CRITICAL PATH AND ITS VISUALIZATION IN JOB SHOP SCHEDULING

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

A Heuristic Algorithm for the Job Shop Scheduling

Introduction to Embedded Systems

A Lagrangian Relaxation Based Forward-backward Improvement Heuristic for Maximising the Net Present Value of Resource-Constrained Projects

Controlled duplication for scheduling real-time precedence tasks on heterogeneous multiprocessors

Outline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises

Job Management & Network Flows

Recent Work. Methods for solving large-scale scheduling and combinatorial optimization problems. Outline. Outline

TWO PHASED OPTIMIZATION APPROACH FOR SCHEDULING PROJECTS IN A MACHINE SHOP

General Methods and Search Algorithms

PROPOSED METHODOLOGY FOR COMPARING SCHEDULE GENERATION SCHEMES IN CONSTRUCTION RESOURCE SCHEDULING. Jin-Lee Kim

A Memetic Algorithm for Parallel Machine Scheduling

Vehicle Routing Heuristic Methods

Kyle M. Tarplee 1, Ryan Friese 1, Anthony A. Maciejewski 1, H.J. Siegel 1,2. Department of Electrical and Computer Engineering 2

Local Search Overview

METAHEURISTICS Genetic Algorithm

Techniques to solve a Multi-Mode Resource Constrained Project Scheduling Problem with energy saving

Using Firefly Algorithm to Solve Resource Constrained Project Scheduling Problem

From Precedence Constraint Posting to Partial Order Schedules

New algorithm for analyzing performance of neighborhood strategies in solving job shop scheduling problems

CMPSCI 311: Introduction to Algorithms Practice Final Exam

International Conference on Modeling and SimulationCoimbatore, August 2007

3 No-Wait Job Shops with Variable Processing Times

Effects of flexible timetables in real-time scheduling of rail operations

Existing model. Existing model. Conceptual Model. Logical constraints. Temporal constraints

Approaches to Efficient Resource- Constrained Project Rescheduling

Preemptive Scheduling of Equal-Length Jobs in Polynomial Time

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem

Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover

Branch and Bound Method for Scheduling Precedence Constrained Tasks on Parallel Identical Processors

Discrete Optimization. Lecture Notes 2

A Course on Meta-Heuristic Search Methods for Combinatorial Optimization Problems

Heuristic Reactive Rescheduling Algorithms in the Advanced Scheduling Add-on for ERP

Constraint Programming for Timetabling

Solving Resource-Constrained Scheduling Problems with Exact Methods

A Scatter Search Algorithm for Project Scheduling under Partially Renewable Resources

LEAST COST ROUTING ALGORITHM WITH THE STATE SPACE RELAXATION IN A CENTRALIZED NETWORK

A Hybrid Scatter Search / Electromagnetism Meta-Heuristic for Project Scheduling

Hybridization of Genetic Algorithm with Parallel Implementation of Simulated Annealing for Job Shop Scheduling

A LOCAL SEARCH GENETIC ALGORITHM FOR THE JOB SHOP SCHEDULING PROBLEM

DM841 DISCRETE OPTIMIZATION. Part 2 Heuristics. Satisfiability. Marco Chiarandini

The Service-Time Restricted Capacitated Arc Routing Problem

Solution Representation for Job Shop Scheduling Problems in Ant Colony Optimisation

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #8: Task Assignment and Scheduling on Multiprocessor Systems

Outline. Optimales Recycling - Tourenplanung in der Altglasentsorgung

Heuristic Reactive Rescheduling Algorithms in the Advanced Scheduling Add-on for ERP

Event-Driven Scheduling. (closely following Jane Liu s Book)

Solving the Resource Constrained Project Scheduling Problem with Generalized Precedences by Lazy Clause Generation

QUT Digital Repository:

METAHEURISTIC. Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal.

Job Shop Scheduling with Routing Flexibility and Sequence Dependent Setup-Times

IO2654 Optical Networking. WDM network design. Lena Wosinska KTH/ICT. The aim of the next two lectures. To introduce some new definitions

Outline. Outline. Schedule and Material. 1. Course Introduction. 2. Combinatorial Optimization Combinatorial Problems Solution Methods. 3.

CHAPTER 3 A TIME-DEPENDENT k-shortest PATH ALGORITHM FOR ATIS APPLICATIONS

Announcements. CSEP 521 Applied Algorithms. Announcements. Polynomial time efficiency. Definitions of efficiency 1/14/2013

Homework 3. Constraint Satisfaction Problems, Optimization problems

This is the search strategy that we are still using:

Theoretical insights into the augmented-neural-network approach for combinatorial optimization

ACO and other (meta)heuristics for CO

Extending MATLAB and GA to Solve Job Shop Manufacturing Scheduling Problems

Evolutionary Computation for Combinatorial Optimization

CHAPTER 3 PROBLEM STATEMENT AND OBJECTIVES

A Hybrid of Genetic Algorithm and Bottleneck Shifting for Flexible Job Shop Scheduling Problem

Transcription:

DM204 Spring 2011 Scheduling, Timetabling and Routing Lecture 6 Resource-Constrained Project Scheduling Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark

Outline 1. 2

Course Overview Scheduling Classification Complexity issues Single Machine Parallel Machine Flow Shop and Job Shop Resource Constrained Project Scheduling Model Timetabling Sport Timetabling Reservations and Education University Timetabling Crew Scheduling Public Transports Vechicle Routing Capacited Models Time Windows models Rich Models 3

Outline 1. 4

Resource Constrained Project Scheduling Model 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 5

Resource Constrained Project Scheduling Model 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 5

Resource Constrained Project Scheduling Model 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 Multiple modes for an activity j processing time and use of resource depends on its mode m: p jm, r jkm. 5

Example 6

Modeling Case 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. 7

Modeling Case 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. 8

Mathematical Model min n max j=1 {S j + p j } s.t. S j S i + p i, r jk R k, j J(t) S j 0, j = 1,..., n, (i, j) A j = 1,..., n k = 1,... m, t = 1..., T J(t) = {j = 1,..., n S j t S j + p j } 11

Outline 1. 12

Preprocessing: Temporal Analysis Precedence network must be acyclic 13

Preprocessing: Temporal Analysis Precedence network must be acyclic Preprocessing: constraint propagation 1. conjunctions i j S i + p i S j [precedence constrains] 13

Preprocessing: Temporal Analysis Precedence network must be acyclic Preprocessing: constraint propagation 1. conjunctions i j S i + p i S j [precedence constrains] 2. parallelity constraints i j S i + p i S j and S j + p j S i [time windows [r j, d j ],[r l, d l ] and p l + p j > max{d l, d j } min{r l, r j }] 13

Preprocessing: Temporal Analysis Precedence network must be acyclic Preprocessing: constraint propagation 1. conjunctions i j S i + p i S j [precedence constrains] 2. parallelity constraints i j S i + p i S j and S j + p j S i [time windows [r j, d j ],[r l, d l ] and p l + p j > max{d l, d j } min{r l, r j }] 3. disjunctions i j S i + p i S j or S j + p j S i [resource constraints: r jk + r lk > R k ] 13

Preprocessing: Temporal Analysis Precedence network must be acyclic Preprocessing: constraint propagation 1. conjunctions i j S i + p i S j [precedence constrains] 2. parallelity constraints i j S i + p i S j and S j + p j S i [time windows [r j, d j ],[r l, d l ] and p l + p j > max{d l, d j } min{r l, r j }] 3. disjunctions i j S i + p i S j or S j + p j S i [resource constraints: r jk + r lk > R k ] 13

Preprocessing: Temporal Analysis Precedence network must be acyclic Preprocessing: constraint propagation 1. conjunctions i j S i + p i S j [precedence constrains] 2. parallelity constraints i j S i + p i S j and S j + p j S i [time windows [r j, d j ],[r l, d l ] and p l + p j > max{d l, d j } min{r l, r j }] 3. disjunctions i j S i + p i S j or S j + p j S i [resource constraints: r jk + r lk > R k ] N. Strengthenings: symmetric triples, etc. 13

Preprocessing: Temporal Analysis Constraint propagation via global constraint in constraint programming disjunctive(s p) for each unary resource cumulative(s p, r, R) for each cumulative resource where s is an array of starting times variables p, r are arrays of parameters for respectively processing time and resource consumption, R is resource capacity 14

Preprocessing: Temporal Analysis Constraint propagation via global constraint in constraint programming disjunctive(s p) for each unary resource cumulative(s p, r, R) for each cumulative resource where s is an array of starting times variables p, r are arrays of parameters for respectively processing time and resource consumption, R is resource capacity Edge finding Not first Not last Used to reduce [E j, L j ] (earliest and latest starting time for j, ie, domain bounds) 14

Preprocessing: Temporal Analysis When a schedule S x with makespan S x is found, we are only interested in solutions S x with S x = S x 1. Add new precedence relations that must be satisfied for the makespan to improve. Heads h j and Tails t j computed by longest paths (via topological ordering) (deadlines d j can be obtained as UB t j ) 15

Let i, j be a pair of activities. A precedence relation is added between i and j if one of the following holds: h j + t i S x 1 h j + p j + p i + t i > S x 1 k = 1,..., m : r ik + r jk > R k 16

Solutions Task: Find a schedule indicating the starting time of each activity 17

Solutions Task: Find a schedule indicating the starting time of each activity All solution methods restrict the search to feasible schedules, S, S Types of schedules Local left shift (LLS): S S with S j < S j and S l = S l for all l j. Global left shift (GLS): LLS passing through infeasible schedule 17

Solutions Task: Find a schedule indicating the starting time of each activity All solution methods restrict the search to feasible schedules, S, S Types of schedules Local left shift (LLS): S S with S j < S j and S l = S l for all l j. Global left shift (GLS): LLS passing through infeasible schedule Semi active schedule: no LLS possible Active schedule: no GLS possible Non-delay schedule: no GLS and LLS possible even with preemption If regular objectives = exists an optimum which is active 17

Hence: Schedule not given by start times S i space too large O(T n ) difficult to check feasibility Sequence (list, permutation) of activities π = (j 1,..., j n ) π determines the order of activities to be passed to a schedule generation scheme 18

Outline 1. 19

Schedule Generation Schemes Given a sequence of activity, SGS determine the starting times of each activity Serial schedule generation scheme (SSGS) n stages, S λ scheduled jobs, E λ eligible jobs Step 1 Select next from E λ and schedule at earliest. Step 2 Update E λ and R k (τ). If E λ is empty then STOP, else go to Step 1. 20

Parallel schedule generation scheme (PSGS) (Time sweep) stage λ at time t λ S λ (finished activities), A λ (activities not yet finished), E λ (eligible activities) Step 1 In each stage select maximal resource-feasible subset of eligible activities in E λ and schedule it at t λ. Step 2 Update E λ, A λ and R k (τ). If E λ is empty then STOP, else move to t λ+1 = min min C j, j A λ and go to Step 1. min k=1,...,r i m k t µ i 21

Parallel schedule generation scheme (PSGS) (Time sweep) stage λ at time t λ S λ (finished activities), A λ (activities not yet finished), E λ (eligible activities) Step 1 In each stage select maximal resource-feasible subset of eligible activities in E λ and schedule it at t λ. Step 2 Update E λ, A λ and R k (τ). If E λ is empty then STOP, else move to t λ+1 = min min C j, j A λ and go to Step 1. min k=1,...,r i m k t µ i If constant resource, it generates non-delay schedules Search space of PSGS is smaller than SSGS 21

Possible uses: Forward Backward Bidirectional Forward-backward improvement (justification techniques) [V. Valls, F. Ballestín and S. Quintanilla. Justification and RCPSP: A technique that pays. EJOR, 165:375-386, 2005] Fig. from [D. Debels, R. Leus, and M. Vanhoucke. A hybrid scatter search/electromagnetism meta-heuristic for project scheduling. EJOR, 169(2):638653, 2006] 22

Dispatching Rules Determines the sequence of activities to pass to the schedule generation scheme activity based network based path based resource based Static vs Dynamic 23

Local Search All typical neighborhood operators can be used: Swap Interchange Insert reduced to only those moves compatible with precedence constraints 24

Genetic Algorithms Recombination operator: One point crossover Two point crossover Uniform crossover Implementations compatible with precedence constraints 25