Container Vessel Stowage Planning System using ...

147 downloads 0 Views 839KB Size Report
A relevant question formalized by Pacino is: Can container .... Since the stowage problem is a highly complex problem, first, we will focus on al- locating ...
Container Vessel Stowage Planning System using Genetic Algorithm Miri Weiss Cohen1 , Vitor Naz´ario Coelho2 , Adi Dahan1 and Izzik Kaspi1 1

2

Department of Software Engineering, ORT Braude College of Engineering, Karmiel, Israel. [email protected], [email protected] and [email protected] Post-doc researcher at the Institute of Computer Science, Universidade Federal Fluminense, Niter´ oi/RJ, Brazil Grupo da Causa Humana, Ouro Preto/MG,Brazil [email protected]

Abstract. This paper deals with the container stowage planning problem, an important and a complex problem in maritime logistic optimization. The variant tackled in this work involves several constraints, inspired by real-life problems and application found in the literature. Given the complexity of the problem, which belongs to the class of N Phard problems, a novel evolutionary metaheuristic algorithm is developed and designed. considering the ability and flexibility of Genetic Algorithm (GA). The approach is based on a two-phase procedure, one for master planning and the other for allocation of the containers into slots. GA parameters are analyzed to achieve practical and best results. The system offers stowage allocation solutions for both phases, thus offering flexibility for a wide variety of vessels and route combinations. Keywords: Container vessel stowage planning, Genetic Algorithm, Metaheuristic, Constraint optimization

1

Introduction

Since the world’s economy changed to a global economy, linear shipping companies have faced the increasing shipping demand by building larger ships that can carry up to 22000 containers. The vessel stowage loading plans of containers must be optimized so that costs can be reduced. Moreover, load and discharge operations at container terminals are costly. Hence, reducing the number of moves and the total time in port is essential to achieve cost reductions In the , the vessel stowage loading plans of containers must be optimized so that costs can be reduced. A relevant question formalized by Pacino is: Can container ship stowage plans with high enough quality for practical usage be computed on standard equipment within the time required by the work processes of stowage coordinators? [18]. Our research and software development focus on answering this relevant question and developing this topic. We believe that genetic algorithms implemented

in a software system that enables developers and users to define and facilitate a specific case will provide sufficient deployment and a good solution within a relevant run time. A flexible software system has the advantage of offering a range of solutions for users, and the ability to make decisions interactively where needed. Container stowage planning usually known as Master Bay Plan Problem (MBPP), which belongs to the class of N P-hard problems [2]. This problem can be defined as follows [3]: given a set C of n containers of different types to load on a ship and a set S of m available locations within the ship, we need to determine the assignment of the containers to the ship locations in order to satisfy the given structural and operational constraints related both to the ship and to the containers as well as to minimize the total loading time A number of approaches have been introduced in the past two decades. Most of them focus on a single best solution solved offline with limited interaction from a stowage coordinator. The approaches are characterized by area of the vessel stowage loading plans, the number of phases of the solution and the optimization method. Single phase solutions include IP methods [4, 15, 6, 18], Heuristic approaches [20, 25, 22] and GA [10, 14]. Two-phase solutions distribute the bulk of containers into the bays, with planning for allocating each container in the specific slot solved in the second stage [1, 2]. Jensen et al. [13] introduce a software and approach for interactively modifying a stowage plan. Their work considers only the lower deck of the vessel. Many limitations are covered in each one of the approaches, but only a few studies cover all the restrictions and limitations defined in [8, 19]. A pioneer binary linear programming formulation was proposed by Avriel and Penn [5], but showed to be limited due to the huge number of binary variables and constraints on its formulation. Other binary linear formulation, considering stability, mixture and weight constraints can be found in other works in the literature [3, 8]. GA were investigated by Dubrovsky et al. [10], Yang & Kim [24] and Imai et al. [11]. Other meta heuristic based optimization algorithms have been also applied in order to solve different variations of the stowage planning problem [1, 23]. Sciomachen & Tanfani [21] presented a heuristic method for solving MBPP based on its relation with the three-dimensional bin packing problem (3D-BPP). Recently, Ding & Chou [9] considered stowage planning problem of a container ship visiting, sequentially, a series of ports. Containers should be moved temporarily in some port in order to allow discharge of other lower containers, shifting moves, since they can only be accessed from the top of the stacks. In this current paper, different real-life constraints are taken into account. By implementing the evolutionary framework, the proposed approach can serve as a final plan solution or an interactive system for users. In our study we made an attempt to cover as many of the known constraints for the MBPP as possible by implementing small cases of study, inspired by real-life.

2

Container stowage planning problem

A container ship transports cargo in containers, and the ship layout varies from vessel to vessel. The space on a vessel is divided into bays [8]. Each bay consists of container stacks placed along the length of the ship. All bays are divided into an over deck and an under deck area, separated by structures called hatches [8]. In order to gain access to the containers stored under deck, we must remove all the containers on the deck, including the hatch cover. On the under deck, the parts of a bay are divided into stacks/slots that are one container wide, and are composed of two Twenty-foot Equivalent Unit (TEU) stacks and a single Forty-foot Equivalent Unit (FEU) stack [17]. Some slots that have power plugs are known as reefer slots. A standard ISO container is usually 20 or 40 feet long, 8 feet wide and 8.6 feet high. 40 foot containers can be 8.6 feet high, or 9.6 feet high for high-cube containers. Each container has a weight, height, length and port where it has to be unloaded (discharge port). Aside from the standard ISO container described, several other container types exist. The major ones are: – High-cube containers – usually refers to containers that are 9.6 feet tall, but containers of other non-standard heights exist. – Reefer containers – having refrigeration module installed. They need a connection to the ship’s power-supply [1]. – IMO containers – containing hazardous material. These containers have to be physically separated from other containers of the same type [1]. All containers are equipped with reinforced castings in each corner called corner casting, designed to withstand great force. They carry the weight of containers stacked on top of each other. It should be noted that 20’ containers cannot be stacked on top of 40’ containers due to their lack of castings in the middle. 2.1

Container Stowage constraints

In real life situations, stowage planning is mainly carried out by human planners. Those planners have years of experience on board and they are familiar with the stowage instruction for containers in port terminals. However, due to the high number existing combinations for stowing all the containers on the vessel, as well as different constraints, meta heuristic algorithms have been required for solving this problem. The following constraints are detailed: Over-stowage In sea transportation, container vessels visit several ports according to their planned routes. The vessel loads and unloads additional containers in each port on the route of the ship. The arrangement of the cargo on the vessel and the loading and unloading order is determined before the vessel arrives at each port. A stowage plan specifies the position of each container on the vessel [1, 16]. Poorly planned stowage might cause unnecessary handling. This

unnecessary handling operation is called shifting. Shifting is temporary unloading and reloading of containers from or onto the vessel. Over stowage is defined as follows: If a container is required to be unloaded at the current port, and is stacked under a container that its port of destination is in the future ( Figure 1), the container that has to be temporarily removed, is over stowing. Multiple shifts may be necessary to reach an over stowed container. Over stowage is considered very expensive, since it requires many crane shifts, which are time and energy consuming.

Fig. 1: Left: loaded on deck and under deck containers. Right: stack partially loaded with regular and reefer slots, figure taken from [8].

Ship stability Vessel stability and safety are very important in the containers stowage problem. A container ship becomes unstable if the vessels weight distribution is unbalanced. When a vessel sails it needs to be “seaworthy”, which means that its stability must be correct and all stress force should be within limits. During sailing, the draft of the vessel (the distance between the keel, the bottom of the vessel, and the waterline [1]) needs to be parallel to the waterline. For each vessel there are two draft lines (fore and aft). For the vessel to be seaworthy, vertical, transverse and longitudinal weights of cargo are measured and balanced according to the length of the arm. Container constraints Containers and the cargo they carry, are constrained by many restrictions that must be considered when making a stowage plan. The first restriction is the container’s weight, when containers are stacked on top of each other, the order of their weight must be considered. For that reason it is preferable to have a light container at the top of the stack and heavier containers at the bottom [8].

The second restriction refers to the different container sizes and structures. Each container has a corner casting at the top and the bottom. These castings are made for the stability of the stack. When two 20’ containers are placed on top of a 40’ container, both in-between castings cannot be used, and therefore the stack is unstable [19], as can be seen in Figure 1. The third restriction refers to reefer containers. These containers must be located in special slots that are equipped with power plugs. The location of these slots is indicated in the vessel’s profile, and it is usually at the bottom tier. It is important that reefer slots be used only for this purpose (Figure 1). For containers that contain hazardous material (IMO containers), it is very important to allocate enough space between these containers to ensure the crews safety in case of emergencies. Containers with special requirements such as IMO containers and reefer containers have a major effect on the planning process. IMO containers are usually stowed in a special bay towards the bow of the vessel Line of sight: When containers are stacked on deck, the line of sight must be visible. The line of sight is an imaginary line from the bridge to the sea whose distance is equal to twice the length of the vessel or to 500 meters, whichever is smallest. Wind force: When a container vessel sails at sea, the wind affects its performance and the safety of the cargo it carries. High winds can easily cause containers to fall off a ship. Different shipping companies have different on-deck stacking rules. Most of the companies do not allow stacks to be more than one tier higher/ lower than the ones supporting them on the sides. Our work is an extension of the basic model described in [8, 14] in that we attempt to solve the planning not only for the bays below but for the entire vessel. In this work we take into consideration the following: [14]: Both 20’ and 40’ containers, reefer containers are stowed in cells with power plugs, container stacking rules, trim and draft within the limit, wind and line of sight.

3

Two phase optimization strategy

In order to tackle the stowage problem, the proposed approach divides the resolution of the problem into two phases. The first phase is the master bay planning phase, which allocates containers to be stowed at each bay. The second phase is the slot planning phase, which allocates a specific slot for each container within each bay. For each one of the phases, a different evaluation function is defined. The evaluation function is composed of relevant parameters and an array of penalties which are defined. On the basis of the parameters in the IP mode solved in [8], we have imposed a heuristic penalty approach and values. The process of evaluating various values of penalties and converging to the results was accomplished through the software system, after numerous simulations were conducted and tested.

The motivation for using Genetic Algorithm (GA) is its advantage as a stochastic search algorithm and a problem-solving methodology.It has advantages such as flexibility, adaptation, global search capability, and its suitability for parallel computation. GA’s have been used to solve difficult problems with objective functions that are multi model and multi constrained. A widely range of genetic operators can be used to perform the crossover, mutations, reinsertion of potential solutions, among others, in order to generate the offspring’s population. Some encoding may cause the algorithm to create unfeasible solutions, or may change and enlarge the search space making it difficult to converge. In this paper we will research and analyze these parameters for solving the stowage problem. Results are described in Section 4.1. 3.1

Master Bay Planning

Since the stowage problem is a highly complex problem, first, we will focus on allocating containers into bays. The constraints considers here are: the destination ports, reefer slots and ships stability. For master bay planning encoding, tree encoding is used [7, 14, 16, 12]. The root of the tree represents the entire ship, and each leaf represents a bay. The root also contains the total ship weight. Each leaf (bay) contains the total weight of the bay, the total number of ports it needs to deploy, the number of reefer slots it contains and an array of containers. For creating the initial population, we will randomly assign all our containers into random bays. The following parameters are considered in the proposed model, described by Eqs. (1) and (2), inspired from the IP model of Delgado et al. [8]. – – – – – – – –

B – all the bays in the vessel; Bi – containers in bay i; CjD – destination of container j; BiC – bay i is being used; BiR – number of reefer slots in bay i; CjR – container j is reefer; BiX – bay i exceeded its weight limit; CjW – container j’s weight.

f (x) =

X

X

i∈B

j∈B∧CjD 6=Bip

Tp + Bp

X

BiC + Rp

i∈B

X

BiR −

i∈B

X j∈Bi

 BpW

X

BiX

i∈B

Evaluation(x) =

1 f (x)

CjR + 

X 

CjW



(1)

BiW L 

j∈Bi

(2)

This is a minimization problem, where all of the values are greater than one. Therefore, Eq. (3) gives the fitness function: Evaluation(x) i∈B Evaluation(i)

F itness(x) = P

(3)

For each bay (x), the target port with the maximum number of containers is defined as the main target for that bay – Bip . Each container that is targeted to a different port is assigned a penalty of Tf = 20 points. Since we want to be able to stow more containers in further ports, we want to maintain as many empty bays as possible. Thus, for each bay we use, we assign a penalty of Bf = 10 points. The weight limit is BiW L . Every ton exceeding that limit is assigned a penalty of BFW = 50 points. Although the containers are not allocated in this phase, if the number of reefer containers is greater than the number of reefer slots in a bay, a penalty of Rf = 50 points is assigned. For every bay the following is calculated: 1. 2. 3. 4.

if a bay is overweight: add weight penalty * exceeded weight; if a bay is open: add opening bay penalty; add to penalty: ABS(reefer cells – reefer container) * reefer penalty. for every container destination which is not the main destination: add main destination penalty.

The evaluation function is one of the important functions in genetic algorithms. Its purpose is to evaluate each chromosome independently 3.2

Slot planning

In this phase, the allocation of a specific slot for each container is done. The restrictions we need to take into consideration for this stage include partial constraints from the master bay phase, such as: stability, reefer slots and overstowage. Moreover, new restrictions must be considered, such as container size, line of sight and wind forces [19]. For each bay, a tree configuration for each bay stack is defined. two arrays are defined, – on-deck and below-deck containers, moreover, the maximum allowed height, number and location of reefer slots and number of slots, are defined and monitored. The evaluation function measures the quality of a specific bay stowage. A summation of all bays is done in order to analyze the complete solution. The first restriction is over-stowage. For each container that over-stows another container , we assign a penalty of Op = 40. When a container above the deck over-stows a container below the deck, we add a penalty of OpAB = 20. For every reefer container that is not stowed at the reefer slot or the opposite slot, we assign a penalty of Rp = 50, the same as in the master bay stage. For each pair with a height difference of more than one container, we assign a penalty of Wp = 40. To ensure trim stability, each stack is assigned its own weight limit. For every ton exceeding that limit, we assign a penalty of SpW = 50. Due to casting restriction, a 20’ container cannot be stowed above a 40’ container. Thus,

for every container violating this restriction, we assign a penalty of Sp = 80. The last restriction is based on heuristics to allow flexibility in future ports [16]. For C every new stack we use in a bay - SjB , a penalty of N Sp = 15 is assigned, i for a stack above the deck, and a penalty of N Sp = 10 for below the deck. All penalties, for both stages are a result of numerous attempts to calculate and simulate, range of scores to achieve feasible solutions. Formalizing the above, is detailed in Eq. 4:  f (i) = Op

X

X

X

OC1 ,C2 + Rp 

j∈BiS c1 ∈Sj c2 ∈Sj −{c1 }

+Wp

X

Hj,j+1 + SpW

j∈BiS

X

X  SjB i

j∈BiS

Rj CjN R +

j∈Bi

+Sp

X

X

W L + OpAB ClW − SjB i

OC1 ,C2

c1 ∈Bellow,c2 ∈Above

l∈Sj

 X

X

 j∈BiS

N RC  SLR j SLj

j∈Bislot

 X

X





BiS −1

 X

S Al,m Cm,l +

l∈jA k∈ja −{l}

X

X

S  Al,m Cm,l + N Sp

l∈jB k∈jB −{l}

X j∈BiS

(4) where: – – – – – – – – – – – – – – –

WL SjB – weight limit of stack j in bay i; i i SW LB j – weight limit of bay i; x SjBi ∈ [0, 1] – stack j in bay i exceeds weight limit; Bislot ∈ [slot1 , ..., slotn ] – group of all slots in bay i; SLRC ∈ [0, 1] – container j is reefer; j Ox,y ∈ [0, 1] – container x is over stowage y; HS1 ,S2 ∈ [0, 1] – stack S1 over one container higher than S2 ; SLR j ∈ [0, 1] – slot j is a reefer; RC SLN ∈ [0, 1] – slot j is a non-reefer; j Sj ∈ [container1 , c2 , ..., cm ] – set of containers in stack j; CjN R ∈ [0, 1] – container j is not stowed in a reefer slot; Al,m ∈ [0, 1] – container l is higher than m; S Cm,l ∈ [0, 1] – container m is larger than container l; jA – set of on deck containers in stack j; jB – set of below deck containers in stack j.

The fitness function is described in Eqs. (5) and (6): Evaluation(x) = P

1

i∈B

F itness(x) = P

f (i)

Evaluation(x) i∈G Evaluation(i)

(5) (6)

Where, G – is a group of all the solutions in the current generation. In summary, the following procedure is done:

C SjB i

1. For every stack in a chromosome: (a) if stack is overweight: add weight penalty * exceeded weight; (b) if stack above is open: add opening stack above penalty; (c) if stack below is open: add opening stack below penalty; (d) For every cell in stack: i. if a container in a stack is a reefer the and cell isn’t reefer cell add reefer penalty; ii. Else if cell is reefer and container isn’t add reefer penalty. (e) for every container in the stack: i. if container size is TEU and is on container FEU: A. add size miss size penaly * the number of container lying on the TEU container. (f) For each container in the stack: i. add over stowage penalty * number of container under over stowing. 2. For each destination below deck: (a) If there is container above deck that over stowage that destination add below hach overstowage * number of container above deck. 3. For 1 to stack number: (a) if abs(stack[i]-stack[i-1]) bigger than one: i. Add abs(stack[i] − stack[i − 1]) * hight diffrance penalty. (b) Return penalty. For the slot planning fitness function, each solution was compatible with various solutions of the same bay.

4

Computational experiments

The software system developed requires the algorithm to run in reasonable time, acording o the complexity of the cargo and routing. We identified the bottleneck computational procedures which could be processed in a paralleled manner and designed them to work simultaneously, resulting a configuration which can handle a large number of threads to run parallel. We used an Intel Xeon server with 4 - 3.4 GHz CPUs, 15-cores each, with HyperThreading support, allowing up to 120 threads to run in parallel.This stage was used to configure the best GA parameters, serving the future usage of the software. The only stage of user interaction is done in loading the the ship booklet and all necessary data such as: fixed route and a container list. 4.1

Genetic algorithm parameters

Population size for Master Bay planning During our research we examined how population size and generations affect the results, taking into consideration that the software processing time is a crucial criterion. We used population sizes between 100-15000 for the master bay planning and 100-5000 for the slot planning to determine the outcome results. The analysis goal was to decide the population size versus the quality solution. Figure 2 depict only two examples,

but a wide range was tested. The number of generations versus the penalty scores of the solution is depicted in both figures. As shown in Figure 2 (left), for a population size of 100, the graph stops declining around 11,000 generations. As depicted in Figure 2 (right), for a population size of 500, the number of generations required to reach the best solution decreases significantly to 3500. With a population value of 5000 chromosomes, the graph reaches its peak point around generation 1400 (not shown), while with a population value of 10,000 the best value in generation 1300 (not shown). The software system is flexible for developers demands and restrictions, resulting, as expected, in run time and solution efficiency. In conclusion, in the analysis we used a population of 500 chromosomes, resulting in a run time of less than 2 seconds for final container deployment results for both stages of the algorithm.

Fig. 2: GA evolution and penalty scores

Population size for the Slot planning After the master bay distribution of the containers is determined, each bay is solved for individual deployment by searching for the best solution. In Figures 3 (left and right) each bay was tested for a fixed population size, and the influence of generations vs. the penalty scores was tested and analyzed. The motivation is to determine, once again, the best solution according to run time constraints. Each figure depicts seven bays (each in a different color), each showing the progression of the solution until a minimal penalty score is achieved. With a population size of 100 (left), the graph began to freeze around generation 1200, and the best result was improved from the first evaluation in about 20%-30% of the cases. However, with a population size of 500 (right), the graph began to freeze around generation 400, and improved most of the bays in about 50%-60% of cases. Therefore, we used a population size of 500 in the results example, but offer the user the flexibility to define size of the population and generation if the restrictions are valid. Mutation Ratio analysis for the Master Bay and Slot planning Different mutation ratios were tested on fixed population sizes of 500 chromosomes and a fixed number of generations. For master bay planning we used 5000 generations and compared mutation ratios of 0.05, 0.1, 0.25, 0.35 and 0.5, resulting in minor

Fig. 3: Population size for slot planning

changes among the penalty scores values. The value of 0.35 was chosen because of better results. For the slot planning problem, 350 generations were analyzed, resulting in a considerable effect. This result is straightforward and is explained by the fact that switching between two container locations in a bay can cause over-stowage or violation of stacking rules, thus influencing minimization of the penalty scores.

Crossover ratio analysis For the master bay planning problem, crossover ratios between 0.3, 0.4 and 0.5 were tested, resulting in penalty scores of 1500, 1260 and 2240, respectively. The results show that the best ratio for the first phase was 0.4. Testing the crossover operator for the slot planning revealed a great deal of versatility. One of the reasons for this effect is that after placing the containers from the crossover segment in one of the parents, there are plenty of containers in which the original cell is no longer valid, so that we must allocate a new cell for them. Thus, when such an operation is performed, the original stack hierarchy is greatly changed. Figures 4 (left and right) depict the results for seven bays for crossover ratios of 0.3 (left)and 0.5 (right), respectively.

Fig. 4: . Crossover ratio of 0.3 (left) and 0.5 (right)

5

Examples

The GUI was developed and computed from scratch, making it possible for each variable to be defined by the developers/users. The software is intended for use in the offices of shipping companies by trained workers that are familiar with it. Nonetheless, our software user interface is user friendly and provides validation for every input from the user. After the ship booklet has been loaded, the next step is to load all necessary data, which includes a fixed route, a contact list and a container list. The first port on the route is automatically selected as the next destination; however, the user can select a different port as the next destination. This stage involves a great deal of interaction with the user. Therefore it provides full validation for each input and only allows the user to continue to the next input step when the current input is correct. The third step, involves setting up the algorithm values, such as population size, number of generations, mutation and crossover ratio for both stages. The software system provides values for each of the stages and parameters from the learning stage (detailed in Section 3). If users demand interactive decision making, it is available. The results of our algorithm and approach are given in the following examples. Figures 5-8 are examples of cases we simulated using the software system, showing partial results. In these cases the route of the vessel is designed for four ports, each depicted in a different color. Containers are colored according to the destination port. In the figures, the layout and deployment of the upper and the lower deck are divided by a black line, which represents the hatch. The small squares in the figures represent reefer slots and containers, differentiated by color. Grey represents a reefer slot with a deployed container for which a reefer is not obligatory, green represents a match between reefer containers and slots, and red represents a reefer container in a slot that does not meet the requirement. The bar on the right side of the screen shot indicated the values of the parameters considered for the vessel and containers and the results of the deployment. These values include weight limits, actual weights, over-stowage and reefer misplacement. Our GA approach and algorithm provides the stowage coordinator full vessel deployment for the input provided, resulting a sufficient solution in admissible run time. In cases where the coordinator prefers a different solution, editing the container positions in a specific bay is permitted.

Example 1 Figure5 (a) depicts the effective result of the first phase of our algorithm, the master bay planning. In this case all the containers that were assigned to that bay are destined for the same destination (red). Within the 56 containers there were seven reefer containers and eight reefer cells. All of the reefer containers were assigned to reefer cells and one cell was assigned to a standard container. This solution is considered sufficient due to the fact that no over-stowing containers and no weight and height limits were violated

a) First stage of master bay planning

b) Bay/Slot deployment

Fig. 5: Examples 1 and 2

Example 2 The second example of Figure 5 (b) depicts a result for 49 containers, of these, 35 were destined to C (yellow), 12 to the U (green) and two to the N (red). The route of the ship is I → N → U → C (the bottom line of the Figure). The result of the algorithm avoided unnecessary movements of containers and unnecessary opening of hatch covers by placing all containers that are destined to a single destination in the inner part of the ship, which is not over-stowed. Note that there is a reefer container below the hatch that is not stowed in a reefer cell. Within that bay, there is no way to solve this without replacing it with the reefer cell from above the hatch, which is destined for the U . This will create over-stowage for that container and will force us to remove all the containers above it when arriving in the U (green). Since this is a much more expensive operation, the algorithm yielded a less expensive solution. In this case, the stowage controller can choose to interactively switch between the two containers and solve this with a more efficient solution

Example 3 Figure 6 depicts an example in which the system generated a nonoptimal solution. A single container in the below deck area has a different port (red vs. yellow). This solution, though considered sufficient, violates the most important consideration of stowing containers for the same destination within a single bay. This solution can engender large expenses in crane motion for unloading and loading in the first port of the route. As depicted, most containers are destined to yellow. Yet there are still four containers that are destined to red. In this case, the stowage controller might choose to interactively switch between two containers and solve for a more efficient solution.

Fig. 6: Example 3 – Bay deployment

Example 4 In the this example, depicted in Figure 7, the red containers will be unloaded efficiently with minimal crane movement, with the ability to unload stacks of containers together.

Fig. 7: Example 4 – An incomplete solution

This example is presented to show an incomplete example. The solution is not optimal for reefer containers, where we suggest two optional solutions. The first raises the penalty cost for reefer container deployment if positioned in a non-reefer slot. In our experiments this solution conveyed a better result. The second solution is for the stowage coordinator to switch between containers on the lower deck and containers on the upper deck

6

Conclusions and future work

In this work, we developed a novel metaheuristic based software system for container vessel stowage planning. In particular, we considered the flexibility and power of the genetic algorithms. Our approach was based on a two-phase procedure. The obtained solutions motivate the application of the proposed strategy in real-life applications, taking into account the upper and lower levels of the vessel and the ability to switch the places of containers in the slots. This novel approach and software system help the stowage planner in two manners: firstly, by providing a complete layout of containers as a planning tool; and also allowing the planner to interactively make changes, when necessary. The software system provides a learning and analysis tool for optimizing algorithm parameters. Further work includes expanding the software for more complex routes (the route is currently restricted to four ports), including cycles. Furthermore, an interesting topic would be to include the ability of considering dynamic environments changes, such as crises, lack of electricity and other unexpected phenomena, which would require to proposed tool to offer partial solutions based on these dynamic changes. The authors would like to thank the FP7 CORDIS, “New Horizons for Multi Criteria Decision Making”, for supporting the development of this work.

References [1] Ambrosino, D., Anghinolfi, D., Paolucci, M., Sciomachen, A.: A new three-step heuristic for the master bay plan problem. Maritime Economics & Logistics 11(1), 98–120 (2009) [2] Ambrosino, D., Anghinolfi, D., Paolucci, M., Sciomachen, A.: An experimental comparison of different heuristics for the master bay plan problem. In: Experimental algorithms, pp. 314–325. Springer (2010) [3] Ambrosino, D., Sciomachen, A., Tanfani, E.: A decomposition heuristics for the container ship stowage problem. Journal of Heuristics 12(3), 211–233 (2006) [4] Avriel, M., Penn, M., Shpirer, N.: Container ship stowage problem: complexity and connection to the coloring of circle graphs. Discrete Applied Mathematics 103(1-3), 271 – 279 (2000) [5] Avriel, M., Penn, M., Shpirer, N., Witteboon, S.: Stowage planning for container ships to reduce the number of shifts. Annals of Operations Research 76(0), 55–71 (1998) [6] Botter, R.C., Brinati, M.A.: Stowage container planning: A model for getting an optimal solution. In: Proceedings of the IFIP TC5/WG5.6 Seventh International Conference on Computer Applications in the Automation of Shipyard Operation and Ship Design, VII. pp. 217–229. North-Holland Publishing Co. (1992), http://dl.acm.org/citation.cfm?id=647138.717368 [7] Carrano, E., Fonseca, C., Takahashi, R., Pimenta, L., Neto, O.: A preliminary comparison of tree encoding schemes for evolutionary algorithms. In: Systems, Man and Cybernetics, 2007. ISIC. IEEE International Conference on. pp. 1969– 1974 (Oct 2007)

[8] Delgado, A., Jensen, R.M., Janstrup, K., Rose, T.H., Andersen, K.H.: A constraint programming model for fast optimal stowage of container vessel bays. European Journal of Operational Research 220(1), 251 – 261 (2012) [9] Ding, D., Chou, M.C.: Stowage planning for container ships: A heuristic algorithm to reduce the number of shifts. European Journal of Operational Research 246(1), 242 – 249 (2015) [10] Dubrovsky, O., Levitin, G., Penn, M.: A genetic algorithm with a compact solution encoding for the container ship stowage problem. Journal of Heuristics 8(6), 585– 599 (2002) [11] Imai, A., Sasaki, K., Nishimura, E., Papadimitriou, S.: Multi-objective simultaneous stowage and load planning for a container ship with container rehandle in yard stacks. European Journal of Operational Research 171(2), 373 – 389 (2006) [12] J-G Kang, Y.D.K.: Stowage planning in maritime container transportation. The Journal of the Operational Research Society 53(4), 415–426 (2002), http://www.jstor.org/stable/822825 [13] Jensen, R.M., Leknes, E., Bebbington, T.: Fast interactive decision support for modifying stowage plans using binary decision diagrams. In: International MultiConference of Engineers and Computer Scientists (2012) [14] Kumar, R., Gopal, G., Kumar, R.: Novel crossover operator for genetic algorithm for permutation problems. International Journal of Soft Computing and Engineering (IJSCE) ISSN 3(2), 252–258 (2013) [15] Li, F., Tian, C., Cao, R., Ding, W.: An integer linear programming for container stowage problem. In: Computational Science – ICCS, pp. 853–862. Springer (2008) [16] Malhotra, R., Singh, N., Singh, Y.: Genetic algorithms: Concepts, design for optimization of process controllers. Computer and Information Science 4(2), 39–59 (2011) [17] Pacino, D.: Fast Generation of Container Vessel Stowage Plans. Ph.D. thesis, Ph. D. Thesis. IT University of Copenhagen, 2012. 140 s.[online] (2012) [18] Pacino, D., Delgado, A., Jensen, R.M., Bebbington, T.: Fast generation of nearoptimal plans for eco-efficient stowage of large container vessels. In: Computational Logistics, pp. 286–301. Springer (2011) [19] Rodrigo, J.: Container ship safety, maritime law (upc) [20] Sciomachen, A., Tanfani, E.: The master bay plan problem: a solution method based on its connection to the three-dimensional bin packing problem. IMA Journal of Management Mathematics 14(3), 251–269 (2003) [21] Sciomachen, A., Tanfani, E.: A 3d-bpp approach for optimising stowage plans and terminal productivity. European Journal of Operational Research 183(3), 1433 – 1446 (2007) [22] Wei-ying, Z., Yan, L., Zhuo-shang, J.: Model and algorithm for container ship stowage planning based on bin-packing problem. Journal of Marine Science and Application 4(3), 30–36 (2005) [23] Wilson, I., Roach, P., Ware, J.: Container stowage pre-planning: using search to generate solutions, a case study. Knowledge-Based Systems 14(3-4), 137 – 145 (2001) [24] Yang, J.H., Kim, K.H.: A grouped storage method for minimizing relocations in block stacking systems. Journal of Intelligent Manufacturing 17(4), 453–463 (2006) [25] Yoke, M., Hean Low, X.X.A., Fan Liu, A., et al.: An automated stowage planning system for large containerships. In: 4th Virtual Int. Conference on Intelligent Production Machines and Systems. (2009)