Dynamic Scheduling with Genetic Programming

Similar documents
Single Machine Models

RCPSP Single Machine Problems

Single Machine Problems Polynomial Cases

Lecture 4 Scheduling 1

Embedded Systems 14. Overview of embedded systems design

IE652 - Chapter 10. Assumptions. Single Machine Scheduling

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Multi-Objective Scheduling Using Rule Based Approach

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

Task Models and Scheduling

SINGLE MACHINE SEQUENCING Part 2. ISE480 Sequencing and Scheduling Fall semestre

General Scheduling Model and

4 Sequencing problem with heads and tails

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm

Bi-criteria Scheduling Problems on Parallel Machines

Evolutionary Ensemble Strategies for Heuristic Scheduling

Embedded Systems Development

Networked Embedded Systems WS 2016/17

Module 5: CPU Scheduling

Chapter 6: CPU Scheduling

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

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

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

CS521 CSE IITG 11/23/2012

CPU scheduling. CPU Scheduling

Scheduling Lecture 1: Scheduling on One Machine

CIS 4930/6930: Principles of Cyber-Physical Systems

Real-Time Systems. Event-Driven Scheduling

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling

CSE 380 Computer Operating Systems

Real-Time Systems. Event-Driven Scheduling

EDF Feasibility and Hardware Accelerators

Minimizing the weighted completion time on a single machine with periodic maintenance

Scheduling Lecture 1: Scheduling on One Machine

Simple Dispatch Rules

Lecture 2: Scheduling on Parallel Machines

Scheduling Online Algorithms. Tim Nieberg

Flow Shop and Job Shop Models

Aperiodic Task Scheduling

Energy-efficient Mapping of Big Data Workflows under Deadline Constraints

Polynomially solvable and NP-hard special cases for scheduling with heads and tails

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University

CHAPTER 16: SCHEDULING

Recoverable Robustness in Scheduling Problems

Clock-driven scheduling

Single Machine Scheduling: Comparison of MIP Formulations and Heuristics for. Interfering Job Sets. Ketan Khowala

An Approximate Pareto Set for Minimizing the Maximum Lateness and Makespan on Parallel Machines

Embedded Systems - FS 2018

Exact Mixed Integer Programming for Integrated Scheduling and Process Planning in Flexible Environment

Scheduling with Constraint Programming. Job Shop Cumulative Job Shop

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

Combinatorial Structure of Single machine rescheduling problem

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2

Coin Changing: Give change using the least number of coins. Greedy Method (Chapter 10.1) Attempt to construct an optimal solution in stages.

AN ABSTRACT OF THE THESIS OF

An exact approach to early/tardy scheduling with release dates

Unrelated Parallel Machines Scheduling Problem with Sequence Dependent Setup Times

Scheduling jobs on two uniform parallel machines to minimize the makespan

Process Scheduling. Process Scheduling. CPU and I/O Bursts. CPU - I/O Burst Cycle. Variations in Bursts. Histogram of CPU Burst Times

CPU Scheduling. CPU Scheduler

DETERMINING THE VARIABLE QUANTUM TIME (VQT) IN ROUND ROBIN AND IT S IMPORTANCE OVER AVERAGE QUANTUM TIME METHOD

Math Models of OR: Branch-and-Bound

A Heuristic Method for Job-Shop Scheduling with an Infinite Wait Buffer

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Real-Time Systems. Lecture 4. Scheduling basics. Task scheduling - basic taxonomy Basic scheduling techniques Static cyclic scheduling

System Model. Real-Time systems. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy

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

How to deal with uncertainties and dynamicity?

Minimizing Mean Flowtime and Makespan on Master-Slave Systems

Batch delivery scheduling with simple linear deterioration on a single machine 1

Heuristics Algorithms For Job Sequencing Problems

Scheduling with Common Due Date, Earliness and Tardiness Penalties for Multi-Machine Problems: A Survey

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

ECE 5775 (Fall 17) High-Level Digital Design Automation. Scheduling: Exact Methods

Complexity analysis of job-shop scheduling with deteriorating jobs

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II

A HEURISTIC APPROACH TO MINIMISING MAXIMUM LATENESS ON A SINGLE MACHINE. Marmara University, Turkey 1 2

Climbing discrepancy search for flowshop and jobshop scheduling with time-lags

Algorithm Design Strategies V

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

Supplement of Improvement of Real-Time Multi-Core Schedulability with Forced Non- Preemption

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

CSCE 313 Introduction to Computer Systems. Instructor: Dezhen Song

3. Scheduling issues. Common approaches 3. Common approaches 1. Preemption vs. non preemption. Common approaches 2. Further definitions

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund

AS computer hardware technology advances, both

Integer and Constraint Programming for Batch Annealing Process Planning

CycleTandem: Energy-Saving Scheduling for Real-Time Systems with Hardware Accelerators

Lecture: Workload Models (Advanced Topic)

Dependency Graph Approach for Multiprocessor Real-Time Synchronization. TU Dortmund, Germany

University of Twente. Faculty of Mathematical Sciences. Scheduling split-jobs on parallel machines. University for Technical and Social Sciences

Proactive Algorithms for Job Shop Scheduling with Probabilistic Durations

Scheduling Periodic Real-Time Tasks on Uniprocessor Systems. LS 12, TU Dortmund

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

Single Machine Scheduling with a Non-renewable Financial Resource

FH2(P 2,P2) hybrid flow shop scheduling with recirculation of jobs

A Semiconductor Wafer

Parallel machine scheduling with precedence constraints and setup times

Exam Spring Embedded Systems. Prof. L. Thiele

Scheduling with Advanced Process Control Constraints

Transcription:

Dynamic Scheduling with Genetic Programming Domago Jakobović, Leo Budin domago.akobovic@fer.hr Faculty of electrical engineering and computing University of Zagreb Introduction most scheduling problems are NP complete require heuristic solving methods heuristic methods may be divided in two broad categories: 1. search or enumerative procedures high quality solutions, large time demand GA, branch and bound, neighborhood search give solution in the form of a single schedule (activity-resource timetable) require new computation for each scheduling instance 2. solution building heuristics solutions of generally less quality, fast solving time give solution in the form of state transition (i.e. "start activity ity A on resource B next") readily applicable on each new scheduling instance mostly referred to as 'scheduling rules', 'scheduling policies' or 'dispatching rules' 1/25 1

Introduction scheduling rules: often the only choice in time constrained or dynamic scheduling allow frequent schedule modification and reaction to changing system requirements different performance criteria demand different scheduling heuristics which heuristic to use? can a more 'appropriate' heuristic be designed? proect: evolution of scheduling heuristics with GP goal: alleviate the design of arbitrary scheduling heuristics (for user defined criteria and scheduling environment) 2/25 Priority scheduling scheduling rule transforms the system from current state into the next by assigning an activity to a resource the choice of activity and/or resource is based on their respective priority priority scheduling we define the following components of a scheduling rule: priority function rule application algorithm priority function defines current priority values of the elements of the system (obs in most cases) the activity with the highest value is assigned to the highest value resource rule application algorithm or meta-algorithmalgorithm defines when and how activities get scheduled scheduling may occur when a certain condition is fulfilled: a resource becomes free, new activity arrives etc. 3/25 2

Priority scheduling π = 1 d an example of a meta-algorithm algorithm (one machine scheduling): while (there are unscheduled obs) { wait until the machine is available; calculate priorities π of all available obs; start the best priority ob; } examples of priority functions (best priority highest priority value): π = w p - WSPT (weighted shortest processing time) rule π = 1 d - EDD (earliest due date) rule in simpler environments meta-algorithm algorithm is mostly omitted 4/25 Evolution of scheduling heuristics meta-algorithm: algorithm: defined manually different meta-algorithm algorithm for each scheduling environment priority function: evolved with GP different priority function can be evolved for every combination of scheduling environment and criteria 5/25 3

Dynamic one machine scheduling environment: one machine with ob release dates input variables: p - processing time r - release date d - due date - weight w output: ob finishing time flowtime tardiness lateness C F = C r T = max C d,0 U { } 1: T > 0 = 0 : T = 0 6/25 Fitness function(s) scheduling criteria weighted tardiness T weighted number of late obs U weighted flowtime F makespan C = w = w T w = = w U w F w { C } max max fitness function (i -th test case) n w T = 1 fi = n w p f i f = n = 1 w U n w n w F i = = 1 n w p { C } max fi = n p 7/25 4

Test cases ob duration: integer values 1,..,100 with uniform, normal and bimodal distributions weights: values 0.01,..,1 with uniform dist. n 1 ob release dates r 0, 2 pi i= 1 ob due dates (dynamic environment) n n d r + p r T R r + p r T + R = 1 = 1 ( 1 2 ), ( 1 2) parameters T and R fixed for a single test case with values in [0, 1] 12, 25, 50 and 100 obs per test case 100 learning test cases, 600 evaluation test cases 8/25 Scheduling in a dynamic environment a meta-algorithm algorithm needs to be defined for dynamic environment (with ob release dates) dealing with dynamic conditions: 1. consider only available obs 2. consider (some) obs that arrive in future and add waiting time to their processing time in priority function (use static priority functions) 3. consider (some) obs that arrive in future and use dynamic priority ity function (which takes waiting time in account) existing heuristics: 2 nd or 3 rd approach GP evolved heuristics: 3 rd approach 9/25 5

Scheduling in a dynamic environment meta-algorithm algorithm used: while (there are unscheduled obs) { wait until the machine is available; p MIN = duration of shortest available ob; calculate priorities of all obs for which r time < p start ob with best priority; } MIN 10/25 Functions and terminals Function name ADD, SUB, MUL, DIV Definition binary math operators POS a = max a,0 POS ( ) { } Terminal name Definition pt processing time ( p ) dd due date ( d ) w weight ( w ) N number of obs Nr remaining (unscheduled) obs SP sum of processing times of all obs SPr sum of processing times of remaining obs SD sum of due dates of all obs SL positive slack, max { d p time, 0} AR time till ob arrival (waiting time), max { r time,0} 11/25 6

Results an example of evolved priority function: ob priority = ((SL+((SPr/(((((pt/w)+((Nr+(Nr/w))*AR))+((SPr/(N/((N-SPr)+(SPr+SL))))/(SPr*((SL+(pt+SL))/ SPr)+(SPr+SL))))/(SPr*((SL+(pt+SL))/ SPr))))/((pt-SPr)+(SPr+SL)))+w))/(N+N)))+((((pt/w)+((Nr+(Nr/w))*AR))+((SPr/(( SPr)+(SPr+SL)))+w))/(N+N)))+((((pt/w)+((Nr+(Nr/w))*AR))+((SPr/((N/((pt N/((pt-SPr)+( SPr+SL)))+w))/((pos((N*(dd+((N/(N+((N+N)*Nr)))/w))))*(N/(w/(SL+((SD (SD-SPr)+SL)))))*((SL+( SPr)+SL)))))*((SL+( pt/n))/spr))))-(((sl/(((n+n)*nr)/((n*(dd+(ar/w))) (((SL/(((N+N)*Nr)/((N*(dd+(AR/w)))-((SL+(Nr/w))+((SP+w) ((SL+(Nr/w))+((SP+w)-pos(((pt+SL)*(dd+(( N+N)/w)))))))))-(Nr/w))/((pt (Nr/w))/((pt-SPr)+(((pt+SL)/pt)*w))))) GP evolved solution is compared to existing heuristics (for a given environment) results shown in two forms: 1. total normalized criteria values (less is better) 2. percentage of test cases in which the heuristic achieved the best known result dominance percentage (more is better) results generated on unseen set of evaluation test cases 12/25 Results one machine, ob release dates, weighted tardiness problem 1500.0 1000.0 500.0 Absolute criteria values 0.0 GP XD RM MON WSPT EDD Twt 330.6 389.7 451.7 623.1 845.0 1280.9 Uwt 188.8 194.1 210.6 216.7 201.6 440.0 100% Dominance percentage 80% 60% 40% 20% 0% GP XD RM MON WSPT EDD Twt 80% 21% 9% 3% 0% 14% Uwt 49% 30% 17% 8% 21% 13% 13/25 7

Results one machine, ob release dates, weighted number of late obs 1500.0 1000.0 500.0 Absolute criteria values 0.0 GP XD RM MON WSPT EDD Twt 1134.8 389.7 451.7 623.1 845.0 1280.9 Uwt 129.6 194.1 210.6 216.7 201.6 440.0 100% Dominance percentage 80% 60% 40% 20% 0% GP XD RM MON WSPT EDD Twt 10% 79% 22% 5% 0% 15% Uwt 76% 22% 13% 4% 3% 13% 14/25 Job shop scheduling obs consist of series of operations each operation executed on a predefined machine in a predefined sequence (ob dependant) input variables: p - operation processing time of ob on machine i w i - ob weight - ob due date d what operations can be scheduled at some moment in time? available operations operations with known ready time in future (the ob's previous operation is currently executing) time till the operation can start is smaller than the duration of the shortest available operation above categories denoted as pending operations 15/25 8

Job shop scheduling meta-algorithm algorithm in ob shop scheduling: while (there are unscheduled operations) { wait for a machine with pending operations; calculate priorities of all pending operations; schedule best priority operation; update machine and next ob s operation ready time; } 16/25 Functions and terminals Function name ADD, SUB, MUL, DIV, POS SQR Definition - protected unary square root: SQR( a) = IFGT comparison operator: IFGT ( a, b, c, d ) Terminal name Definition pt operation processing time( p i ) dd ob due date ( d ) w ob weight ( w ) CLK current time operation waiting time: max { r time,0 i } 1, if a < 0 a, otherwise c, if a > b = d, otherwise, where r i AR denotes finishing time of the previous operation (before machine i) NOPr number of remaining ob operations TWK total processing time of all operations of a ob ( twk ) TWKr processing time of remaining operations of a ob ( twkr ) PTav average duration of all the operations on a given machine head time ratio: the ratio of the total time the ob has been HTR in the system and total duration of ob's completed operations 17/25 9

Results weighted tardiness optimization 250.0 Absolute criteria values 200.0 150.0 100.0 50.0 0.0 GP RM COVERT WSPT SPT/TWKR WTWKR SL/TWKR EDD Tw t 146.1 158.0 179.8 161.6 195.5 166.1 225.5 206.1 Uw t 70.9 68.5 73.4 69.3 74.6 68.4 77.0 76.5 Fw t 105.8 110.0 119.0 107.9 123.2 109.0 134.3 127.9 Cmax 133.5 121.6 118.7 121.7 118.9 127.8 123.7 128.0 100% Dominance percentage 80% 60% 40% 20% 0% GP RM COVERT WSPT SPT/TWKR WTWKR SL/TWKR EDD Tw t 88% 5% 0% 2% 0% 4% 0% 1% Uw t 12% 14% 11% 13% 11% 17% 11% 11% Fw t 73% 1% 0% 16% 0% 10% 0% 0% Cmax 0% 5% 31% 5% 35% 4% 14% 6% 18/25 Adaptive scheduling heuristic often a small number of resources present bottlenecks in a system (relatively much greater load) scheduling efficiency can be improved with a priori load data generally not available in advance usage of a 'load-aware' aware' meta-heuristic with bottleneck identification may be useful let GP develop such a heuristic proposed GP solution structure in 3 independent trees: two scheduling trees priority functions for 'high load' and 'average load' conditions/resources decision tree determines which of the other two is used at a given moment 19/25 10

Meta-algorithm algorithm for adaptive heuristic proposed meta-algorithm algorithm coupled with multiple tree solution: for (each machine) P i = decision tree value; while (there are unprocessed operations) { wait for a machine with pending operations; P i = decision tree value for current machine; if ( P ) i > Pm, m calculate priorities using the second tree; else calculate priorities using the first tree; schedule best priority operation; update machine and ob s next operation ready time; } 20/25 Terminals of the decision tree terminals have to describe the current load situation on a machine Terminal name MTWK MTWKr MTWKav MNOPr MNOPw MUTL Definition total processing time of all operations on a machine processing time of all remaining operations on a machine average duration of all operations on all machines number of remaining operations on a machine number of currently waiting operations on a machine utilization: the ratio of duration of all processed operations on a machine and total elapsed time function set identical to the scheduling trees 21/25 11

Results weighted tardiness optimization 250.0 Absolute criteria values 200.0 150.0 100.0 50.0 0.0 GP RM COVERT WSPT SPT/TWKR WTWKR SL/TWKR EDD Tw t 143.8 158.0 179.8 161.6 195.5 166.1 225.5 206.1 Uw t 67.2 68.5 73.4 69.3 74.6 68.4 77.0 76.5 Fw t 104.5 110.0 119.0 107.9 123.2 109.0 134.3 127.9 Cmax 132.9 121.6 118.7 121.7 118.9 127.8 123.7 128.0 100% Dominance percentage 80% 60% 40% 20% 0% GP RM COVERT WSPT SPT/TWKR WTWKR SL/TWKR EDD Tw t 94% 4% 0% 1% 0% 0% 0% 1% Uw t 17% 13% 11% 13% 11% 14% 11% 11% Fw t 86% 0% 0% 11% 0% 3% 0% 0% Cmax 0% 5% 31% 5% 35% 4% 14% 6% 22/25 Adaptive heuristic performance head-to-head comparison of single tree ('GP') and multiple tree solutions ('GP-3') in terms of dominance percentages the difference in absolute criteria values is not great (146.05 vs 147.5 in mean values over multiple runs) Dominance percentage 80% 60% 40% 20% 0% GP-3 GP Tw t 64% 31% Uw t 17% 11% Fw t 64% 24% Cmax 0% 1% 23/25 12

Conclusion GP evolved scheduling heuristics exhibit performance measurable to those of human-designed heuristics particularly useful in cases where there are no suitable heuristics ics (e.g. non-standard performance criteria or scheduling environment) problem divided in meta-algorithm algorithm and priority function part suitable meta-algorithm algorithm can improve scheduling efficiency the described methodology alleviates the design of arbitrary scheduling heuristics modification needed for a new environment: define new or use existing meta-algorithmalgorithm define environment and criteria specific terminals (possible use of the same variables as in existing heuristics) define appropriate test cases 24/25 Future work scheduling imprecise computation systems multicriteria optimization evolution of caching protocols evolution of meta-algorithm algorithm with GP iterative schedule refinement (non-deterministic scheduling rules) -- further information: domago.akobovic@fer.hr 25/25 13

Results one machine, ob release dates, sequence dependant setup times, weighted tardiness optimization Postotak nabolih pronañenih rešena 100% 80% 60% 40% 20% 0% GP ATCS RM MON WSPT XD Twt 79% 14% 4% 1% 1% 4% Uwt 48% 14% 1% 3% 35% 1% Fwt 47% 32% 1% 14% 6% 1% Cmax 20% 21% 22% 82% 2% 23% 26/25 Results one machine, sequence dependant setup times, precedence constraints, weighted tardiness optimization Postotak nabolih pronañenih rešena 100% 80% 60% 40% 20% 0% GP ATCS RM MON WSPT SIDNEY Twt 72% 9% 10% 6% 3% 1% Uwt 37% 28% 6% 14% 13% 9% Fwt 93% 4% 0% 1% 2% 0% Cmax 89% 5% 8% 13% 2% 0% 27/25 14