A Case Study on Earliness/Tardiness Scheduling by Constraint Programming

Similar documents
SCHEDULING LACQUER PRODUCTION BY REACHABILITY ANALYSIS - A CASE STUDY 1

Connections in Networks: A Hybrid Approach

CONSTRAINT-BASED SCHEDULING: AN INTRODUCTION FOR NEWCOMERS. Roman Barták

GT HEURISTIC FOR SOLVING MULTI OBJECTIVE JOB SHOP SCHEDULING PROBLEMS

A Tool for Comparing Resource-Constrained Project Scheduling Problem Algorithms

Constraint-Based Scheduling: An Introduction for Newcomers

Solving Large Aircraft Landing Problems on Multiple Runways by Applying a Constraint Programming Approach

An investigation on single machine total weighted tardiness scheduling problems

Connections in Networks: A Hybrid Approach

CONSTRAINT-BASED SCHEDULING WITH TOTAL COMPLETION TIME CRITERION: MODELS AND APPLICATIONS. András Kovács, J. Christopher Beck

Just-in-Time Scheduling with Constraint Programming

SOLVING THE JOB-SHOP SCHEDULING PROBLEM WITH A SIMPLE GENETIC ALGORITHM

Preemptive Scheduling of Equal-Length Jobs in Polynomial Time

Vehicle Routing for Food Rescue Programs: A comparison of different approaches

From Enterprise Models to Scheduling Models: Bridging the Gap

Constraint Programming

A SIMULATED ANNEALING ALGORITHM FOR SOME CLASS OF DISCRETE-CONTINUOUS SCHEDULING PROBLEMS. Joanna Józefowska, Marek Mika and Jan Węglarz

Branch-and-Bound Algorithms for Constrained Paths and Path Pairs and Their Application to Transparent WDM Networks

A simulated annealing algorithm for the vehicle routing problem with time windows and synchronization constraints

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

ZLoc: A C++ library for local search

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

Visopt ShopFloor: On the edge of planning and scheduling

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

MODELLING AND SOLVING SCHEDULING PROBLEMS USING CONSTRAINT PROGRAMMING

Permutation, no-wait, no-idle flow shop problems

Designing Heterogeneous FPGAs with Multiple SBs *

A Hybrid Searching Method for the Unrelated Parallel Machine Scheduling Problem

Surrogate Gradient Algorithm for Lagrangian Relaxation 1,2

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

Efficient Synthesis of Production Schedules by Optimization of Timed Automata

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

The Job-Shop Problem: Old and New Challenges

Local search heuristic for multiple knapsack problem

An Algorithm for an Optimal Staffing Problem in Open Shop Environment

Real-time scheduling of a tertiary-storage jukebox

LibRCPS Manual. Robert Lemmen

Grouping Genetic Algorithm with Efficient Data Structures for the University Course Timetabling Problem

Graph Coloring via Constraint Programming-based Column Generation

Query-Sensitive Similarity Measure for Content-Based Image Retrieval

Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems

How Much Logic Should Go in an FPGA Logic Block?

Using Multiple Machines to Solve Models Faster with Gurobi 6.0

ISE480 Sequencing and Scheduling

A Parallel Evolutionary Algorithm for Discovery of Decision Rules

A Memetic Algorithm for Parallel Machine Scheduling

Two models of the capacitated vehicle routing problem

CSE 473: Artificial Intelligence

Welcome to the Webinar. What s New in Gurobi 7.5

Announcements. Homework 4. Project 3. Due tonight at 11:59pm. Due 3/8 at 4:00pm

A Solver-Independent Platform for Modeling Constrained Objects Involving Discrete and Continuous Domains

Optimal Manufacturing Scheduling for Dependent Details Processing

Solving scheduling problems using parallel message-passing based constraint programming

How Efficient Can Fully Verified Functional Programs Be - A Case Study of Graph Traversal Algorithms

Index. ADEPT (tool for modelling proposed systerns),

CS 188: Artificial Intelligence Fall 2008

Announcements. CS 188: Artificial Intelligence Fall Large Scale: Problems with A* What is Search For? Example: N-Queens

Research Notes for Chapter 2 *

What is Search For? CS 188: Artificial Intelligence. Constraint Satisfaction Problems

Metaheuristic Optimization with Evolver, Genocop and OptQuest

A Modular Multiphase Heuristic Solver for Post Enrolment Course Timetabling

A Hybrid Constraint Programming Approach to Nurse Rostering Problem

Announcements. Homework 1: Search. Project 1: Search. Midterm date and time has been set:

Filtered Cartesian Flattening: An Approximation Technique for Optimally Selecting Features while Adhering to Resource Constraints

New Approach for Graph Algorithms on GPU using CUDA

Experimental Comparison of Different Techniques to Generate Adaptive Sequences

An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm

Hybrid Metaheuristics

Integrating Mixed-Integer Optimisation & Satisfiability Modulo Theories

Managing test suites for services

Hardware-Software Codesign

Journal of Universal Computer Science, vol. 14, no. 14 (2008), submitted: 30/9/07, accepted: 30/4/08, appeared: 28/7/08 J.

A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling Repairman Problem

A Randomized Algorithm for Minimizing User Disturbance Due to Changes in Cellular Technology

A Variable Neighborhood Search for the Single Machine Total Stepwise Tardiness Problem

Course Introduction. Scheduling: Terminology and Classification

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe

A Row-and-Column Generation Method to a Batch Machine Scheduling Problem

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

MINIMIZATION OF THE MEAN ABSOLUTE DEVIATION FROM A COMMON DUE DATE IN A TWO-MACHINE FLOWSHOP

Flexible-Hybrid Sequential Floating Search in Statistical Feature Selection

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

GPU Implementation of a Multiobjective Search Algorithm

CS 188: Artificial Intelligence. What is Search For? Constraint Satisfaction Problems. Constraint Satisfaction Problems

A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming

Solving Capacitated P-Median Problem by Hybrid K-Means Clustering and Fixed Neighborhood Search algorithm

Variable Neighborhood Search Based Algorithm for University Course Timetabling Problem

Ruled Based Approach for Scheduling Flow-shop and Job-shop Problems

A Computational Study of Bi-directional Dynamic Programming for the Traveling Salesman Problem with Time Windows

Using Local Search to Speed Up Filtering Algorithms for Some NP-Hard Constraints

Constraint Satisfaction Problems. Chapter 6

Branch and Bound Algorithm for Vertex Bisection Minimization Problem

HYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM. Janetta Culita, Simona Caramihai, Calin Munteanu

Handling Multi Objectives of with Multi Objective Dynamic Particle Swarm Optimization

Kanban Size and its Effect on JIT Production Systems

Workstation Cluster. AVACS S3 Phase 2. July 28, 2011

COMPLETE AND SCALABLE MULTI-ROBOT PLANNING IN TUNNEL ENVIRONMENTS. Mike Peasgood John McPhee Christopher Clark

Scheduling Algorithms in Large Scale Distributed Systems

Implementation of the USB Token System for Fingerprint Verification

3 No-Wait Job Shops with Variable Processing Times

Transcription:

A Case Study on Earliness/Tardiness Scheduling by Constraint Programming Jan Kelbel, Zdeněk Hanzálek Department of Control Engineering, Faculty of Electrical Engineering Czech Technical University in Prague kelbelj@fel.cvut.cz, hanzalek@fel.cvut.cz Abstract. The aim of this paper is to solve a problem on scheduling with earliness and tardiness costs using constraint programming approach, and to compare the results with the ones from the original timed automata approach. The case study, a production of lacquers, includes some real life features like operating hours or changeover times. Considering the earliness and tardiness costs of the case study, the problem was converted to the problem with objective of minimizing the total waiting time. Then a search procedure was applied. Keywords: scheduling, constraint programming, earliness and tardiness costs 1 Introduction This paper deals with an application of constraint-based scheduling on a scheduling problem with earliness and tardiness costs. The case study, a production of lacquers, is originally from project Ametist [1], where it was successfully solved using timed automata approach [2]. The primary motivation of this work is to compare the application of constraint programming with the timed automata solution (that was better than a MIP approach [1]). The problem can be classified as the resource-constrained project scheduling problem, in structure similar to the job shop scheduling problem, with distinct due dates and release dates, and with job dependent earliness and tardiness costs. The scheduling problem with earliness and tardiness costs (E/T) and given due dates is NP-hard already in one-machine version [3]. There are OR methods specialized to solve some restricted E/T problems, e.g. [4]. More close to our problem is the E/T job shop scheduling problem in [5], where hybrid CP/MIP approach was used. In contrast, pure CP techniques are described in this paper. Our method to solve the case study results from its feature that earliness costs are almost 50 times smaller than tardiness costs. The problem was converted to the problem with objective of minimizing the total waiting time subject to release times and due dates. Then a variation of time-directed labeling procedure was applied. The paper [2] introduces three versions of the lacquer production problem. Two of them, a basic case study and an extended case study, are in focus of our

work. A stochastic case study, which deals with unavailability of resources due to breakdown or maintenance, is described in detail in [6]. The paper is organized as follows. The scheduling problem is described in Sect. 2, while Sect. 3 deals with the some aspects of constraint model and describes our approach to the search procedure. Results of experiments are presented in Sect. 4. As a constraint programming environment we chose ILOG Solver and Scheduler via ILOG OPL Studio. 2 The Problem Statement The production of a lacquer is described by a recipe. The recipe defines processing steps, called tasks according to the scheduling theory, to be performed. The definition includes processing times of the tasks, resources required for each task, and precedence constraints. Some of the precedences have delay constraints, i.e. maximal and minimal delays (time lags) between tasks are specified. The case study contains 29 jobs, i.e. orders of lacquer to be produced. The job is specified by the recipe, quantity, release date (earliest start time) and due date. Processing times of tasks are dependent on the quantity of a lacquer. Three different recipes are included in the problem for lacquer types uni, metallic and bronze. The tasks of one recipe form a sequence, where each task requires one resource. Further, there is a special resource G 1 or G 2 (mixing vessels) that is needed for nearly the whole time of production of the job. In order to avoid multiprocessor tasks, a shadow task is created to model processing on the special resource. The recipes are depicted in Fig. 1. Case Studies The paper introduces three instances of the two case studies. The goal of the basic case study (denoted as BF) is to find any feasible schedule using simplified model of the production. Each task of the recipe has processing time that is the same for all orders, and all resources are available continuously. The extended case study (EO) is the cost optimization problem. Objective function introduced in [2] is a combination of total weighted earliness (a cost for storage of orders that are finished too early), total weighted tardiness (a penalty payment for delayed orders), and changeover cost. Due to the complexity of this objective function evaluation, a simpler objective function of total earliness of all jobs while tardy jobs are not allowed was introduced: F = j J d j C j, (1) where J is set of jobs, d j is due date and C j is completion time of job j, and d j C j j J. The value of the production total cost, which is needed for comparison with other approaches, is computed subsequently from the results

Fig. 1. The lacquer recipes. of the optimization. Next, some resources have more exact model of behaviour concerning changeover times and costs. Operating hours of resources have an exact model with breaks. Tasks cannot be scheduled during breaks, and since some tasks have processing time longer than the available time between breaks, these task are breakable, i.e. allowed to be interrupted by breaks. The third case study instance is the extended case study with performance factors (EOP), where the performance factors model the unavailability of resources due to breakdown or maintenance [2]. The performance factor is assigned to each resource, and is used to extend the processing time of a task requiring the resource. Resources The resources are grouped according to their types. Some groups contain more than one machine, i.e. there are more machines of that type. Inside the group, the machines are parallel identical resources in terms of the scheduling theory [7], or in terms of constraint-based scheduling [8], the groups are discrete resources with capacity greater than one. Groups with parallel identical resources are:

Mixing vessel metal G 1 = {R 11, R 12, R 13 } is used in production of metallic and bronze lacquers. Mixing vessel uni G 2 = {R 21, R 22 } is used for production of uni lacquers. Dose spinner G 3 = {R 31, R 32 } is used in all recipes. Filling station G 4 = {R 41, R 42 } is used in all recipes. These are resources with changeover time and cost cleaning is needed when two successive jobs are of different lacquer type. Dedicated resources are: Disperser G 5 = {R 5 } is used in uni lacquer recipe. Dispersing line G 6 = {R 6 } is used in uni lacquer recipe. Bronze mixer G 7 = {R 7 } is used in bronze lacquer recipe. Bronze dose spinner G 8 = {R 8 } is used in bronze lacquer recipe. Finally, there is unrestricted resource laboratory G 9. 3 Modelling the Problem With naive application of constraint programming, only solutions for smaller instances of the problem were found. So the state space of the problem was reduced, and a search heuristic was applied, as it is described in following paragraphs. Constraints in the model Heuristic constraint called non-overtaking [2] is used in order to reduce the search space of the problem. It ensures that the job started earlier will be finished earlier. We used even more constraining version of this heuristic. Tasks of a job with earlier due date are constrained to start earlier. Jobs of the same lacquer recipe of the type r are indexed with i {1,..., n r } according to the increasing due date. T r is the set of indices of tasks in recipe of the type r, and S i,k represents starting time of the task k of the job i. Then the constraints are declared as follows: S i,k S i+1,k, i {1,..., n r 1} and k T r. Applying this heuristic on the model with constant processing times of tasks will remove symmetry from the search space. However, this heuristic was used also in the extended case study with task processing times dependent on the quantity of lacquer, leading to loss of some solutions. Concerning the filtering algorithms on resources, the Edge-Finding algorithm [8] was used on unary and also on discrete resources. Due to the changeover times, the discrete resource G 4 was modelled as a set of alternative unary resources.

Search Procedure The search procedures that are available in OPL studio are written to minimize C max. For example, the SetTimes search heuristic [9, 10] builds the schedule from earliest starting dates, and also default labeling procedure starts from the beginning of the domains. The objective of our problem is to schedule tasks as late as possible, but still not to exceed due date. The idea of our search procedure is to try to build the schedule backwards. At first, we try to place tasks as near as possible to the due dates. One alternative of implementation of this approach is to create a new search procedure. The other one is that the time axis can be reversed and standard search procedures used, i.e. to convert the problem to the problem with objective of minimizing the total waiting time subject to release times and due dates. Because SetTimes sometimes missed all solutions, we used a search heuristic, which is a simple version of time-directed labeling procedure [11]: 1. sort final tasks of jobs by latest possible completion time in non-increasing order 2. for each task state two alternatives in the search tree: assign the latest possible completion time as the end time of the task, or decrease the latest possible completion time of the task. Finally, the search heuristic was modified to be used with reversed time axis model, which was a chosen alternative. The search heuristic defines the shape of the search tree. It was explored using two search strategies Depth First Search (DFS) and Limited Discrepancy Search (LDS, denoted as Slice-Based Search in OPL). 4 Experimental Results The three case study instances introduced in Sect. 2 were the subjects of the experiments. The problem instance stated in [2] can be simplified without influence on the result. Task requiring unrestricted resource laboratory can be replaced by a delay constraint, and some tasks can be put together. Finally, we end up with 139 tasks (of which 110 are breakable) in 29 jobs. Time for the whole schedule is 9 weeks in 1 minute resolution (90720 minutes), but the time available for each job is about 2 weeks from release date to due date, that makes the search space smaller. Moreover, due dates of the jobs are almost evenly distributed from 3 rd to 9 th week. The results are presented in Tab. 1, where column headers DFS-NO and LDS- NO determine the used search strategy with the non-overtaking constraint in the model, while LDS column corresponds to the model without the non-overtaking constraint. The timed automata column corresponds to results from [2]. The constraint programming experiments were run on Intel P4 3GHz CPU with 1GB of RAM, using OPL Studio 3.6 under Windows XP, timed automata experiments were run on Intel P4 Xeon 2.6GHz [2].

Table 1. Results for test instances DFS-NO LDS-NO LDS timed automata cost CPU cost CPU cost CPU cost CPU BF 0.09 s 0.09 s 0.45 s EO 455,758 1374 s 455,758 18.4 s 457,523 181 s * * EOP 1,234,959 1026 s 1,186,851 12.7 s 920,240 220 s 2,100,000 600 s... value not applicable *... value not available Comparing the results in columns DFS-NO and LDS-NO, wee can see big speed up in computation, i.e. the Limited Discrepancy Search helped our search procedure a lot. Concerning the impact of non-overtaking constraint, it leads to more or less significantly better results, but at the high expense of CPU time consumed by optimization. 5 Conclusion and Future Work We showed a solution of a case study on resource-constrained scheduling problem with earliness/tardiness costs. With constraint programming approach, we found a solution of the EOP problem that is notably better than the solution found with timed automata. However, we tested our method only on three instances of the problem. There is also an expectation, that the 29 job instances are maybe ones of the largest solvable in reasonable time. The plan for the future is at first to test the method on randomly generated data and on modified standard job shop benchmarks. Then our method could be improved, possibly by using approaches to solve similar problems. References 1. AMETIST: European Community Project IST-2001-35304 (Advanced Methods for Timed Systems). http://ametist.cs.utwente.nl/ (2002) 2. Behrmann, G., Brinksma, E., Hendriks, M., Mader, A.: Production Scheduling by Reachability Analysis - A Case Study. In: Workshop on Parallel and Distributed Real-Time Systems (WPDRTS), published by IEEE Computer Society Press, Los Alamitos, California (2005) 3. Baker, K.R., Scudder, G.D.: Sequencing with earliness and tardiness penalties: A review. Operations Research 38(1) (1990) 22 36 4. Sourd, F., Kedad-Sidhoum, S.: The one machine scheduling with earliness and tardiness penalties. Journal of Scheduling 6(6) (2003) 533 549 5. Beck, J.C., Refalo, P.: A Hybrid Approach to Scheduling with Earliness and Tardiness Costs. Annals of Operations Research 118(1 4) (2003) 49 71 6. Bohnenkamp, H.C., Hermanns, H., Klaren, R., Mader, A., Usenko, Y.S.: Synthesis and stochastic assessment of schedules for lacquer production. In: 1st Int. Conf. on

Quantitative Evaluation of Systems (QEST), published by IEEE Computer Society Press, Los Alamitos, California (2004) 7. Blazewicz, J., Ecker, K.H., Pesch, E., Schmidt, G., Werglarz, J.: Scheduling Computer and Manufacturing Processes. Second edn. Springer-Verlag, Berlin (2001) 8. Baptiste, P., Le Pape, C., Nuijten, W.: Constraint-Based scheduling: Applying Constraint Programming to Scheduling Problems. Kluwer Academic Publishers (2001) 9. Le Pape, C., Couronne, P., Vergamini, D., Gosselin, V.: Time-versus-Capacity Compromises in Project Scheduling. In: Proceedings of the Thirteenth Workshop of the U.K. Planning Special Interest Group. (1994) 10. ILOG S.A.: ILOG OPL Studio 3.5 Language Manual. (2001) 11. van Hentenryck, P., Perron, L., Puget, J.F.: Search and strategies in OPL. ACM Transactions on Computational Logic 1(2) (2000) 285 320