Advances in Production Engineering & Management Volume 11 | Number 4 | December 2016 | pp 299-310 http://dx.doi.Org/10.14743/apem2016.4.228 ISSN 1854-6250 Journal home: apem-journal.org Original scientific paper Applying multi-phase particle swarm optimization to solve bulk cargo port scheduling problem Tang, M.bc, Gong, D.abc*, Liu, S.bc, Zhang, H.bc aSchool of Economics & Management, Tsinghua University, China bSchool of Economics & Management, Beijing Jiaotong University, China international Center for Informatics Research, Beijing Jiaotong University, China A B S T R A C T A R T I C L E I N F O Factors related to bulk cargo port scheduling are very complex and peculiar. Changes in the factors will affect the reusability of a model, so establishing a reliable scheduling model for bulk cargo ports is particularly important. This paper sorts the factors affecting bulk cargo port scheduling, such as the number of vessels, the number of berths, vessel-berthing constraints (basic factors), the service priority, and the makespan (special factors), and then establishes the non-deterministic polynomial (NP) model, which aims to minimize the total service time and makespan. Lastly, it solves the model based on the multi-phase particle swarm optimization (MPPSO) algorithm and Matlab. Some important conclusions are obtained. (1) For the model neglecting priority, the total service time is the smallest, whereas the maximum waiting time and maximum operating time are relatively large, and the makespan is the latest. (2) For the model considering priority, the total service time is relatively large, whereas the maximum waiting time and maximum operating time are relatively small, and the makespan is relatively early. (3) For the model considering the makespan, the total service time is the mostlargest, whereas the maximum waiting time and especially the maximum operating time are the smallest, and the makespan is the earliest. We can choose different models according to different situations in bulk cargo port scheduling. © 2016 PEI, University of Maribor. All rights reserved. Keywords: Bulk cargo Scheduling Priority Makespan Multi-phase particle swarm optimization (MPPSO) *Corresponding author: gongtuipigua@163.com (Gong, D.) Article history: Received 7 October 2016 Revised 9 November 2016 Accepted 10 November 2016 1. Introduction Berths are scarce resources in bulk cargo ports, and due to the increased throughput of vessels, the berth allocation problem (BAP) is inevitable. Additionally, the uncertainty of vessels at a port, the specific demand for different vessels, the time lag of vessels leaving a port and vessel-berthing constraints will all affect the scheduling of bulk cargo ports. The berth scheduling problem deals with the assignment of vessels to berths in a marine terminal, with the objective of maximizing the ocean carriers' satisfaction (minimize delays) and/or minimizing the terminal operator's costs [1]. The vessels differ with each other in many aspects, such as loaded cargoes, freight volume, and transport types, so ports must provide different processes, facilities, resources, etc. Experience, rather than standards, is needed in bulk cargo port scheduling, and the actual work takes considerable personal time and effort [2, 3]. Due to the disadvantages of experience, scholars began to study the factors related to scheduling [4, 5]; also, the setting of a scheduling goal can play an important role in the scheduling process [6, 7], and heuristics algorithms, simulation 299 Tang, Gong, Liu, Zhang technology and artificial intelligence are introduced to solve the scheduling problem [8]. Factors related to bulk cargo port scheduling are very complex and peculiar, and changes in the factors will affect the reusability of a model. Existing research has not paid enough attention to special factors such as the service priority and makespan. This paper establishes the NP model, which aims to minimize the total service time and makespan, and solves the model based on the MPPSO algorithm. We organize this paper as following: In the following section, we present the literature review. In section 3, we propose the mathematical model, which forms the theoretical foundation of this study. In section 4, we solve the model based on the MPPSO algorithm, which provides the basis for our analysis. Finally, in the last section, we conclude the study. 2. Literature review Due to the disadvantage of experience, scholars began to study the factors related to scheduling. For example, Xu considered the BAP in container terminals in which the assignment of vessels to berths was limited by water depth and tidal conditions [4]. Raa et al. dealt with the quay crane assignment problem (CAP) when scheduling vessels [5]. Meisel and Bierwirth investigated the combined problem of berth allocation and crane assignment in container terminals, and their proposed model considered the decrease of marginal productivity of quay cranes assigned to a vessel and the increase in handling time if vessels were not berthed at their desired position at the quay [10]. Cheong et al. considered a BAP that required the determination of exact berthing times and positions of incoming vessels in a container port. The proposed algorithm was developed to concurrently minimize the three objectives of makespan, waiting time, and degree of deviation from a predetermined priority schedule [1]. Golias et al. presented a berth-scheduling policy to minimize delayed departures of vessels and indirectly reduce fuel consumption and emissions produced by vessels. Vessel arrival times were considered as a variable and were optimized to accommodate the objectives of the proposed policy [11]. Türkogullari et al. focused on the integrated planning of problems faced at container terminals. The problem included berth allocation, quay crane assignment, and quay crane assignment [12]. For the BAP, the mathematical model cannot cover all the factors, and the objective function can influence the scheduling results greatly. For example, Imai et al. minimized the waiting time to a dynamic berth assignment for vessels in the public berth system [6]. Guan et al. considered a scheduling model in which the objective was to minimize the total weighted completion time of the jobs, and this problem was motivated by the operation of berth allocation [7]. Imai et al. discussed two typical schemes for berth allocation: one in discrete locations and the other in continuous locations. The former had the advantage of being easy to schedule, and the latter exhibited the complete opposite characteristics [13]. Legato et al. presented a queuing network model of logistic activities related to the arrival, berthing, and departure processes of vessels at a container terminal, and argued that non-standard service stations, time-dependent priority mechanisms, and complex resource allocation policies could prevent the use of analytical approaches to the solution [14]. Robenek proposed an exact solution algorithm based on a branch and price framework to solve the BAP. The objective was to minimize the total service time of vessels berthing at the port [15]. Arango et al. put forward allocation planning aimed at minimizing the total service time for each vessel and considered a first-come-first-served allocation strategy [8]. A variety of heuristics algorithms, simulation technology and artificial intelligence has been introduced to solve the scheduling problem. For example, Arango et al. proposed a mathematical model and developed a heuristic procedure based on a genetic algorithm to solve non-linear problems, and Arena software computational experiments showed that the proposed model could improve the current berth management strategy [8]. Galzina et al. proposed a novel adaptive model with fuzzy particle swarm optimization to solve flow-shop scheduling problem, benchmark examples were utilized to evaluate the proposed model which is applied on flow production problem [9]. Nishimura et al. developed a heuristic procedure based on a genetic algorithm to obtain a good solution with considerably small computational effort, and experiments showed that the proposed algorithm was adaptable to real world applications [16]. Imai et al. addressed a two-objective berth allocation problem: the vessel service quality, expressed 300 Advances in Production Engineering & Management 11(4) 2016 Applying multi-phase particle swarm optimization to solve bulk cargo port scheduling problem by the minimization of delay in vessels' departure, and berth utilization, expressed by the minimization of the total service time. A genetic algorithm was proposed to solve this problem. The numerical experiments showed that the genetic algorithm outperformed subgradient optimization [17]. Fu et al. presented a genetic algorithm to analyze the integrated quay crane assignment and scheduling problem due to its complexity, and the computational results validated the performance of the proposed algorithm [18]. To optimize the process plans generated from complex parts, Wang et al. modified the traditional particle swarm optimization (PSO) algorithm [19]. Mocnik et al. put forward the modeling of dimensional deviation of workpiece using regression, ANN and PSO models [20]. Ting et al. focused on the discrete and dynamic berth allocation problem, assigning vessels to discrete berth positions and minimizing the total waiting times and handling times for all vessels. The particle swarm optimization approach was developed to solve the BAP [21]. The current studies mainly focus on influencing factors, objective functions and algorithms. Factors such as the priority service and makespan are not considered in these models, and any changes in factors will affect the model reusability. Therefore, the following research problem arises: how do specific factors affect model reusability, and what are the differences among different models? No related work solves this problem. Based on the analysis of scheduling factors, combined with the MPPSO algorithm, bulk cargo port scheduling model is formed and solved considering the priority and makespan. The models can make sense of bulk cargo port scheduling. 3. Mathematical model In this paper, four main assumptions are made regarding the status of a vessel: (a) all vessels to be served are already in the port before the planning period starts, (b) the vessels are scheduled to arrive after the planning period starts, (c) the vessels cannot move to other berths if the berth allocation is finished, and (d) the time of vessels moving is ignored. 3.1 The standard model There are two kinds of vessel-berthing constraints in the process of berth allocation: the physical conditions and the operating conditions. The constraints can be set as follows: m B T=i cargo(vi) = Vcargo ft lit. = V and ^ bj = cargo ^ ^ type ^cargo Btype (Vcargo,V:argo,Vcargo^^^^^^^'(yi) (1) where Vi is the vessel, bj is the berth, V is the vessels set, B is the berth set, cargo(Vi) is the cargo, Vcargo is the cargo type set, and Btype is the berth type set. Only if the cargo type is in accordance with the berth type can the job start in the berth. berth(vi) indicates berth j provides service for vessel i. Therefore, the matrix of vessel-berthing constraints can be set as follows: A = yn ••• y m yml ' Vmn. (2) where 0 < I < m, 0 < j < m, I < m,yij = (0,1) The scheduling model should comprehensively consider the specific needs of different vessels, so the priority factor is included in the model: Advances in Production Engineering & Management 11(4) 2016 301 Tang, Gong, Liu, Zhang Pi = avciutomer + pvciargo +yvtirade (3) where a, (3, and y are the coefficients and vfustomer, vfargo, and vitrade are the weights of factors (vessel, its cargo and trade type), respectively. Therefore, priority XiJk can be generated by P. There are many variables and parameters included in the bulk cargo port scheduling model, such as the number of vessels, the number of berths, vessel-berthing constraints, the service priority, the operating time and the waiting time. Therefore, scheduling can be affected by the following multi-tuple: Cap_sercice(Vn, Bn, Wsi,Tfi,Tsi,Tei,Twi,BVj,Bej,Xijk,yij) (4) where Vn is the number of vessels, Bn is the number of berths, Wsi is the outturn for vessel i, Tf is the arrival time for vessel i, Ts. is the job starting time for vessel i, Tei is the job finishing time for vessel i, Twi is the waiting time for vessel i, BVj is the job velocity for berth j, Bej is the job finished time for vessel in berth j, Xijk is the job sequence k for vessel i in berth j, and yij is the vessel-berthing constraints. The multi-tuple can be prolonged if more factors and parameters are added in the model, and the multi-tuple can affect the model reusability. Scheduling should pay attention to the job efficiency of berths. Therefore, the objective of the model can be minimizing the makespan, that is Min(Max(Tei)). The paper will analyze the standard model firstly. To minimize the total service time (waiting time and operating time) for vessel i, that is TSi — Tfi + WSi/BVj (5) The objective of standard model is Vn Bn Min Z Z(rSi ~Tfi +Wsi/BVJ) Xijk (6) i = 0 j = 0 subjected to Vn Bn II V It I Xijk = 1, where i = 1,2, ...,Vn (7) i = 0 j = 0 Each vessel should be allocated by berth, where they can be allocated only one time: Vn Xijk <1, where j = 1,2, ...,Bn (8) i = 0 Each berth can provide service for only one vessel at a time: xi]k xijk (11) i = 0 j = 0 In Eq. 10, the waiting time and operating time are given weights, and in Eq. 11, the waiting time is given the weight. Min(Max(Tei)),ieV (12) Max(Tei) >TSi — Tfi + WSi/BVj (13) (TSi -Tft + WSi/BVj)-(Tsi+1 -Tfi+1 + Wsi+1/BVj+1)>0 (14) Eq. 12 minimizes the makespan. 4. MPPSO for BAP and computational experiments 4.1 Algorithm design MPPSO is developed to solve the BAP for a bulk cargo port. (1) Position coding Each vessel has information about the job berths and job sequence, so each particle has two-dimensional information about the job berths and job sequence. Job berths are affected by a vessel's own properties and berth conditions. Thus, we need to obtain the berths arrays firstly. For example, if berths 1, 3, and 6 are available for each vessel, the berths array is [1 3 6 0 0 0] (assuming six berths). The job sequence of particles can be explained by the continuous value; the smaller the value is, the earlier the vessel will obtain service (more details in Table 1). Table 1 Example of position coding Dimension 1 2 3 Berths [1 3 6 0 0 01 [1 3 0 0 0 01 [6 0 0 0 0 0 1 Sequence 2 0.6173 2 0.3214 1 0.4142 In Table 1, we can obtain the job berths and job sequence through the position decoding; that is, vessels 1 and 2 obtain service in berth 3, where berth 3 provides service for vessel 2 firstly, and vessel 3 obtains service in berth 6. (2) Position renewal The parameter setting of MPPSO is as follows: • T: maximum iterations • N: number of particle swarms • D: dimension • V;d(t): velocity of the i-th particle with the d-th dimension at time t • xid(t): position of the i-th particle with the d-th dimension at time t • gd(t): best positions discovered by all particles at time t or earlier, with d-th dimension • ph: number of phases • pcf: phase change frequency • g: number of groups within each phase • Cv , Cx, and Cg: coefficient value in each group within each phase • sl: sub-length of the dimension • VC: velocity change variable Therefore, the renewal process of velocity and position is expressed as follows: vidi(.t + 1) = Cvvidl(t) + Cxxidl(t) + Cggdl(t) (15) Xidi (t + 1) = *idi(0 + Vidi(t + 1) (16) Advances in Production Engineering & Management 11(4) 2016 303 Tang, Gong, Liu, Zhang vid2(t + 1) = cvvid2(t) + Cxxid2(t) + Cggd2(t) (17) xid2(t +1) = xid2(t)+ vid2(t +1) The pseudo-code for MPPSO is shown in Table 2: (18) Table 2 Pseudo-code for MPPSO Step 0 read data: Vn and Bn Step 1 get the berths arrays based on data Step 2 T D N ph pcf g VC Step 3 initialize the velocity and position for particles, get the best of positions Pgx and the best fitness value Pg Step 4 iteration for t = 1 : T if t is a multiple of VC reinitiate velocity determine its phase for i = 1 : N determine its group choose sl randomly from [1,min(10,n)] sl = roundn(rand*(min(10,D)-1)+1,0); deal with each dimension of particle d = 1; initialize the current dimension dimension limited while ( d <= D ) Cache the initial position of particle temp (1,: ,:) = x(i,: ,:); deal with the sub dimension of particle for j = 0 : sl updating dimension d_temp = d + j; if d_temp >D,break Step 4.1 updating the berth get the coefficient of velocity formula update the velocity of berth based on formula(12) update the position of berth based on formula(13) if out of berth array scope, reinitiate position Step 4.2 updating the sequence get the coefficient of velocity formula update the velocity of vessel based on formula(14) update the position of vessel based on formula(15) end judge the fitness if fitness(temp) < fitness(x(i,: ,:)) accept the updating x(i,: ,:) = temp(1,: ,:); end update the best of positions in particle swarm if fitness(x(i,: ,:)) max_finish_time max_finish_time = berths_ships(i,7); end 0 200 W0 600 800 1000 1200 U00 1600 1800 2000 geneiaion (a) 0 200 <00 «10 B00 10TO 1200 "00 1600 1BTO 2000 generation 200 ÍOO 600 BOO 1000 1200 M00 1600 1930 2030 0 200 4O0 600 600 1000 1200 1100 1600 1800 2000 genefaliwi M fd) Fig. 1 Iteration process and fitness value Table 10 MPPSO results Model Berth ID Vessel ID Starting time Waiting time Finishing time Operating time 1 2014-08-13 01:00 0.00 2014-08-13 15:47 0.62 1 4 2014-08-13 15:47 0.16 2014-08-14 04:40 0.54 12 2014-08-14 04:40 0.40 2014-08-14 17:00 0.51 13 2014-08-13 00:00 0.00 2014-08-13 15:00 0.63 2 10 2014-08-13 15:00 0.42 2014-08-14 06:51 0.66 9 2014-08-14 06:51 0.33 2014-08-14 20:24 0.56 3 3 2014-08-13 09:30 0.00 2014-08-13 10:15 0.03 4 5 2014-08-13 05:00 0.00 2014-08-14 00:45 0.82 Advances in Production Engineering & Management 11(4) 2016 307 1 Tang, Gong, Liu, Zhang Table 10 MPPSO results (continuation) 7 2014-08-13 07:00 0.00 2014-08-13 16:56 0.41 11 2014-08-13 17:00 0.00 2014-08-14 03:54 0.45 6 2014-08-14 03:54 0.33 2014-08-14 07:30 0.15 8 2014-08-14 07:30 0.56 2014-08-14 18:44 0.47 14 2014-08-13 00:00 0.00 2014-08-13 16:36 0.69 6 2 2014-08-13 19:00 0.00 2014-08-14 14:15 0.80 1 2014-08-13 01:00 0.00 2014-08-13 15:47 0.62 1 11 2014-08-13 17:00 0.00 2014-08-14 03:54 0.45 12 2014-08-14 03:54 0.37 2014-08-14 16:14 0.51 13 2014-08-13 00:00 0.00 2014-08-13 15:00 0.63 2 4 2014-08-13 15:00 0.13 2014-08-14 07:06 0.67 10 2014-08-14 07:06 1.09 2014-08-14 22:57 0.66 2 3 3 2014-08-13 09:30 0.00 2014-08-13 10:15 0.03 4 7 2014-08-13 07:00 0.00 2014-08-14 07:48 1.03 5 2014-08-13 05:00 0.00 2014-08-13 12:54 0.33 5 6 2014-08-13 20:00 0.00 2014-08-13 23:36 0.15 9 2014-08-13 23:36 0.03 2014-08-14 10:27 0.45 8 2014-08-14 10:27 0.69 2014-08-14 21:41 0.47 6 6 14 2014-08-13 00:00 0.00 2014-08-13 16:36 0.69 2 2014-08-13 19:00 0.00 2014-08-14 14:15 0.80 1 2014-08-13 01:00 0.00 2014-08-13 15:47 0.62 1 4 2014-08-13 15:47 0.16 2014-08-14 04:40 0.54 10 2014-08-14 04:40 0.99 2014-08-14 17:21 0.53 13 2014-08-13 00:00 0.00 2014-08-13 15:00 0.63 2 6 2014-08-13 20:00 0.00 2014-08-14 00:30 0.19 12 2014-08-14 00:30 0.23 2014-08-14 15:54 0.64 3 3 3 2014-08-13 09:30 0.00 2014-08-13 10:15 0.03 4 4 5 2014-08-13 05:00 0.00 2014-08-14 00:45 0.82 9 2014-08-14 00:45 0.07 2014-08-15 03:51 1.13 7 2014-08-13 07:00 0.00 2014-08-13 16:56 0.41 5 11 2014-08-13 17:00 0.00 2014-08-14 03:54 0.45 8 2014-08-14 03:54 0.41 2014-08-14 15:08 0.47 6 6 14 2014-08-13 00:00 0.00 2014-08-13 16:36 0.69 2 2014-08-13 19:00 0.00 2014-08-14 14:15 0.80 1 2014-08-13 01:00 0.00 2014-08-13 15:47 0.62 1 12 2014-08-13 19:00 0.00 2014-08-14 07:20 0.51 4 2014-08-14 07:20 0.81 2014-08-14 20:13 0.54 13 2014-08-13 00:00 0.00 2014-08-13 15:00 0.63 2 10 2014-08-13 15:00 0.42 2014-08-14 06:51 0.66 9 2014-08-14 06:51 0.33 2014-08-14 20:24 0.56 4 4 5 2014-08-13 05:00 0.00 2014-08-14 00:45 0.82 7 2014-08-13 07:00 0.00 2014-08-13 16:56 0.41 5 5 8 2014-08-13 18:00 0.00 2014-08-14 05:14 0.47 11 2014-08-14 05:14 0.51 2014-08-14 16:08 0.45 6 2014-08-14 16:08 0.84 2014-08-14 19:44 0.15 14 2014-08-13 00:00 0.00 2014-08-13 16:36 0.69 6 3 2014-08-13 16:36 0.30 2014-08-13 17:15 0.03 2 2014-08-13 19:00 0.00 2014-08-14 14:15 0.80 Note: the unit of the waiting time and operating time is days. 308 Advances in Production Engineering & Management 11(4) 2016 Applying multi-phase particle swarm optimization to solve bulk cargo port scheduling problem 4.3 Discussion On the condition of small samples (Vn = 14, Bn = 6), for Model 1, the total service time, the maximum waiting time and the maximum operating time are minimal, and the makespan is the earliest For Model 2 and Model 3, the total service time, the maximum waiting time and the maximum operating time will be increased slightly, and the makespan can be delayed. For model 4, the total service time is the highest, but the maximum waiting time and the maximum operating time are relatively small. The makespan is also the earliest (Table 11). On the condition of big samples (Vn = 24, Bn = 6), for Model 1, the total service time is still the smallest, but the maximum waiting time and the maximum operating time are increased. Additionally, the makespan is the latest. For Model 2 and Model 3, the total service time is still large, but the maximum waiting time and the maximum operating time are relatively small, and the makespan is competitive compared with Model 1. For model 4, the total service time is still the highest, but the maximum operating time, especially the maximum waiting time, is the lowest. The makespan is the earliest (Table 11). On one hand, the total service time of berth needs to be decreased to satisfy the general requirements, so the model considering priority offers a great advantage. On the other hand, the total service time of berths reflects the capacity; the longer the service time is, the higher the berth service capacity will be. The departure time of the last vessel needs to considered, so the model minimizing makespan offers a great advantage. In short, we can choose a suitable model according to the actual situation in bulk cargo port scheduling. Table 11 Comparative results of four models Model Total service time Maximum waiting time Maximum operating time Makespan Small Big Small Big Small Big Small Big samples samples samples samples samples samples samples samples 1 9.55 24.01 0.56 2.20 0.82 1.04 2014-08-14 20:24 2014-08-16 00:25 2 9.79 24.39 1.09 2.09 1.03 1.09 2014-08-14 22:57 2014-08-15 19:18 3 9.81 24.30 0.99 2.08 0.82 1.09 2014-08-15 03:51 2014-08-15 19:18 4 10.54 27.54 0.84 1.52 0.82 1.09 2014-08-14 20:24 2014-08-15 17:49 5. Conclusion Social and economic progress drives the development of bulk cargo port transportation, so the transportation demand is also growing. However, scheduling management and efficiency are incompatible with its development. The problems are as follows: (1) The scheduling is dispersed. Due to multi-level allocation, vessel scheduling is cumbersome, and much repetitive work is done, thereby affecting the efficiency of scheduling. (2) The management mode lags behind. People basically rely on experience to manage berth scheduling. Therefore, reducing the total service time of berths and maximizing their operational capabilities (minimizing the makespan) are of great importance to improving the efficiency and management of bulk cargo port scheduling. This paper sorts the factors affecting bulk cargo port scheduling, such as the number of vessels, the number of berths, vessel-berthing constraints, the service priority, and the makespan, and establishes the NP model, which aims to minimize the total service time and makespan, and solves the model based on the MPPSO algorithm. Through computational experiments, we obtain information not only about the berth allocation (the starting time, finishing time, waiting time, and operating time) but also the comparative results of different modes (the total service time, maximum waiting time, maximum operating time, and makespan). We can choose a suitable model according to the actual situation in bulk cargo port scheduling. Of course, like all studies, this paper has certain limitations and deficiencies. To guarantee the computability of the model, this paper assumes that the vessels cannot move to other berths if the berth allocation is complete, and the time of vessels moving is ignored. We should further study these topics. Advances in Production Engineering & Management 11(4) 2016 309 Tang, Gong, Liu, Zhang Acknowledgement The study is supported by a project funded by the China Postdoctoral Science Foundation (2016M591194) and the National Natural Science Foundation (71132008,71390334). We appreciate their support very much. References [1] Cheong, C.Y., Tan, K.C., Liu, D.K., Lin, C.J. (2010). Multi-objective and prioritized berth allocation in container ports, Annals of Operations Research November, Vol. 180, No. 1, 63-103, doi: 10.1007/s10479-008-0493-0. [2] Conway, R.W., Maxwell, W.L., Miller, L.W. (2003). Theory of scheduling, Dover publication, New York, USA. [3] Gantt, H. (1919). Organization for Work, Allen and Unwin, London, UK. [4] Xu, D., Li, C.L., Leung, J.Y.-T. (2012). Berth allocation with time-dependent physical limitations on vessels, European Journal of Operational Research, Vol. 216, No. 1, 47-56, doi: 10.1016/j.ejor.2011.07.012. [5] Raa, B., Dullaert, W., Van Schaeren, R. (2011). An enriched model for the integrated berth allocation and quay crane assignment problem, Expert Systems with Applications, Vol. 38, No. 11, 14136-14147, doi: 10.1016/j.eswa. 2011.04.224. [6] Imai, A., Nishimura, E., Papadimitriou, S. (2001). The dynamic berth allocation problem for a container port, Transportation Research PartB: Methodological, Vol. 35, No. 4, 401-417, doi: 10.1016/S0191-2615(99)00057-0. [7] Guan, Y., Xiao, W.Q., Cheung, R.K., Li, C.L. (2002). A multiprocessor task scheduling model for berth allocation: Heuristic and worst-case analysis, Operations Research Letters, Vol. 30, No. 5, 343-350, doi: 10.1016/S0167-6377(02) 00147-5. [8] Arango, C., Cortés, P., Muñuzuri, J., Onieva, L. (2011). Berth allocation planning in Seville inland port by simulation and optimization, Advanced Engineering Informatics, Vol. 25, No. 3, 452-461, doi: 10.1016/j.aei.2011.05.001. [9] Galzina, V., Lujic, R., Saric, T. (2012). Adaptive fuzzy particle swarm optimization for flow-shop scheduling problem, Technical Gazette - Tehnicki vjesnik, Vol. 19, No. 1, 151-157. [10] Meisel, F., Bierwirth, C. (2009). Heuristics for the integration of crane productivity in the berth allocation problem, Transportation Research Part E: Logistics and Transportation Review, Vol. 45, No. 1, 196-209, doi: 10.1016/j.tre.2008.03.001. [11] Golias, M.M., Saharidis, G.K., Boile, M., Theofanis S., Ierapetritou M.G. (2009). The berth allocation problem: Optimizing vessel arrival time, Maritime Economics & Logistics, Vol. 11, No. 4, 358-377, doi: 10.1057/mel.2009.12. [12] Türkogullan, Y.B., Ta§kin, Z.C., Aras, N., Altinel, I.K. (2014). Optimal berth allocation and time-invariant quay crane assignment in container terminals, European Journal of Operational Research, Vol. 235, No. 1, 88-101, doi: 10.1016/j.ejor.2013.10.015. [13] Imai, A., Sun, X., Nishimura, E., Papadimitriou, S. (2005). Berth allocation in a container port: Using a continuous location space approach, Transportation Research Part B: Methodological, Vol. 39, No. 3, 199-221, doi: 10.1016/ j.trb.2004.04.004. [14] Legato, P., Mazza, R.M. (2001). Berth planning and resources optimization at a container terminal via discrete event simulation, European Journal of Operational Research, Vol. 133, No. 3, 537-547, doi: 10.1016/S0377-2217(00)00200-9. [15] Robenek, T., Umang, N., Bierlaire, M., Ropke, S. (2014). A branch-and-price algorithm to solve the integrated berth allocation and yard assignment problem in bulk ports, European Journal of Operational Research, Vol. 235, No. 2, 399-411, doi: 10.1016/j.ejor.2013.08.015. [16] Nishimura, E., Imai, A., Papadimitriou, S. (2001). Berth allocation planning in the public berth system by genetic algorithms, European Journal of Operational Research, Vol. 131, No. 2, 282-292, doi: 10.1016/S0377-2217(00)00128-4. [17] Imai, A., Zhang, J.T., Nishimura, E., Papadimitriou, S. (2007). The berth allocation problem with service time and delay time objectives, Maritime Economics & Logistics, Vol. 9, No. 4, 269-290, doi: 10.1057/palgrave.mel. 9100186. [18] Fu, Y.M., Diabat, A., Tsai, I-T. (2014). A multi-vessel quay crane assignment and scheduling problem: Formulation and heuristic solution approach, Expert Systems with Applications, Vol. 41, No. 15, 6959-6965, doi: 10.1016/j.eswa. 2014.05.002. [19] Wang, J.F., Kang, W.L., Zhao, J.L., Chu, K.Y. (2016). A simulation approach to the process planning problem using a modified particle swarm optimization, Advances in Production Engineering & Management, Vol. 11, No. 2, 77-92, doi: 10.14743/apem2016.2.211. [20] Mocnik, D., Paulic, M., Klancnik, S., Balic, J. (2014) Prediction of dimensional deviation of workpiece using regression, ANN and PSO models in turning operation, Technical Gazette - Tehnicki vjesnik, Vol. 21, No. 1, 55-62. [21] Ting, C.J., Wu, K.C., Chou, H. (2014). Particle swarm optimization algorithm for the berth allocation problem, Expert Systems with Applications, Vol. 41, No. 4 (Part 1), 1543-1550, doi: 10.1016/j.eswa.2013.08.051. 310 Advances in Production Engineering & Management 11(4) 2016