Reactive Scheduling in Practice

Similar documents
A theoretic and practical framework for scheduling in a stochastic environment

Seminar - Organic Computing

The Good Judgment Project: A large scale test of different methods of combining expert predictions

M55205-Mastering Microsoft Project 2016

Reinforcement Learning by Comparing Immediate Reward

Research Article Hybrid Multistarting GA-Tabu Search Method for the Placement of BtB Converters for Korean Metropolitan Ring Grid

University of Groningen. Systemen, planning, netwerken Bosman, Aart

Major Milestones, Team Activities, and Individual Deliverables

Executive Guide to Simulation for Health

Learning Methods for Fuzzy Systems

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

An Introduction to Simio for Beginners

Guidelines for Writing an Internship Report

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014

CS Machine Learning

BMBF Project ROBUKOM: Robust Communication Networks

Software Maintenance

Introduction to Simulation

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

A Reinforcement Learning Variant for Control Scheduling

Given a directed graph G =(N A), where N is a set of m nodes and A. destination node, implying a direction for ow to follow. Arcs have limitations

A student diagnosing and evaluation system for laboratory-based academic exercises

Learning From the Past with Experiment Databases

Rule-based Expert Systems

Practice Examination IREB

Rule Learning With Negation: Issues Regarding Effectiveness

Document number: 2013/ Programs Committee 6/2014 (July) Agenda Item 42.0 Bachelor of Engineering with Honours in Software Engineering

Visit us at:

Exercise Format Benefits Drawbacks Desk check, audit or update

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Lecture 1: Machine Learning Basics

Implementation of Genetic Algorithm to Solve Travelling Salesman Problem with Time Window (TSP-TW) for Scheduling Tourist Destinations in Malang City

A Comparison of Annealing Techniques for Academic Course Scheduling

Axiom 2013 Team Description Paper

On the Combined Behavior of Autonomous Resource Management Agents

Guidelines for Project I Delivery and Assessment Department of Industrial and Mechanical Engineering Lebanese American University

Evolutive Neural Net Fuzzy Filtering: Basic Description

Abstract. Janaka Jayalath Director / Information Systems, Tertiary and Vocational Education Commission, Sri Lanka.

Geo Risk Scan Getting grips on geotechnical risks

Discriminative Learning of Beam-Search Heuristics for Planning

Generating Test Cases From Use Cases

Software Development Plan

Self Study Report Computer Science

Radius STEM Readiness TM

Python Machine Learning

A Pipelined Approach for Iterative Software Process Model

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

1 Use complex features of a word processing application to a given brief. 2 Create a complex document. 3 Collaborate on a complex document.

Firms and Markets Saturdays Summer I 2014

Knowledge based expert systems D H A N A N J A Y K A L B A N D E

Software Development: Programming Paradigms (SCQF level 8)

Lahore University of Management Sciences. FINN 321 Econometrics Fall Semester 2017

NCEO Technical Report 27

What is PDE? Research Report. Paul Nichols

Generative models and adversarial training

WE GAVE A LAWYER BASIC MATH SKILLS, AND YOU WON T BELIEVE WHAT HAPPENED NEXT

An Estimating Method for IT Project Expected Duration Oriented to GERT

3. Improving Weather and Emergency Management Messaging: The Tulsa Weather Message Experiment. Arizona State University

Success Factors for Creativity Workshops in RE

10.2. Behavior models

Economics 201 Principles of Microeconomics Fall 2010 MWF 10:00 10:50am 160 Bryan Building

Solving Combinatorial Optimization Problems Using Genetic Algorithms and Ant Colony Optimization

Georgetown University at TREC 2017 Dynamic Domain Track

Constructing a support system for self-learning playing the piano at the beginning stage

Learning and Transferring Relational Instance-Based Policies

Aviation English Solutions

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

Knowledge-Based - Systems

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

PAST EXPERIENCE AS COORDINATION ENABLER IN EXTREME ENVIRONMENT: THE CASE OF THE FRENCH AIR FORCE AEROBATIC TEAM

CHAPTER 4: REIMBURSEMENT STRATEGIES 24

STABILISATION AND PROCESS IMPROVEMENT IN NAB

A simulated annealing and hill-climbing algorithm for the traveling tournament problem

Rule Learning with Negation: Issues Regarding Effectiveness

Ministry of Education, Republic of Palau Executive Summary

ISFA2008U_120 A SCHEDULING REINFORCEMENT LEARNING ALGORITHM

What to Do When Conflict Happens

Automating the E-learning Personalization

A Case Study: News Classification Based on Term Frequency

Modified Systematic Approach to Answering Questions J A M I L A H A L S A I D A N, M S C.

BADM 641 (sec. 7D1) (on-line) Decision Analysis August 16 October 6, 2017 CRN: 83777

What is a Mental Model?

Active Learning. Yingyu Liang Computer Sciences 760 Fall

Classification Using ANN: A Review

CLASSIFICATION OF PROGRAM Critical Elements Analysis 1. High Priority Items Phonemic Awareness Instruction

Probabilistic Latent Semantic Analysis

Project Leadership in the Future

European Cooperation in the field of Scientific and Technical Research - COST - Brussels, 24 May 2013 COST 024/13

The 9 th International Scientific Conference elearning and software for Education Bucharest, April 25-26, / X

Laboratorio di Intelligenza Artificiale e Robotica

Developing an Assessment Plan to Learn About Student Learning

Lecture 10: Reinforcement Learning

AUTOMATIC DETECTION OF PROLONGED FRICATIVE PHONEMES WITH THE HIDDEN MARKOV MODELS APPROACH 1. INTRODUCTION

Rule discovery in Web-based educational systems using Grammar-Based Genetic Programming

Learning to Schedule Straight-Line Code

While you are waiting... socrative.com, room number SIMLANG2016

Running head: FINAL CASE STUDY, EDCI Addressing a Training Gap. Final Case Study. Anna Siracusa. Purdue University

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

Transcription:

Reactive Scheduling in Practice Petridis Iason School of Mechanical Engineering National Technical University of Athens Athens, Greece Rokou Elena School of Mechanical Engineering National Technical University of Athens Athens, Greece Kirytopoulos Konstantinos School of Natural and Built Environments Barbara Hardy Institute University of South Australia Adelaide, Australia Abstract Uncertainty is inherent in project management, most, if not all, project schedules tend to get disrupted and are therefore in need of rescheduling in order to continue. The use of normal scheduling methods in such cases tends to create new schedules that are either too different from the baseline schedule or relatively unstable to further disruptions. The objective of this paper is to propose a reactive scheduling process that may be used to revise or re-optimize a previously developed baseline schedule when unexpected events occur, taking in consideration the existing schedule and the work already done or currently in progress. The proposed approach is based on a hybrid algorithm that combines genetic algorithms with simulated annealing and particle swarm optimization and aims at providing quick response and multiple solution scenarios to the project manager so as to efficiently handle the experienced or forecasted disruptions. KEYWORDS Project scheduling, reactive scheduling, genetic algorithm, RCPSP. 1. INTRODUCTION The vast majority of the research efforts in project scheduling over the past several years has concentrated on the development of exact and suboptimal processes for the generation of a baseline schedule assuming complete information and a deterministic environment (Herroelen and Leus 2004). In practice, during execution, projects are often subject of considerable uncertainty, which may lead to numerous minor or major schedule disruptions. In project scheduling, uncertainty can take many different forms. Activity duration estimates may be poor, resources may become unavailable (e.g. break down, illness, etc.), work may be interrupted due to weather conditions, new unanticipated activities may be added due to changes in project s scope, etc. All of these types of uncertainty may result in the violation of the project baseline schedule. In general, project management wants to avoid these schedule deviations. This can be achieved by generating a baseline schedule in a proactive way, trying to anticipate certain types of disruptions so as to minimize their effect if they occur. If the schedule would still break down despite these proactive planning efforts, a reactive scheduling policy will be needed to repair the infeasible schedule (Deblaere et al. 2011). The objective of this paper is to propose a reactive scheduling process that may be used to revise or reoptimize a previously developed baseline schedule when unexpected events occur. More precisely, given a baseline scheduling that has been followed and updated with actual data from the project manager in a timely manner, we assume that at a specific point in time, one or more disruptions on the schedule have been noticed or even forecasted due to new data and/or changes of one or more environmental variables. For example, a shortage of materials is expected due to upcoming strikes. In this case, the developed 10

baseline schedule becomes infeasible during project execution, due to the occurrence of one or more resource or activity disruptions. Therefore, we need a reactive policy that dictates how to revert to a feasible schedule that deviates as little as possible from the original baseline and resolves the schedule infeasibilities caused by the disturbances that occurred during schedule execution. This paper describes a new heuristic for reactive project scheduling that may be used to repair multi-mode resource-constrained project baseline schedules with variable resource availabilities and requirements that suffer from multiple activity durations and/or resource disruptions during project execution. The aim is to generate a new schedule that it is adapted to the emerged situations that are time and resource disruptions, not only taking into consideration the baseline schedule but also trying to minimize the deviations from it. The proposed approach is based on a genetic algorithm that moderates the schedule generation process which aims at providing quick response and multiple solution scenarios to the project manager so as to efficiently handle the experienced or forecasted disruptions. Finally, we discuss the computational results obtained by applying the proposed approach on a set of randomly generated project instances and on an illustrative example based on an actual construction project. More specifically, the rest of this paper is organized as follows: in Section 2, a brief review of the problem s domain and the solutions proposed in the literature is presented. In Section 3, the proposed method is in depth analyzed. In Section 4, the design of the experiment used to verify the applicability and effectiveness of the proposed method along with the preliminary computational results are presented. Section 5, concludes the paper. 2. LITERATURE REVIEW The classical Resource-Constraint Project Scheduling Problem (RCPSP) has been studied and developed extensively over the last decades (Demeulemeester and Herroelen 2002). In RCPSP we have a project of n real activities, that represent actual work, plus 2 dummy activities, that represent the start and finish of the project. This specific problem is constrained both by time and resource availability. The time constraint is created by the relationships between each activity and the durations of the activities. For example, when an activity j has a start to finish relationship with an activity i, then j cannot begin before i has finished. Therefore, if activity i has a duration of d and has started at time S i then activity j cannot be scheduled before S i + d. The resource constraints have as source the relation between the availability of a resource type at a given time and the resource demand of all the activities being executed at that time based on a specific project schedule. For example, a resource k has an availability of R kt at time t and an activity j requires r kj amount of that resource at that time. Activity j should be scheduled at time t if and only if R kt r kj. The RCPSP can be solved keeping in mind those two constrain types in order to create an activity schedule for a specific project. Usually, the variables of the constraints are deterministic, having been estimated up to a specific error margin by the project management. Because the variables of duration, resource need and resource availability are based on estimation, they may change during the project span. Changes like those create disruptions on the flow of the schedule that must be addressed quickly in order for the project to resume. Reactive scheduling is the use of a reactive procedure in order to create a new schedule that is feasible after having been adapted to the new information given by the disruptions (Deblaere et al. 2011). There are multiple types of reactive scheduling, such as schedule repair and rescheduling (Herroelen and Leus 2004). Schedule repair is the easiest method of reactive scheduling, which involves simple control rules like the right-shift rule ((Sadeh et al. 1993), (Smith 1995)), where the activities are simply shifted to future dates to 11

accommodate the changes caused by the disruptions without any additional change to optimize the schedule of the remaining activities. This method can lead to poor results, as it does not re-sequence activities, at all. Rescheduling on the other hand, generates a totally new schedule based on the newly emerged circumstances. Because of that you may get as result a schedule that differs considerably from the baseline schedule which can raise issues related for example to previously scheduled deliveries of materials or rental of equipment and usage of external sub-contractors.. Frequent rescheduling can result in instability and lack of continuity in detailed plans. For that reason many researchers prefer reactive procedures that change schedules locally to global regeneration of the schedule. A very well accepted approach, focusing on processing time uncertainties, refers to the development of efficient and effective procedures that can be used during project execution to repair the initial project schedule when needed (Van de Vonder et al. 2007). The four reactive procedures are: priority list scheduling, fixed resource allocation, sampling and weighted earliness-tardiness WET. Priority list scheduling consists of two distinct priority rules, the static priority rule and the dynamic priority rule to create the equivalent list. Those rules are used to order the activities of a project into a list that is in turn used as the order in which the activities are to be scheduled. The Fixed Resource Allocation relies on the procedure developed by Artigues et al. (2003) and generates a feasible resource flow network, which shows how the resources are passed on among the activities, by extending a parallel schedule generation scheme. The Sampling approach consists of two reactive scheduling schemes that rely on different priority lists combined with different schedule generation schemes, basic sampling and time-window sampling. The heuristic WET procedure is a customized version of a population-based iterated local search algorithm for the weighted earliness-tardiness RCPSP with minimum and maximum time lags described in Ballestin and Trautman (2006) which is an adapted version of the procedure based on the metaheuristic Iterated Local Search (Lourenço et al. 2001) that omits some of the original features in order to reduce the computational requirements of the algorithm. Reactive procedures can also be tree-based exact search techniques instead of mathematical algorithms (Deblaere et al. 2011), that are similar to those devised for solving the basic MRCPSP. In this class falls the branching scheme procedure proposed by Deblaere et al (2011) that is based on mode and delaying alternatives. In the same class is the lower bound method, where after a first feasible solution has been found (upper bound), we work backwards on the search tree to find a new path that will lead to a better solution (lower bound), and the usage of dominance like the data reduction (Sprecher et al. 1997), the left-shift (Hartmann and Drexl 1998), (Demeulemeester and Herroelen 1992), the cutset (Demeulemeester and Herroelen 1992, Demeulemeester and Herroelen 2000, Hartmann and Drexl 1998)and the resource infeasibility (Deblaere et al. 2008). Finally, there are the search strategies, like regular branch-and-bound algorithms as well as a branch-and-bound with tabu search (Glover 1989, Glover 1990), iterative deepening A* or IDA (Korf 1985) as well as a binary search procedures. Summarizing, the solution methods that have been most commonly used for reactive scheduling are either based on priority rules or on algorithms computing local optimum solutions, in order to find a feasible new schedule. On this paper we are introducing a hybrid genetic algorithm based procedure in order to find the best overall solution to the new schedule. 3. SUGGESTED METHOD The solution method (Figure 1) introduced on this paper has three distinct stages of operations: 1. Creation of a subproject 2. Hybrid Genetic algorithm (GA) on the subproject 3. Scheduling of the subproject and optimization by comparing it to the baseline. 12

Since we are working on a reactive procedure, it is logical to infer that part of the original baseline schedule will be already completed. Because of that, it is required before starting the process of scheduling the unfinished activities to remove from the project the activities that have already been completed either fully or partially. This raises the question what will happen to the partially completed activities? The subproject is actually the answer to this question. The project manager is responsible for deciding whether the activities that are partially completed will be continued immediately after the disruptions or will be split and therefore can be scheduled at a later date on a best fit basis. The splitting of an activity although it might produce better results mathematically, might create problems for the project itself in practical situations, e.g. changing worker schedules, storing materials for a longer period, etc., therefore should be left to the project manager and even more should not be a per project decision but per activity, to accommodate the specific characteristics of each activity. After the subproject has been created the newly created input is passed to the hybrid GA in order to search for a near optimal solution. It should be noted that in reactive scheduling there are two optimization objectives, the minimization of the total duration of the remaining project ( subproject )the minimization of the deviations from the baseline schedule.. The hybrid GA used on this paper is based on the algorithm proposed by Hartmann (1998). The chromosome of the GA is an n+1-sized vector, where n is the number of activities in the subproject. The first gene (0) of the chromosome is used to represent the solution algorithm (GA, SA, PSO) that will be used for the rest of the activity list. The 1..n+1 genes of the chromosome represent an activity and the sequence of the genes is the scheduling priority of the activities. Also we are using the 2-point crossover, as it has been found to provide better shuffling of the genes (Hartmann, 1998). For the first generation of parents for the algorithm we are using randomly generated feasible schedules. For the selection of chromosomes between parents and offspring a fitness based selection is used. The fitness is calculated by the following formula: where, T N is the new finish time, T B is the finish time of the baseline schedule, and n is the number of activities that have been rescheduled more than half their duration away from their baseline schedule. Figure 1 Flow of events of the proposed approach 13

4. EXPERIMENTAL RESULTS The experimental verification of the suggest method was done using the datasets from PSPLIB (Kolisch and Sprecher 1997). We experimented with the J30 and J60 sets of data and created random disruptions (50% of time and 30% of resource disruptions) for the projects and then used the proposed method to reschedule the projects. The baseline schedule of the project was created using serial SGS and normal priority rules. We used the sampling approach to find the best solution for each project. The next step is the comparison of the results to those found by the best in class algorithms referred in the literature. Furthermore, in Figures 2 and 3 an illustrative case before and after the application of the proposed method is presented. It is a project with 30 activities and baseline schedule with makespan of 45 time units. At time 11, the schedule is disrupted. More specifically, at time 11 the project manager checks the progress of the project and finds out that there are the following disruptions: at activity 15 we have a new duration of 12 time units instead of 10, at activity 21 we have a new resource need of 4 units of resource 1 instead of 2 and at activity 24 we have a new duration of 6 time units instead of 3. Furthermore, activities 2, 3, 6 and 8 have been completed, activities 1, 7, 9 and 11 are in progress and the rest of the activities have not been started yet. After deciding that all the in progress activities will not be split, the proposed method is applied and gives the schedule shown in Figure 3. The generated schedule has a makespan of x days and an average of start times deviation from the corresponding in the baseline schedule of 20%. Figure 2 Pre disrupted schedule 14

Figure 3 Post disrupted schedule 5. CONCLUSIONS Uncertainty is part of project management, there are always going to be disruptions in a project s schedule, the more complicated and lengthy the project, the bigger the consequences of these disruptions. For that reason the need of a fast and reliable reactive process that will generate schedules easily applicable in practice is great. The applicability of a schedule, generated to accommodate time and resource disruptions, is highly related to the degree that already taken commitments are taken into consideration, which are reflected in the initial baseline schedule. Furthermore, the minimization of the total project duration remains of uppermost importance but should not overpower the need of minimal number of activities that are scheduled far apart from their original scheduling times. REFERENCES Artigues, C., Michelon, P. and Reusser, S. (2003) Insertion techniques for static and dynamic resource-constrained project scheduling. European Journal of Operational Research, 149(2), pp. 249-267. Ballestín, F. and Trautmann, N. (2008) An iterated-local-search heuristic for the resource-constrained weighted earlinesstardiness project scheduling problem. International Journal of Production Research, 46(22), pp. 6231-6249. Deblaere, F., Demeulemeester, E. and Herroelen, W. (2008) Exact and heuristic reactive planning procedures for multimode resource-constrained projects. Available at SSRN 1288546. Deblaere, F., Demeulemeester, E. and Herroelen, W. (2011) Reactive scheduling in the multi-mode RCPSP. Computers & Operations Research, 38(1), pp. 63-74. Demeulemeester, E. and Herroelen, W. (1992) A branch-and-bound procedure for the multiple resource-constrained project scheduling problem. Management science, 38(12), pp. 1803-1818. 15

Demeulemeester, E. and Herroelen, W. (2000) The discrete time/resource trade-off problem in project networks: a branch-and-bound approach. IIE transactions, 32(11), pp. 1059-1069. Demeulemeester, E. L. and Herroelen, W. (2002) Project scheduling : a research handbook, International series in operations research & management science, Boston: Kluwer Academic Publishers. Glover, F. (1989) Tabu search part I. ORSA Journal on computing, 1(3), pp. 190-206. Glover, F. (1990) Tabu search part II. ORSA Journal on computing, 2(1), pp. 4-32. Hartmann, S. and Drexl, A. (1998) Project scheduling with multiple modes: A comparison of exact algorithms. Networks, 32(4), pp. 283-297. Herroelen, W. and Leus, R. (2004) Robust and reactive project scheduling: a review and classification of procedures. International Journal of Production Research, 42(8), pp. 1599-1620. Kolisch, R. and Sprecher, A. (1997) PSPLIB-a project scheduling problem library: OR software-orsep operations research software exchange program. European Journal of Operational Research, 96(1), pp. 205-216. Korf, R. E. (1985) Depth-first iterative-deepening: An optimal admissible tree search. Artificial intelligence, 27(1), pp. 97-109. Lourenço, H. R., Martin, O. C. and Stutzle, T. (2001) Iterated local search. arxiv preprint math/0102188. Sadeh, N., Otsuka, S. and Schnelbach, R. (1993) Predictive and reactive scheduling with the Micro-Boss production scheduling and control system. in Proceedings, IJCAI-93 Workshop on Knowledge-Based Production Planning, Scheduling and Control. Smith, S. F. (1995) Reactive scheduling systems. in Intelligent scheduling systems: Springer. pp. 155-192. Sprecher, A., Hartmann, S. and Drexl, A. (1997) An exact algorithm for project scheduling with multiple modes. Operations-Research-Spektrum, 19(3), pp. 195-203. Van de Vonder, S., Ballestín, F., Demeulemeester, E. and Herroelen, W. (2007) Heuristic procedures for reactive project scheduling. Computers & Industrial Engineering, 52(1), pp. 11-28. 16