Lecture 10 Scheduling 1



Similar documents
Models in Transportation. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Discrete Optimization

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Batch Production Scheduling in the Process Industries. By Prashanthi Ravi

A Service Design Problem for a Railway Network

Principles of demand management Airline yield management Determining the booking limits. » A simple problem» Stochastic gradients for general problems

Two objective functions for a real life Split Delivery Vehicle Routing Problem

This paper introduces a new method for shift scheduling in multiskill call centers. The method consists of

CHAPTER 9. Integer Programming

VENDOR MANAGED INVENTORY

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

A Column Generation Model for Truck Routing in the Chilean Forest Industry

Approximation Algorithms

Dantzig-Wolfe bound and Dantzig-Wolfe cookbook

The Trip Scheduling Problem

Revenue Management for Transportation Problems

An Improved Dynamic Programming Decomposition Approach for Network Revenue Management

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

Strategic planning in LTL logistics increasing the capacity utilization of trucks

24. The Branch and Bound Method

Cost Models for Vehicle Routing Problems Stanford Boulevard, Suite 260 R. H. Smith School of Business

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Applied Algorithm Design Lecture 5

A Linear Programming Based Method for Job Shop Scheduling

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

PRODUCTION PLANNING AND SCHEDULING Part 1

Cargo Capacity Management with Allotments and Spot Market Demand

Models for Train Scheduling. Krishna C. Jha Vice President - Research & Development krishna@innovativescheduling.com

Railway traffic optimization by advanced scheduling and rerouting algorithms

Algorithm Design and Analysis

5.1 Bipartite Matching

Scheduling Single Machine Scheduling. Tim Nieberg

Routing and Scheduling in Tramp Shipping - Integrating Bunker Optimization Technical report

A Branch-Cut-and-Price Approach to the Bus Evacuation Problem with Integrated Collection Point and Shelter Decisions

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

Integer Programming Formulation

Classification - Examples

Solutions to Homework 6

9th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS) Primal-Dual Algorithms for Online Optimization: Lecture 1

Simple Methods for Shift Scheduling in Multi-Skill Call Centers

Dynamic Stochastic Optimization of Relocations in Container Terminals

Analysis of Micro-Macro Transformations of Railway Networks

Optimal Vehicle Routing and Scheduling with Precedence Constraints and Location Choice

Robust Airline Schedule Planning: Minimizing Propagated Delay in an Integrated Routing and Crewing Framework

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Offline sorting buffers on Line

Integrated maintenance scheduling for semiconductor manufacturing

A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Resource Optimization of Spatial TDMA in Ad Hoc Radio Networks: A Column Generation Approach

Formulation of simple workforce skill constraints in assembly line balancing models

Railway Timetabling from an Operations Research Perspective

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

INTEGRATED OPTIMIZATION OF SAFETY STOCK

Transmodel in UML. SITP 2 Système d'information Transport Public

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing

Airline Schedule Development

Real Time Scheduling Basic Concepts. Radek Pelánek

VEHICLE ROUTING PROBLEM

Optimization Modeling for Mining Engineers

The truck scheduling problem at cross-docking terminals

Role of Stochastic Optimization in Revenue Management. Huseyin Topaloglu School of Operations Research and Information Engineering Cornell University

Solving Train Schedule Design Problems using Decomposition and Network Flows

In this paper we present a branch-and-cut algorithm for

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

11. APPROXIMATION ALGORITHMS

Ship Scheduling and Network Design for Cargo Routing in Liner Shipping

Solving the Vehicle Routing Problem with Multiple Trips by Adaptive Memory Programming

An Interactive Train Scheduling Tool for Solving and Plotting Running Maps

Fleet Management. Warren B. Powell and Huseyin Topaloglu. June, 2002

Project Scheduling: PERT/CPM

The Taxman Game. Robert K. Moniot September 5, 2003

Cyber-Security Analysis of State Estimators in Power Systems

CHAPTER 3 SECURITY CONSTRAINED OPTIMAL SHORT-TERM HYDROTHERMAL SCHEDULING

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Discrete Optimization Introduction & applications

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

MIP-Based Approaches for Solving Scheduling Problems with Batch Processing Machines

Reinforcement Learning

The efficiency of fleets in Serbian distribution centres

Basic Components of an LP:

Multi-Mode Resource Constrained Multi-Project Scheduling and Resource Portfolio Problem

A hierarchical multicriteria routing model with traffic splitting for MPLS networks

Chapter 11 Monte Carlo Simulation

Transcription:

Lecture 10 Scheduling 1 Transportation Models -1- large variety of models due to the many modes of transportation roads railroad shipping airlines as a consequence different type of equipment and resources with different characteristics are involved cars, trucks, roads trains, tracks and stations ships and ports planes and airports consider two specific problems

Lecture 10 Scheduling 2 Tanker Scheduling Basic Characteristics consider the problem from the view of a company the planning process normally is done in a rolling horizon fashion company operates a fleet of ships consisting of own ships {1,..., T } chartered ships the operating costs of these two types are different only the own ships are scheduled using chartered ships only leads to costs which are given by the spot market -1-

Lecture 10 Scheduling 3 Tanker Scheduling Basic Characteristics (cont.) each own ship i is characterized by its capacity cap i draught dr i range of possible speeds location l i and time r i at which it is ready to start next trip... -2-

Lecture 10 Scheduling 4 Tanker Scheduling Basic Characteristics (cont.) the company has n cargos to be transported cargo j is characterized by type t j (e.g. crude type) quantity p j load port port l j and delivery port portd j time windows [rj l, dl j ] and [rd j, dd j ] for loading and delivery load and unload times t l j and td j costs c j denoting the price which has to be paid on the spot market to transport cargo j -3-

Lecture 10 Scheduling 5 Tanker Scheduling Basic Characteristics (cont.) there are p different ports port k is characterized by its location limitations on the physical characteristics (e.g. length, draught, deadweight,... ) of the ships which may enter the port local government rules (e.g. in Nigeria a ship has to be loaded above 90% to be allowed to sail)... -4-

Lecture 10 Scheduling 6 Tanker Scheduling Basic Characteristics (cont.) the objective is to minimize the total cost of transporting all cargos hereby a cargo can be assigned to a ship of the company or sold on the spot market and thus be transported by a chartered ship costs consist of operating costs for own ships spot charter rates fuel costs port charges, which depend on the deadweight of the ship -5-

Lecture 10 Scheduling 7 Tanker Scheduling ILP modeling straightforward choice of variables would be to use 0 1-variables for assigning cargos to ships problem: these assignment variables do not define the schedule/route for the ship and thus feasibility and costs of the assignment can not be determined alternative approach: generate a set of possible schedules/routes for each ship and afterwards use assignment variables to assign schedules/routes to ships problem splits up into two subproblems: generate schedules for ships assign schedules to ships -6-

Lecture 10 Scheduling 8 Tanker Scheduling ILP modeling - generate schedules a schedule for a ship consist of an assignment of cargos to the ship and a sequence in which the corresponding ports are visited generation of schedules can be done by ad-hoc heuristics which consider ship constraints like capacity, speed, availability,... port constraints time windows of cargos each schedule leads to a certain cost for each ship enough potential schedules should be generated in order to get feasible and good solutions for the second subproblem -7-

Lecture 10 Scheduling 9 Tanker Scheduling ILP modeling - generate schedules (cont.) the output of the first subproblem is a set S i of possible schedules for ship i each schedule l S i is characterized by a vector (a l i1,..., al in ) where al ij = 1 if cargo j is transported by ship i in schedule l and 0 otherwise costs c l i denoting the incremental costs of operating ship i under schedule l versus keeping it idle over the planning horizon profit πi l = n j=1 a l ij c j cl i by using schedule l for ship i instead of paying the spot market -8-

Lecture 10 Scheduling 10 Tanker Scheduling ILP modeling - generate schedules (cont.) Remarks: all the feasibility constraints of the ports and ships are now within the schedule all cost aspects are summarized in the values c l i resp. πl i the sequences belonging to the schedules determine feasibility and the costs c l i but are not part of the output since they are not needed in the second subproblem -9-

Lecture 10 Scheduling 11 Tanker Scheduling ILP modeling - assign schedules to ships variables x l i = { 1 if ship i follows schedule l 0 else objective: max T i=1 constraint: T a l ij xl i 1; i=1 l S i l S i x l i l S i π l i xl i j = 1,..., n (each cargo at most once) 1; i = 1,..., T (each ship at most one schedule) -10-

Lecture 10 Scheduling 12 Tanker Scheduling ILP modeling - assign schedules to ships (cont.) -11- the ILP model is a set-packing problem and well studied in the literature can be solved by branch and bound procedures possible branchings: chose a variable x l i and branch on the two possibilities xl i = 0 and x l i = 1 select x l i on base of the solution of the LP-relaxation: choose a variable with value close to 0.5 chose a ship i and branch on the possible schedules l S i selection of ship i is e.g. be done using the LP-relaxation: choose a ship with a highly fractional solution

Lecture 10 Scheduling 13 Tanker Scheduling ILP modeling - assign schedules to ships (cont.) -12- lower bounds can be achieved by generating feasible solutions via clever heuristics (feasible solution = lower bound since we have a maximization problem) upper bounds can be obtained via relaxing the integrality constraints and solving the resulting LP (note, that this LP-solution is also used for branching!) for a small example, the behavior of the branch and bound method is given in the handouts

Lecture 10 Scheduling 14 Tanker Scheduling Remarks Two Phase Approach -13- in general the solution after solving the two subproblems is only a heuristic solution of the overall problem if in the first subproblem all possible schedules/routes for each ship are generated (i.e. S i is equal to the set Si all of all feasible schedules for ship i), the optimal solution of the second subproblem is an optimal solution for the overall problem for real life instances the cardinalities of the sets Si all are too large to allow a complete generation (i.e. S i is always a (small) subset of Si all ) colum generation can be used to improve the overall quality of the resulting solution

Lecture 10 Scheduling 15 General Remarks in the railway world lots of scheduling problems are of importance scheduling trains in a timetable routing of material staff planning... currently lots of subproblems are investigated the goal is to achieve an overall decision support system for the whole planning process we consider one important subproblem -1-

Lecture 10 Scheduling 16 Decomposition of the mostly the overall railway network consists of some mayor stations and lines/corridors connecting them DH R As U Am Am Amersfoort As Amsterdam Centraal DH Den Haag Centraal R Rotterdam Centraal U Utrecht Centraal a corridor normally consists of two independent one-way tracks having good timetables for the trains in the corridors makes it often easy to find timetables for the trains on the other lines -2-

Lecture 10 Scheduling 17 Scheduling Train on a Track consider a track between two mayor stations in between the two mayor stations several smaller stations exists R RN RA CS NI G GG W U R Rotterdam Centraal CS Capelle Schollevaar GG Gouda Goverwelle RN Rotterdam Noord NI Nieuwerkerk ad IJssel W Woerden RA Rotterdam Alexander G Gouda U Utrecht Centraal trains may or may not stop at these stations trains can only overtake each other at stations -2-

Lecture 10 Scheduling 18 Problem Definition Track Scheduling time period 1,..., q, where q is the length of the planning period (typically measured in minutes; e.g. q = 1440) L + 1 stations 0,..., L L consecutive links; link j connects station j 1 and j trains travel in the direction from station 0 to L T : set of trains that are candidates to run during planning period for link j, T j T denotes the trains passing the link -3-

Lecture 10 Scheduling 19 Problem Definition Track Scheduling (cont.) train schedules are usually depicted in so-called time-space diagrams U W GG G NI CS RA RN R 0 15 30 45 60 75 time diagrams enable user to see conflicts -4-

Lecture 10 Scheduling 20 Problem Definition Track Scheduling (cont.) train schedules are usually depicted in so-called time-space diagrams U W GG G NI CS RA RN area of conflict R 0 15 30 45 60 75 time diagrams enable user to see conflicts -4-

Lecture 10 Scheduling 21 Problem Definition Track Scheduling (cont.) each train has an most desirable timetable (arrivals, departures, travel time on links, stopping time at stations), achieved e.g. via marketing department putting all these most desirable timetables together, surely will lead to conflicts on the track possibilities to change a timetable: slow down train on link increase stopping time at a station modify departure time at first station cancel the train -5-

Lecture 10 Scheduling 22 Problem Definition Track Scheduling (cont.) cost of deviating from a given time ˆt: specifies the revenue loss due to a deviation from ˆt the cost function has its minimum in ˆt, is convex, and often modeled by a piecewise linear function cost ˆt piecewise linear helps in ILP models! t -6-

Lecture 10 Scheduling 23 Variables for Track Scheduling variables represent departure and arrival times from stations y ij : time train i enters link j = time train i departs from station j 1 (defined if i T j ) z ij : time train i leaves link j = time train i arrives at station j (defined if i T j ) c d ij (y ij) (c a ij (z ij) denotes the cost resulting from the deviation of the departure time y ij (arrival time z ij ) from its most desirable value -7-

Lecture 10 Scheduling 24 Variables for Track Scheduling (cont.) variables resulting from the departures and arrivals times: τ ij = z ij y ij : travel time of train i on link j δ ij = y i,j+1 z ij : stopping time of train i at station j c τ ij (τ ij) (c δ ij (δ ij) denotes the cost resulting from the deviation of the travel time τ ij (stopping time δ ij ) from its most desirable value all cost functions c d ij, ca ij, cτ ij, cδ ij have the mentioned structure -8-

Lecture 10 Scheduling 25 Objective function minimize L j=1 i T j (c d ij (y ij) + c a ij (z ij) + c τ ij (z ij y ij )) + L 1 j=1 i T j c δ ij (y i,j+1 z ij ) -9-

Lecture 10 Scheduling 26 Constraints minimum travel times for train i over link j: τ min ij minimum stopping times for train i at station j: δ min ij safety distance: -10- minimum headway between departure times of train h and train i from station j: Hhij d minimum headway between arrival times of train h and train i from station j: Hhij a lower and upper bounds on departure and arrival times: y min ij, y max ij, z min ij, z max ij

Lecture 10 Scheduling 27 Constraints (cont.) -11- to be able to model the minimum headway constraints, variables have to be introduced { which control the order of the trains on the links 1 if train h immediately preceeds train i on link j x hij = 0 else using the variables x hij, the minimum headway constraints can be formulated via big M -constraints: y i,j+1 y h,j+1 + (1 x hij )M H d hij z ij z hj + (1 x hij )M H a hij

Lecture 10 Scheduling 28 Constraints (cont.) -12- two dummy trains 0 and are added, representing the start and end of the planning period (fix departure and arrival times appropriate ensuring that 0 is sequenced before all other trains and after all other trains)

Lecture 10 Scheduling 29 Constraints (cont.) y ij yij min y ij yij max z ij zij min z ij zij max z ij y ij τij min y i,j+1 z ij δij min y i,j+1 y h,j+1 + (1 x hij )M Hhij d z ij z hj + (1 x hij )M H hij a h T j \{i} x hij = 1 x hij {0, 1} -13- j = 1,..., L; i T j j = 1,..., L; i T j j = 1,..., L; i T j j = 1,..., L; i T j j = 1,..., L; i T j j = 1,..., L 1; i T j j = 0,..., L 1; i, h T j j = 1,..., L; i, h T j j = 1,..., L; i T j j = 1,..., L; i, h T j

Lecture 10 Scheduling 30 Remarks on ILP Model -14- the number of 0-1 variables gets already for moderate instances quite large the single track problem is only a subproblem in the whole time tabling process and needs therefore to be solved often as a consequence, the computational time for solving the single track problem must be small this asks for heuristic approaches to solve the single track problem

Lecture 10 Scheduling 31 Decomposition Approach: General Idea schedule the trains iteratively one by one initially, the two dummy trains 0 and are scheduled -15- the selection of the next train to be scheduled is done on base of priorities possible priorities are earliest desired departure time decreasing order of importance (importance may be e.g. measured by train type, speed, expected revenue,... ) smallest flexibility in departure and arrival combinations of the above

Lecture 10 Scheduling 32 Decomposition Approach: Realization T 0 : set of already scheduled trains initially T 0 = {0, } after each iteration a schedule of the trains from T 0 is given -16- however, for the next iteration only the sequence in which the trains from T 0 traverse the links is taken into account S j = (0 = j 0, j 1,..., j nj, j nj +1 = ): sequence of trains from T 0 on link j if train k is chosen to be scheduled in an iteration, we have to insert k in all sequences S j where k T j this problem is called Insert(k, T 0 )

Lecture 10 Scheduling 33 ILP Formulation of Insert(k, T 0 ) Adapt the standard constraints and the objective to T 0 : min L j=1 i T j (c d ij (y ij) + c a ij (z ij) + c τ ij (z ij y ij )) + L 1 j=1 i T j c δ ij (y i,j+1 z ij ) subject to y ij yij min j = 1,..., L; i T 0 T j y ij yij max j = 1,..., L; i T 0 T j z ij zij min j = 1,..., L; i T 0 T j z ij zij max j = 1,..., L; i T 0 T j z ij y ij τij min j = 1,..., L; i T 0 T j y i,j+1 z ij δij min j = 1,..., L 1; i T 0 T j -17-

Lecture 10 Scheduling 34-18- ILP Formulation of Insert(k, T 0 ) (cont.) adapt y i,j+1 y h,j+1 + (1 x hij )M Hhij d for trains from T 0 y ji+1,j y ji,j Hj d i j i+1,j 1 for j = 1,..., L, i = 0,..., n j adapt z ij z hj + (1 x hij )M Hhij a for trains from T 0 z ji+1,j z ji,j Hj a i j i+1 j for j = 1,..., L, i = 0,..., n j

Lecture 10 Scheduling 35 ILP Formulation of Insert(k, T 0 ) (cont.) insert k on link j via variables { 1 if train k immediately precedes train j x ij = i on link j 0 else new constraints for j = 1,..., L, i = 0,..., n j : y k,j y ji,j + (1 x ij )M H d j i kj y ji+1,j y k,j + (1 x ij )M H d kj i+1 j z k,j z ji,j + (1 x ij )M H a j i kj z ji+1,j z k,j + (1 x ij )M H a kj i+1 j 0-1 constraints and sum constraint on x ij values -19-

Lecture 10 Scheduling 36 Remarks on ILP Formulation of Insert(k, T 0 ) -19- the ILP Formulation of Insert(k, T 0 ) has the same order of continuous constraints (y ij, z ij ) but far fewer 0-1 variables than the original MIP a preprocessing may help to fix x ij variables since on base of the lower and upper bound on the departure and arrival times of train k many options may be impossible solving Insert(k, T 0 ) may be done by branch and bound

Lecture 10 Scheduling 37 Solving the overall problem -20- an heuristic for the overall problem may follow the ideas of the shifting bottleneck heuristic select a new train k (machine) which is most urgent solve for this new train k the problem Insert(k, T 0 ) reoptimize the resulting schedule by rescheduling the trains from T 0 rescheduling of a train l T 0 can be done by solving the problem Insert(l, T 0 {k}\{l}) using the schedule which results from deleting train l from the schedule achieved by Insert(k, T 0 )