Optimal Crane Scheduling

Similar documents
Optimal Crane Scheduling

Optimal Movement of Two Factory Cranes

Optimal Movement of Factory Cranes

Optimal Crane Scheduling

6. Tabu Search. 6.3 Minimum k-tree Problem. Fall 2010 Instructor: Dr. Masoud Yaghini

Vehicle Routing Heuristic Methods

Outline. Optimales Recycling - Tourenplanung in der Altglasentsorgung

Variable Neighborhood Search for the Dial-a-Ride Problem

FCS 2013 USER S MANUAL. F i n i t e C a p a c i t y S c h e d u l i n g. Microsoft Dynamics NAV

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

4. Linear Programming

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

ÇANKAYA UNIVERSITY Department of Industrial Engineering SPRING SEMESTER

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

Outline. No Free Lunch Theorems SMTWTP. Outline DM812 METAHEURISTICS

3 Fractional Ramsey Numbers

On the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes

Copyright 2000, Kevin Wayne 1

arxiv:cs/ v1 [cs.ds] 20 Feb 2003

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

3 No-Wait Job Shops with Variable Processing Times

Tabu Search - Examples

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

Discrete Optimization. Lecture Notes 2

CS 188: Artificial Intelligence Spring Announcements

Rollout Algorithms for Discrete Optimization: A Survey

Real-time Scheduling for Multi Headed Placement Machine

CS 188: Artificial Intelligence Fall 2008

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

Computational Geometry

Data Mining. Part 2. Data Understanding and Preparation. 2.4 Data Transformation. Spring Instructor: Dr. Masoud Yaghini. Data Transformation

The Six Color Theorem

Graph Coloring Facets from a Constraint Programming Formulation

STEREO BY TWO-LEVEL DYNAMIC PROGRAMMING

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

Overview of Tabu Search

Multi-Way Number Partitioning

Optimal tour along pubs in the UK

1 Metric spaces. d(x, x) = 0 for all x M, d(x, y) = d(y, x) for all x, y M,

Map Colouring. Constraint Satisfaction. Map Colouring. Constraint Satisfaction

Supplementary Material for The Generalized PatchMatch Correspondence Algorithm

ME 391Q Network Flow Programming

Job-shop scheduling with limited capacity buffers

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

Announcements. CS 188: Artificial Intelligence Spring Today. A* Review. Consistency. A* Graph Search Gone Wrong

Lecture Notes: Euclidean Traveling Salesman Problem

CPS 102: Discrete Mathematics. Quiz 3 Date: Wednesday November 30, Instructor: Bruce Maggs NAME: Prob # Score. Total 60

A Study of Neighborhood Structures for the Multiple Depot Vehicle Scheduling Problem

Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here)

Dynamic Programming User Manual v1.0 Anton E. Weisstein, Truman State University Aug. 19, 2014

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro

The Augmented Regret Heuristic for Staff Scheduling

Design and Analysis of Algorithms

CSE 417 Branch & Bound (pt 4) Branch & Bound

Chapter 16. Greedy Algorithms

Lecture 6: Constraint Satisfaction Problems (CSPs)

MPI Proto: Simulating Distributed Computing in Parallel

PICKUP AND DELIVERY WITH TIME WINDOWS: ALGORITHMS AND TEST CASE GENERATION. School of Computing, National University of Singapore, Singapore

Edge and local feature detection - 2. Importance of edge detection in computer vision

CHAPTER 6 DEVELOPMENT OF PARTICLE SWARM OPTIMIZATION BASED ALGORITHM FOR GRAPH PARTITIONING

LECTURES 3 and 4: Flows and Matchings

Interleaving Schemes on Circulant Graphs with Two Offsets

Vertex Colorings without Rainbow or Monochromatic Subgraphs. 1 Introduction

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Open Vehicle Routing Problem Optimization under Realistic Assumptions

CS 188: Artificial Intelligence. Recap: Search

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17

1 Introduction and Examples

A Tabu Search solution algorithm

Sequence Alignment. part 2

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Definition 1.1. A matching M in a graph G is called maximal if there is no matching M in G so that M M.

Polynomial-Time Approximation Algorithms

Apprenticeship Learning for Reinforcement Learning. with application to RC helicopter flight Ritwik Anand, Nick Haliday, Audrey Huang

FOUR EDGE-INDEPENDENT SPANNING TREES 1

l Heaps very popular abstract data structure, where each object has a key value (the priority), and the operations are:

Resource Constrained Project Scheduling. Reservations and Timetabling

l So unlike the search trees, there are neither arbitrary find operations nor arbitrary delete operations possible.

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching

A Note on Scheduling Parallel Unit Jobs on Hypercubes

Test Set Compaction Algorithms for Combinational Circuits

arxiv: v2 [cs.ds] 30 Nov 2012

y i = S i ΠS y i + S i ΠN\S

CS 188: Artificial Intelligence Spring Today

Sorting. Introduction. Classification

Clustering Color/Intensity. Group together pixels of similar color/intensity.

Scheduling with Bus Access Optimization for Distributed Embedded Systems

Effective Local Search Algorithms for the Vehicle Routing Problem with General Time Window Constraints

Scheduling. Job Shop Scheduling. Example JSP. JSP (cont.)

Dynamic-Programming algorithms for shortest path problems: Bellman-Ford (for singlesource) and Floyd-Warshall (for all-pairs).

Linear Programming Duality and Algorithms

Constraint Satisfaction Problems (CSPs)

Probabilistic Double-Distance Algorithm of Search after Static or Moving Target by Autonomous Mobile Agent

Design and Analysis of Algorithms (V)

Constraint Satisfaction Problems

Progress Indication for Machine Learning Model Building: A Feasibility Demonstration

A Primal-Dual Framework for Combinatorial Problem Solving

Discharging and reducible configurations

Parallel Machine and Flow Shop Models

Transcription:

Optimal Crane Scheduling Ionu Aron IBM Watson Lab Latife Genç Kaya, John Hooker Carnegie Mellon University Iiro Harjunkoski, Marco Fahl ABB Group November 2006 1

Thanks to PITA Pennsylvania Infrastructure Technology Alliance. ABB Group 2

Problem Schedule 2 cranes to transfer material between locations in a manufacturing plant, e.g. copper processing. 3

Problem Cranes can move on a common track. 4

Problem Cranes cannot pass each other. 5

Problem Vertical movement. 6

Problem Vertical movement. Horizontal and vertical movement can be simultaneous. 7

Problem Constraints: As many as 300 jobs, each with a time window and priority. Precedence relations between jobs. A job may require several stops. Objective: minimize total penalty Penalties reflect deviation from desired start times or completion times. Main objective is to follow production schedule as closely as possible. 8

Problem Three problems in one: Assign jobs to cranes. Find ordering of jobs on each crane. Find space-time trajectory of each crane. Crane scheduling problems are coupled since the cranes must not pass one another. 9

Two-phase Algorithm Phase 1: Local search Assign jobs to cranes Sequence jobs on each crane Solve simultaneously by tabu-like local search. Phase 2: Dynamic programming (DP) Find optimal space-time trajectory for the cranes. Solve for the two cranes simultaneously. One crane can yield to another. 10

Local Search Neighborhood is defined by two types of moves. Change assignment Change sequence Evaluation of moves Use an approximate evaluation function to limit neighborhood. Check best moves with DP (phase 2). 11

Dynamic Programming Find optimal space-time trajectory for each crane. Sequence of jobs on each crane is given. Minimize sum of penalties, which depend on pickup and delivery times. 12

Dynamic Programming Each job consists of one or more segments. Order of segments within a job is fixed. Each segment consists of loading, movement to another position, unloading. Given for each segment: Loading and unloading positions. Time required to load, unload. Min time for crane movement. 13

Dynamic Programming Space-time trajectory of a crane for one segment Unloading time Constant speed while moving Loading Pickup point distance 14 Delivery point

Dynamic Programming High resolution needed to track crane motion. Time horizon: hours Granularity: 10-second intervals Thousands of discrete times Cranes are stationary most of the time While loading/unloading But motion is fast when it occurs (e.g. 1 meter/sec) Feasibility is main issue No obvious role for approximate DP 15

Dynamic Programming Main issue: size of state space. State variables: Position of each crane on track. How long each crane has been loading/unloading. Current segment in process for each crane Negative number if on the way to load the segment. Positive number if loading, unloading, or on the way to unload. 16

17 Computes penalty ( ) + = + + + + + + + + c t c ct ct t t t t s u x S s u x t t t t s s g s u x f s u x f t t t t t t 1, 1, 1, 1, 1, min 1, 1, 1, Dynamic Programming DP recursion: Transitions that satisfy constraints Position Loading/ unloading time Segment

Dynamic Programming State space reduction Canonical trajectory for the left crane: Wait as long as possible Move as soon as possible Follow leftmost trajectory that never moves backward (away from destination) 18

Dynamic Programming State space reduction Minimal trajectory for left crane, given right crane trajectory: Depart from canonical trajectory At each moment, follow canonical trajectory or right crane s trajectory, whichever is further to the left Left crane Right crane 19

Dynamic Programming State space reduction Properties of the minimal trajectory: The left crane never stops en route unless it is adjacent to the right crane. Depart from canonical trajectory The left crane never moves backward unless it is adjacent to the right crane. Left crane Right crane 20

Dynamic Programming State space reduction Theorem: Given optimal trajectories for both cranes, either crane s trajectory in each segment can be replaced by a minimal trajectory without sacrificing optimality or feasibility. 21

22 Suppose these segments are part of an optimal trajectory.

Suppose these segments are part of an optimal trajectory. Change left crane to its minimal trajectory. 23

Suppose these segments are part of an optimal trajectory. Change left crane to its minimal trajectory. This is still feasible, because there is no interference from right crane pickup and delivery times are unchanged. 24

Suppose these segments are part of an optimal trajectory. Change left crane to its minimal trajectory. This is still feasible, because there is no interference from right crane pickup and delivery times are unchanged. Cost is the same if it depends only on pickup & delivery times. 25

Dynamic Programming State space reduction Corollary: Exclude state transitions in which a crane stops en route, or moves backward, unless it is adjacent to the other crane. 26

Dynamic Programming State space reduction Since the main objective is to follow the production schedule, fairly tight time windows can be used. This reduces the number of jobs in the state space at any one time. If necessary, time horizon can be split into segments to be solved separately. 27

Dynamic Programming Preliminary computational results. 10 crane positions (realistic). Penalize time lapse between release time and pickup. Minimize sum of penalties. Theoretical maximum number of states in any given stage is approximately 10 8 10 9. 28

Computational results --- to be added. 15 jobs, 30 segments 29

State space size States 1600 1400 1200 1000 800 600 400 200 0 0 200 400 600 800 Iteration 30

Precedence Constraints The crane problem has more complex precedence constraints than ordinarily occur in scheduling problems. Hard precedence constraints apply to groups of jobs. Soft precedence constraints are enforced by imposing penalties. Some precedence constraints are enforced by combinations of hard and soft constraints. 31

Precedence Constraints Hard constraint Let S, T be sets of jobs. S < T means that all jobs in S assigned to a given crane must run before any job in T assigned to that crane. Jobs within S may occur in any order, similarly for T. {cranes that perform the jobs in S } = {cranes that perform the jobs in T } Jobs in neither S nor T can run between S and T. 32

Precedence Constraints Soft constraint Assign penalty to gap between release time and start time of a job. If release time of job i precedes release time of job j, we can impose a soft i < j by assigning high penalties to both jobs. 33

Precedence Constraints Consecutive jobs Suppose S < T and S, T should occur consecutively. There should be no jobs i, j, k assigned to the same crane such that i S, j S T, k T, and j runs between i and k. To enforce this: Impose S < T. Give jobs in S very similar release times to jobs in T. Impose high penalties on jobs in S, T. 34

Assignment and Sequencing Heuristic algorithm: Form initial assignment/sequencing with simple nearest job heuristic. Call DP repeatedly with increasing time windows until feasible solution is found or max time windows reached. Move to random neighboring solution Consider neighbors with estimated penalty within 15-20% of best solution found so far. 35

Assignment and Sequencing Penalty estimate: Assume each job finishes at EFT + 10%. Local search Select randomly from the following: Move a random job from one crane to the other Swap cranes for a random pair of jobs Swap positions of a random pair of jobs on one crane 36

Combined Algorithm Preliminary Computational Results Jobs 12 24 28 Iterations to first feasible solution 2 3 3 Time to feasible solution* (sec) 1 3 3 *Only one feasible solution found. 37

Future Work Generate nogood constraints from DP solution. Identify a subsequence of jobs (assigned to the same crane) that is responsible for infeasibility. Create a nogood constraint that prevents heuristic phase from assigning this subsequence to the same crane again. 38