MULTI-OBJECTIVES MEMETIC DISCRETE DIFFERENTIAL EVOLUTION ALGORITHM FOR SOLVING THE CONTAINER PRE-MARSHALLING PROBLEM 1

The Container Pre-marshalling Problem (CPMP) has the significant effect of reducing ship berthing time, and can help in increasing terminal turnover rate. In order to solve the CPMP, this research proposes a Multi-objectives Memetic Discrete Differential Evolution algorithm (MODDE). To date, existing research in CPMP only focuses on single-objective approaches. However, this is not a suitable approach due to the considerable effort required to validate the hard constraints of CPMP. Therefore, this work aims at addressing the effect of minimizing the number of miss-overlaid containers on the total number of movements in building the final feasible bay layout by embedding it in the multi-objectives evaluation function. The proposed algorithm combines the Discrete Differential Evolution mutation with the Memetic Algorithm evolutionary steps in order to find high quality CPMP solutions, achieve high convergence rate and avoid premature convergence and local optima problems. In addition, it improves the exploration and exploitation capabilities of the algorithm. The standard pre-marshalling benchmark dataset Received: 15 July 2018 Accepted: 4 September 2018 Published: 11 December 2018 Journal of ICT, 18, No. 1 (January) 2019, pp: 77–96 78 (i.e., Bortfeldt-Forster) is used to evaluate the effectiveness of the proposed algorithm. The experimental results reveal that the proposed MODDE algorithm can find good solutions on instances of the standard pre-marshalling benchmarks. This demonstrates that using the multi-objectives approach with a combination of the Discrete Differential Evolution mutation and the Memetic Algorithm evolutionary is a suitable approach for solving multiobjectives CPMP.


INTRODUCTION
One of the essential elements of international trade is maritime transportation, which is considered a key engine of global economic development.Containers provide a smooth flow of goods across many transportation carriers.In addition, terminals play a role in facilitating the physical exchange of containers between land and sea.Therefore, a large proportion of land/yard is reserved for temporary container storage.These yards serve as a temporary area which ensures fast unloading and loading of ships (Lehnfeld & Knust, 2014).
Generally, a yard consists of many blocks, and each block contains many parallel bays.The bay consists of stacks aligned side by side.The containers are piled as tiers vertically (Expósito-Izquierdo, Melián-Batista, & Moreno-Vega, 2012).If a particular container needs to be retrieved from a stack that is not correctly layered according to retrieval order, the top containers must be moved temporarily to other stacks.Such a forced movement is known as a container relocation problem.A container relocation operation is time costly because of the new tasks, which can decrease terminal efficiency (Lehnfeld & Knust, 2014).
Prior to the arrival of new ships, the bay containers will be rearranged by a rail mounted gantry crane according to the retrieval order of each container.This process, which is called container pre-marshalling, can significantly reduce the berthing time of the vessels and improve terminal turnover rate (Grunow, Günther, & Lehmann, 2007).Performing container pre-marshalling with the least effort is known as the Container Pre-marshalling Problem (CPMP) (Bortfeldt & Forster, 2012).
Many CPMP optimizers have been developed, and a few of these optimizers are based on metaheuristic algorithms, precisely the Genetic Algorithm and Ant Colony (Expósito-Izquierdo et al., 2012).Developing new approaches to solve CPMP in more efficient ways than the existing approaches is an active research area (Hottung & Tierney, 2016).Many of the existing optimizers lack an appropriate mathematical modelling, which can better represent the problem and decrease computational time due to the generation of feasible solutions.The current CPMP optimizers only use a single objective function that aims to eliminate the miss-overlaid container with minimum number of movements (Hottung & Tierney, 2016), whilst the main focus of the optimizer is to build the final feasible bay layout (Gheith, Eltawil, & Harraz, 2016).Research on the CPMP problem have focused on a single objective function, whilst none have addressed multi-objectives.The multi-objective approach can minimize the effort of validating the state of the bay and tackle the premature convergence and local optima problems (Talbi, 2009).Therefore, this work aims to address the effect of minimizing the number of miss-overlaid containers to the total number of movements in building the final feasible bay layout.
In this research, three challenges are addressed: finding high quality CPMP solutions, achieving high convergence rate and tackling premature convergence and local optima problems (Jovanovic, Tuba, & Voß, 2015).The development of a suitable optimizer that can fulfil such challenges is highly required (Lehnfeld & Knust, 2014).This work focuses on the selection of a suitable optimizer using Discrete Differential Evolution (DDE) algorithm due to the continuous improvements that have been achieved by DDE in recent years (Wang et al., 2016).Additionally, combining Memetic Algorithms (MA) (which can adopt the strength of other optimization algorithms) within the same framework, may provide a better performance and overcome the weaknesses of other algorithms (Sabar, Abawajy, & Yearwood, 2017) such as DDE.Therefore, DDE algorithm can be effectively hybridized with MA in the mutation phase, where DE can offer a better mutation performance in combinatorial and continuous domain problems (Sabar et al., 2017).
This paper is organized as follows: Studies in CPMP and Memetic DE are briefly reviewed in the related work section.The background section introduces the problem, and concepts such as CPMP, standard MA and DE.The proposed algorithm section explains the improved Memetic DE for CPMP.The experimental setup and results section presents the outcome of the proposed algorithm.Finally, the conclusion section provides the conclusion and suggests future work.

RELATED WORK
The CPMP is a hard constrained combinatorial optimization problem (Hottung & Tierney, 2016).In practice, the CPMP is restricted by the bay size, which is determined by the yard crane.Thus, containers are ordered based on priority, which means that a lower value can be considered as having high priority.In addition, the width of the bay determines the number of stacks, and the height of the bay determines the number of tiers.Therefore, container premarshalling problem solvers aim to convert the initial layout of a bay into a final layout in a minimum number of movements to achieve zero missoverlaid stacks (Gheith, Eltawil, Harraz, & Mizuno, 2014).
Studies in CPMP have been conducted since 2007.Lee and Hsu (2007) proposed an integer programming model to solve the CPMP of small size instances.For larger instances, they used a simple heuristic to solve the problem in order to minimize computation time.The researchers used multiple heuristics to solve small and large size instances, which required more computation time compared to other methods.Later, Caserta, Voß and Sniedovich (2009) suggested the paradigm of heuristic-based corridor method.The algorithm builds a corridor with respect to the current solution to determine the destination stack of a specific misplaced container selected by a roulette-wheel mechanism.The researchers used a dynamic programming algorithm with the proposed corridor method that increased the algorithm complexity time, but failed to explore more solution space.On the other hand, Bortfeldt and Forster (2012) proposed a tree search heuristic to solve the CPMP.They developed a recursive procedure to produce the final solutions that were sensitive to the initial solutions of the procedure, and required higher computation time for large size problems.Expósito-Izquierdo et al. (2012) developed an extension of the Lowest Priority First Heuristic (LPFH) and Ant Colony Optimization.The proposed LPFH used the isolation procedure that suffered from local optima problem due to the isolation procedure (Hottung & Tierney, 2016).Jovanovic et al. (2015) offered an extended LPFH that used a multi-start strategy that attempted several variations for filling stacks.However, the extended LPFH lacked sufficient heuristic control over the solution representation which led to local optima (Hottung & Tierney 2016).Wang, Jin and Lim (2015) used a beam search to find better solutions for a large set of instances.The beam search was more complex and was not able to find optimal solutions for some instances.Recently, Hottung and Tierney (2016) introduced a novel decoder for a Biased Random-Key Genetic Algorithm (BRKGA) that solved the CPMP.Although the computational time of the algorithm was better than the state-of-the-art, the algorithm failed to find the optimal solution for some instances.Similarly, Gheith et al. (2016) also failed to find feasible solutions for some instances even though the Variable Chromosome Length Genetic Algorithm (VLGA) was employed.
As shown in Table 1, many of the developed CPMP optimizers use metaheuristic algorithms, and specifically the Genetic Algorithm and Ant Colony.Nevertheless, many of these optimizers lack an appropriate mathematical modelling that contributes in problem representation.The mathematical modelling that has been used in the literature are single objective functions, where the objective is to minimize the total number of stack moves in order to obtain optimal bay state with zero miss-overlaid containers.Such approaches require high computational time as the proposed algorithms need to validate each stack move and other CPMP hard constraints.Existing methods for solving the CPMP problem can be divided into three categories: 1.
Greedy heuristic methods (constructive algorithms) that start with an empty solution and construct a solution by assigning values to one decision variable at a time, until a complete solution is generated.

2.
Single objective function meta-heuristic method that tackles large-size problem instances by delivering satisfactory solutions in a reasonable time.

3.
Exact methods which find optimal solutions but extremely timeconsuming when solving CPMP.

BACKGROUND
The following sections will discuss the background of the CPMP problem, t he DDE, and the Memetic Algorithms (MAs) used in solving the CPMP problem .

Container Pre-marshalling Problem
CPMP occurs when the items inside a storage area have to be sorted in order to be retrieved without additional reshuffling (Lehnfeld & Knust, 2014).In practice, only blocks can be accessed from the top of a (limited height) stack.The container is considered as well located if there is no container with an earlier due date (priority) on top of it.Otherwise, it will be a miss-overlaid container (Jovanovic et al., 2015).The following hard constraints must be considered in CPMP: 1. CPMP takes place in the same bay (Lee & Chao, 2009).

3.
The position of each container in the container yard is given (Lee & Hsu, 2007;Wang et al., 2015).

4.
The priority of a container to be loaded is given (Lee & Chao, 2009).
Figure 1 shows an example of pre-marshalling a bay that has three miss-overlaid containers.The priority of the container implies the index value of the due date, where earlier due date containers are given lower indices.For example, two containers having due dates at 5pm and 2pm respectively will be indexed as (2, 1).The higher priority container will have lower index value.The CPMP solution is represented by a permutation that consists of the source and target stack numbers as follows: (2, 3), (2, 3), (1, 2). Figure 1.An example solution to the CPMP with miss-overlaid highlighted (Hottung & Tierney, 2016).

Differential Evolution
Differential Evolution (DE) is considered as an efficient meta-heuristic evolutionary algorithm which has been proposed in order to solve continuous optimization problems (Storn & Price, 1997).DE starts with an evolutionary process by initializing the population with individuals in the solution space.At each generation, individuals are selected as parents for the mutation and crossover, to generate the trial offspring individuals (Sabar, Ayob, & Kendall,

b. Differential Evolution
Differential Evolution (DE) is considered as an efficient meta-heuristic evolutionary algorithm which was proposed in order to solve continuous optimization problems (Storn & Price, 1997).DE starts with an evolutionary process by initializing the population with individuals in the solution space.At each generation, individuals are selected as parents for the mutation and crossover, to generate the trial offspring individuals (Sabar, Ayob, & Kendall, 2013;Storn & Price, 1997).In the mutation 2013; Storn & Price, 1997).In the mutation phase, the individual is perturbed by a scaled differential vector that contains several individuals that are randomly selected in order to produce the mutant individual.The offspring individuals are then compared with the parent using the fitness value, and the superior one is chosen as the new individual for the next generation.The evolutionary processes terminate when the termination condition is satisfied, and the solution of the problem will be the best individual in the final generation.

Memetic Algorithm
Memetic Algorithm (MA) is a meta-heuristic algorithm in which problemspecific solvers are combined with evolutionary algorithm.The solvers can be implemented as an approximation, exact or local search heuristics.The hybridization aims to discover good solutions or to find the solutions that are unreachable by the evolutionary algorithms or the local search methods alone.
MAs are known by many names in the literature.Some of the alternative names are hybrid GA, Baldwinian EA, Lamarckian EA and genetic local search algorithms (Neri, Cotta, & Moscato, 2012).MAs combine the most outstanding approaches from local search methods and population-based search techniques.The basic Memetic Algorithm includes: the initialization procedure that is responsible for creating solutions of the initial set of the population, the compete procedure that is used to reconstruct the current population using the old population, and the restart procedure, which is invoked whenever the population falls into degenerate state (Neri et al., 2012).

PROPOSED ALGORITHM Solution Representation
A solution representation for the CPMP has been chosen to be easily adapted by the evolutionary step of the Multi-Objectives Memetic Discrete Differential Evolution (MODDE) algorithm.Consequently, the candidate solution in the CPMP optimization problem is represented by a one-dimensional array.Every solution is considered as a set of N stack moves.Each stack move is classified into forward or backward moves.The forward moves contain the sequence of moves from a particular stack that causes any miss-overlaid containers, while the backward moves contain the backward moves from other stacks to the current stack (the container that caused the miss-overlaid containers).The forward and backward moves are encoded differently as shown in Figure 2, where the candidate solution for the CPMP consists of the sequence of four stack moves for stacks 2 and 3, and each stack having two stack moves (one forward move and one backward move).For example, stack number 2 has two stack moves: 2.1 and 2.2.The 2.1 forward stack move contains a sequence of three moves [(2, 1), (2, 3), (2, 0)].The forward stack move is then followed (not as a sequence) by a backward stack move 2.2 that consists of the one move (0, 2).

Mathematical Model
A mono-objective integer linear programming model was developed by Gheith et al. (2014) to solve the CPMP.The objective function of the CPMP is to minimize the total number of movements required to obtain a final layout of a bay with zero miss-overlaid indices for all the stacks, as shown in equation 1 and equation 2, where the X c ij decision variable indicates whether a container of priority c has moved to another stack, or otherwise: (1) (2) A modified multi-objectives integer programming is proposed to achieve the minimum number of moves and the minimum number of miss-overlaid containers, that are based on the weighted metrics of the multi-objectives scalar approach (Talbi, 2009).This is shown in equation 3: (3) where α 1 and α 2 are weights and α 1 + α 2 =1, z 1 and z 2 are reference points, and z 1 is the lower bound of the moves (Zhang, Jiang, & Yun, 2015), consists of the sequence of four stack moves for stacks 2 and 3, and each stack is having two moves (one forward move and one backward move).For example, stack number 2 has two moves: 2.1 and 2.2.The 2.1 forward stack move contains a sequence of three moves [(2, 1), ( 2, 0)].The forward stack move is then followed (not as a sequence) by a backward stack mov at consists of the one move (0, 2).(1) A modified multi-objectives integer programming is proposed to achieve minimum number of moves, and minimum number of miss-overlaid containers that are based on the weighted multi-objectives scalar approach (Talbi, 2009) as shown in equation 3: where α 1 and α 2 are weights and α 1 + α 2 =1, z 1 and z 2 are reference point, and z 1 is the low of the moves (Zhang, Jiang, & Yun, 2015), and z 2 is the minimum number of miss-overlaid that is equal to zero.The f 1 (x) is the objective function of the total number of moves r achieve the final state of the bay as shown in equation 4 and 5. : and z 2 is the minimum number of miss-overlaid containers that is equal to zero.The f 1 (x) is the objective function of the total number of moves required to achieve the final state of the bay, as shown in equation 4 and 5. : (4) (5) The f 2 (x) is the objective function of the total number of miss-overlaid containers, as shown in equation 6 and 7. (6) The proposed objective function for the multi-objectives CPMP is formulated in the following equation: (8)

Population Initialization
The diversity of a population is a critical issue in the initialization step of the proposed MODDE algorithm.Therefore, a random constructive method is used to initialize the solutions of the suggested algorithm.The initialization algorithm generates the required stack moves for each stack that contains miss-overlaid containers that are necessary to sort the stack.These steps are repeated N times to generate N random solutions, where N is the population size parameter value of the algorithm.Algorithm 1 shows the population initialization algorithm.PopSize← the population size population← create an empty population moves← generate possible stack moves repeat where α 1 and α 2 are weights and α 1 + α 2 =1, z 1 and z 2 are reference point, and z 1 is the lower of the moves (Zhang, Jiang, & Yun, 2015), and z 2 is the minimum number of miss-overlaid con that is equal to zero.The f 1 (x) is the objective function of the total number of moves requ achieve the final state of the bay as shown in equation 4 and 5. : The f 2 (x) is the objective function of the total number of miss-overlaid containers, as sh equation 6 and 7.
The proposed objective function for the multi-objectives CPMP is formulated in the fol equation:

Population Initialization
Diversity of a population is a critical issue in the initialization step of the proposed M algorithm.Therefore, a random constructive method is used to initialize the solutions of the sug algorithm.The initialization algorithm generates the required stack moves for each stack that c miss-overlaid containers that are necessary to sort the stack.These steps are repeated N ti generate N random solutions, where N is the population size parameter value of the alg Algorithm 1 shows the population initialization algorithm.
where α 1 and α 2 are weights and α 1 + α 2 =1, z 1 and z 2 are reference point, and z 1 is the lower of the moves (Zhang, Jiang, & Yun, 2015), and z 2 is the minimum number of miss-overlaid con that is equal to zero.The f 1 (x) is the objective function of the total number of moves requ achieve the final state of the bay as shown in equation 4 and 5. : The f 2 (x) is the objective function of the total number of miss-overlaid containers, as sho equation 6 and 7.
The proposed objective function for the multi-objectives CPMP is formulated in the fol equation:

c. Population Initialization
Diversity of a population is a critical issue in the initialization step of the proposed M algorithm.Therefore, a random constructive method is used to initialize the solutions of the sug algorithm.The initialization algorithm generates the required stack moves for each stack that co miss-overlaid containers that are necessary to sort the stack.These steps are repeated N ti generate N random solutions, where N is the population size parameter value of the algo Algorithm 1 shows the population initialization algorithm.
where α 1 and α 2 are weights and α 1 + α 2 =1, z 1 and z 2 are reference point, and z 1 is the low of the moves (Zhang, Jiang, & Yun, 2015), and z 2 is the minimum number of miss-overlaid co that is equal to zero.The f 1 (x) is the objective function of the total number of moves req achieve the final state of the bay as shown in equation 4 and 5. : The f 2 (x) is the objective function of the total number of miss-overlaid containers, as s equation 6 and 7.
The proposed objective function for the multi-objectives CPMP is formulated in the f equation:

Population Initialization
Diversity of a population is a critical issue in the initialization step of the proposed M algorithm.Therefore, a random constructive method is used to initialize the solutions of the s algorithm.The initialization algorithm generates the required stack moves for each stack that miss-overlaid containers that are necessary to sort the stack.These steps are repeated N generate N random solutions, where N is the population size parameter value of the al Algorithm 1 shows the population initialization algorithm.

MODDE Algorithm
In MODDE, the DE/current-to-best/1 strategy is employed in the mutation step of the Memetic Algorithm.The new individual is compared with the target vector.The restart step is used to prevent the algorithm evolutionary steps from falling into premature convergence by reconstructing the population, and that can be achieved through creating new solutions in the population.The improvement step will improve the solution's quality using a proposed heuristic.The pseudo-code for proposed MODDE algorithm is shown in Algorithm 2.

The Crossover Operator
The crossover operator that employs the tournament selection operator with a selection pressure (TournSize) (Miller & Goldberg, 1995) is applied to the population.Then, a modified single-point crossover operator with a constraint checking procedure is applied to the parents, and the best solutions are selected.Figure 3 demonstrates an example of a modified single point crossover with CPMP chromosome.The chosen point is 0.5, where the first and second child stack moves will have the same encoding of the first parent stack move.

The Mutation Operator
The DE Mutation step uses the DE/current-to-best/1 strategy, as shown in equation 9, to speed up the convergence speed of the Differential Evolution algorithm (Storn & Price, 1997).Algorithm 3 shows the algorithm of creating

The Improvement Step
The improvement step includes two improvements: remove duplicate solutions and local search.In the remove duplicate solutions step, the algorithm improves the diversity of the population by replacing the duplicated solutions with random generated ones.As for the second improvement, the neighbourhood selection heuristic, as shown in Algorithm 4, seeks better solutions based on random replacement of stack moves with a lower number of moves.The hill-climbing algorithm will terminate when a better solution is found or the maximum number of iterations is reached.

The Mutation Operator
The DE Mutation step uses the DE/current-to-best/1 strategy, as shown in equation 9, to speed convergence speed of Differential Evolution algorithm (Storn & Price, 1997)

The Improvement Step
The improvements step includes two improvements: remove duplicate solutions and local sea the remove duplicate solutions step, the algorithm improves the diversity of the populati replacing the duplicated solutions with random generated ones.As for the second improveme neighbourhood selection heuristic, as shown in Algorithm 4, seeks for better solutions bas random replacement of stack moves with lower number of moves.The hill-climbing algorith terminate when better solution is found or the maximum number of iteration is reached.

The Restart Step
When a population falls into a degeneration situation, the restart step is employed.One of the most popular strategies used with the restarting step is to keep a portion of the population and create new solutions in place of the remaining individuals.For the proposed MODDE algorithm, 70% of the population is kept, while 30% of the remaining population is generated using a random heuristic similar to the initialization algorithm shown in Algorithm 1.

EXPERIMENTAL SETUP AND RESULTS
The performance of the proposed MODDE algorithm is investigated based on Bortfeldt and Forster instances (Bortfeldt & Forster, 2012).The parameter settings for the MODDE algorithm is independently tested on each of the datasets for 31 times.Accordingly, the experiments are based on instances using five different scenarios, as shown in Table 2.All scenarios differ according to the value of the α1 and α2 weights used in the objective function (equation 8).The remaining parameters are the same in all of the scenarios.Last but not least, the algorithms used in the experiments are implemented using Oracle Java and run on Intel Core i7 (2.4GHz) CPU PC that includes 8 GB of RAM.In order to demonstrate the effect of different parameter scenarios of the proposed multi-objectives algorithm, we have compared the results of the dataset provided in Bortfeldt & Forster (2012).Table 3 shows the number of moves found to solve the Bortfeldt and Forster dataset (BF) (Bortfeldt & Forster, 2012) for different parameter settings scenarios.In Table 4, the rankings of the compared different parameter scenarios of the proposed algorithm generated by the Friedman test are shown based on the average number of moves.Furthermore, the Friedman test has shown a significant difference of parameter scenarios of the proposed multi-objectives compared algorithms, with a p-value of 0.00000005567, which is below the significance level (α = 0.05).
Table 4 shows that the proposed algorithm with scenario 5, with α 1 = 0.9 and α 2 =0.1, achieved best ranking among other scenarios based on the average number of moves.Additionally, the proposed MODDE algorithm is compared using parameter setting scenario 5 with Genetic Algorithm (Langdon & Poli, 2002) and Discrete Differential Algorithm (Storn & Price, 1997) based on the BF instances in the BF dataset, as shown in Table 5, where both GA and DDE objective function are based on equation 8.The results show that MODDE achieves better performance than other algorithms based on the number of moves.6 shows the ranking of the compared algorithms generated by the Friedman test based on the number of moves.The Friedman test shows a significant difference of parameter scenarios of the proposed multiobjectives compared algorithms, with a p-value of 0.0028441, which is below the significance level (α = 0.05).This indicates that the proposed MODDE algorithm outperforms GA and DDE algorithms.

Figure 2 .
Figure 2. Example of a candidate solution the solution using all possible stack moves PopSize← the population size population← create an empty population moves← generate possible stack moves repeat // create the solution using all possible stack moves MaxItr← maximum number of iterations of MODDE MGWI← max generation without improvement PopSize← the population size TourSize← Tournament selection size F← DE mutation scaling factor population← create an empty population for i=1 : PopSize population← population ∪ new random solution end for Sort(population) // sort the population based on the fitness Best← population(1) // the best solution for i=1 : MaxItr // the evolutionary phases of AMADE population←crossover(population) population ←DEMutation(population) population ←Improve(population)(continued)

Figure 4
Figure4shows the first 200 iteration convergence curves based on three datasets with different bay sizes.The convergence curves demonstrate that MODDE has better performance as it converges in the early iterations based on the three datasets.The improved memetic phases show the effectiveness in preventing the algorithm from falling into premature convergence.Moreover, data in Table6shows the ranking of the compared algorithms generated by the Friedman test based on the number of moves.The Friedman test shows a significant difference of parameter scenarios of the proposed multiobjectives compared algorithms, with a p-value of 0.0028441, which is below the significance level (α = 0.05).This indicates that the proposed MODDE algorithm outperforms GA and DDE algorithms.

Table 1
Summary of Related Work in Solving CPMP candidate solution in CPMP optimization problem is represented by one-dimensional array.Every solution is considered as a set of N stack moves.Each stack move is classified into forward or backward moves.The forward moves contain the sequence of moves from particular stack that causes any miss-overlaid containers, while the backward moves contain the backward moves from other stacks to current stack (the container that caused the miss-overlaid containers).The forward and backward moves are encoded differently as shown in Figure2, where the candidate solution for CPMP consists of the sequence of four stack moves for stacks 2 and 3, and each stack is having two stack moves (one forward move and one backward move).For example, stack number 2 has two Figure 2. Example of a candidate solution athematical Model no-objective integer linear programming model is developed by Gheith et al. (2014) to solve th .The objective function of CPMP is to minimize the total number of movements required to a final layout of a bay with zero miss-overlaid indices for all the stacks is shown in equation 1 the

Algorithm 4: pseudo-code of the neighbourhood solution search
. Algorithm 3 sho algorithm of creating a trial individual, where C is the current individual, C best is the best indiv C rand is a new random individual and F is the mutation scaling factor. =  � + � × ( � −   )�

Table 2
Parameter setting scenario used in experiments.

Table 3
Number of moves required to solve instances in the BF dataset moves with different parameter setting scenarios

Table 4
Result of Friedman tests ranking based on the average number of moves for the MODDE parameter scenarios

Table 5
Number of moves required to solve instances in the BF dataset moves by using the proposed MODDE algorithm and other algorithms

Table 6
Result of Friedman test ranking for the proposed MODDE, GA and DDE algorithms based on the number of moves