Advanced Engineering Informatics 25 (2011) 413–426
Contents lists available at ScienceDirect
Advanced Engineering Informatics journal homepage: www.elsevier.com/locate/aei
A job grouping approach for planning container transfers at automated seaport container terminals q S. Yuan a, B.T. Skinner a, S. Huang a,⇑, D.K. Liu a, G. Dissanayake a, H. Lau b, D. Pagac b a b
ARC Centre of Excellence for Autonomous Systems (CAS), University of Technology, Sydney, P.O. Box 123, Sydney, NSW 2007, Australia Patrick Technology Systems, 4b Lord Street, Botany, NSW 2019, Australia
a r t i c l e
i n f o
Article history: Accepted 31 January 2011 Available online 24 February 2011 Keywords: Modelling Scheduling Autonomous straddle carrier Automated seaport container terminals
a b s t r a c t This paper proposes a practical job grouping approach, which aims to enhance the time related performance metrics of container transfers in the Patrick AutoStrad container terminal, located in Brisbane, Australia. It first formulates a mathematical model of the automated container transfers in a relatively complex environment. Apart from the consideration on collision avoidance of a fleet of large vehicles in a confined area, it also deals with many other difficult practical challenges such as the presence of multiple levels of container stacking and sequencing, variable container orientations, and vehicular dynamics that require finite acceleration and deceleration times. The proposed job grouping approach aims to improve the makespan of the schedule for yard jobs, while reducing straddle carrier waiting time by grouping jobs using a guiding function. The performance of the current sequential job allocation method and the proposed job grouping approach are evaluated and compared statistically using a pooled t-test for 30 randomly generated yard configurations. The experimental results show that the job grouping approach can effectively improve the schedule makespan and reduce the total straddle carrier waiting time. Ó 2011 Elsevier Ltd. All rights reserved.
1. Introduction At seaport container terminals, both the capacity and frequency of container carrying ships arriving have increased steadily during the past several decades [1,2]. To reduce costs to terminal operators the berthing time of these large ships must be as small as possible. This requires efficient use of yard vehicles to load, unload and transfer containers during the transportation process. In the recent years, several seaport terminals are in the process or planning to automate the terminal to some extent [3,4]. Increasing automation of yard vehicles not only reduce the labouring cost of terminal operators, but also has the potential to increase the efficiency of the container transport. However, as compared with the human operated yard vehicles, there is an ongoing requirement to ensure a high degree of coordination and efficiency for all material handling equipment participating in the transportation process.
q This paper is an extended version of an earlier paper presented in Proceedings of the 2010 International Conference on Robotics and Automation (ICRA 2010), Anchorage, Alaska, USA. ⇑ Corresponding author. Tel.: +61 2 9514 2964; fax: +61 2 9514 2655. E-mail addresses:
[email protected] (S. Yuan),
[email protected] (B.T. Skinner),
[email protected] (S. Huang),
[email protected] (D.K. Liu),
[email protected] (G. Dissanayake),
[email protected] (H. Lau), d.pagac@ patrick.com.au (D. Pagac).
1474-0346/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.aei.2011.01.004
Current seaport container terminals around the world employ a multitude of container handling equipment, which can be categorised into quay-side, yard and land-side resources. Although quay cranes are commonly used in seaports for uploading/unloading containers to/from ships on the quay-side, different seaports use different yard vehicles for transfer containers within the ports. Straddle carrier (SC) is one type of yard vehicles for such container transfer. At the Patrick AutoStrad container terminal located in Brisbane, a fleet of fully autonomous SCs are used for container transport [5] (Fig. 1). The more than twenty SCs are issued high level commands from a central computer system located at the port. They can pick up/set down containers autonomously without human operator, both in the yard and on/off the truck. The navigation system allows the SCs to travel along any planned trajectory while performing collision detection and emergency stop. These autonomous SCs are the only vehicles to transfer containers among quay crane area, yard area, and the truck area. This terminal is unique when compared with current seaports that use human operated SCs for container transporting. At the Patrick AutoStrad container terminal (Fig. 2), like many other seaport terminals around the world, one of the main tasks of a fleet of SCs is to service the quay cranes such that the maximal quay crane turn-around rate can be achieved [5–7]. This will reduce the ship berthing time. Moreover, the SCs also need to service the trucks, which are used to transfer containers between
414
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
Fig. 1. Fully autonomous straddle carrier transporting a 40-foot container from the quay side as part of a buffer-to-yard task.
customers and the seaport terminal, such that the truck waiting time is minimised. Finally, the seaport operator would like SCs to perform less urgent yard-to-yard container transportation jobs as part of their yard management strategy. Because autonomous SCs do not require a human driver, the planner not only needs to allocate jobs and assign paths to the vehicle, but also needs to plan the trajectories of each vehicle such that collision will not occur. In addition, the planned trajectory should aim at improving the makespan (total duration of a schedule) of SCs performing the transportation process, while finding a feasible allocation and schedule to complete all necessary jobs. The problem of scheduling and path planning of autonomous SCs contains subtle but significant differences to the vehicle routing problem (VRP) and Pickup and Delivery Problem (PDP) [8] widely discussed in operations research literature. In the VRP and PDP, the path networks (or the environments in general) are usually of metropolitan scale, and a vehicle is considered as a moving point. Vehicle kinematics and dynamics, for example acceleration times and breaking distances, are insignificant and are therefore ignored. Multiple vehicles can occupy the same road at the same time and thus vehicle collision is not a necessary concern. On the other hand, SCs operate in port environments where a large number of vehicles are concentrated into a confined area. The transportation paths are organised such that one sections of this network is restricted to one vehicle at a given time and thus the vehicles are not able to pass or overtake each other. Thus collision avoidance, as well as traffic congestion and the dynamic characteristics of the vehicles are very important aspects that need careful consideration during planning and scheduling for multiple auton-
Fig. 2. Satellite view of the Patrick AutoStrad container terminal within the Port of Brisbane at Fisherman Islands Australia [Google Earth].
omous SCs. As such, a wide range of algorithms have been proposed in the extensive literature related to the VRP [9–11] and PDP [12–14], and general optimisation software packages that are commercially available [15] cannot be directly used to the model and solve the scheduling and routing problem in Patrick container terminal. Generally, there are three major features which make the problem unique and quite challenging, compared to those well-studied operational issues [9–14]. First of all, the Patrick seaport environment is fairly confined and complex. There are more than twenty autonomous SCs in a 0.2 km2 area occupied mostly by storage space of multi-level stacked containers, which greatly restricts the number of possible paths all SCs can travel at any one time. Secondly, SCs are free-ranging within the container terminal and must take into account collision avoidance between each other when travelling within the yard. Thirdly, coordination of resources is not only required for SCs but also needed for quay crane and truck. Thus, an effective coordination strategy should take into account other port resources which may affect the overall productivity of the seaport. Scheduling container transfers must consider time-critical jobs, such as quay crane and truck related jobs that are required to be conducted within the pre-defined time. Otherwise this could result in expensive waiting costs of quay crane or truck. We presented a preliminary mathematical model in our previous work in [16], which established a preliminary model of this relatively large and difficult optimisation problem for simultaneous path planning and task allocation within the yard operations. In this paper we have extended the mathematical formulation and proposed a job grouping strategy which is motivated by clustering jobs based on time-critical requirements, so as to effectively enhance the time related performance. The paper is organised as follows. Section 2 provides a brief overview of related work in scheduling problems for the transportation process within automated seaport container terminals. Section 3 presents the complete mathematical model. In Section 4, we present and discuss the proposed job grouping method, together with an existing sequential approach. Section 5 presents the experiments for the two different methods and compares their performance. Finally, Section 6 provides a conclusion and summary of the study.
2. Related work There are a few research papers related to the modelling of different operational aspects for seaport container terminals [17]. In a recent study, Preston and Kozan [18] examined mathematical modelling and optimisation using genetic algorithm and tabu search of the sea interfaces, specifically the transfer of export containers from the storage to berthed ships. Their implementation of the model and optimisation algorithms is capable of handling large problems that arise in the quay side operations. This study deals exclusively with import and export containers between the ship and the yard and does not include an integrated model that considers yard-to-yard and yard-truck transportations or other practicalities. Hartmann [19] proposed a general model for various scheduling problems that occur in container terminal logistics. The scheduling model consists of the assignment of jobs to vehicles and the temporal arrangement of the jobs subject to precedence constraints and sequence-dependent setup times. The model was applied to solve problems for SCs, AGVs (Automated Guided Vehicles), stacking cranes, and workers who handle reefer containers in the port of Hamburg. Good solutions were obtained using a vehicle constrained genetic algorithm. An attempt at performing integrated scheduling of different resources at a seaport container terminal was performed by
415
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
Meersmans and Wagelmans [20]. They used static and a dynamic variation of the beam search algorithm to model the problem. A form of rescheduling, variable job horizons and different vehicle dispatching algorithms were also investigated in this extensive study. In summary, longer planning horizons (50 containers per quay crane) provided better performance on average. Furthermore, the static beam search performed better than the dynamic variation and better than a number of typical dispatching rules, while avoiding deadlock situations. In [21], authors address a dispatching problem for vehicles in a transshipment hub by considering the quay cranes and yard cranes capacity, and aim to minimise the makespan at the quay side by using the neighbourhood search and genetic algorithm (GA) with minimum cost flow (MCF) network model. Moreover, their experimental results showed that the superiority of the GA–MCF-based algorithm over the neighbourhood search algorithm. To our knowledge, job grouping concept has not been studied in the scheduling of container transfers at an automated seaport terminal. Consequently, we are motivated by the notion of job grouping to adequately handle time-critical requirements for the scheduling of container transfers in the yard environment. With the aim of reducing the operational makespan and enhance the productivity of the SC fleet. Generally, job grouping is viewed as an optimisation mechanism to enhance efficiency of machinery utilisation as mentioned in [22,23]. In [22], the job grouping problem was to partition the jobs into a minimum number of feasible groups. Since the number of variables is potentially huge, the authors used a column generation approach. The study in [23] investigated the group scheduling problem which is comprised of two levels of scheduling, and aimed to minimising the makespan in a flexible flow shop. Another study examined the use of a typical job grouping strategy for the allocation of jobs in a grid computing application [24]. The job
grouping approach resulted in increased performance in terms of low processing time and cost when applied to a large number of jobs where each user job holds small processing requirements. In this paper, we choose to use collision avoidance trajectory planning together with the job grouping approach to solve the container transfer problem. The collision-free path planner is a prioritised multi-vehicle path planning algorithm [25]. This path planning algorithm is extended from Halpern’s algorithm [26] to propagate feasible time and cost windows for each vehicle to arrive at and depart from each position (subject to time-dependent position’s availability). Such time windows are propagated iteratively from the known starting time of the vehicle at the starting position until a feasible arrival window is found at the destination. The key feature of this algorithm is that the paths generated will consider the motion of all other active SCs and as a result will go around or give way (via waiting at a position or shunting aside and subsequently resuming) to SCs with already planned paths. Importantly, this path planning approach is more realistic than simplified vehicle routing problems where path lengths only need to be calculated once, regardless of the changing occupancy of the various positions in the environment.
3. Mathematical modelling 3.1. Overview of the problem A map depicting the yard environment has been developed to model the actual Fisherman Islands Terminal located within the Port of Brisbane, Australia. Fig. 3 illustrates a schematic diagram of the static seaport environment. In order to reflect the operational environment, the map is represented by a graph that
Containers (boxes) N
W
Ship
E
S
Quay Crane Buffer Node
Buffer Area
Quay Crane Bay SC Traversal Area Nodes (N)
Yard Area
SC Traversal Area Reefer Area
Yard Area MXA
MXB
Truck Gate
YARD
Truck Nodes
Truck Area Fig. 3. Schematic diagram of the static seaport environment showing berth, quay cranes, bays, special nodes (buffer and truck gates), truck import area and nodes in the yard [16].
416
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
contains a set of nodes and links, through which any SC can travel. All links are bi-directional and connect two neighbouring nodes. This graph representation of the map is currently implemented at the Patrick terminal for trajectory planning. Using a graph to represent the seaport map allows for the accurate determination of SC position and trajectory information at any time. As a result, both collision-free trajectories and task allocation (online scheduling) can be clearly described for the container transfer problem. For the Fisherman Islands Terminal shown in Fig. 3, a graph was developed consisting of 18,380 positional nodes and 332,620 predefined links [16]. Furthermore, this map contains three key functional areas, namely the Buffer Area, Yard Area and Truck Area as shown in Fig. 3. The buffer area is located on the quay-side and is used for the temporary storage of containers, which are eventually transported between SCs and berthed ships. The yard area, which includes the normal container storage area, the reefer area and container temporary storage areas (MXA and MXB), is the largest area of the terminal due to the accumulation of containers stored in this area. As a result, the yard area is relatively confined for SCs transportation. Lastly, the truck area is related to the import and export of container between trucks and the yard area. Typically, containers that are discharged from a berthed ship would become truck loading jobs after being temporarily stored in the yard. Similarly, containers unloaded from trucks would most likely become ship loading jobs after being temporarily stored in the yard. Consequently, different job types are not isolated from each other, but loosely coupled through the implicit use of yard vehicles. A list of container transfers jobs need to be performed by a fleet of identical automated SCs. For each job the Yard Management System (YMS) provides both an initial and destination node, and also specifies the container stack level and container alignment for both pickup location and setdown location. In this paper, we divide the jobs into five different categories based on their initial and destination nodes: Buffer-to-Yard (B2Y): transport a container from a buffer node to a yard node. Yard-to-Buffer (Y2B): transport a container from a yard node to a buffer node. Truck-to-Yard (T2Y): transport a container from a truck area node to a yard node. Yard-to-Truck (Y2T): transport a container from a yard node to a truck area node. Yard-to-Yard (Y2Y): transport a container from a yard node to another yard node. For each node in the yard area, there is a two-level stack where a container can be stored. That is, each yard node can be occupied by two containers vertically which adds significant complexity to the problem as both setdown and pickup sequencing must be considered. Each job is described using an initial node and a destination node. For all Y2Y jobs, only the nodes, stack level and direction alignment for both initial and destination positions are required. However, B2Y and Y2B jobs are quay crane related jobs which require to be conducted on a pre-defined time for interfacing to seaside operations. Moreover, T2Y and Y2T jobs are truck related jobs which differ from Y2Y jobs in that the initial nodes for T2Y jobs and destination nodes for Y2T jobs require job sequencing operation. In our current problem formulation, it is assumed that each job must be performed by one and only one SC. That is, when a SC picks up a container as part of an assigned job the container must be transported to the destination by the same SC. The solution of the overall planning problem includes the allocation of jobs and a detailed trajectory of each vehicle, which includes the position and status (such as picking up a container,
setting down a container, travelling with container, or empty travelling) of each vehicle at each time step. One important constraint of trajectories is the collision free requirement. This is handled by a locking scheme, which ensures that particular nodes and links surrounding the occupied position will be locked at that time preventing other SCs from travelling on nodes or links associated with the position. In the next subsection, we will provide definitions of the parameters and variables involved in the problem formulation, and more detailed explanation will be provided in the following subsections. 3.2. Definitions of model parameters and variables This section describes the model parameters and variables. Considering container transfers by SCs, we can establish the following definitions. Resource acronyms: There are three different terminal resources discussed in this model: SC: straddle carrier. QC: quay crane. TK: truck. Map parameters: N: set of map nodes. L: set of map links. ni : a node within the map and ni 2 N. l: a link within the map and l 2 L. Each link connects two nodes, given by 8l 2 L : l ¼ ljk ¼ fnj ; nk g. xlij ;ljk : Patrick yard pre-defined traversal information between every two adjacent links ðlij ; ljk 2 LÞ. Let xlij ;ljk ¼ 1 if a SC need to decelerate and adjust direction and then accelerate for traversing from node ni to node nk via node nj, otherwise, xlij ;ljk ¼ 0. This information is encoded within the map. FP ni ;nj : a flip flag of each physical link which relates the container alignment during traversal of the link. Let FP ni ;nj ¼ 1 if container alignment is changed when a SC carrying a container from node (ni) to node (nj), otherwise FP ni ;nj ¼ 0: The flip flag of each link is encoded within the map. Job parameters: J: set of jobs to be performed by SCs, and jJj is the total number of jobs for scheduling. J ¼ J Y2Y [ J Y2B [ J B2Y [ J T2Y [ J Y2T ; where J Y2Y represents all Y2Y jobs and similarly for J Y2B ; J B2Y ; J T2Y ; J Y2T . Each job ðJ k 2 JÞ is constructed in the form: J k ¼ fInitNode; DestNodeg J J J J J J and InitNode ¼ ðnIk ; SIk ; ALIk Þ, DestNode ¼ ðnDk ; SDk ; ALDk Þ: Jk Jk nI ; nD : the pickup node and the setdown node of job (Jk) in the map. J J J J SIk ; SDk : stack level (tier) at node nIk or nDk , where 0 = ground level and 1 = first level. J J ALIk : ALIk 2 fAligned; Oppositeg is the initial alignment of job ðJ k Þ. J Let Aligned = 0 and Opposite = 1, then ALIk 2 f0; 1g. Please refer to Section 3.3 for more details. J ALDk : required container alignment at destination node (nD) for J job ðJ k Þ. ALDk 2 fAligned; Oppositeg is dependant on the job type. M: the total number of time-critical jobs (J Y2B [ J B2Y [ J T2Y [ J Y2T ) related to quay cranes and trucks. K: the total number of Y2Y jobs. K = |J|M. tJk pickup : pre-defined time for a SC to pick up the container of job (J k ). A SC may arrive at the pickup position earlier than this time, but would be required to wait until this time has elapsed. This constraint is only required for B2Y and T2Y jobs, in order to avoid quay crane or truck waiting. tJk setdown : pre-defined time for a SC to set down the container of job (J k ). A SC may arrive at the setdown position earlier than this time, but would be required to wait until this time has elapsed. This constraint is only required for Y2B and Y2T jobs, in order to avoid quay crane or truck waiting.
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
aab : pickup job sequence. aab ¼ f0; 1g : 8ðJa ; Jb Þ 2 J. Let aab ¼ 1 if job (Ja) need to be picked up before job (Jb) picked up, else aab ¼ 0: bab : setdown job sequence. bab ¼ f0; 1g : 8ðJ a ; J b Þ 2 J. Let bab ¼ 1if job (Ja) need to be set down before job (Jb) set down, else bab ¼ 0: Trajectory parameters: V: set of SCs, jVj is the total number of SCs in the fleet. V i : a SC and V i 2 V; 1 6 i 6 jVj. V V pI i : a SC’s initial position node (pI i 2 N) within the map. Slock ðpÞ: set of locked nodes and links associated with the position ðp 2 N [ LÞ of a SC to prevent all vehicle collisions. Timing parameters: t 0 : plan initial time. Dtpickup : time required for a SC to pick up container. Dtsetdown : time required for a SC to set down container. Dtaccelerate : time associated with acceleration of a SC moving from zero velocity to maximum (constant) velocity. Dtdecelerate : time associated with deceleration of a SC from its maximum (constant) velocity to zero velocity. TTnx ;ny : intra-nodal travel time (on constant velocity) required between nodes nx:ny which belong to a link (lxy). J MinTime k : the minimum theoretical processing time based on Dijkstra’s algorithm [27] (from pickup to setdown) for job (Jk). T DQC : the starting time of QC discharging (unloading) operations, which is pre-defined a priori as part of the QC schedule. T UQC : the starting time of QC uploading operations, which is predefined a priori as part of the QC schedule. T TQC : the turnaround time of QC unloading/uploading a single container. T ITK : the starting time of TK importing operations, which is predefined a prior as part of the TK schedule. T ETK : the starting time of TK exporting operations, which is predefined a prior as part of the TK schedule. T TTK : the turnaround time of a SC performs TK importing/ exporting for a single container within the truck area. Defined variables: xV i Jk : job assignment operator which ensures a mapping between a single job (Jk) and a single SC (Vi). Let xV i Jk ¼ 1 if SC (Vi) is assigned to perform job (Jk), otherwise xV i Jk ¼ 0. Jk ALsetdown : the planned setdown container alignment associated Jk with the destination of job (Jk). ALsetdown 2 f0; 1g. Jk t start : planned start time of job (Jk). J
k : planned finish time of job (Jk). t finsh
P V i ðtÞ: position of SC (V i ) at time (t P t0), according to a planned trajectory. dV i : planned trajectory of SC (Vi) including the travelling nodes and associated times. Please refer to Section 3.3 for more details.
(a)
(b)
417
3.3. Description of container alignment and SC trajectory Considering that the orientation of container is fixed in a single direction for both quay crane and truck related jobs, path planning must consider the orientation at the initial and destination nodes. To guarantee the orientation at the destination node we model the alignment and changes in alignment during transportation (flip movements) as a container is transported from its initial node to destination node. Fig. 4 depicts the door alignment and the situations of changing direction via flip movements. ALni : is the container alignment of a container at node ni. Due to the overall orientation and design of the Patrick AutoStrad terminal, if a container door faces North or East, then the container alignment is defined as aligned and ALni ¼ 1: Else if, a container door faces South or West, then the container alignment is defined as opposite, and ALni ¼ 0: This feature is determined by the current Patrick container terminal. Let PV i ¼ fp1 ; p2 ; . . . ; pz gV i be the set of all position nodes of Vi trajectory and PV i N: z is the total number of nodes which are planned for Vi. Let the timings for arrival and departure at each node in the trajectory of SC (Vi) be given by the ordered sets Vi Vi T arrive ¼ ft1arrive ; . . . ; tzarrive gV i and T depart ¼ ft1depart ; . . . ; tzdepart gV i , respectively. t 1arrive is equal to t0 which is the plan starting time. The following constraints must be met: V
p1 ¼ pI i
ð1Þ
8k; 1 6 k 6 z : t kdepart P t karrive
ð2Þ
Eq. (1) ensures that the initial position node of Vi is the first node in its planned trajectory. Eq. (2) requires that the departure time is not earlier than the arrival time at a node for Vi. Furthermore, the node, arrival and departure time ordered sets can be combined into the following general representation: V
V
i i dV i ¼ ½PV i ; T arrive ; T depart
¼ ½fp1 ; . . . ; pz g; ft 1arrive ; . . . ; t zarrive g; ft1depart ; . . . ; tzdepart gV i
ð3Þ
Eq. (3) represents a planned trajectory of a SC ðV i Þand associated timings for arrival ðt karrive Þ and departure ðt kdepart Þ at each node ðpk 2 P V i Þ in the path. In order to achieve efficient task allocation of SCs at anytime, we must be able to accurately determine the relative timings for all jobs. Fig. 5 illustrates the relationship between SC position (relative to nodes) and the associated timing information for a job. Basically, when a SC arrives at the pickup node nI or the setdown node nD, it requires constant pickup time (Dt pickup ) or setdown time (Dt setdown ). Jk Jk tstart and tfinish are the planned times for SC to pick up the container
(c)
Fig. 4. Container orientations (a and b) and flip movements (c).
418
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
Fig. 5. Typical event timings and timeline for a SC performing a job.
at node nI and set down the container at node nD, respectively. If Jk the job (Jk) is a B2Y or T2Y job, then t start must be equal to tJk pickup as the SC must complete the pickup before the pre-defined Jk pickup time. Likewise, if the job (Jk) is a Y2B or Y2T job, then t finish must be equal to t Jk setdown as a SC must complete the setdown before the pre-defined setdown time. It is this pre-defined time-critical job constraint which causes the sequential job allocation method to insert unnecessary and unwanted SC waiting times. Thus, the job grouping approach is motivated by clustering Y2Y jobs with a time-critical job to prevent unnecessary SC waiting times and hence improve the total makespan. 3.4. Model constraints The section describes the various constraints that need to be enforced as part of the model. In general, these constraints are based on scheduling sequence restrictions, container alignment requirements and vehicle motion planning. 3.4.1. Job scheduling constraints For assigning jobs to SCs, each job (8J k 2 J) is represented by variable xV i Jk , which indicates whether the job (Jk) is allocated to SC (Vi), as shown in Eq. (4). Importantly, each SC job is to be allocated to only one SC:
8V i 2 V; 8Jk 2 J : xV i Jk ¼ f0; 1g; P 8Jk 2 J; xV i J k ¼ 1
ð4Þ
J
Eq. (8) is applicable to SCs and ensures that a start node (nIk ) J and destination node (nDk ) are specified in the planned trajectory. In addition, the position PV i ðtÞ of SC (Vi) corresponds to the start Jk Jk node at time t start and the destination node at time t finish for job (Jk).
8V i 2 V ^ 8Jk 2 J : xV i Jk ¼ 1
Jk J Jk J ¼ nIk ^ PV i tfinish ¼ nDk ! PV i tstart
ð8Þ
3.4.2. Container alignment constraints Container alignment (or orientation) is important to ensure that the door of the container is correctly aligned during transport, loading and storage. As such, the door alignment (AL) at the destination node must be as same as the required door alignment. J k 8Jk 2 J : ALJsetdown ¼ ALDk
ð9Þ
Jk ALsetdown
where, is a variable which is the final setdown container alignment associated with the destination of job (Jk). Jk J ALsetdown 2 f0; 1g. ALDk is a pre-defined parameter which specifies the container door alignment at the destination node (nD) for job (Jk 2 J). To guarantee container alignment at the destination node, changes in alignment during transportation are modelled using a concept called flip movements as a container is transported from its initial node to destination node. Eq. (10) and Eq. (11) ensure that container alignment changes are valid within trajectories:
V i 2V
For each scheduled job, its planned start time must precede the corresponding job finish time as shown in Eq. (5). J
J
k k t start < t finish : 8J k 2 J
ð5Þ
Pickup and setdown job sequencing is required for B2Y jobs, some T2Y jobs and some Y2Y jobs that require multi-tiered stacking. Pickup sequencing requirements are expressed by Eq. (6). Here, aab is a pre-defined parameter that indicates if two jobs (J a ; Jb ) have a pickup sequencing requirement. Such that, aab ¼ f0; 1g : 8ðJ a ; Jb Þ 2 J: Similarly, setdown sequencing operations are expressed in Eq. (7). Here, bab indicates if two jobs (J a ; Jb ) have a setdown sequencing requirement. Jb a 8ðJa ; Jb Þ 2 J : aab ¼ 1 ! t Jstart < tstart Jb a 8ðJa ; Jb Þ 2 J : bab ¼ 1 ! t Jfinish < t finish
8Jk 2 J; xV i Jk ¼ 1 : ALJIk ¼ ALJDk
n o Jk m m0 m0 ! 9 pm ; t m dV i ; t start arrive ; t depart ; pm0 ; t arrive ; t depart 0 Jk m m m0 2 tm arrive ; t depart ; t finish 2 t arrive ; t depart ; m ! 0 1 i¼m X FP pi ;piþ1 MOD 2 ¼ 0 6 m0 1;
8Jk 2 J; xV i Jk ¼ 1 : ALJIk – ALJDk
n o Jk m m0 m0 ! 9 pm ; t m dV i ; t start arrive ; t depart ; pm0 ; t arrive ; t depart 0 Jk m m m0 2 tm arrive ; t depart ; t finish 2 t arrive ; t depart ; m
ð6Þ 6 m0 1; ð ð7Þ
Furthermore, since all job timings are derived from the trajectory of path planning, Eqs. (5)–(7) guarantee the sequence of action nodes (pickup or setdown) when computing paths.
ð10Þ
i¼m
0 1 i¼m X
FPpi ;piþ1 ÞMOD 2 ¼ 1
ð11Þ
i¼m J
where, ALIk is a parameter which is the initial alignment associated with the destination of job (Jk). dV i is the planned trajectory of SC V i and associated timings for arrival tkarrive and departure t kdepart at each
419
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
node (pk) in the trajectory. FPni ;nj is the flip flag associated with each physical link. The flip flag is used to track the alignment of a container during traversal of the link. The flip flag of each link is encoded into the map. Specifically, Eq. (10) ensures that, when the container’s door alignments at initial position and destination are the same, the total number of flip movements in the planned path should be even. Likewise for Eq. (11), when the container’s door alignments at initial position and destination are different, then the total number of flip movements in the planned path should be odd.
three metrics are usually concerned in the operations of container transportation. Makespan:
3.4.3. Vehicle motion constraints Eq. (12) ensures that collision avoidance is guaranteed during the path planning of all autonomous SCs in the fleet:
Vehicle waiting time: Vehicle waiting time is an important performance metric which represents the efficiency of vehicle usage. In general, less waiting time indicates a better SC usage and less fragmentation of the schedule.
jVj [
8t P t 0 : PV i ðtÞ R
Slock ðPV j ðtÞÞ
ð12Þ
j¼1;i – j
where, P V i ðtÞ is the position of SC (Vi) at time (t), and Slock ðP V j ðtÞÞrepresents sets of locked nodes and links at time (t) by SC (Vj) based on its position PV j ðtÞ so as to prevent any SC collisions. Eq. (13) and Eq. (14) ensure that SCs perform feasible actions, such as pickup and setdown on a node. k 8Jk 2 J; xV i Jk ¼ 1 ! t JStart
J V J k V Jk V Jk P i t P i t P i t PV i t k 2 tarriveStart ; t departStart ; t departStart t arriveStart P Dt pickup þ Dtaccelerate þ Dt decelerate
8Jk 2 J; xV i Jk ¼ 1 !
ð17Þ
J k 2J
Makespan refers to the maximum time to complete all scheduled jobs and is commonly used to evaluate the quality of a schedule. Eq. (17) aims to minimise the finishing time of the last job, which minimises the schedule makespan.
0 min @
X X
1 ðt kdepart tkarrive Þ T all
actions
A
ð18Þ
V i 2V p 2P V i k
where T all actions ¼ ðDtpickup þ Dt setdown Þ jJj, and jJj is the total number of jobs. Eq. (18) calculates the SC waiting time based on the time difference between the arrival and departure of each node in the trajectory and by subtracting all job pickup and setdown times. In other words, all SCs waiting only occur at nodes other than links in this model. We aim to reduce the total SC waiting time so as to enhance the vehicle usage.
ð13Þ Total travel time: Finally, the total travel time is used to compare the performance of different path planning methods for the same schedule. Eq. (19) aims to minimise total travel time of all SCs.
Jk t finish
V J k V Jk V Jk J P i t P i t P i t P V i ðt k Þ 2 tarrivefinish ; t departfinish ; t departfinish t arrivefinish P Dt setdown þ Dt accelerate þ Dt decelerate
Jk min max tfinish
ð14Þ
where, Dtpickup and Dtsetdown are the time required for a SC (Vi) to pick up and set down a container, respectively. Also, Dt accelerate and Dtdecelerate are the time associated with acceleration and deceleration, respectively. Specifically, Eq. (13) and Eq. (14) requires that, if a SC is allocated a job, then the SC have to spend the necessary amount of time picking up or setting down a container at a position within the planned trajectory. Eq. (15) handles the situation when a SC needs to perform a reversing or 3-point turning manoeuvre.
0 min @
X
X
1 kþ1 k t arrive tdepart A
ð19Þ
V V i 2V ðp ;p k kþ1 ÞP i
4. Scheduling methods This section introduces the proposed job grouping approach with a guiding function. Additionally, we present the sequential job allocation method which is derived from the current Patrick scheduling system.
8V i 2 V; 8ðpm ; pmþ1 ; pmþ2 Þ dV i : xlpm; pmþ1 ;lpmþ1; pmþ2 ¼ 1 4.1. Job grouping approach
m ! tmþ2 arrive t depart
P TT pm ;pmþ1 þ TT pmþ1 ;pmþ2 þ Dtdecelerate þ Dt accelerate
ð15Þ
where TT pm ;pmþ1 is the pre-defined minimum travel time on between node pm and node pmþ1 : Likewise, TT pmþ1 ;pmþ2 is for node pmþ1 and node pmþ2 . This constraint ensures that the necessary time for acceleration and deceleration is taken into account when SC performing a reversing or 3-point turning manoeuvre. Finally, Eq. (16) ensures that SCs total travel time is met when travelling between the nodes in a trajectory. m 8V i 2 V; 8ðpm ; pmþ1 Þ dV i : tmþ1 arrive t depart P TT pm ;pmþ1
ð16Þ
This constraint guarantees that all essential travel costs are taken into account by the path planner when computing feasible paths. 3.5. Performance metrics The purpose of performance metrics is to effectively evaluate the performance of scheduling for container transfers. Typically,
For each quay crane and truck related job, there are pre-defined pickup or setdown times which allows the path planner to avoid introducing delays to quay crane and truck operations. In general, SCs are encouraged to arrive at the pickup node or setdown node before the pre-defined time. However, unnecessary waiting is caused when SCs arrive at the pickup/setdown nodes earlier than the pre-defined action time. As a result, the total schedule duration would be stretched to some extent and may have some negative impacts on the long term productivity. Nevertheless, it is possible to cluster jobs into groups that may have smaller total duration and also produce less SC waiting time through the effective grouping of some Y2Y jobs to quay crane and truck related jobs. This strategy is achieved using a job grouping algorithm with associated guiding function. The basic principle of job grouping is to encourage SCs to conduct some Y2Y jobs instead of just waiting before or after performing a quay crane or truck related job. As the example shown in Fig. 6, a SC (Vi) is trying to group Y2Y jobs (JY2Y) before starting to perform pickup of job (Jk), which can be a B2Y/T2Y job and has a
420
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
Fig. 6. An example of job grouping.
4.1.1. Guiding function of job grouping Primarily, the guiding function aims to encourage early starting and finishing times for both short-jobs and long-jobs. The length of a job (short or long) refers to the processing duration required between pickup and setdown of a container. In general, a greedy-rule based strategy may complete all the jobs with short durations (short jobs) in preference to long jobs (jobs with long durations). However, such a biased strategy does not provide robust schedules, since accumulation of jobs towards the end of a schedule could actually delay all future job allocations particularly if the long job was also delayed, as discussed in Section 4.1. The guiding function for a group of jobs is given by:
fG ¼
X J k 2J G
J
fGk ¼
Vi
Z
J
k t finish J
J k 2JG
Vi
where, J G
X Vi
k tstart
J
MinTime k
1 pffiffiffiffiffiffiffiffiffiffiffiffi dt Jk Jk t t0 tfinish tstart
! ð20Þ
J Y2Y is a potential cluster of jobs grouped by (Vi).
J
MinTime k is the minimum theoretical processing time based on Dijkstra’s algorithm (from pickup to setdown) for job (Jk).
MinTimeJk J Jk t k tstart finish
1 ffi indicates the efficiency of the planned path for Jk and pffiffiffiffiffiffi encourtt 0
ages early starting and finishing of Jk, where t 0 is the starting time of the plan. For a job (Jk), equating the integral from
Jk Jk t start totfinish
gives:
J
fGk ¼
Z
J
tk
J
1 pffiffiffiffiffiffiffiffiffiffiffiffi dt t t0 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi J Jk Jk MinTime k 2 t finish t 0 tstart t0 finish
MinTime k
Jk tfinish
Jk t start
¼
Jk t start
J
ð21Þ
J
k k t start tfinish
The following figures show the behaviour of the guiding function for different job starting times and job finishing times when Jk Jk Jk tfinish tstart = constant and tstart = constant, respectively. J Jk Jk Assume tfinish t start = constant = 10 s and MinTime k = 8 s, then the guiding function is calculated with different starting times. Jk As shown in the graph of Fig. 7, as the job starting time ðt start Þ increases the nominal value of the grouping value decreases. ThereJ fore, the guiding function (fGk ) encourages the job to be started early. J Jk Assume t start = constant = 5 s and MinTime k = 8 s, then the guiding function is calculated with different finishing times. From the Jk plot in Fig. 8, as the job finishing time ðtfinish Þ increases the nominal value of the grouping value decreases. Therefore, the guiding funcJ tion ðfGk Þ encourages the job to be finished early. Furthermore, the guiding function can be altered to suit different yard configurations and job features. We selected the form of the guiding function based on a typical port configuration.
4.1.2. Grouping algorithm The proposed grouping method is to group yard jobs with corresponding quay crane or truck jobs according to the guiding function, so as to reduce the schedule makespan. Let’s assume there exists |V| SCs V 1 ; . . . ; V jVj , M quay crane and truck jobs J 1 ; . . . ; J M
4 3.5 Grouping Value
pre-defined pickup time. The job setup time refers to the time required for a SC to travel from its current node to the pickup node while the job processing time is the time required for a SC to travel from the pickup node to setdown node. In this example, there are three possible job groupings ( A, B, C), which all meet the predefined pickup time of job (Jk). Yet, it is necessary to have some criteria to tell which job group is the best. Due to the different length of jobs, a simple grouping strategy is to select the group which has the greatest number of jobs. However, this approach would cause short-distance jobs to be grouped in preference to long-distance jobs. This may not effectively benefit the schedule makespan, since long jobs would be held-over until the end of the schedule. That is, the makespan may be increased by scheduling long-distance jobs at the end of the schedule. Furthermore, this may reduce the robustness of a schedule, since scheduling with bias towards short-distance jobs over longdistance jobs can make the schedule more vulnerable to uncertainties such as SC breakdowns and new jobs arrivals. Therefore, we propose a guiding function which treats short-distance jobs and long-distance jobs equally and aims to effectively improve the makespan and schedule robustness.
3 2.5 2 1.5 1 0.5 0 1
11
21
31
41
51
61
71
81
Starting Time of Job J_k Fig. 7. Plot of Eq. (21) for job starting times (s).
91
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
3
Put the SC into selection pool; end
Grouping Value
2.5
end if the selection pool is empty add the minimum delay to the pre-defined time of job (J(k)); update all other jobs time interval; repeat steps 4 and 5; 7: else select the SC which has the highest guiding function value and allocate the grouped job and job (J(k)) to the SC; Plan the associated paths and register them; Update the SC’s available time for next iteration; Remove the assigned job from the job list; end end 8: while Y2Y is not empty allocate the jobs to SCs based on nearest vehicle rule; end 6:
2 1.5 1 0.5 0 13
421
23
33
43 53 63 73 83 Finishing Time of Job J_k
93
103
Fig. 8. Plot of Eq. (21) for job finishing times (s).
which have pre-defined pickup/setdown times and K Y2Y jobs Y2Y fJ Y2Y 1 ; . . . ; J K g without pre-defined pickup/setdown times. For each corresponding quay crane and truck job J e , a set of Y2Y jobs Y2Y V i fJ Y2Y is to be grouped with the job J e to SC V i , where 1 ; . . . ; JG g G is the total number of grouped jobs. That is, there is a group of Vi Y2Y jobs fJ Y2Y at each grouping iteration for V i , which 1 ; . . . ; JG ; Je g have to meet the pre-defined pickup or setdown times for job J e . As shown in Fig. 9, the job grouping algorithm starts by categorising jobs into two categories: [B2Y, Y2B, T2Y, Y2T] jobs and Y2Y jobs. The first section of the job list is then sorted according to the pre-defined pickup/setdown time. Next, if any quay crane and truck jobs exist, then select the first job and search for SCs which are able to perform the job while satisfying the pre-defined pickup/setdown time of the selected job. All suitable SCs are added to a selection pool. If the selection pool is empty, then calculate the minimum delay based on the job’s nearest SC and put the nearest SC to the selection pool. Next, for each SC in the selection pool, search for Y2Y jobs that can be finished by the SC while satisfying the pre-defined setdown/pickup time of the selected job. Then, calculate the guiding function using Eq. (20) for each SC in the pool and select the SC with the highest guiding function value. This SC is then assigned to the grouped job(s). Finally, remove all assigned jobs from the job list, plan and register the path(s) for the SC and the allocated jobs. The algorithm continues to iterate through these steps until the job list is empty. If there are only Y2Y jobs remaining after corresponding quay crane and truck jobs have been allocated, then allocate those jobs based on the nearest vehicle rule. The pseudo code of the job grouping algorithm is: Job Grouping Algorithm for Scheduling Container Transfers: Input: Job list (J) and the initial position of each SC (pVI i ). Result: A schedule for all jobs and all SCs. 1: Initialise the job list by getting all job pickup nodes, setdown nodes and pre-defined pickup/setdown time if any; Initialise all SCs’ starting positions; 2: Reformulate the job list by categorising jobs into (B2Y, Y2B, T2Y, Y2T), and (Y2Y). Sort the new job list according to the pre-defined pickup/setdown time if any; 3: for k = 1:M 4: for i = 1:|V| Calculate readyTime (V(i), J(k)) by calling path planner [25]; 5: if readyTime (V(i), J(k)) < pre-defined time of job (J(k)) Find the number of Y2Y jobs that can be grouped by calling the path planer; Calculate the guiding function value of grouped jobs;
The job grouping algorithm implementation has been coupled with our path planner [25], which aims to find the shortest paths for multiple vehicles with collision avoidance. One advantage of this grouping approach is that delay can be effectively reduced for important jobs such as quay crane and truck related jobs, provided there are enough SCs available. Moreover, the total SC waiting time is reduced by grouping Y2Y jobs with the guiding function, and consequently the total makespan of a schedule can be reduced effectively. 4.2. Sequential job allocation approach Sequential job allocation is often considered as a typical solution in manufacturing system that deals with many different components, particularly for the job scheduling problem with priority constraints. In order to prevent quay crane waiting and truck waiting, sequential job allocation with auction on the nearest vehicle is a practical method to handle the scheduling problem. This approach aims to ensure quay crane related jobs and truck related jobs will have the higher priority of scheduling than Y2Y jobs. Initially all jobs are sorted according to their pre-defined pickup/setdown times. At each iteration of the algorithm, the first job in list is allocated to its nearest vehicle so as to reduce delay for quay cranes or trucks, and also minimise SC travel time. The allocated job is removed from the job list and the algorithm iterates until the job list is empty as illustrated in Fig. 10. The sequential job allocation algorithm, which was implemented as part of this study is also closely coupled with our path planner [25]. The path for each vehicle is registered sequentially after allocating each job. The downside of the sequential job allocation approach is that some SCs have unnecessary waiting time, since they may arrive early at the work point and wait for a long time until other higher priority quay crane and truck jobs are transferred to the yard area. Furthermore, this approach limits SC utilisation so as to avoid introducing quay crane and truck delay. 5. Experimental results This section presents a performance comparison between the job grouping approach and the sequential job allocation method. Both the job grouping and sequential job allocation algorithms have been implemented in Matlab 2009b, while our path planner with collision avoidance [25] is implemented in C++. All
422
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
Fig. 9. Flowchart of job grouping method.
experiments were performed on a High Performance Computing Linux Cluster, configured using 2 3.33 GHz Quad Core Xeon with 24 GB of DDR3-1333 ECC Memory. In order to properly compare the performances of the job grouping method and the sequential job allocation approach, we employ a statistical hypothesis testing using the two-sampled pooled t-test [28], which is outlined in Appendix A. The experiments of the two approaches in this paper were conducted using 30 independent trials (n1 = n2 = 30), which represent the different configurations of initial vehicle positions and jobs. These trails were generated uniformly at random. Statistical differences are
indicated according to a Two-Sample Pooled t-test with a level of significance at p = 0.05 (95% confidence) and (n1 + n2 2) degrees of freedom. If the absolute t-value is greater, then the performance between two methods is more significantly different. Firstly, we investigate the effect of different starting times for QC related jobs on the algorithmic performance between job grouping and sequential job allocation. We test three different times: QC Starting1 = 120,000 ms, QC Starting2 = 300,000 ms and QC Starting3 = 480,000 ms. With 30 random configurations of initial positions for a fleet size of 20 SCs and 80 jobs, the absolute t-values for makespan performance are very similar at 15 for the
Fig. 10. Flowchart of sequential job allocation method.
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
423
Performances with Different QC Starting Time 60.00 50.00
t-value
40.00 30.00 20.00 10.00 0.00 Makespan
SC Waiting Time
QC Starting1
QC Starting2
QC Starting3
Fig. 11. Absolute t-value for different QC starting time.
three different starting time, and the absolute t-value for SC waiting time is between 45 and 50, as shown in Fig. 11. This result indicates that there is no significant performance variation for the job grouping and sequential job allocation algorithms, when the quay crane associated job’s starting time is varying. Thus, we select the QC Starting2 = 300,000 ms as the default setting for the remaining experiments. Table 1 shows the parameter values for the experiments. We have attempted to base the parameter values on those typically found in seaport terminal operations. We experiment on 80 mixed jobs, which include B2Y, Y2B, T2Y, Y2T and Y2Y jobs, and there are 20 available SCs. Experimental results are based on three different performance metrics used to evaluate the effectiveness of the proposed algorithms. These metrics include makespan, total vehicle waiting time and total vehicle travel time, which have been defined in Section 3.5. The performance metrics are considered using three different QC scenarios, including low-, medium- and high-QC loading as described in Table 2. The experimental results for the performance metrics and loading scenarios are shown in Figs. 12–14 . A lower processing time indicates better performance.
Table 1 Parametric configuration. Parameter
Value
Number of total jobs (J) Number of vehicles (SCs) Plan starting time (t0) QCs discharging time (TDQC) QCs uploading time (TUQC) QC turnaround time (TTQC) Import TKs starting time (TITK) Export TKs starting time (TETK) TK turnaround time (TTTK)
80 20 t0 = 0 TDQC = t0 + 300,000 ms TUQC = t0 + 420,000 ms TTQC = 120,000 ms TITK = t0 + 600,000 ms TETK = t0 + 720,000 ms TTTK = 120,000 ms
Table 2 Number of jobs for three different scenarios.
High QC load Medium QC load Low QC load
QC associated
TK associated
B2Y
Y2B
T2Y
Y2T
Y2Y
25 15 5
25 15 5
5 5 5
5 5 5
20 40 60
Table 3 summarises the average performance and standard deviation of the job grouping (Grp) and sequential job allocation (Seq) algorithms. A significant improvement in performance of the grouping algorithm with respect to the sequential job allocation algorithm is indicated by the t-value. According to the critical value (t = 2.00), the results show the job grouping algorithm outperforms the sequential job allocation algorithm for both the makespan and SC waiting time in the three different scenarios. When QC load is at the high-level (50 quay crane associated jobs amongst 80 jobs), the t-values of the makespan and SC waiting time are 5.23 and 22.19, respectively. When QC load is at the medium level (30 quay crane associated jobs amongst 80 jobs), the t-values of makespan and SC waiting time become 13.44 and 49.56, respectively. This is because 20 more Y2Y jobs are possible to be grouped than at high-level QC load. For a low QC load, the t-values for makespan and SC waiting time are significantly different at 21.88 and 69.25, respectively, since there are 60 Y2Y jobs, which can possibly be grouped. Particularly for the medium- and low-level of QC loading, the job grouping performs significantly better than sequential job allocation. This is because SCs are encouraged to perform some yard area jobs before taking a quay crane or truck related job, instead of waiting for access to the quay crane area or truck import area. However, the sequential job allocation algorithm has a significantly less total SC travel time than the job grouping algorithm for the three different loading scenarios, regarding the t-values (4.01, 5.83, and 8.02). This is because SCs have to travel more routes when trying to group Y2Y jobs together with the time-critical jobs. Therefore, the extra travel time of the job grouping approach is the trade-off when minimising both the makespan and SC waiting time which are more important to the seaport operation. Table 4 summaries the overall performance of the job grouping algorithm relative to the sequential job allocation algorithm. Last but not least, to obtain the optimal solution for the large problem is extremely difficult due to the large number of combinations in the solution space and associated expensive computational costs in finding the optimum. However, we performed an exhaustive search to find the optimal solution of a much smaller data set. This allowed us to effectively compare the optimal solution with those solutions found by job grouping approach. In this experiment, we set up a small test scenario: 2 SCs, 2 B2Y jobs and 3 Y2Y jobs, and executed it for 1000 random configurations of initial vehicle positions and jobs, and the objective is to minimise the makespan. The experimental results show that the exhaustive search found the optimal solution for all configurations, while the job grouping approach managed to find optimal solutions 84% of the time.
424
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
Makespan 4.0E+06 3.5E+06 3.0E+06 Tim e
2.5E+06 2.0E+06 1.5E+06 1.0E+06 5.0E+05 0.0E+00 High
Medium
Low
Quay Crane Loading Sequential Planning
Job Grouping
Fig. 12. Makespan (ms) for the QC load scenarios.
SCs Waiting Time 6.0E+07 5.0E+07
Time
4.0E+07 3.0E+07 2.0E+07 1.0E+07 0.0E+00 High
Medium Quay Crane Loading Sequential Planning
Low
Job Grouping
Fig. 13. SC waiting time (ms) for the QC load scenarios.
Time
SCs Travel Time 1.0E+07 9.0E+06 8.0E+06 7.0E+06 6.0E+06 5.0E+06 4.0E+06 3.0E+06 2.0E+06 1.0E+06 0.0E+00 High
Medium
Low
Quay Crane Loading Sequential Planning
Job Grouping
Fig. 14. SCs travel time (ms) for the QC load scenarios.
Overall, the effectiveness of the job grouping approach is shown by numerical experiments on different sets of generated data. Although there is no benchmark available yet for the problem, the performances of the job grouping are statistically significantly better than performances of sequential planning method at the port and close to optimum solutions at least for small data sets.
6. Conclusion and future work This paper presented a comprehensive mathematical model derived from the yard operations of the Patrick AutoStrad container terminal located in Brisbane, Australia. This model incorporated many of the difficult practical challenges encountered at
425
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426 Table 3 Comparison of the job grouping algorithm vs sequential job allocation algorithm. High
Makespan SC Waiting Total SC Travel
Seq Grp Seq Grp Seq Grp
Medium
Mean
Stdev
t-Value
Mean
Stdev
t-Value
Mean
Stdev
t-Value
3.54E+06 3.42E+06 5.04E+07 4.86E+07 8.19E+06 8.54E+06
1.20E+05 2.30E+04 2.78E+05 3.37E+05 3.27E+05 3.38E+05
5.23
2.47E+06 2.23E+06 2.91E+07 2.55E+07 7.56E+06 8.05E+06
8.97E+04 4.37E+04 2.34E+05 3.20E+05 3.02E+05 3.40E+05
13.44
1.65E+06 1.32E+06 1.58E+07 9.99E+06 7.23E+06 7.95E+06
8.16E+04 2.73E+03 1.40E+05 4.40E+05 2.88E+05 3.95E+05
21.88
22.19 4.01
Table 4 Performance of the job grouping algorithm relative to the sequential algorithm.
Makespan SC waiting time Total SC travel time
Low
High (%)
Medium (%)
Low (%)
3 4 4
10 12 6
20 37 10
the terminal, which included the vehicle collision avoidance, multiple level container stacking and sequencing, variable container orientations and vehicular dynamics that require finite acceleration and deceleration times. In addition, a practical job grouping approach was proposed and empirically compared to a sequential job allocation method. The job grouping method significantly improved the schedule makespan, while reducing unwanted SC waiting time, especially for medium and low quay crane work loads. This result was achieved by grouping possible jobs using the proposed guiding function. Our future work will focus on two main areas. First, as uncertainty is a critical concern in the port operation, we will investigate and further improve the performance of job grouping strategy by considering a replanning scheme for both short term and long term planning. Second, we aim to extend the model to include a set of quay cranes and a set of trucks docked in the truck import area. This would permit more improvements on the productivity of the transshipment process. Acknowledgments This work is supported by the ARC Linkage Grant (LP0882745), the ARC Centre of Excellence program (funded by the Australian Research Council (ARC) and the NSW State Government), the Patrick Stevedores Holdings and the University of Technology, Sydney, Australia. Appendix A In order to interpret the experimental data within a systematic mathematical framework, it is necessary to adopt a formal decision making procedure. A hypothesis is merely an assertion that may be true or false. But to determine which of these two states is actually the case the experimental data can be analysed using statistical methods. Therefore, it is imperative that the hypothesis testing be established within a statistical framework that provides a level of confidence in our conclusions. In this paper we employ the hypothesis testing technique described by Walpole et al. [28]. In general, this hypothesis testing technique is as follows: 1. State the null hypothesis H0. This is the hypothesis that is statistically tested. In this paper, the null hypotheses can be stated such that, ‘the job grouping method does provide lower values of (a) makespan, (b) SC waiting time and (c) total SC travel costs when applied to 30 different job lists and initial SC positions.’
49.56 5.83
69.25 8.02
2. State the alternative hypothesis. The alternative hypotheses can be stated such that, ‘the job grouping method does not provide lower values of (a) makespan, (b) SC waiting time and (c) total SC travel costs when applied to 30 different job lists and initial SC positions.’ 3. Define the level of significance (a). The level of significance is defined as the probability of committing a Type I error. A Type I error occurs when the null hypothesis (H0) is rejected when it is true. In this paper, we employ a level of significance a = 0.05 (95% confidence). 4. The experimental setting of our hypotheses requires testing of two independent populations. As such, we define the test statistic and critical region for testing two known means ( x1 ; x2 ) and associated standard deviations (s1, s2) with (n1 = n2 = 30) samples and independent observations. We can employ the Two-Sample Pooled t-test with (n1 + n2 2) degrees of freedom:
t¼
x1 x2 pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi sp 1=n1 þ 1=n2
ð22Þ
where,
sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi s21 ðn1 1Þ þ s22 ðn2 1Þ sp ¼ n1 þ n2 2
ð23Þ
Since, n1 = n2 = n = 30 for all experiments in this paper:
ðx1 x2 Þ ffi t ¼ qffiffiffiffiffiffiffiffi 2 2 s1 þs2 n
ð24Þ
and require that t > (ta/2, (n1+n22) = 2.00) or t < (ta/2, (n1+n22) = 2.00) since we have selected a = 0.05 for (n1 + n2 2) degrees of freedom. All statistical hypothesis tests in this paper use two-tailed critical regions to indicate whether a significant improvement (t 6 2.00) or significant degradation (t P 2.00). Statistical tests resulting in a t-value of (2.0 < t < 2.00) do not provide enough statistical evidence to refute or confirm the null hypothesis. This result indicates similar performance between the two algorithms. References [1] D. Steenken, S. Voß, R. Stahlbock, Container terminal operation and operations research – a classification and literature review, OR Spectrum 26 (2004) 3–49. [2] H.O. Günther, K.H. Kim, Container terminals and terminal operations, OR Spectrum 28 (2006) 437–445. [3] K.H. Kim, S.H. Won, J.K. Lim, T. Takahashi, An architectural design of control software for automated container terminals, Computers & Industrial Engineering 46 (2004) 741–754. [4] C.-I. Liu, H. Jula, K. Vukadinovic, P. Ioannou, Automated guided vehicle system for two container yard layouts, Transportation Research Part C: Emerging Technologies 12 (2004) 349–368. [5] G. Nelmes, Container port automation, in: P. Corke, S. Sukkarieh (Eds.), The Fifth International Conference on Field and Service Robotics, Springer, Port Douglas, Australia, 2005, pp. 3–8.
426
S. Yuan et al. / Advanced Engineering Informatics 25 (2011) 413–426
[6] S. Yuan, H. Lau, D.K. Liu, S.D. Huang, G. Dissanayake, D. Pagac, T. Pratley, Simultaneous dynamic scheduling and collision-free path planning for multiple autonomous vehicles, in: Proceedings of the 2009 IEEE International Conference on Information and Automation, Macau, China, 2009, pp. 522–527. [7] D.K. Liu, A.K. Kulatunga, Simultaneous planning and scheduling for multiautonomous vehicles, in: K.P. Dahal, K.C. Tan, P.I. Cowling (Eds.), Evolutionary Scheduling, Springer-Verlag, Berlin, 2007, pp. 437–464. [8] M.W.P. Savelsbergh, M. Sol, The general pickup and delivery problem, Transportation Science 29 (1995) 17–29. [9] E. Choi, D.-W. Tcha, A column generation approach to the heterogeneous fleet vehicle routing problem, Computers & Operations Research 34 (2007) 2080– 2095. [10] D. Pisinger, S. Ropke, A general heuristic for vehicle routing problems, Computers & Operations Research 34 (2007) 2403–2435. [11] D. Mester, O. Bräysy, W. Dullaert, A multi-parametric evolution strategies algorithm for vehicle routing problems, Expert Systems with Applications 32 (2007) 508–517. [12] L. Fu, A simulation model for evaluating advanced dial-a-ride paratransit systems, Transportation Research Part A: Policy and Practice 36 (2002) 291– 307. [13] R. Bent, P.V. Hentenryck, A two-stage hybrid algorithm for pickup and delivery vehicle routing problems with time windows, Computers & Operations Research 33 (2006) 875–893. [14] W. Nanry, J. Barnes, Solving the pickup and delivery problem with time windows using reactive tabu search, Transportation Research Part B: Methodological 34 (2000) 107–121. [15] IBM, ILOG Optimisation. Available from:
. [16] S. Yuan, B.T. Skinner, S.D. Huang, D.K. Liu, G. Dissanayake, H. Lau, D. Pagac, T. Pratley, Mathematical modelling of container transfers for a fleet of autonomous straddle carriers, in: IEEE International Conference on Robotics and Automation, Anchorage, Alaska, USA, 2010, pp. 1261–1266.
[17] R. Stahlbock, S. Voß, Operations research at container terminals: a literature update, OR Spectrum 30 (2008) 1–52. [18] A. Kozan, P. Preston, Mathematical Modelling of Container Transfers and Storage Locations at Seaport Terminals, Springer, Berlin, 2007. [19] S. Hartmann, A general framework for scheduling equipment and manpower at container terminals, Springer, New York, 2004. [20] P.J.M. Meersmans, A.P.M. Wagelmans, Dynamic scheduling of handling equipment at automated container terminals, Erasmus Research Institute of Management (ERIM), ERS-2001-69-LIS (2001), pp. 1–20. [21] L.H. Lee, E.P. Chew, K.C. Tan, Y. Wang, Vehicle dispatching algorithms for container transshipment hubs, OR Spectrum 32 (2010) 663–685. [22] Y. Crama, A.G. Oerlemans, A column generation approach to job grouping for flexible manufacturing systems, European Journal of Operational Research 78 (1994) 58–80. [23] R. Logendran, S. Carson, E. Hanson, Group scheduling in flexible flow shops, International Journal of Production Economics 96 (2005) 143–155. [24] N. Muthuvelu, J. Liu, N.L. Soe, S. Venugopal, A. Sulistio, R. Buyya, A dynamic job grouping-based scheduling for deploying applications with fine-grained tasks on global grids, in: Proceedings of the 2005 Australasian Workshop on Grid computing and E-Research, Australian Computer Society, Newcastle, New South Wales, Australia, 2005, pp. 41–48. [25] H. Lau, T. Pratley, D.K. Liu, S. Huang, D. Pagac, An implementation of prioritized path planning for a large fleet of autonomous straddle carriers, in: 18th Triennial Conference of the International Federation of Operational Research Societies (IFORS), Sandton, South Africa, 2008. [26] J. Halpern, Shortest route with time dependent length of edges and limited delay possibilities in nodes, Mathematical Methods of Operations Research 21 (1977) 117–124. [27] E.W. Dijkstra, A note on two problems in connexion with graphs, Numerische Mathematik 1 (1959) 269–271. [28] R.E. Walpole, R.H. Myers, S.L. Myers, K. Ye, Probability and Statistics for Engineers and Scientists, 8th ed., Prentice Hall, 2006.