Genetic Algorithm in Job Shop Scheduling

Slides:



Advertisements
Similar presentations
Population-based metaheuristics Nature-inspired Initialize a population A new population of solutions is generated Integrate the new population into the.
Advertisements

1 Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Constraint Optimization We are interested in the general non-linear programming problem like the following Find x which optimizes f(x) subject to gi(x)
CS6800 Advanced Theory of Computation
School of Computer Science
1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Evaluating Heuristics for the Fixed-Predecessor Subproblem of Pm | prec, p j = 1 | C max.
Multi-Objective Optimization NP-Hard Conflicting objectives – Flow shop with both minimum makespan and tardiness objective – TSP problem with minimum distance,
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
Characterizing the Distribution of Low- Makespan Schedules in the Job Shop Scheduling Problem Matthew J. Streeter Stephen F. Smith Carnegie Mellon University.
1 Wendy Williams Metaheuristic Algorithms Genetic Algorithms: A Tutorial “Genetic Algorithms are good at taking large, potentially huge search spaces and.
Case Injected Genetic Algorithms Sushil J. Louis Genetic Algorithm Systems Lab (gaslab) University of Nevada, Reno
Imagine that I am in a good mood Imagine that I am going to give you some money ! In particular I am going to give you z dollars, after you tell me the.
EAs for Combinatorial Optimization Problems BLG 602E.
Ant Colony Optimization Optimisation Methods. Overview.
Artificial Intelligence Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
D Nagesh Kumar, IIScOptimization Methods: M1L4 1 Introduction and Basic Concepts Classical and Advanced Techniques for Optimization.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Using Simulated Annealing and Evolution Strategy scheduling capital products with complex product structure By: Dongping SONG Supervisors: Dr. Chris Hicks.
Ant Colony Optimization (ACO): Applications to Scheduling
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Elements of the Heuristic Approach
Population-based metaheuristics Nature-inspired Initialize a population A new population of solutions is generated Integrate the new population into the.
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Christoph F. Eick: Applying EC to TSP(n) Example: Applying EC to the TSP Problem  Given: n cities including the cost of getting from on city to the other.
Genetic Algorithms: A Tutorial
Genetic Algorithms and Ant Colony Optimisation
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Genetic algorithms Prof Kang Li
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
CS 484 – Artificial Intelligence1 Announcements Lab 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
Lecture 8: 24/5/1435 Genetic Algorithms Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Design & Analysis of Algorithms Combinatory optimization SCHOOL OF COMPUTING Pasi Fränti
Design of an Evolutionary Algorithm M&F, ch. 7 why I like this textbook and what I don’t like about it!
1/27 Discrete and Genetic Algorithms in Bioinformatics 許聞廉 中央研究院資訊所.
Fuzzy Genetic Algorithm
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
How to apply Genetic Algorithms Successfully Prabhas Chongstitvatana Chulalongkorn University 4 February 2013.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
C OMPARING T HREE H EURISTIC S EARCH M ETHODS FOR F UNCTIONAL P ARTITIONING IN H ARDWARE -S OFTWARE C ODESIGN Theerayod Wiangtong, Peter Y. K. Cheung and.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Edge Assembly Crossover
A Production Scheduling Problem Using Genetic Algorithm Presented by: Ken Johnson R. Knosala, T. Wal Silesian Technical University, Konarskiego Gliwice,
Optimization Problems
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Genetic Algorithm (GA)
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
Genetic Algorithms. Solution Search in Problem Space.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
1 Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Optimization Problems
Genetic Algorithms.
School of Computer Science & Engineering
Example: Applying EC to the TSP Problem
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
Example: Applying EC to the TSP Problem
Optimization Problems
Example: Applying EC to the TSP Problem
Metaheuristic methods and their applications. Optimization Problems Strategies for Solving NP-hard Optimization Problems What is a Metaheuristic Method?
Multi-Objective Optimization
Design & Analysis of Algorithms Combinatorial optimization
Topic 15 Job Shop Scheduling.
Case Injected Genetic Algorithms
Traveling Salesman Problem by Genetic Algorithm
Presentation transcript:

Genetic Algorithm in Job Shop Scheduling by Prakarn Unachak

Outline Problem Definition Previous Approaches Genetic Algorithm Reality-enhanced JSSP Real World Problem Ford’s Optimization Analysis Decision Support System

Job-Shop Scheduling J × M JSSP: J jobs with M machines. Each job has M operations, each operation requires a particular machine to run. Precedence Constraint; each job has exact ordering of operations to follow. Non-preemptible.

JSSP Instance Job Machine 1 3(1) 1(3) 2(6) 2 2(8) 3(5) 1(4) 3 2(4) (Processing Time) 1 3(1) 1(3) 2(6) 2 2(8) 3(5) 1(4) 3 2(4) 1(8)

Similar Problems Open-shop scheduling Flow-shop scheduling No precedence constraint. Flow-shop scheduling Identical precedence constraint on all jobs.

Objectives Makespan Flow times With deadlines Time from when first operation starts to last operation finishes. Flow times Time when a job is ready to when the job finishes. With deadlines Lateness Tardiness Unit penalty If each job has varying importance, utilities can also be weighted.

Disjunctive Graph J × M + 2 nodes. One source, one sink and J × M operation nodes, one for each operation. A directed edge = direct precedence relation. Disjunctive arcs exists between operations that run on the same machine. Cost of a directed edge = time require to run the operation of the node it starts from.

Disjunctive Graph: Scheduling a graph To schedule a graph is to solve all disjunctive arcs, no cycle allowed. That is, to define priorities between operations running on the same machine.

Disjunctive Graph: Representing a Solution Acyclic Graph. The longest path from Source to Sink is called critical path. Combined cost along the edges in the critical path is the makespan.

Gantt Chart Represents a solution. A block is an operation, length is the cost (time). Can be either job Gantt Chart, or machine Gantt Chart.

Type of Feasible Solutions Inadmissible In regards to makespan. Inadmissible Excessive idle time. Semi-active Cannot be improved by shifting operations to the left. Also known as left-justified. Active Cannot be improved without delaying operations. Non-delay If an operation is available, that machine will not be kept idle. Optimal Minimum possible makespan. Semi-active Active Non-delay Optimal

Optimal Schedule is not always Non-delay Sometime, it is necessary to delay an operation to achieve optimal schedule. Job Machine (Processing Time) 1 1(1) 3(2) 2(10) 2 1(3) 2(1) 3(5) 3 2(3)

GT Algorithm Developed by Giffler and Thompson. (1960) Guarantees to produce active schedule. Used by many works on JSSP. A variation, ND algorithm, exists. The difference is that G is instead the set of only operations that can start earliest. ND guarantees to produced non-delay schedule. Since an optimal solution might not be non-delay, ND is less popular than GT. C = set of first operation of each job. t(C) = the minimum completion time among jobs in C. m* = machine where t(C) is achieved. G = set of operations in C that run on m* that and can start before t(C). Select an operation from G to schedule. Delete the chosen operation from C. Include its immediate successor (if one exists) in C. If all operations are scheduled, terminate. Else, return to step 2.

Issues in Solving JSSP NP-Hard Multi-modal Scaling issue JSSP reaches intractability much faster than other NP-completed problem, such as TSP.

Previous Approaches Exhaustive Heuristic Guarantees optimal solution, if finishes. Heuristic Return “good enough” solution. Priority Rules Easy to computed parameters. Local Search Make small improvement on current solution. Evolutionary Approaches Adopt some aspects of evolution in natural biological systems.

Branch and Bound Exhaustive, using search tree. Bound Pruning Making step-by-step completion. Bound First found solution’s makespan becomes bound. If a better solution is found, update bound. Pruning If partial solution is worse than bound, abandon the path. Still prohibitive.

Priority Rules Easy to compute parameters. Description Random Select job in random order. FIFO First in, first out. SR Select job with shortest remaining processing time. DD Select job with earliest deadline. NINQ Select job that the next operation will use the machine with shortest queue. Easy to compute parameters. Multiple rules can be combined. Might be too limited.

Local Search Hillclimbing Threshold algorithm Tabu search Improving solution by searching among current solution’s neighbors. Local Minima. Threshold algorithm Allow non-improving step. E.g. simulated annealing. Tabu search Maintain list of acceptable neighbors. Shifting bottleneck Schedule one machine at a time, select “bottleneck” first.

Evolutionary Approaches Genetic Algorithm (GA) Utilize survival-of-the-fittest principle. Individual solutions compete to propagate to the next level. Genetic Programming (GP) Individuals are programs. Artificial Immune System (AIS) Pattern matching: develop antigens to detect antibodies. Ant Colony Optimization (ACO) Works with graph problems. Imitate ant foraging behaviors. Use pheromones to identified advantages parts of solutions.

Genetic Algorithm Individual solutions are represented by chromosomes. Representation scheme is needed. Fitness function. How to evaluate an individual.

Genetic Algorithm Recombination Termination Criteria Initialization Evaluation Selection Recombination How two parent individuals exchange characteristics to produce offspring. Need to produce valid offspring, or have repair mechanism. Termination Criteria E.g. number of generations, diversity measures. Recombination Mutation Evaluation Terminate? Display results

Representations of JSSP Direct Chromosome represents a schedule. e.g. list of starting times. Indirect A chromosome represents a scheduling guideline. e.g. list of priority rules, job permutation with repetition. Risk of false competition.

Indirect Representations Binary representation Each bit represent orientation of a disjunctive arc in the disjunctive graph. Job permutation with repetition Indicate priority of a job to break conflict in GT. 3 3 2 2 1 2 3 1 1

Indirect Representations (cont.) Job sequence matrix Similar to permutation, but separated to each machine. Priority rules List of priority rules to break conflict in GT

JSSP-specific Crossover Operators Chromosome level Work directly on chromosomes. Schedule level Work on decoded schedules, not directly on chromosomes. Not representation-sensitive.

Chromosome-level Crossover Subsequence Exchange Crossover (SXX) Job sequence matrix representation. Search for exchangeable subsequences, then switch ordering. Job-based Ordered Crossover (JOX) Separate jobs into two set, derive ordering between one set of job from a parent.

Chromosome-level Crossover (cont.) Precedence Preservative Crossover (PPX) Permutation with repetition representation. Use template. Order-based Giffler and Thompson (OBGT) Uses order-based crossover and mutation operators, then use GT to repair the offspring.

Schedule-level Crossover GT Crossover Use GT algorithm. Randomly select a parent to derive priority when breaking conflict. Time Horizon Exchange (THX) Select a point in time, offspring retain ordering of operations starting before that point from one parent, the rest from another.

Schedule-level Crossover (cont.) THX Crossover (Lin, et. al 1997)

Memetic Algorithm Hybrid between local search and genetic algorithm. Sometime called Genetic Local Search. Local search can be used to improve offspring. Multi-step Crossover Fusion (MSXF) Local search used in crossover. Start at one parent, move through improving neighbor closer to the other parent.

Parallel GA GA with multiple simultaneously-run populations. Types Fine-grained. Individuals only interacts with neighbors. Coarse-grained. Multiple single-population GA, with migration. Benefits Diversity. Parallel computing. Multiple goals.

Reality-enhanced JSSP Dynamic JSSP Jobs no longer always arrive at time 0. Can be deterministic or stochastic. Flexible JSSP An operation can be run on more than one machine, usually with varying costs. Distributed JSSP Multiple manufacturing sites.

Real-world Problem Flexible Manufacturing Systems (FMS) Manufacturing site with high level of automation. Frequent changes; products, resource, etc. Need adaptive and flexible scheduler.

Ford’s Optimization Analysis Decision Support System Optimization of FMS Use simulation data to identify most effective improvements. Performance data used in simulation However, each simulation is costly, only a few configurations can be efficiently run. Design of Experiments Limit ranges of values, then perform sampling-based search. Too limiting. GA Scaling problem, since only a few evaluation can be performed in reasonable time.