Automatic Design of Scheduling Policies for Dynamic Multi-objective Job Shop Scheduling via Cooperative Coevolution Genetic Programming Su Nguyen 1, Mengjie Zhang 1, Mark Johnston 2, Kay Chen Tan 3 1 Victoria University of Wellington, NZ 2 University of Worcester, UK 3 National University of Singapore, SG IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 18, NO. 2, APRIL 2014 1
Outline Introduction Job shop scheduling Automated heuristic design Motivations Research objectives Proposed methods Cooperative coevolution to learn scheduling policies Performance evaluations Computational results Further Analyses Conclusions 2
Job Shop Production Job shop is a type of manufacturing environment which produces customer-specific components in small batches Job shop arranges the workplaces according to the processing method Job shop configuration is typical in MTO/SME There are thousands of job shop like factories with billions of dollars worth of products in U.S. S S S WI S S S WI grinding drilling turning S Station/machine WI Work-item/job 3
Job Shop Scheduling (JSS) Job shop is highly flexible being adjustable to different products and different operating sequences Resources can be utilized well Disadvantages: Long throughput time High work-in-process Planning and scheduling with a large number of jobs and machines are challenging Job shop scheduling/planning plays a crucial role to improve the customer satisfaction 4
JSS in the Literature Mainly focus on scheduling/sequencing decisions Theoretical studies of optimisation methods which are usually restricted to static problems Exact methods (branch and bound, MILP) Approximating methods (Lagrangian relaxation) Heuristic search methods (Tabu search, SA, GA, etc.) Experimental studies of heuristics or dispatching rules to deal with both static and dynamic problems Dispatching rules Heuristics (online) 5
Example of Static JSS (3 jobs x 3 machines) Job Machine sequence Processing time Weight Due-date #1 1,2,3 7,2,3 4 13 #2 3,2,1 3,4,4 2 10 #3 3,2,1 2,4,4 1 12 #2 #3 #1 Find optimal schedule Makespan C max = max{15,15,11} = 15 Total weighted tardiness TWT= 4*2+2*5+1*0 = 18 6
Example of Dynamic JSS (3 machines) Job Release Time Machine sequence Processing time Weight Duedate #1 0 1,2,3 7,2,3 4 13 #2 0 3,2,1 3,4,4 2 10 #3 0 3,2,1 2,4,4 1 12 #4??,?,??,?,??? #5??,?,??,?,??? #4 #5 Dynamic dispatching rule Makespan C max =? Total weighted tardiness TWT=? 7
Example of Dynamic JSS (3 machines) Job Release Time Machine sequence Processing time Weight Duedate #1 0 1,2,3 7,2,3 4 13 #2 0 3,2,1 3,4,4 2 10 #3 0 3,2,1 2,4,4 1 12 #4??,?,??,?,??? #5??,?,??,?,??? #4 #5 Dynamic dispatching rule Makespan C max =? Total weighted tardiness TWT=? 8
Production Planning and Control input control output control job entry level job release level priority dispatching level acceptance release priority dispatching medium term capacity adjustment short term capacity adjustment daily capacity adjustment due date assignment entry release dispatch Land, M., and Gaalman, G. (1996) Each decision is usually studied independently Studies on the interactions among different scheduling decisions are limited this is hard!!! 9
Traditional Methodology 10
Automated Heuristic Design Simulation Model Hyper-heuristics "heuristics to choose heuristics (Cowling and Soubeiga, 2000) 11
Motivations Practical JSS problems are highly complicated Need to consider multiple conflicting objectives Large-scale issues and interactions between scheduling decisions cannot be handled effectively by traditional optimization methods Simple scheduling policies (e.g. dispatching rules) are applicable but their potentials have not been explored: Require expert knowledge Design task is time-consuming changeability of factory Hyper-heuristics are promising to automatically design suitable scheduling policies 12
Research Questions How can scheduling policies be represented in hyper-heuristics? Can the automatically designed policies outperform others manually designed by human researchers? How robust are the generated policies? 13
Research Objectives Developing hyper-heuristics for automatic design of scheduling policies (SPs) for Dynamic JSS problems Comparing the generated SPs with existing SPs Evaluating the reusability of the obtained SPs Analyzing the performance of the proposed hyperheuristics and the generated SPs. Job shop in this study 14
Basic Hyper-heuristics Start SET OF TRAINING INSTANCES Evaluation of heuristics New candidate heuristic(s) End Stopping criterion satisfied Best candidate heuristic Fitness values OPTIMIZATION ALGORITHM Exploration of search space 15
Genetic Programming (GP) GP is an evolutionary computation (EC) method, inspired by biological evolution, to automatically find computer programs for solving a specific task. Lawrence J. Fogel early practitioner of GP John Koza promote the applications of GP Many applications: Financial trading Time-series prediction Robotic scientist* Software engineering Hyper-heuristics www.genetic-programming.org *Schmidt M., Lipson H. (2009) "Distilling Free-Form Natural Laws from Experimental Data," Science, Vol. 324, no. 5923, pp. 81-16 85.
Represent Scheduling Policies in GP The scheduling policy we want to find has two rules: Due date assignment rules/models (DDAR) Dispatching rules (DR) or priority function They are simply mathematical expressions!!! Example of DDAR: Total Work Content (TWK) due date = arrival time + k*(total processing time) = t + k*tpt t + * Example of DR: Minimum Slack (MS) priority = - [due date (current time + remaining processing time)] = d - (t + RT) k - + TPT d t RT 17
Representation Rules can be represented a program tree including a number of terminals (attributes) and functions GP works with a population of such trees/rules and evolve effective rules through generations Basic GP algorithm 1. Initialize random GP population 2. Evaluate GP individuals to measure their finesses 3. Apply genetic operators (crossover, mutation, reproduction) to create new (child) population 4. If termination condition is not reached, return to step 2 and start a new generation 18
Cooperative Coevolution (CC) Start Sub population for DRs Sub population for DARRs representation representation Sub population P r Individual in P r Collaborate Complete SP Form new sub populations Evaluate NO NO Max Generation? Ranking YES End Update Archive YES Obtain Objective/Fitness All inds evaluated? 19
Advantages of CC Multiple rules can be evolved simultaneously able to design comprehensive scheduling policies Reduce the complexity of the problem easier to find better rules Can be distributed on multiple CPU faster 20
Experiments Simulation models Factor Training Testing Number of machines 4,6 5,10,20 Utilization 80%, 90% 70%, 80%, 90%, 95% Distribution of processing times Distributions of number of operations Distribution of weights Arrivals Exponential Missing (# of operations <= number of machines) Exponential, Uniform Missing, Full 1, 2, 4 with the probabilities of 20%, 60%, and 20% respectively Possion process Objectives: minimize makespan (Cmax), total weighted tardiness (TWT), mean absolute percentage error (MAPE) 21
Terminal and Function sets Function set: +, -, *, /, If 22
Attribute sets for DRs Function set: +, -, *, /, If 23
Result Overview 24
Result Overview (cont.) A large number of non-dominated scheduling policies are discovered by the proposed hyper-heuristics Due dates become harder to predict as dispatching rules are tuned to minimize Cmax and TWT Evolved scheduling policies are significantly better than others developed in the literature Each existing policy is dominated by at least one evolved policy Many potential trade-offs have be ignored in the literature Obtained Pareto front shows interesting patterns Cmax and TWT can significantly reduced with small increase in MAPE (good trade-offs) 25
Examples of evolved Policies 26
Examples of evolved Policies 27
Conclusions It is possible to design a comprehensive scheduling policies for job shops Automated design approach is more beneficial than the traditional approach Less time consuming Need more computing power not a problem now Dealing with dynamic changes and complex issues Discover more powerful policies Understand possible trade-offs Proposed cooperative coevolution approach can be applied to other problems 28
Thanks!!! Questions!? 29