Crane Scheduling in Container Terminals

Similar documents
The 2-valued case of makespan minimization with assignment constraints

Algorithm Design Strategies V

Global planning in a multi-terminal and multi-modal maritime container port

ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES

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

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

Scheduling Coflows in Datacenter Networks: Improved Bound for Total Weighted Completion Time

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Combinatorial optimization problems

1 Column Generation and the Cutting Stock Problem

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE

Static-Priority Scheduling. CSCE 990: Real-Time Systems. Steve Goddard. Static-priority Scheduling

An Improved Bound for Minimizing the Total Weighted Completion Time of Coflows in Datacenters

Introduction to Bin Packing Problems

Introduction to integer programming III:

8.5 Sequencing Problems

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems

This means that we can assume each list ) is

CS 301: Complexity of Algorithms (Term I 2008) Alex Tiskin Harald Räcke. Hamiltonian Cycle. 8.5 Sequencing Problems. Directed Hamiltonian Cycle

Chapter 3: Discrete Optimization Integer Programming

Optimization Prof. A. Goswami Department of Mathematics Indian Institute of Technology, Kharagpur. Lecture - 20 Travelling Salesman Problem

Topics in Approximation Algorithms Solution for Homework 3

Column Generation. i = 1,, 255;

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Lecture 8 Network Optimization Algorithms

Solving Zero-Sum Security Games in Discretized Spatio-Temporal Domains

Santa Claus Schedules Jobs on Unrelated Machines

Chapter 3: Discrete Optimization Integer Programming

Lecture 16: Introduction to Neural Networks

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

Flows. Chapter Circulations

AS computer hardware technology advances, both

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

HMMT February 2018 February 10, 2018

Multiprocessor Scheduling I: Partitioned Scheduling. LS 12, TU Dortmund

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

Travelling Salesman Problem

Electronic Companion to Initial Shipment Decisions for New Products at Zara

International Journal of Industrial Engineering Computations

Introduction into Vehicle Routing Problems and other basic mixed-integer problems

THE EGG GAME DR. WILLIAM GASARCH AND STUART FLETCHER

Part III: Traveling salesman problems

Scheduling jobs with agreeable processing times and due dates on a single batch processing machine

16.410/413 Principles of Autonomy and Decision Making

Routing. Topics: 6.976/ESD.937 1

Lec. 2: Approximation Algorithms for NP-hard Problems (Part II)

Chapter 7 Network Flow Problems, I

Branch-and-Bound for the Travelling Salesman Problem

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

CS 6901 (Applied Algorithms) Lecture 3

New Integer Programming Formulations of the Generalized Travelling Salesman Problem

The P versus NP Problem. Ker-I Ko. Stony Brook, New York

Recoverable Robustness in Scheduling Problems

Chapter 8. NP and Computational Intractability

Worst case analysis for a general class of on-line lot-sizing heuristics

Linear Programming: Simplex

Lecture 6 Random walks - advanced methods

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications

Management of intermodal container terminals using feedback control

Problem Set 3 Due: Wednesday, October 22nd, 2014

New Theory and Algorithms for Scheduling Arc Shutdown Jobs in Networks

Dynamic Programming. Reading: CLRS Chapter 15 & Section CSE 6331: Algorithms Steve Lai

CS Algorithms and Complexity

3.10 Lagrangian relaxation

7.1 Support Vector Machine

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Theoretical Computer Science

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Introduction to Integer Programming

8.5 Sequencing Problems. Chapter 8. NP and Computational Intractability. Hamiltonian Cycle. Hamiltonian Cycle

Notes for Lecture Notes 2

A LAGRANGIAN RELAXATION FOR CAPACITATED SINGLE ALLOCATION P-HUB MEDIAN PROBLEM WITH MULTIPLE CAPACITY LEVELS

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

Simultaneous Integrated Model with Multiobjective for Continuous Berth Allocation and Quay Crane Scheduling Problem

1 Ordinary Load Balancing

Run-length & Entropy Coding. Redundancy Removal. Sampling. Quantization. Perform inverse operations at the receiver EEE

Markov Decision Processes

Algorithms Exam TIN093 /DIT602

A STAFFING ALGORITHM FOR CALL CENTERS WITH SKILL-BASED ROUTING: SUPPLEMENTARY MATERIAL

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

NP and Computational Intractability

Introduction: The Perceptron

COMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages

Integer programming: an introduction. Alessandro Astolfi

Design and Analysis of Algorithms

Optimisation and Operations Research

NP-Completeness. NP-Completeness 1

Strategic allocation of cyclically calling vessels for multi-terminal container operators

An FPTAS for Total Weighted Earliness Tardiness Problem with Constant Number of Distinct Due Dates and Polynomially Related Weights

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University

Introduction to Complexity Theory

The traveling salesman problem

CMSC 451: Lecture 7 Greedy Algorithms for Scheduling Tuesday, Sep 19, 2017

Linear and Integer Programming - ideas

Decomposition-based Methods for Large-scale Discrete Optimization p.1

The Tactical Berth Allocation Problem with Quay-Crane Assignment and Transshipment Quadratic Costs

1 Computational Problems

A lower bound for scheduling of unit jobs with immediate decision on parallel machines

Transcription:

. Introduction Peter Bohrer Crane Scheduling in Container Terminals Diploma thesis Advisor Prof. Dr. Horst W. Hamacher August 005 0

. Introduction Table of Contents. Introduction... 3. Related wor... 5 3. Mathematical models... 6 3. General parameters and assumptions... 6 3. The ob models... 7 3.. The ob model for RTGC scheduling... 7 3.. The ob model for RMGC scheduling... 3.3 The worload models... 3 3.3. The worload model for RTGC scheduling... 3 3.3. The worload model for RMGC scheduling... 4 4. Complexity... 5 5. Upper bound for the maespan... 8 5. Determine an upper bound π for the RTJP... 8 5. Determine an upper bound π for the RMJP... 9 6. Solution procedures... 6. Solution procedures for the RTJP... 6.. The Earliest Release Date - Heuristic... 6.. The Quotient-Heuristic... 3 6. Solution procedures for the RMJP... 4 6.3 Example... 4 6.4 Idea for a Branch and Bound procedure... 6 6.4. Lagrangian relaxation... 6 6.4. The subproblem L (u)... 8 6.4.3 The subproblem L (u)... 9 6.5 Solution procedures for the RTWP... 34 6.6 Solution procedures for the RMWP... 34 6.6. The Lagrangian Decomposition Method for the RMWP... 34 6.6. The Successive Piecewise-Linear Approximation Method for the RMWP... 38 7. Lower bound... 4 8. Approximation bounds... 43 8. Approximation bound for the RTJP... 44 8. Approximation bound for the RMJP... 46 9. Computational experiments... 48 9. Problem generation... 48 9.. Problem instances for the RTJP... 48 9.. Problem instances for the RMJP... 49 9. Resus... 49

. Introduction 0. Special Cases... 53 0. =... 53 0. p =... 54. Conclusion... 56 References... 57 Picture Credits... 59

. Introduction. Introduction The globalization of trade has lead to an enormous growth in sea transportation over the last years. A great maority of general cargo is containerized and, therefore, handled in container terminals, which are essential hubs in sea transportation systems. Besides this growth, the rising competition among the ports puts pressure on them to improve their performance. A container terminal wors under several obectives. Two of them are to minimize the turnaround time, i.e. the average period of time a vessel stays in a terminal, and to maximize the terminal throughput. The potential of cost saving is large, because of the fact that an average cargo liner spends about 60% of its time in a port (e.g. see [5]). Therefore, the terminals try to improve their turnaround time. The turnaround time and the throughput are the resus of several interrelated container flows in the terminal. A container terminal can be divided into three areas: the quayside, the container yard, and the gatehouse. At the quayside, the vessels are loaded or unloaded by quay cranes (QC). Internal trucs are used to organize the transport of the containers between the quayside and the container yard. In the yard, the containers are stored temporarily until they have to be loaded onto another vessel or until they are taen out of the terminal on the road by external trucs. Such external trucs enter the terminal through the gatehouse, which is the land entrance of the terminal. Figure shows the "" LINE Toyo Container Terminal. This picture allows an easy identification of the three areas of a container terminal described above. Figure: "" LINE Toyo Container Terminal 3

. Introduction In the yard, containers are grouped into blocs, which consist of about 0 containers in length, six to eight containers in width and four to six containers in height. A row of such blocs is called a yard zone. Yard cranes are used in order to put the containers onto internal and external trucs or to unload the trucs. There are two types of yard cranes: rail-mounted gantry cranes (RMGC) and rubber-tired gantry cranes (RTGC). The RMGC have to use the rails and, therefore, can move only along an axis, i.e. within a yard zone, while the RTGC can move freely among all blocs within the whole yard. Figure and 3 show how these cranes loo lie in reality; Figure 4 and 5 illustrate the difference in the possible movements for each crane type. Figure : RTGC in the Port of Baimore, USA Figure 3: Figure 4: Possible RTGC movement RMGC in the raow rzeslawice Container Terminal, Poland Figure 5: Possible RMGC movement The space in a container yard is very limited. Nonetheless, thousands of containers have to be handled every day and the turnaround times should be as low as possible. Therefore, the worflow of a container terminal has to be very efficient. This is the reason why logistical planning tries to assign and to coordinate the operations of port equipments, such as berth space, quay cranes, yard space, yard cranes and trucs, as good as possible. Space allocation and truc scheduling are important tools to optimize the worflow in a container terminal, but those problems are out of the scope of this thesis. Moreover, the focus lies on the scheduling of cranes in container terminals in order to improve the turnaround time of a port. These cranes are very expensive and, therefore, their planning has strong impact on the performance of the container terminal system. In this thesis, models to schedule two crane types (RMGC and RTGC) are developed with respect to their characteristic abilities. The suggested procedures and algorithms lead to crane schedules which mae the container worflow more efficient and improve the performance of ports in a global and highly competitive economy. 4

. Related wor. Related wor The enormous cost saving potential maes logistic problems in a container terminal an interesting research topic. Each of the resources mentioned above (berth space, quay cranes, yard space, yard cranes and trucs) plays an important role in the processes of a container terminal. A comprehensive review of literature on several models and aspects on how to deploy these resources is published in [7]. In the following a short review of existing studies about more specific research related to terminal resources is given: Berths are an important resource in a terminal because under heavy traffic of vessels, it is critical to allocate the berths to the vessels in order to minimize the time the vessel has to stay in the port. Research on the berth allocation problem is done in [] and []. In [4], non-linear integer programming is used to analyze the problem, Chen and Hsieh wor with modified time-space networs in [], while in [0] simulation is used. The scheduling of the container transfer between the quayside and the yard is investigated in [8]. The research on crane scheduling can also be grouped in four categories: Scheduling of RMGCs or RTGCs within a bloc, scheduling of RMGCs along an axis within a yard zone, scheduling of RTGCs within the whole container yard and the scheduling of QCs along the berth. The first category is analyzed in [6] and [7]. The problem is formulated for a single crane and solution methods are developed. In [9], it is tried to tacle this problem by using simulation. For the second category, Ng and Ma developed in [4] a branch and bound algorithm for a single crane problem. Ng proposed in [3] a scheduling heuristic for the muiple crane case with respect to inter-crane interference. A Lagrangean heuristic for problems of the third category is developed in [8] and [] extends this wor by another solution procedure using nonlinear programming. The problem of scheduling quay cranes along the berth is investigated in [3] and [5], where some scheduling principles are proposed in order to get good solutions for this problem. 5

3. Mathematical models 3. Mathematical models In this section, two different types of crane scheduling problems are modeled as integer programs. The first problem considered is the scheduling of RTGCs which can move freely among the blocs in a container yard. The second problem deals with the scheduling of RMGCs within a yard zone. This is not ust a special case of the first problem, because intercrane interferences have to be considered as well. For both problems two different models are presented: the ob model and the worload model. Both models are different ways to interpret the wor that has to be done by the cranes. In Figure 6, the problems are classified with respect to the physical abilities of the cranes and to the two different models. After introducing some general parameters and assumptions, that are identical in both models, the characteristics of the two different models are described and the mathematical models are developed. The obective of all the models below is to minimize the total unfinished worload at the end of each time period. This idea is also used in [] and in [8] and seems to be a good measurement for the effectiveness of crane schedules. Models Cranes RTGC: RMGC: Figure 6: Problem classification Job Model Rubber Tired Job Problem ( RTJP ) see section 3.. Rail Mounted Job Problem ( RMJP ) see section 3.. Worload Model Rubber Tired Worload Problem ( RTWP ) see section 3.3. Rail Mounted Worload Problem ( RMWP ) see section 3.3. 3. General parameters and assumptions denotes the number of cranes available In all models, the cranes are regarded as identical machines Due to the physical size of the blocs and to the potential danger of crane collision, the maximum number of cranes that can wor simuaneously in a bloc is bounded and denoted by The planning horizon is divided into T small time periods The planning horizon starts at time t = Time period t denotes the time between time t and t + ; as a consequence, the planning horizon ends at time T + One crane can do one unit of wor in one time period Any crane movement can only start at the beginning of a time period 6

3. Mathematical models Wor can only start at the beginning of a time period L denotes the number of blocs τ lm denotes the travel time of a crane from bloc l to bloc m It is assumed that the travel times are symmetric and satisfy the triangle inequality m denotes the initial crane location (a bloc or a slot) of crane at the beginning of the planning horizon c l denotes the initial number of cranes in bloc l at the beginning of period M represents a large number in the formulations. Ahough M could be replaced by an expression formulated with the used parameters in every formulation, M is used to eep the formulations simple. 3. The ob models The idea of the ob model is based on scheduling theory. The wor which has to be done by the cranes is modeled as obs. Each ob has a release date r, a processing time p and a location l. The release date is the earliest time possible the wor which is summarized by ob can be started by a crane. It is assumed that r T for =,, J. The processing time p is the number of time units that one crane needs to process ob completely. The location l or s indicates in which bloc or in which slot the wor summarized by ob occurs. In the ob model, it is assumed that every ob is performed by a single crane and can not be interrupted if it has been started once and it can not be started more than once. In the following, the two problems mentioned above are modeled by using these parameters. 3.. The ob model for RTGC scheduling One of the characteristics of RTGCs is that they can move freely among the blocs of the container yard, so no interference conditions have to be taen in consideration in this case. Further, it is assumed that a crane can always tae the shortest path between two blocs. The RTGC scheduling problem, described as a ob model, is referred to as the rubber tired ob problem (RTJP). The following decision variables are used to formulate the RTJP: x t = y = if crane starts ob at time t 0 else if crane stays in bloc l during period t 0 else Let ph ( l) be the set of blocs that a yard crane located in bloc l can possibly be in at period t - h and let sh( l ) be the set of blocs that a yard crane located in bloc l can possibly be in at period t + h. Using these decision variables and sets, the RTJP_ can be formulated as an integer program as follows: 7

3. Mathematical models Min J T min( p ; T t+ ) T x ( t r ) p + ( p h) + x ( T r + ) p t t = = t= h= = t= subect to () () (3) (4) (5a) T T = t= t x r x t t = t= = t= T J x t min( p ; T t) i= h= i min( p ; T t) y h= 0 t x M ( x ), i, t+ h y p x h= m ph ( l), l, t+ h t, m, t h t for =,, J for =,, J for =,,, =,, J: p >, t =,,T - for =,,, =,,J, t =,, T y for =,,, l =,, L, T t (5b) y y,, (6) (7) L l= = h= m sh ( l) m t+ h t =,, T for =,,, l =,, L, y y (8) t { 0,} (9) { 0,} t =,,T - for =,,, t =,, T for l =,, L, t =,, T x for =,,, =,, J, t =,, T y for =,,, l =,, L, t =,, T As assumed above, the obective of this program is to minimize the remaining unfinished worload at the end of each time period. The unfinished worload is calculated for each ob and is summed up for all obs. The unfinished worload for a ob is calculated as follows: If ob is started during the planning horizon, there exists exactly one x t for all and for all t which is equal to. If x =, then the t in the index is the starting time of ob. During the t time periods between the release date and the starting time ( t r ), the remaining unfinished worload at the end of a time period equals the whole processing time of ob. When the ob is started at t, the worload is reduced by one unit in each time period until the ob is done or until the end of the planning horizon is reached. In this case, T = t= x t = and the second term vanishes. If ob is not started during the planning horizon, i.e. x t = 0 for all and all t, 8

3. Mathematical models then the first term vanishes and the unfinished worload is counted by the second term ( T = t= x t is equal to zero). Because ob is not started, the unfinished worload at the end of each period between the release date and the end of the planning horizon is the processing time of. Constraint () requires that ob can only be started after its release date. () guarantees that every ob is only started once and only by one crane, (3) ensures that a crane can only start a new ob if the old one has been completed. A crane also has to stay in the bloc when it processes a ob in this bloc which is required by (4). (5a) and (5b) are crane movement constraints. (6) ensures that a crane can at most be in one bloc. (7) gives an upper bound for the number of cranes in a bloc. RTJP_ seems to be a rather complicated formulation of the RTJP. In the following, it is discussed how this formulation can be simplified. One fact maing RTJP_ very complex is that it is not nown whether or not the obs are started and finished within the planning horizon. In order to find a simpler formulation, it is assumed that an upper bound π for the maespan of the obs does exist. If this π is greater than T, then the planning horizon is extended beyond T up to π, while the length of the time periods remains constant. A method to find such a π is discussed in section 5.. In a formulation, that uses such an extended planning horizon, it can be assumed that all obs are completed within the planning horizon. A planning horizon of π time periods allows to omit the second term of the obective function, because all obs are started within the planning horizon. Therefore, the new obective function has the following form: Min J π x ( t r ) p + h t = = t= h= This function can be further simplified in the following way: J π x ( t r ) p + h t = = t= h= p p = = = p J π J π x ( t r ) p + x h t t = = t= = = t= h= p J π J π J x t p x r p + h t t = = t= = = t= = h= p J π J J p t x r p + h t = = t= = = h= The last two terms can be omitted in the obective function, because they are constant. As a consequence, the new obective function has the following form: Min J p π = = t= t x t This new obective function could also be interpreted as the minimization of the weighted sum of the starting times of the obs, where the weights are given by the processing times of the obs. It is an interesting resu that a minimization of the remaining processing time at the const. 9

3. Mathematical models end of each time period is equivalent to the minimization of the weighted sum of the starting times. If the original obective function value is of interest, i.e. the remaining processing time at the end of each time period with a planning horizon of T time periods, then it can be calculated bacward by the following procedure: Procedure to calculate the remaining processing time: () Calculate the remaining processing time for each ob : a) If is finished until T, i.e. processing time is ( t ( ) ) + T p + T p + p t= = h= t= = x t r p h. b) If is started before T but finished after T, i.e. remaining processing time is T T t x ( t r ) p + p h t t= T p + = h= c) If is started after T, i.e. time is ( T r + ) p T t= = () Sum up the remaining processing times of all obs x t x t =, then the remaining T t= T p + = x t =, then the = 0, then the remaining processing A different problem in the formulation RTJP_ could be caused by the sets ph ( l ) and sh( l ). Those sets need to be determined for many different values of h and are hardly to handle in a solution procedure. To overcome these problems, the variables y are replaced by the following variables: y lmt = if crane moves from bloc l to bloc m at the beginning of period t 0 else Using the variables y lmt instead of y, the RTJP can be formulated without using the sets p ( ) h l and sh( l ). A formulation RTJP_ of the RTJP with planning horizon π, with the simplified obective function and with y lmt as variables for the crane movement is presented below: 0

3. Mathematical models Min J subect to () () (3) (4) p π = = t= π = t= π i= h= i t x x t = t= J p p h= 0 t =, i, t+ h t x r t x M ( x ) y p x, l, l, t+ h t L L (5) ylmt = y, m, l, t τ + y ml, l, l, t m= m= m l (6) = y l (7) { 0,} t t for =,, J for =,, J for =,,, =,, J: p >, t =,, π p + for =,,, =,, J, t =,, π p + for =,,, l =,, L, t =,, π for l =,, L, t =,, π x for =,,, =,, J, t =,, π y 0, for =,,, l,m =,, L, (8) { } lmt t =,, π The constraints () (4) correspond in their interpretation to the constraints () (4) of RTJP_. (5) is the constraint for the possible crane movements and (6) corresponds in the meaning to (6) of RTJP_. RTJP_ seems to be simpler than RTJP_ and is used to develop a solution procedure for the RTJP. 3.. The ob model for RMGC scheduling RMGCs are more limited in their possibilities to move than RTGCs. They can only move along the rails on which they are mounted in a row of blocs within a yard zone. The RMGC scheduling problem described as a ob model is referred to as the rail mounted ob problem (RMJP). Ahough the formulation of the RMJP is based on the formulation of the RTJP, some differences have to be considered: Because of the fact that several RMGCs are mounted on the same rail, the model has to be extended by inter-crane interference constraints to avoid crane collisions. It seems to be very difficu to model inter-crane interference with the variables y lmt, because too many cases have to be considered. Therefore, the crane movement is modeled by using the variables y and the sets p ( l ) and s ( l ). Because of the fact that h h

3. Mathematical models the cranes can only move within a row of blocs, the sets ph ( l ) and sh( l) are easy to determine and they even do not occur explicitly in the formulation. In the formulation of the RMJP, the whole yard zone is divided into slots s =,, S in the following way: Every bloc is divided into slots and it is assumed that the travel time between two adacent slots is equal to. The space between two blocs is divided into τ virtual slots, where τ is the travel time of a crane between two adacent blocs, so S = L + ( L ) τ. In each slot, there can only be one crane at a given time t. The same decision variables as in RTJP_ are used to formulate the RMJP. Further, the planning horizon is also extended as in RTJP_ beyond T up to π, which is an upper bound for the maespan. In section 5., it is discussed how such an upper bound for the RMJP could be found. W.l.o.g. it is assumed that the cranes are numbered in such a way that m < m holds for all =,,. The RMJP can now be formulated as an integer program as follows: Min J subect to () () (3) (4) p π = = t= π = t= π i= h= i t x x t = t= J p p h= 0 t =, i, t+ h t x r t x M ( x ) y p x, s, t+ h t t for =,, J for =,, J for =,,, =,, J: p >, t =,, π p + for =,,, =,, J, t =,, π p + y y + y + y for =,,, s =,, S -, (5a) st, s, t, s, t, s+, t t =,, π y y + y for t =,, π (5b) t,, t,, t (5c) yst y, S, t y, S, t (6) = S y + for t =,, π st (7) y,, y h= s h t st for s =,, S, t =,, π for =,,, s =,, S, t =,, π x 0, for =,,, =,, J, (8) { } t t =,, π y 0, for =,,, s =,, S, (9) { } st t =,, π

3. Mathematical models The obective function remains the same as in RTJP_. () (4) correspond in the meaning with () (4) of RTJP_. (5a) (5c) are restrictions on crane movements. They correspond to (5a) and (5b) of RTJP_, but they loo simpler because the sets ph ( l ) and sh( l) are nown and can be expressed explicitly. Constraint (6) ensures that there can be at most one crane in one slot at a given time. (7) is the inter-crane interference constraint which avoids crane collisions on the rail. 3.3 The worload models The idea of the worload model is taen from []. In this model, the wor which has to be done by the cranes is regarded as an amount of worload measured in time units. It is assumed that it is nown how much time one crane needs to perform the wor which occurs in a specific bloc l at a specific time t. The wor in this model is given by the parameters w. The worload occurring in bloc l at time t is measured in time periods. Using the worload model, the same problems as in section 3. can be modeled. 3.3. The worload model for RTGC scheduling The RTGC scheduling problem described as a worload model is referred to as the rubber tired worload problem (RTWP), which is already developed in []. By using the variables x lmt = number of cranes moving from bloc l to bloc m at the beginning of period t u = unfinished worload in bloc l at the end of period t the RTWP can be formulated as a mixed integer problem as follows: Min subect to T L t= l= u L L () xlmt xm, l, t τ + x ml l, l, t m= m= m l L () x = c l= (3) xl lm l for l =,, L, t =,, T for l =,, L! for l =,, L, t =,, T (4) u, + w u x for l =,, L, t =,, T l t l (5) u 0 for l =,, L, t =,, T 3

3. Mathematical models (6) xlmt 0, integer for l,m =,, L, t =,, T For explanations see []. 3.3. The worload model for RMGC scheduling The RMGC scheduling problem described as a worload model is referred to as the rail mounted worload problem (RMWP). The yard zone is also divided into slots as in the formulation of the RMJP. The problem can be formulated as a combination of the RTWP and the crane movement constraints of the RMJP in the following way: Min subect to T S t= s= u st (a) yst y, s, t y, s, t y, s+, t + + for =,,, s =,, S -, t =,, T y y + y for t =,, T (b) t,, t,, t (c) yst y, S, t y, S, t () = S y + for t =,, T st (3) y,, y h= s h t st for s =,, S, t =,, T for =,,, s =,, S, t =,, T (4) u, + w u y for s =,, S, t =,, T s t st st st = (5) ust 0 for s =,, S, t =,, T y 0, for =,,, s =,, S, t =,, T (6) { } st The obective function is taen from the formulation of the RTWP and (a) - (3) correspond to the crane movement constraints (5a) (6) of the RMJP. (4) ensures that the worload that is done in a slot s during period t, is smaller than or equal to the number of cranes in the slot, i.e. it is smaller than one, because there can be at most one crane in a slot during period t. 4

4. Complexity 4. Complexity Theorem 4.: The RTJP is NP-hard in the strong sense. Proof: The proof is done by reducing the symmetric traveling salesman problem (STSP) satisfying the triangle inequality, which is nown to be NP-hard in the strong sense, to the RTJP. Any instance of the STSP has a set of C cities, a positive integer D and + distances d( cl, cm) " between each pair of cities cl, c m. The distances are symmetric and satisfy the triangle inequality. The instance ass whether or not there exists a traveling salesman tour with length D or less. The associated instance of the RTJP ass whether or not there exists a crane schedule, in which the weighted sum of starting times of all obs, where the weights are given by the processing times, is smaller than or equal to E. For any instance of the STSP with C >, a corresponding RTJP can be constructed in the following way: J = C L = C π = C( D + C) = ( = m = ) τ = d( c, c ) for l,m =,, L lm l m r = D + C r = for =,, C p = ( C )( D + C) p = for =,, C l = c for =,, C E = ( C )( D + C)( D + C + ) Depending on C, this construction can be done in polynomial time. In this instance of the RTJP, there is only one crane located in bloc at the beginning and there is one ob to do with processing time in each of the blocs,, C. At time D + C, a ob in bloc with processing time ( C )( D + C) occurs. For these two instances, the following claim has to be shown. 5

4. Complexity Claim: For the given STSP instance there exists a traveling salesman tour with length D or less (i.e. the instance is a yes -instance) For the given RTJP there exists a crane schedule such that the sum of the starting times weighted by the processing times is smaller or equal than E (i.e. the instance is a yes -instance) Proof: # : Let c c... c c be a traveling salesman tour for the l l lc l given STSP with a total length of D or less and let w.l.o.g. l =. Consider a schedule in which the crane travels among the blocs according to the sequence l, l,..., lc, l, where it handles the respective ob when it arrives at each bloc l,..., l C. The crane starts moving at t = ; its total travel time is at most D and it needs C time periods to do the obs in blocs l,..., l C. It will be bac to bloc at the beginning of period D + C and will perform ob with the processing time ( C )( D + C). The weighted sum of starting times after period t =,,..., C( D + C) can be estimated as follows: J p π = = t= t x t π J π = t = t= = = t= p t x + t x t = ( C )( D + C) ( D + C) + ( + τ ) + ( + τ + τ + ) = ll ll ll3 +... + ( + τ... ( )) ll + τ ll + + τ 3 lc l + C C C C D + C + C + h ( )( ) ( ) h= + ( C ) τ + ( C ) τ +... + τ C ( C )( D + C) + h ll ll3 lc lc h= + ( C ) τ +... + ( C ) τ + ( C ) τ ll lc lc lcl = ( C ) C ( C )( D + C) + + ( C ) D ( C )(( D + C) + ( D + C)) = ( C )( D + C)( D + C + ) = E : Suppose that there exists a solution for the RTJP such that the weighted sum of starting times is smaller than or equal to E. (*) Assume that the crane comes bac to bloc later than period D + C to process the ob in bloc. Then 6

4. Complexity J p π = = t= t x t π > p t x t = t= ( C )( D + C)( D + C + ) = E This would be a contradiction to (*). Therefore, the crane must come to bloc no later than D + C. Suppose now that there exists a ob in one of the blocs l,..., l C, which is processed after ob. Then J p π = = t= t x t $ π π t = t= = t= p t x + t x π π p t x t + t x t + p = t= = t= π π = p t x t + + t x t = t= = t= = ( C )( D + C) (( D + C) + ) + ( D + C) > ( C )( D + C)( D + C + ) = E Therefore, the obective value of such a schedule would also exceed E. Hence, the crane has to do the obs in the blocs l,..., l C and comes bac to bloc one at or before the period D + C to process ob, so the travel time of the crane will not exceed D. This implies that there is a solution to the STSP with a total length not greater than D. The proof shows that the RTJP is NP-hard in the strong sense, even if =. By using the same argumentation, it can be proved that the RMJP is also NP-hard in the strong sense because for =, the RMJP can be formulated as a RTJP. In [], it is proved that the RTWP is NP-hard in the strong sense by using the same idea, so it can be concluded that the RMWP is also NP-hard in the strong sense. t 7

% & 5. Upper bound for the maespan 5. Upper bound for the maespan 5. Determine an upper bound π for the RTJP The following procedure describes one way to find an upper bound π for the maespan for an instance of the RTJP. W.l.o.g. it is assumed that r r + for =,, J -. It is also assumed that J. If J <, then the same procedure can be used with ust slight changes. Procedure to determine a π for the RTJP: ' ( () Assign all obs to a crane in an arbitrary order, e.g. assume that crane processes ) J * all obs - ' ( = + h : h = 0,..., +,. () Determine the maespan that each crane needs to process the obs assigned to it (3) The maximum maespan of all cranes can be used as π The following algorithm shows how this procedure could be implemented. Algorithm to determine a π for the RTJP: Input: Set of obs {,..., J } Set of release dates { r : =,..., J} Set of processing times { p : =,..., J} Set of ob locations { l : =,..., J} Set of cranes {,..., } Set of initial crane locations { m : =,..., } Output: Upper bound π for the maespan Begin Step: For = to do t = τ + p m, l For h = to / / 0 0 do J = max ( + ; τ + + l + ( h ), l+ h + h + h + h ) t t p r p 8

5. Upper bound for the maespan Step : End π = max ( t ) =,..., 5. Determine an upper bound π for the RMJP The following procedure describes a way to find an upper bound π for the maespan for an instance of the RMJP. Procedure to determine a π for the RMJP: () Assign all obs located in the slots,..., m to crane () For =,..., assign all obs located in the slots m,..., m + to crane (3) Assign all obs located in the slots m,..., S to crane (4) Determine the maespan that each crane needs to process the obs assigned to it (5) The maximum maespan of all cranes can be used as π Algorithm to determine a π for the RMJP: Input: Set of obs {,..., J } Set of release dates { r : =,..., J} Set of processing times { p : =,..., J} Set of ob locations { l : =,..., J} Set of cranes {,..., } Set of initial crane locations { m : =,..., } Output: Upper bound π for the maespan Begin Step : Set n = m for =,, Step : Set t = 0 for =,, Step 3: For = to J do If l m then t = max ( t + τ n ), l + p ; r + p Else if l m n = l then t = max ( t + τ n, ; ) l + p r + p n = l 9

5. Upper bound for the maespan Else For = to - do then t = max ( t + τ n, ; ) l + p r + p If m l m + n = l Step 4: π = max ( t ) =,..., End The algorithm determines for each ob in which crane area the ob is located, i.e. which crane has to perform this ob. Analogue to the algorithm above, the maespan that each crane needs to process the obs assigned to it, is stored in the variable t. The variable n is needed to store the current position of crane. 0

6. Solution procedures 6. Solution procedures 6. Solution procedures for the RTJP In section 4, it is proved that the RTJP is NP-hard in the strong sense. Therefore, the existence of an efficient solution procedure of this problem is very unliely. In this section, two similar heuristics are proposed to get a good and feasible solutions for the RTJP. The heuristics will provide the schedule for the obs in the form of a J matrix S. Each row contains the information on how ob is scheduled: the matrix entry s is the number of the crane which performs ob in the schedule and the entry s is the starting time of ob. This notation for the schedule is much more compact than the notation developed in section 3. Using this notation, it is also not necessary to determine an upper bound π for the maespan before a solution procedure can be started. 6.. The Earliest Release Date - Heuristic The obective of the RTJP is to minimize the weighted sum of starting times of the obs, but a ob can only be started at or after its release date, i.e. see constraint (). The idea of the Earliest Release Date - Heuristic (ERD-Heuristic) is to schedule obs with a small release date before obs with a large release date, i.e. the obs are scheduled according to their release dates, starting with the smallest release date. W.l.o.g. it is assumed that the obs are indexed in such a way that r r + for =,,J-. The idea of how to assign the obs to the cranes is that every ob should be performed by the crane which can be the first in the ob location l. Two cases have to be considered to specify what is meant by can be the first in l : Case : Case : No ob is assigned to crane so far. Then crane can be in l after τ m, l time units (that is the travel time of crane from its initial crane location [ ] [ ] { } m to the ob location l ). Jobs,..., h, h,..., J with smaller release dates than r have already be assigned to crane. [ ] [ ] In this case, it is assumed that crane has to perform the obs before,..., h it can travel to bloc l. Therefore, the earliest time crane can reach bloc l is the sum of the completion time of location of [ ] and l. h [ ] and the travel time between the h The variables t and n are introduced in order to simplify the notation: t is the earliest time crane is available to process the next ob. At the beginning of the scheduling process, t = 0 for all cranes. When a ob is assigned to crane, then t is updated,

7 5 4 7 6 5 6. Solution procedures i.e. it is increased. If crane can be in the bloc where the ob is located before the release date, t is increased by the release date. Otherwise it is increased by the travel time. In both cases, it is also increased by the processing time of the ob. n is used to store the current location of crane. At the beginning of the scheduling process, n = m for all cranes. When a ob is assigned to crane, the crane moves to the location of the ob and n is updated, i.e. it is set equal to l. Now, the procedure described above can be summarized in the following algorithm: ERD-Heuristic: Input: Set of obs {,..., J } Set of release dates { r : =,..., J} Set of processing times { p : =,..., J} Set of ob locations { l : =,..., J} Set of cranes {,..., } Set of initial crane locations { m : =,..., } Output: Feasible schedule S for the RTJP Begin Step: Set t = 0, n = m for =,, Step : Order the obs such that r r + for =,, J - (if necessary) Step 3: For = to J do For = to do End Determine the earliest time possible, at which crane can be in the ob location l, i.e. calculate t + τ n, l Assign ob to crane 3, where Set s = If t + τ, n l = arg min t + τ ( ) n {,..., }, l 6 r then Set s = r Set n = l Set t = r + p else Set s = t + τ n 5, l Set t 6 = t 6 + τ + p : n, l

6. Solution procedures The RTJP is formulated as an off-line problem. One advantage of the ERD-Heuristic is that it would also wor for the corresponding on-line problem. 6.. The Quotient-Heuristic One disadvantage of the ERD-Heuristic is that it does not tae the weights, i.e. the processing times of the obs, into account. The Quotient-Heuristic tries to overcome this problem by p considering the quotient and by scheduling the obs in the order of these quotients, r starting with the largest quotient. The ob order is influenced by the release dates as well as by p the weights of the obs. The quotient could be regarded as a measurement for the r importance of a ob: The greater the weight p and the smaller the release date r, the greater is the importance of the ob. With this interpretation, one can say that the Quotient- Heuristic schedules the obs with respect to their importance, starting with the most important ob. The rest of the procedure is equivalent to ERD-Heuristic. Quotient-Heuristic: Input: Set of obs {,..., J } Set of release dates { r : =,..., J} Set of processing times { p : =,..., J} Set of ob locations { l : =,..., J} Set of cranes {,..., } Set of initial crane locations { m : =,..., } Output: Feasible schedule S for the RTJP Begin Step: as in ERD-Heuristic Step : Order the obs such that p r p + for =,, J - r + Step 3: as in ERD-Heuristic End 3

4 6. Solution procedures 6. Solution procedures for the RMJP Ng proposes in [3] a two-phase scheduling heuristic for the RMJP: In the first phase, the yard zone is partitioned into non-overlapping yard ranges. One crane is assigned to each of these yard ranges to handle all the obs located in this range. A dynamic programming approach is used to determine an efficient partition. In the second phase, a ob reassignment procedure is used to improve the schedule obtained in phase one. Ahough this heuristic is developed for the special case p = p for =,, J, it can also be applied to the general case. The ERD-Heuristic and the Quotient-Heuristic from section 6. can be modified in order to provide a solution for the RMJP. Step and step can remain unchanged; the only modification which has to be done is in step 3. There are at most two canes which have to be taen in consideration to perform a ob : the crane which is the nearest to the ob location l on the left hand side, and the crane which is the nearest to the ob location l on the right hand side. From these two cranes, that one is chosen to perform ob which can be the earliest in l. Then Step 3 would have the following form: For = to J do Determine the crane, which is the nearest to l on the left hand side: n l = max : n l ( n ) Determine the crane, which is the nearest to l on the right hand side: n r = min : n l ( n ) Assign ob to crane 4, where = arg min t + τ ( ) n {, }, l l r 6.3 Example In this section, an example for the heuristics developed above is presented. The example should give an impression on how the ERD-Heuristic and the Quotient-Heuristic wor. The container yard in the example consists of nine blocs which are arranged in three rows with three blocs in each row. There are three obs and two cranes are available to perform them. The positions of the cranes n and the locations of the obs l are given by a vector ( ), r c, where r indicates the row and c the column of the respective bloc in the container yard. It is assumed that the travel times of the cranes are rectilinear, i.e. the cranes can not move diagonally. The travel time between two adacent blocs within the same row is one time period while the travel time between two adacent blocs in the same column is two time periods. Figure 7 contains the ob characteristics and Figure 8 illustrates the initial situation in the container yard. The transparent boxes in the blocs represent the obs and the blac boxes symbolize the cranes. 4

6. Solution procedures Jobs r p l 3 5 5 (,) (,3) 3 5 5 (,3) Figure 7: Job characteristics Figure 8: Initial situation In this example, the order and the parameters of the obs are chosen in such a way that p p + r r + and for =,, 3, so the obs are in the right order for both heuristics. r r + This means that this example can be read as an example for the ERD-Heuristic as well as for the Quotient-Heuristic. Step is identical for both heuristics. The following setting is done in Step : t = t = 0 n = (, ) and n = ( 3,3) Step can be omitted because the obs are in the right order for both heuristics. For the same reason, ob is the first ob to be scheduled in step 3. It is easy to see that crane needs one horizontal and one vertical move to reach the location of ob, while crane would need two horizontal and one vertical move. Therefore, ob is assigned to crane s =. Crane starts its movement at t =. It needs one time period for the horizontal ( ) move and two time periods for the vertical move; so it reaches the location of ob at the beginning of time period 4. At this time, ob is already released, so ob is started at time s =. Job has a processing time of five time periods. Therefore, crane is not period 4 ( ) 4 available until time period 9 and t is set equal to 9. The next ob that has to be scheduled is ob. Crane would start from the location of ob and would therefore need two horizontal moves to come to the location of ob, but it could not start before time period 9. Crane would reach the location of ob at time period. Therefore, the second ob is assigned to s =. This crane needs also two time periods for the vertical move to come to crane ( ) ob, but it can start at period, so it reaches the location of ob at time period 3. The ob is s =. Now, crane is not already released at this time, so the starting time is equal to 3 ( ) 3 available until time period 8 and t is set equal to 8. The last ob which has to be done is ob 3. Crane could start at time period 9 from the location of ob and would need two horizontal moves and one vertical move to reach the location of ob 3. Therefore, it could start ob 3 at the beginning of period 3. Crane can start to move at period 8 from the location of ob and needs two time periods for a vertical move to come to ob 3, so it could start ob 3 before crane, i.e. at the beginning of period, and ob 3 is assigned to crane ( s 3 = ). Job 3 is not released until time period 5, i.e. t + τ (,3 ),(,3) = 8 + = 0 < 5 = r3. Therefore, the starting time of ob 3 is equal to 5. Figure 9 summarizes the schedule determined by the heuristics; Figure 0 illustrates the crane movements. 5

6. Solution procedures Jobs Crane Start 3 4 3 3 5 Figure 9: Schedule Figure 0: Illustration of crane movements 6.4 Idea for a Branch and Bound procedure In this section, another idea is presented which could be used to develop an aernative solution procedure. In this thesis, the idea is not developed up to an algorithm, but it could be an inspiration for further research topics. In section 3.., the RTJP is formulated as an integer program. Two types of binary variables are used: x t and y lmt. The only relation between these variables is given by constraint (4). In any other constraints, only one of the two types occurs. Therefore, it seems to be liely to wor with Lagrangian relaxation to find a good lower bound for the RTJP. A Langrangian relaxation could be used to design a branch and bound algorithm for the RTJP. In section 6.4., Lagrangian relaxation is used to divide the RTJP into two independent subproblems. In the sections 6.4. and 6.4.3, these subproblems are analyzed. 6.4. Lagrangian relaxation Now, constraint (4) in the RTJP formulation of section 3.. is placed in the obective function by Lagrangian relaxation with muipliers u for =,,, =,, J, t =,, π +. The relaxed problem has the following form: L( u ) = Min p 8 9 J π J π p + p > > > >> > : p t x u : > ; < y p x = ; t t, l, l, t+ h t = = t= = = t= h= 0 t subect to () () (3) >> π = t= >> π i= h= i t x x t = t= J p t =, i, t+ h r x M ( x ) t for =,, J for =,, J for =,,, =,, J: p >, t =,, π p + 6

6. Solution procedures (5) > > L L (4) ylmt = y, m, l, t τ + y ml, l, l, t m= m= m l > = y l (6) { 0,} t for =,,, l =,, L, t =,, π for l =,, L, t =,, π x for =,,, =,,J, t =,, π y 0, for =,,, l,m =,, L, (7) { } lmt t =,, π The relaxed problem can be decomposed into two independent subproblems, such that where L ( ) ( ) = ( ) + ( ) L u L u L u u = Min > > > > > > J π J π p + p t x + u p x t t t = = t= = = t= subect to () () (3) >> π = t= >> π i= h= i t x x t = t= J p t =, i, t+ h r x M ( x ) t for =,,J for =,,J for =,,, =,,J: p >, t =,, π p + (4) { 0,} x for =,,, =,,J, t =,, π t and L ( ) u = Min >> J π > p + > p u t, l, l, t+ h = = t= h= 0 y subect to () > > L L () ylmt = y, m, l, t τ + y ml, l, l, t m= m= m l > = y l (3) { 0,} for =,,, l =,,L, t =,,π for l =,,L, t =,, π y for =,,, l,m =,,L, lmt t =,, π 7

?? 6. Solution procedures 6.4. The subproblem L (u) Theorem 6.: L ( ) u is NP-hard in the strong sense. Proof: Consider an instance of L ( u ) with u = 0. Then the obective function of L ( ) the following form: Min J p π = = t= Now, the constant term t x J t = can be modified as follows: p J π J p t xt + p = = t= = u has is added to the obective function. Then the function = 8 9 : < = ; > J >> π p t x + p t = = t= This obective function together with the constraints of L ( u ) form the problem L! ( u) : > 8 9 : >> < = ; L! J π ( u ) = Min p t x + p = = t= t subect to () () (3) >> π = t= >> π i= h= i t x x t = t= J p t =, i, t+ h r x M ( x ) t for =,, J for =,, J for =,,, =,, J: p >, t =,, π p + (4) { 0,} x for =,,, =,, J, t L ( u) is equivalent to L ( ) the obective function. Obviously, L ( u) scheduling problem: t =,, π u, because the problems only differ in a constant term in is also equivalent to the following 8

@ A C C E B D F D 6. Solution procedures P r w C : Schedule J obs with release dates r on P identical machines in order to minimize the sum of weighted completion times. The cranes are P identical machines. By definition of x t, time of ob and, therefore, >> π = t= t x + p t >> π = t= t x is the completion time weights w are given by the processing times p. This problem is nown to be NP-hard in the strong sense, e.g. see [6]. This proves that even the special case ( 0) therefore, L ( ) u is NP-hard in the strong sense as well. t is the starting C of ob. The L is NP-hard in the strong sense and, The theorem implies that it is hard to find the optimal obective value of L ( ) bound could be determined by an appropriate procedure. u, but a lower 6.4.3 The subproblem L (u) The obective function of L ( ) >> J π > p + > p u t, l, l, t+ h = = t= h= 0 y u can be modified in the following way: J = ( u ( y, l,,...,,, ) (,,,...,,, ) l + + y l l p u y l l + + y l l p + = = ( ))... u y +... + y J = ( ) =,, π p +, l, l, π p +, l, l, π ( u y, l, l, u + u y, l, l, = = J... (... ) (... )... ( u,, π p...,, ) + u π p + y, l, l, π p + ( u,, π p...,, ) + u π p + y, l, l, π p +... u,, π p,,, ) + y l l π u + + u y u + + u y,, p, l, l, p,, p +, l, l, p + + + + + ( t π p ) u ( ) π min ; + = = t= h= max ; t p + y h, l, l, t 9

?? > >??? 6. Solution procedures With a With b ( ) t : l = l t J π min ( t; π p + ) = uh, the obective function can be formulated as a t y, l, l, t. > h= max( ; t p + ) = = t= = a, the subproblem L ( u ) can be formulated as follows: >> > L π L u = Min b y, l, l, t subect to () Note that L ( ) ( ) l= = t= > > L L () ylmt = y, m, l, t τ + y ml, l, l, t m= m= m l > = y l (3) { 0,} lmt for =,,, l =,, L, t =,, π for l =,, L, t =,, π y for =,,, l,m =,, L, t =,, π b is a function of the Lagrangian muiplier u, i.e. b b ( u) u, the following problem is considered: L u = Min subect to >> L π l= t= b > > z L L () zlmt = zm, l, t τ + z ml l, l, t m= m= m l L () zlm = cl m= () zl! l for l =,, L, t =,, π for l =,, L for l =,, L, t =,, π =. In order to solve (3) zlmt 0, integer for l,m =,, L, t =,, π where z lmt is the number of cranes leaving bloc l to travel to bloc m at the beginning of L u describe nearly the same problem. The difference is that in period t. L ( u ) and ( ) L ( u ), the movement of every single crane is considered while in L ( u), the cranes which move from the same bloc l to the same bloc m at the same time, are summarized in the variables z lmt. Now it is shown, how L ( u) can be solved efficiently and how an optimal solution of L ( u) can easily be transferred to an optimal solution of L ( u ) : 30

??? > 6. Solution procedures Theorem 6.: Problem L ( u) is a minimum cost networ flow problem. Proof: The following proof is already done in []. It is repeated here to introduce the notation for the networ which is used in further steps of the solution procedure. G = V, A be a directed graph with the set of vertices Let ( ) { :,..., ;,..., π } { }? V = v l = L t = + v and the set of arcs {(,, ) :,,..., ; ;,..., m t+τ π τ } lm lm {( v,, ) :,..., ;,..., vl t+ l = L t = π} {( v, v l, ) : l,..., L π + = }. A = v v l m = L l m t = + Vertex v represents bloc l at the beginning of period t. The vertex vl, π + represents bloc l at the end of the last period. The nodes vl are the sources of the networ with a supply of c l, while vg is the sin of the networ with a demand of L l= c l. The arcs between the vertices represent the possible crane movements. The arcs {( v,, ) :,..., ;,..., vl t l L t π} + = = have unit costs u b and a capacity of. All other arcs have zero costs and infinite capacity. It is obvious that L G ( u) is equivalent to the minimum cost networ flow problem (with muiple source nodes) in the networ G. The theorem implies that L ( u) how an optimal solution z * of L ( u) L ( u ). Procedure to transform z * into y *: () Construct a directed graph G ( V, A) can be solved efficiently. The following procedure describes can be transformed into an optimal solution y * of = with the same set of vertices and the same set of arcs as in the networ constructed in the proof of Theorem 6.. () The capacity of each arc is set equal to the value of the flow in z * on this arc, i.e. the capacity of the arcs (, ) equal to z * lmt, the capacity of the arcs ( ) to z * l, and the capacity of the arcs ( ) { v, :,,..., ; ;,..., vm t τ l m L l m t π τ } lm lm { v, :,..., ;,..., vl, t l L t π} { v, v : l,..., L l, π + = } + = = + is set + = = is set equal is set equal to z * l 7, v, π +. 3

H H H H 6? 6. Solution procedures (3) For = to do a) Determine a path from m to vg b) Set each variable y lmt corresponding to this path equal to c) Reduce the capacity of each arc occurring in the path by (4) All y lmt which are not set equal to in step 3 are set equal to 0. Theorem 6.3: This procedure transforms an optimal solution * solution * L u. y of ( ) z of L ( u) into an optimal Proof: Define I C ( v ) = Sum of capacities of all arcs (, ) :,(, ) { v v v V v v A} in iteration I ( C ( v ) could be regarded as the incoming capacity of vertex v ) O C ( v ) = Sum of capacities of all arcs (, ) :,(, ) { v v v V v v A} in iteration O ( C ( v ) could be regarded as the outgoing capacity of vertex v ) I ( ) O C0 v and C ( ) 0 v are the corresponding values at the beginning. Assume that there exists a? such that there exists no path from? iteration. H There exists a v such that there exists a path from v to v m, t + for all m =,,L I C6 O ( v ) > 0 and C ( v ) = 0 6 6 C I ( v O ) > C ( v ) m7 to vg in m7 to v but no path from I O In each iteration, C ( v ) and C ( v ) are reduced by the same value (They are reduced by if v is on the path determined or they are both not reduced if v is not on the path). C ( v ) > C ( v ) I O 0 0 > L > L z * + z * > z * m, l, t τ ml l, l, t lmt m= m= m l 3

H H > >??? 6. Solution procedures This is a contradiction to the feasibility of * =,,, a path from solution * z for L ( u), so for each m to vg can be determined. This implies that the L u for y generated by the procedure, satisfies condition () of ( ) =,,, l =,, L, t =,, π. = y * l is smaller than or equal to the capacity of the arc (, l, t ) v v + at the beginning, because the capacity is reduced by for each crane using this arc. z * l = y * z * l l G because * > = y * l This means that * Either z is feasible for L ( u) y satisfies condition () of ( ) L u for l =,,L, t =,, π. y lmt is set equal to in step 3.b) or it is set equal to 0 in step 4, so condition (3) of L ( u ) is also satisfied for =,,, l,m =,, L, t =,, π. Therefore, * Assume now that * L u. y is feasible for ( ) L u. y is not optimal for ( ) Then there exists a solution y ** such that >> > >> > L π L b y ** < b y *, l, l, t, l, l, t l= = t= l= = t= Then define > z ** = y ** for l,m =,,L, t =,, π lmt = lmt It is easy to chec that ** >> L π l= t= b z ** l π z is feasible for L ( u) >>> and L π = b y **, l, l, t l= = t= = >> > L π < b y *, l, l, t l= = t= >> L π > b l= t= = y * l 33