A SPLIT TASK SOLUTION FOR QUAY CRANE SCHEDULING PROBLEM IN MID-SIZE CONTAINER TERMINALS

Original scientific paper A solution for quay crane scheduling problem with unchanged number of cranes during container vessel handling process is explored to minimize a vessel handling time and optimize quay crane utilization. Targets are small and mid-size terminals where high reliability of forecasted scenario is requested by the shipping companies while, at the same time, terminal resources are limited. Two models for the problem solution are proposed based on the full task and split task algorithms; in both cases grouping of tasks into clusters and operation zone limits are considered. Comparison of two models shows that split-task algorithm may improve crane utilization rate and vessel handling time in many cases. Proposed solutions combine existing research achievements with authors own approach in container terminal optimization development.


Introduction
One of the specific operational problems on container terminals is Quay Crane Scheduling problem (QCSP).This problem may be explained as searching the best scenario of crane workload organization in ship-to-shore container handling operations.The goal is to find optimum assignment of the quay cranes (QCs) to load/unload bunch of containers stowed into ships holds/bays and grouped into tasks.QCSP is one of the standard tactical logistic problems within the container terminal [1] and it is very important for efficiency of port services provided for ships.
This particular problem affects functionality of seaside terminal subsystem but has also impact on other subsystems of the container terminal [2].Moreover, there is mutual interest of terminal operator and shipping companies to design and organize terminal handling processes efficiently with high performances and capacity utilization [3].A range of the crane operating zone may be valuable information for job organization, berth planning and overall terminal resource planning also in multipurpose terminal environment [4].
This research is focused on small and mid-size terminals in public ports where certain number of carrier services exists like in Mediterranean and North Adriatic seaports.Small distances between ports as well as different relation between ships size and average handling demand for each port put pressure on terminal operator to guarantee the quality and reliability of service to carriers.
Two types of QCSP optimization models are redeveloped and evaluated through two main criteria: vessel handling time and crane utilization rate.The main feature of both models is constant allocation of the quay cranes during vessel stay at berth.That means no interference in planning schedule may occur as a result of dependences and delays in crane accessibility during switch task from one vessel/berth to another.
The structure of the paper is as follows: In the Section 2, problem scope and optimization methodology is described; Section 3 specifies model development; Section 4 explains method of data generation used for model testing; finally, in Section 5 and in Conclusion section, analysis and validation of optimization results are summarized.

Optimization methodology
The objective of this research is to provide optimized handling scenarios for each ship servicing at container berth, for each possible combination of QCs.
For each ship berthed alongside the quay certain number of QCs has to be allocated.The number of QC depends on cargo handling demand, distribution of containers through holds/bays and availability of cranes.However, availability of cranes is second step in overall seaside optimization modeling and is considered as separated problem known as Quay Crane Allocation Problem (QCAP).Contribution to QCAP solution can be found, e.g. in [16] or [17], where fixed handling time should be known prior to allocation modeling.More valuable concept has been proposed by Meisel [12], where integrated solution for berth and crane assignment has been proposed (BACAP).That integrated solution is based on variable handling time calculation and on QCSP solving.
Therefore, QCSP optimization is first step in overall sea-side container terminal optimization and this approach is followed here.That means that the number of cranes to be assigned to the vessel is not known beforehand.For each rational number of QCs, a separate solution has to be found that is forming set of optimized scenarios which may be interpreted as QCSP solution for designated number of cranes (Fig. 1).Output from each of those solutions gives four important parameters that may be used for QCAP or BACAP problem solving: The core of the optimal scenario development is QCSP solving.For this purpose two different models are redeveloped: model with single crane to task assignment called full task assignment algorithm and a model with more than one crane to task assignment called split task algorithm.Full task assignment means each crane must complete assigned task to the end once loading/unloading started.Split task means a task may be shared between cranes and more than one crane may perform the same task, consecutively, during processing the vessel.Task sharing allows split of a task during handling process where a crane may leave the job before finishing all loading/unloading operations associated with that task.Another crane later on, has to be scheduled to finish uncompleted job.This idea is not completely new and was proposed in [7], under so-called "vessel-level models" where authors highlighted problem of extensive partitioning of tasks causing too many unproductive movements of cranes.To eliminate that, operational zone and travel path limits have been included into the model presented here.
The purpose of using split-task algorithm in QCSP solving is to get higher utilization rate for set of QCs engaged in ship-to-shore handling operations and consequently to get lower completion time of all tasks (makespan).Method and effects of splitting is shown in Fig. 2.There are three tasks represented by the rectangle where task processing time is on x-axis, and bay position on y-axis.In this example task number 2 has the largest quantity of containers for processing.Two QCs, represented by grey/white color combination are available for assignment of jobs.The leftmost graph shows optimal solution for QCSP with full task algorithm, while rightmost graph shows results of QCSP with split task algorithm applied.The idea behind is to break the operation of task 2 before the finish, and to switch the cranes.It must be noted that non-crossing and safety distance constraints must be satisfied in both cases.
Onboard containers are stowed into cells and all cells within the same bay may correspond to one job task since they are reachable by the QC without crane movement alongside the quay.It is reasonable to group the adjacent jobs into one single task if they are too close to be handled by two cranes simultaneously.This method is known as clustering and has been explained in detail in [6].Where there is no large volume of container demand for particular vessel port call, a stowage plan should allow parallel jobs handling to minimize the negative impact on total vessel service time.However, clustering of jobs into single task may be considered as potential solution, when applicable.
Fig. 3 shows schedule scenario for four tasks processed by two QC when clusters applied.For each task, lower and upper cluster boundary are defined and expressed with corresponding bay numbers.All rectangles have the same height conforming to overall length of each QC including safety distance between them.Position of QCs on y-axis is relative to bay numbers on the vessel.Small bay numbers from the left side of y-axis represent cluster boundary and cluster ranges for each group of jobs that are joined in one common task.Each QC may be in any time located in any position inside cluster boundary.Therefore, safe environment should be guaranteed to avoid interference between them and possible collisions when two adjacent cranes are located on their boundary positions.In Fig. 3 dashed lines display required safety distances between QCs.Note that task 3 is treated as single task/job (located at bay no.49) while task 2 is multi-job task with cluster boundary (between bays 43÷55).Task 3 has more volume of containers located on the single bay than overall jobs grouped into task 2; hence if we consider it as cluster task it will affect the total vessel service time and cut down QCs utilization factor.
There are three parameters defining position of a task, expressed in a vessel bay number:

lower boundary of the cluster task i
• h i up -upper boundary of the cluster task i The proposed models for QCSP solution take into consideration cluster as the whole and its boundaries, when calculating position, movement and interference constraint between QCs.
Furthermore, movements of cranes alongside quay may cause interference to neighboring vessel operations.Also, movement is limited by the length of crane rail tracks.For example, in a case when second order QC is engaged in the lower bays, the first order QC may be positioned far below operational zone.Therefore, travel paths limits are inserted in the model to avoid non-feasible solutions.Operational zone space for each QC restricts unnecessary QC movement and it is valuable information for resource planning in other terminal subsystems and in multipurpose terminal system environment, such as described in [4].

Model developments
Two models for QCSP optimization based on full task and split task algorithms were developed.There are common assumptions for both models: A1.Handling job demand is known for each vessel and expressed in number of containers for each bay-task.A2.Processing time for a single task is pre-calculated on the basis of average productivity rate records.A3.Hatch cover manipulation and preparation time are included in processing time.A4.Target jobs are grouped into clusters.A5.Tasks are marked successively from lower to higher number relative to vessel bays.A6.All cranes are available from the beginning to the end of the vessel service time.A7.All cranes have identical technical characteristics and performances.A8.Free movement of QC within the cluster has no impact on task processing time.
In addition both models take into consideration the following constraints and features: C1.Non-crossing and safety distance of QCs including space for idle cranes.C2.Zone and travel limits of QCs to cope with terminal space shortcomings.C3.Cluster lower and upper boundary.C4.Number of cranes available for a single vessel (for each crane-gang scenario optimization is provided).

Full task algorithm for QCSP solution
This model assigns QCs to tasks where each task must be completed with the assigned crane.There are three sets of data:A = {1,2, … , a} is set of tasks with indexi ∈ A, Q = {1,2, … q} is set of QC with indexk ∈ Q, and is R = {(1,2), 1,3, … , (i, j)} | i, j ∈ A, i ≠ jset of task pairs defined according to Kim & Park [4].If there are preceded tasks requirements additional set R′ is required, such thatR ′ = {(i, j)} | i, j ∈ A, i < jwhereR′ ⊂ R.
Two binary decision variables are set up namely: 1, if task is assigned to QC 0, otherwise 1, if task starts after completion of task 0, otherwise Conrary to Kim & Park [6] who defined a 3dimensional variable, two 2-dimensional binary variables are set up similar to Lee et al. [11] to make the model easier to solve.Other model notations, input parameters and output variables are shown in Table 1.Note that the number of cranes q is different for each QCSP scenario.Usually, there is an agreement between shipping liners and a terminal operator to assure minimum number of QCs.The objective function minimizes total vessels processing time, earliest release and movement of QCs with the following expression: ( ) subject to: , , Objective function (3) uses handling makespan as the key criteria of QCSP modeling, similar in [10,11] and [12] but also targets to eliminate postponed start of operations and to narrow the crane operational zone.That can be adjusted by weighted coefficients where, in normal circumstances,  1 ≫  2 and  1 ≈  3 .Makespan T = max ( 1 , … ,  a ) is defined by c i boundary in ( 4) and (23) in order to maintain linearity of the function.Relation between start and finish time is set in (5).Full task algorithm allows only one crane for each task to be assigned (6) while all processing times for the tasks assigned to the particular crane, equal crane workload (7).Similar to makespan definition, constraint (8) defines end of working time for the crane as completion time of the last task assigned to it.For tasks not assigned to the crane (  = 0) constraint is released because of big integer M.
Constraint ( 9) is actually modified solution presented in [6] but contrary to that, movement of cranes and time assignation is calculated according to comparison of successive tasks and value of binary variable y ij as noted in [11].If tasks are assigned to the same crane and precede each other (  +   +   = 3), next task should start after preceded task has been completed and after crane reaches the next position.Expression  −1 �ℎ  − ℎ  � is actually travel time between two tasks.Two constraints (10) and (11) determine values for binary variable y.Again, big integer M ensures that inequality is feasible for any value of y.Note that time buffer b is added to cope with variability in task performance and to neutralize interference between cranes when moving between tasks.
Overtaking constraint ( 12) is taken from [11].The lower crane cannot perform upper bay task while the upper crane performs lower bay task simultaneously (  +   = 0).Similar to that, constraint (13) provides safety distance between cranes.It should be noted that safety distance has to be guaranteed for cluster boundaries; that is for neighboring cranes ℎ   − ℎ   ≥ d (see Fig. 3).
The group of constraints from ( 14) to (20) deals with operational and travel zone limits for QCs.Formulations ( 14) and ( 15) are slightly modified expression as in [7] and defines operational zone for each QC.Here is a point where two variables ψ k lo and ψ k up may be adjusted according to specific requirements of a terminal operator and possible infrastructure or system limitations.Quay limits are defined by the parameters B lo and B up in (18) and (19).For consistency of operational zones, safety distance issues are resolved by constraints ( 16) and (17).Finally, constraint (20) establishes relation between real movement of the crane and its operational zone limits.
Constraint (21) disables overlapping of two tasks (or two clusters) located at the same bay (middle bay) position.If there are conditional sequences of tasks, defined by the set R', then constraint (22) must apply.Domains of the variables x, y and c are set in (23).

Split task algorithm for QCSP solution
This model has some additional assumptions that should be noted: First, there is no optimal solution guaranteed when the higher bay task must precede the lower bay task; consequently, there is no optimal solution at all if there is only one crane in the crane-gang.
Second, optimal solution may result in extensive partitioning with many short tasks that may lead to segregation of terminal resources in other terminal subsystem.The solution for that is setup of constant p min with minimum acceptable process time partition.
The characteristic of the split task model is unidirectional movement of QCs; therefore conditional sequence of task pairs in proposed model is limited to the same bay/cluster task pairs only.Task break lines are determined by the model decision variables s ik and c ik marking start and completion times of the task i with the crane k.The objective function (3) has slight changes while the optimization goals remain the same, and reads: subject to: , Additionally, constraints ( 14) ÷ ( 20) from full task model algorithm have to be added.Some changes in constraints modeling are necessary to make the model work, but in general the same set of constraints is used as in the full task algorithm.Firstly, constraint (6) needs to be released and constraints ( 7) and ( 8) too.Start and completion time for each subtask is calculated in (26) while whole task processing time must conform to the sum of subtasks for every task-crane assignment (27).The threshold for a subtask is determined by the duration of the basic tasks (28) and by the parameter p min (30).Consistency of assigning tasks and subtasks to QCs is provided by constraints ( 27) and (28); when task is assigned to the crane (  = 1) then   ≠ 0 , because of (29); if not (  = 0) then   = 0 , because of (28).
Constraints (31), ( 32) and (33) control the unidirectional movement of cranes in the execution of tasks in such a way as to prevent overtaking crane, ensure a safe distance and avoid simultaneous dual operation of cranes.They compare the starting and finishing times of task pairs (i, j), where task i is positioned on a lower bay than task j, with position of two cranes (k, l), where the crane k is below the crane l.If the higher task is assigned to the lower crane and lower task is assigned to the higher crane (  +   = 2), lower crane may move to its job only after the crane above completes its task and moves upwards; that is prevented by overtaking constraint (31).In the similar way, constraint (32) compares task pairs with smaller distance between the cranes than required, ℎ   − ℎ   < ( − ) and prevents their overlapping keeping the safe distance between cranes.Dual operation of the crane means simultaneous operations on two tasks/subtasks; that is unrealistic situation prevented by (33) with the same rule applied as in (31).
The rest of constraints are taken from full task model and explained earlier.Conditional tasks with beforehand determination of sequences are skipped from the model due to unidirectional cranes movement limitations in gaining optimal solutions.However, the exception is when pre-defined task sequence corresponds to the same bay/cluster numbers.In that case the model is capable to find an optimal solution.

Data generation and selection
For testing purposes the authors created representative set of data based on real vessels and cargo characteristics.So called "vessel-cargo generator" is developed, the programming script that is used to create container demand and distribution across the vessel bays.Vessel characteristics (Tab.2) and container demand are based on footprint of Northern Adriatic ports with average container demand less than 1000 TEU per vessel call and maximum annual throughput up to 1 mil.TEU.Design of the program script is based on the generation of pseudorandom numbers, where it is assumed that container positions across the bays follow the uniform distribution function.However, to make sure that the simulation works for small and medium-sized container terminals, some empirical indicators are used: • the average containers/vessel demand that is much less than in the larger terminal; • probability of vessel arrivals depend on size of the pattern vessels; • there is much more inbound containers than outbound, that means less loadings on the same bay positions (released after cargo discharging); • cargo distribution across the bays depends more on the route schedule, and is less consolidated in the targeted port area.
In total 100 arrivals or vessel-calls are generated with average container handling demand below 1000 TEU/vessel; demand per vessel can be noted from Tab. 3. Probability distribution of vessel arrivals with dependency on the vessel size is setup as follows: mid-size ships (range 5) 30 %, large ships (7) 10 %, while the rest of ships ranges (3,4,6) each with equal probability of arrival of 20 %.
Next step in the data generation was placement of cargo, where uniform distribution is used with function notation (, ) where values for parameters a and b were adjusted to a = 8, b = 16, after series of experimentation.These two numbers define minimum and maximum number of different bay location for cargo stowage to be generated by the script.Note that final number of task a (see Tab. 3) depends on number of clusters, and that is in most cases less than number of different bay locations.
Depending on the probability distribution and the value of a random variable, selected bays may be loaded at full capacity or in a part.As a result the stowage plan is generated for each ship with containers allocated to corresponding bay positions.That is used as a basis for determination of tasks number and clusters boundaries.
Grouping of tasks into the cluster may be considered as the independent and separated optimization problem.However the purpose of clustering here is to test the functionality of models, therefore the heuristics are developed for that purpose.The main criteria were the ability of simultaneous work of two or more cranes.The following logic is applied: • even bay positions (40' compartments) and neighboring odd bay positions (20' compartments) are grouped together; • odd bay positions on 40' compartments are grouped together too; • positions with less than 7 containers in cells are attached to adjacent positions if it does not affect cluster interference criteria (>d); • if the difference between the upper and lower bays in a group is less than d, and distance between the outmost bays in the group and next task in a range is greater than d, all positions in the group represent one cluster; • if the difference between the upper and lower bays in a group is less than d, and distance between the outmost bays in the group and next task in a range is less than d, then positions are released until interference criteria (>d) is satisfied.The example in Fig. 4 shows how this heuristic is applied.For the vessel under number 43 there is 4 cluster tasks and 2 standalone tasks forming 6 tasks in total (a = 6), with container demand in TEU for each position.In a similar manner tasks for other ships are designated.

Optimization results and analysis
It can be read from Fig. 2 how split task algorithm influences cranes utilization.When there is no task sharing (leftmost graph) crane 1 contributes with 20 time frames (e.g.minutes) or 18 % of total workload, while crane 2 contributes with 90 time frames or with 82 % of workload and makespan is 91.Capacity utilization of QCs may be measured by the crane utilization rate U iq according to [12]: where m i is handling demand in QC hours, C iq is handling capacity, and QCSP iq is the makespan T from the QCSP solution for the scenario with q cranes allocated to vessel i (note index i indicates a vessel in above expression).
For each of 100 vessel calls generated by the script, both QCSP optimization functions (3) and (24) were used.As a result, vessel makespan and crane utilization rate was obtained together with task to crane assignments, sequences of operations and operational zone range for each QC.Values for selected number of vessels are presented in Tab. 3.
For computation purposes, AIMMS modeling tool was used together with CPLEX 12.5 solver.Transport demand, given in the number of TEU (see Tab. 3) was converted into the handling demand with parameter m and expressed in QC hours.For that purpose average productivity rate is set to 27 TEU/h and is assumed to be constant (see assumption A2).
Testing is performed for different number of QC allocations, from 1 to 5. For each such scenario, makespan and crane utilization rates are compared relating to full or split task model algorithms.Where there was no improvement in makespan or utilization rate, such solutions are considered inefficient and are ignored.Therefore, only optimal QCSP solutions with reasonable number of QCs per vessel are considered further.As a result, considering cargo stowage distribution and generated handling demand for targeted type of container terminals, there are options with 2, 3 or 4 QC to be allocated for the particular vessel.To compare two developed models, the most representative option with high utilization rate and minimum time makespan was selected and presented in Tab. 3.
In 50 % cases there is no significant difference in makespan and/or crane utilization rate between two models.However, in all other cases there is minor or major deviation in favor of split task model.Major difference between the models and benefit of split task algorithm is presented in graphs (Fig. 5 and 6) for selected vessels.Dotted lines in both graphs indicate makespan when QCSP is solved with the split task model.In general, the model is more effective for scenarios with 3 or more cranes than for 2 cranes, but that mainly depends on onboard cargo distribution.Significant difference in makespan and crane utilization rate is spotted for cases when larger handling demand was concentrated at the few central bays and more tasks with smaller handling demand aside.In such cases the split task model is the most useful.Fixed number of QCs in container handling operations has an advantage because there is no dependences on scheduled operations on adjacent berths, but this may lead to less efficient crane utilization.The implementation of split task algorithm may in many cases improve crane utilization rate for given set of QCs engaged in ship handling process.This is especially important for small and mid-size terminals where pressure from vessel operators from one side and port facility limitation from the other side, influence the terminal operations.
The main limitation of split task approach is its inability in finding optimal solutions for preceding conditioned tasks; although that more concerns the terminals with greater and balanced loading and unloading demand, than terminals targeted in this paper.
Given results based on cargo demand generated by the script should be taken with caution, as the script produces data based on random choices of ship bays, which differs from real cargo stowage plans.However, dependences between onboard container stowage and QCs efficiency relating to the model choice are obvious and may be subject to further research and testing with data in real environment.

•
number of QC gangs with overall utilization factor • total ship handling/processing time • full/split task selection option.

Figure 2
Figure 2 Method and effects of task splitting

Figure 3
Figure 3 Example of a QCSP modeling

Figure 4
Figure 4 Grouping of tasks into clusters

Figure 5 6
Figure 5 Handling makespan for 2 QC scenario Figure 6 Handling makespan for 3 QC scenario 6 Conclusion

Table 2
Characteristics of pattern vessels

Table 3
Comparison of QCSP solutions for selected vessels