Multi-Objective Optimization Algorithm Based on Sperm Fertilization Procedure ( MOSFP )

Abstract: In this paper, we propose an extended multi-objective version of single objective optimization algorithm called sperm swarm optimization algorithm. The proposed multi-objective optimization algorithm based on sperm fertilization procedure (MOSFP) operates based on Pareto dominance and a crowding factor, that crowd and filter out the list of the best sperms (global best values). We divide the sperm swarm into three equal parts, after that, different types of turbulence (mutation) operators are applied on these parts, such as uniform mutation, non-uniform mutation, and without any mutation. Our algorithm is compared against three well-known algorithms in the field of optimization. These algorithms are NSGA-II, SPEA2, and OMOPSO. These algorithms are compared using a very popular benchmark function suites called Zitzler-Deb-Thiele (ZDT) and Walking-Fish-Group (WFG). We also adopt three quality metrics to compare the convergence, accuracy, and diversity of these algorithms, including, inverted generational distance (IGD), spread (SP), and epsilon (∈). The experimental results show that the performance of the proposed MOSFP is highly competitive, which outperformed OMOPSO in solving problems such as ZDT3, WFG5, and WFG8. In addition, the proposed MOSFP outperformed both of NSGA-II or SPEA2 algorithms in solving all the problems.


Introduction
The use of evolutionary algorithms in the area of multi-objective optimization has significantly grown in the last decades.Evolutionary multi-objective optimization (EMO) is giving rise to a wide variety of optimization algorithms.These algorithms use a set of techniques including, dominated tree [1], adaptive grid based on data structures to store non-dominated vectors [2], and archive techniques, etc.These techniques help different types of algorithms to provide a solution for various multi-objective optimization problems (MOOPs) [3].Multi-objective optimization (MOO) is a concept based on plurality of objective functions, rather than single objective optimization (SOO) that is used to solve a single objective function.These functions in MOO are often conflicting and non-commensurable with each other.Based on this observation, the Pareto optimality concept has been introduced to solve the problems of MOO instead of using the optimality concept of SOO, where the final solutions of MOO problems have been selected among a set of Pareto optimal solutions [4].
Based on the idea of Pareto optimality, there are many single optimization algorithms that have been extended to work on MOO problems, which some of these algorithms inspired from the metaphor of natural or man-made processes [5].Examples of these algorithms are genetic algorithm (GA) and particle swarm optimization (PSO) [6,7].Non-dominated sorting genetic algorithm (NSGA) [8] and non-dominated sorting genetic algorithm II (NSGA-II) [9] are the extended versions of GA that are used to optimize different types of MOO problems.In addition, multi-objective particle swarm optimization (MOPSO) and optimized multi-objective particle swarm optimization (OMOPSO) are the extended versions of PSO algorithms, which are created to solve MOO problems [10,11].
These algorithms are used to find a solution for a wide variety of real world multi-objective optimization problems (MOOPs).Examples of these problems include the Yagi-Uda antenna design [12], the design of mobile and telecommunication networks [13], scheduling [14], rock crusher design [15], stationary gas turbine combustion process optimization [16], nuclear fuel management [17], defense applications [18], and distributing products through oil pipeline networks [19].These problems have many objectives, some of them are minimization and the other are maximization objectives.Usually, there is a set of compromise solutions, and a trade-off between these objectives, so the aim of the multi-objective optimization algorithm (MOOA) is to discover a range of solutions that offer a variety of tradeoffs between these objectives [20].
Sperm swarm optimization (SSO) algorithm is a recent heuristic inspired by the fertilization procedure, in which sperms swim in swarms until reaching the waited egg in the fallopian tubes.SSO has been found to provide a solution for a wide variety of optimization tasks [21], but until recently it had not been extended to deal with multiple objectives.SSO seems particularly appropriate for MOO tasks mainly because of the high speed of convergence and good quality of solutions that the algorithm presents for SOO [21].For this purpose, in this paper, we intend to extend the SSO as MOOA, which we will compare it with different types of MOOAs by using a set of quality metrics, such as inverted generational distance (IGD), spread (SP), and epsilon (∈).These metrics are measured based on the results of some benchmarks functions, such as Zitzler-Deb-Thiele (ZDT) and Walking-Fish-Group (WFG) test suites that will be discussed further in later Sections.We organize this paper as follows: Section 2 presents state of the art.The proposed multi-objective optimization algorithm based on sperm fertilization procedure (MOSFP) is presented in Section 3. Section 4 describes the details of the comparison strategy.Section 5 shows the experimental test and results.Section 6 presents the discussion and we conclude the work in Section 7.

State of the Art
This Section provides a review on SSO algorithm, which covers its parts and limitations.In addition, this Section summarizes the full procedure of the SSO algorithm with its mathematical rules.

Sperm Swarm Optimization Algorithm
Shehadeh et al. [21], proposed an approach called sperm swarm optimization (SSO), which was inspired by fertilization procedure.This approach can be considered as a distributed behavioral algorithm that can be applied to multi-dimensional search space.Through the simulation, the behavior of motility of each individual can be affected by either the current best local solution or by the best global solution of the sperm swarm.The former solution can be achieved by any sperm based on the certain neighborhood, as each individual remembers its past position to determine the new position.At the same time, the latter solution can be achieved by any sperm based on its position from the target, as this solution will be remarked by the sperm that has a very closest position to the target (egg).In this algorithm, a sperm that has a very closest position to the target is called the winner.Researchers found that the sperm swarms move together, forming groups when they are swimming in viscoelastic fluids and their behavior of moving exhibiting similar to "flocking".They also observed a certain movement beat and degree of synchronicity of tail movements during grouping [22].Figure 1 shows the winner and other sperm cells reaching for the egg [21].
The evolutionary algorithms such as GA is an inherently discrete procedure.The enhancement of GA using adaptive selection scheme, such as in [23] is used to deal with each individual independently and can easily perform discrete design variables.Therefore, the static variables can be used easily in 1.The normal pH value of a healthy female reproductive system is around 4.5-5.5 [24].However, low pH of mucus acidic may destroy and deactivate the motility of sperm.Therefore, during the ovulation, the pH of vaginal acid or acidic is in the range of 7 to 4, which is very appropriate for sperm motility and is considered very alkaline and non-toxic to sperm [25].The pH value of the female reproductive system is affected by the type of food consumed [26] and emotional or mood status of the female, such as happiness or sadness, etc. [27].Based on this information, we can estimate that the value of pH will be varied in the range of 7 to 14. 2. The temperature of the female reproductive system plays a significant role of determining the sperms movement direction.The scientists found that the sperm head acts like a temperature sensor to search for a warmer area (the egg location) [28].Furthermore, the sperm head can response and sense to a temperature difference of <0.0006 °C [28].The temperature inside the vagina can change based on women status.The average temperature inside the vagina is approximately between 35.1 and 37.4 °C [29].However, this temperature may reach 38.5 °C in some cases due to vaginal blood pressure circulation [30].Based on this information, we can estimate that the value of temperature will be varied in the range of 35.1-38.5.
Based on the previous rules, we can notice that SSO is difference than evaluation algorithms such as GA, in which GA is an inherently discrete procedure.GA and its adaptive methods (enhancement methods of GA using some adaptive selection scheme, etc.), such as in [23], are used to deal with each individual independently; therefore, it easily performs discrete design variables.Therefore, the static variables can be used easily in their evaluation.In a different view, SSO uses the inherently continuous technique to update the sperm velocity and location, which each sperm remembers its past location and based on it produces a new location.SSO uses the random parameter rather than static parameters (i.e., temperature and pH), which play a significant role in updating the position of each sperm until reaching the optimal value.The history of samples is not cached for each sperm such as pH value and the temperature value of the visited area.Only, the position of each sperm will be cached in memory.This is because the position is the outcome of multiplying some numerical variables with each others', such as the pH value, temperature value, and sperm best solution, etc.Therefore, the position of each sperm is very important to be cached, in which SSO uses the cached position (old position) to compare it with the new position and it changes the old position just in case of if the new position is better than the old one.This is clear in the equations from 1 to 5, and procedure of Algorithm 1.In addition, it uses mutation operations, which are used to increase Most of the previous well-known algorithms use randomness in their evaluations.PSO [7] is one of the most popular algorithms in the field of optimization that uses the randomness in its procedure.C 1 and C 2 numerical variables, that take random values in the range of 0 to 4. The adaptiveness of the SSO algorithm is based on two factors (i.e., temperature and pH).These variables take a range of numerical variables randomly based on the following rules: 1.
The normal pH value of a healthy female reproductive system is around 4.5-5.5 [24].However, low pH of mucus acidic may destroy and deactivate the motility of sperm.Therefore, during the ovulation, the pH of vaginal acid or acidic is in the range of 7 to 4, which is very appropriate for sperm motility and is considered very alkaline and non-toxic to sperm [25].The pH value of the female reproductive system is affected by the type of food consumed [26] and emotional or mood status of the female, such as happiness or sadness, etc. [27].Based on this information, we can estimate that the value of pH will be varied in the range of 7 to 14.

2.
The temperature of the female reproductive system plays a significant role of determining the sperms movement direction.The scientists found that the sperm head acts like a temperature sensor to search for a warmer area (the egg location) [28].Furthermore, the sperm head can response and sense to a temperature difference of <0.0006 • C [28].The temperature inside the vagina can change based on women status.The average temperature inside the vagina is approximately between 35.1 and 37.4 • C [29].However, this temperature may reach 38.5 • C in some cases due to vaginal blood pressure circulation [30].Based on this information, we can estimate that the value of temperature will be varied in the range of 35.1-38.5.
Based on the previous rules, we can notice that SSO is difference than evaluation algorithms such as GA, in which GA is an inherently discrete procedure.GA and its adaptive methods (enhancement methods of GA using some adaptive selection scheme, etc.), such as in [23], are used to deal with each individual independently; therefore, it easily performs discrete design variables.Therefore, the static variables can be used easily in their evaluation.In a different view, SSO uses the inherently continuous technique to update the sperm velocity and location, which each sperm remembers its past location and based on it produces a new location.SSO uses the random parameter rather than static parameters (i.e., temperature and pH), which play a significant role in updating the position of each sperm until reaching the optimal value.The history of samples is not cached for each sperm such as pH value and the temperature value of the visited area.Only, the position of each sperm will be cached in memory.This is because the position is the outcome of multiplying some numerical variables with each others', such as the pH value, temperature value, and sperm best solution, etc.Therefore, the position of each sperm is very important to be cached, in which SSO uses the cached position (old position) to compare it with the new position and it changes the old position just in case of if the new position is better than the old one.This is clear in the equations from 1 to 5, and procedure of Algorithm 1.In addition, it uses mutation operations, which are used to increase the convergence.The mathematical rule that is used in SSO to update the sperm velocity consists three parts as follows: 1.
The initial velocity of the sperm: is the velocity that acquired by each sperm after the ejaculation in the cervix zone.The sperm swarms take random positions inside the cervix and their velocity is affected by the pH value in that position.This velocity can be represented in the following rule: where: • D: is the velocity damping factor, which is a random number between 0 and 1.

•
V i : is the sperm velocity.• pH_Rand 1 : is the pH value, which is a random number in the range of (7,14).

2.
Personal sperm current best solution: is the best solution that achieved so far by the sperm.As we mentioned previously, sperm head acts like a temperature sensor, which prefers to swim towards warmer temperatures (egg location) [28].In addition, sperm moves forward to search on the guidance (higher concentrations of molecules) that produced and released by the egg, which this guidance knew as Chemo-taxis [31].From this information, we can realize that the sperm will not swim backward to the cervix, but, will go forward towards warmer temperatures (the egg location in fallopian tubes).Based on that, this position can be achieved by comparing the sperm current position on X-axis and Y-axis with a sperm past position that is stored in the memory.
The past position can be replaced by the current position if the current position is better than the past position.Personal sperm current best solution can be represented in the following equation: where: • sb_ solution []: is the best solution that has been achieved so far, which denoted by Sperm Best (sb_ solution).• pH_Rand 2 : is the pH value, which is a random number in the range of (7,14).

•
Temp_Rand 1 : is the area temperature, which is a random number in range (35.1, 38.5).

3.
Global best value is used to determine which sperm's data is currently closest to the target (at the end, this sperm will represent as the winner).The value of sperm global best value is represented as the following equation: where: • sgb_solution[]: is the best solution of any sperm has achieved so far which denoted by Sperm Global Best (sgb_solution).• pH_Rand 3 : is the pH value, which is a random number in the range of (7,14).

•
Temp_Rand 2 : is the area temperature, which is a random number in the range of (35.1, 38.5).

•
current[]: is the current best solution represented by the following equation.
where v[] is the sperm velocity which measured by companies the previous velocities in one equation as follows: We take the log for both pH and temperature parameters to normalize these values to become small values.This will help to achieve an acceptable slow velocity that simulates the normal movements of real sperm.
In this paper, we intend to extend SSO algorithm as a multi objective algorithm using Pareto dominance and the concept of winner.The winner is the nearest sperm to the egg.The value of this sperm is considered as the best value of the swarm.The value of the winner (global best value) is used as a reference for all of the other sperm in the swarm to adjust their velocities on the search space domain.The benefits of MOOA over single objective optimization algorithm (SOOA) is the ability of MOOA in finding the correct trade-off between possibly conflicting terms by providing a set of solutions that explore these trade-offs, so that the optimal choice can be made easily.This helps to utilize SSO algorithm in solving many MOOPs such as the problems that mentioned in the introduction Section.The steps of SSO algorithm procedure can be summarized in Algorithm 1. Apply mutation operation on the sperm value 16: End for 17: Step 7: while maximum iterations not achieved return to step 2 and repeat until reaching the 17: maximum number of iterations.18: End procedure.

Multi-Objective Optimization Algorithm Based on Sperm Fertilization Procedure (MOSFP)
The main idea of every MOOAs is to find Pareto optimal set.The Pareto optimal set is used to balance the conflicting objectives and manage the trade-offs between them.Vilfredo Pareto (the Italian economist), is the founder of the concept of Pareto optimality, which is conceptualized in his work called manual of political economy (MPE) in 1906 [32].The Pareto optimality definition based on some basic concepts can be introduced as follows: • Domination: x 1 , may dominate a position vector, x 2 (x 1 < x 2 ), if and only if ), for at least one k [33].

•
Pareto optimal: A vector x * ∈ F is defined as Pareto-optimal if no vector exists x ∈ F such that f k (x) ≤ f k (x * ), k ∈ N, and f m (x) < f m (x * ) for at least one m ∈ N.An objective vector z * = f (x * ) is called Pareto optimal if the corresponding vector x * is the Pareto optimal.The set of the Pareto optimal decision vectors x * ∈ F is denoted by P ⊆ F [34].

•
x * ∈ F is the Pareto optimal of a position vector if no position vector that dominates it, x = x * ∈ F. The Pareto optimal solution is non-dominated solution, which not dominated by other solutions [34].

•
Pareto optimal set: is a set containing all the Pareto optimal vectors P s The first step in any MOOA is to minimize the distance between the true Pareto front and the solutions.To achieve this objective, appropriate fitness functions must be defined.Aggregation based method is a traditional method of assigning fitness function, where a weighted sum of the objective functions is used to define the fitness function [36].
There are many limitations of a classic approach, such as the tendency to be inefficient and very susceptible to precise accumulation of goals [32].For these reasons, the MOOAs have been proposed by many researchers, including complex methods to obtain optimal weights of the objective function such as neural network [37].Some of the researchers also proposed the Pareto dominance for fitness assignment, where the fitness is proportional to the dominance rank of solutions.Pareto dominance is used in many algorithms to generate and identify a list of best solutions that are used to solve the MOOPs.MOPSO is considered as one of the popular algorithms that uses this technique [38].
In the proposed MOSFP, the crowding factor [39] has been used to help in building the criterion of a second discrimination (additional to Pareto dominance).This also helps in making a decision about winners that should be reserved when the algorithm executes the maximum list size.In our algorithm, the winner has been chosen based on means of a binary tournament that is related to crowding value of the winners.All of the best values (winners) have been crowded as a set.The size of the set of winners (SoW) is identified, in which the maximum size of them are equal to the size of the population or the swarm.After each generation, the SoW and the corresponding crowding values related to them are updated.In the case of the size of SoW is greater than the maximum defined size, the best winners are defined based on their crowding value, and after that, they are reserved and the others are eliminated.
The crowding factor is used in many types of research such as [11,40,41].This technique helps to control and manage the winners without requiring any kind of selection criterion.In this algorithm, we propose the use of mutation operations that are used in many optimization algorithms, such as NSGA-II, MOPSO, and OMOPSO [8,10,11].There are many types of the mutation, such as uniform mutation and non-uniform mutation.The uniform mutation provides a constant of variability range for each decision variable, while in non-uniform mutation, the variability range for each decision variable is not constant.We propose the use of different mutation level by combining both uniform and non-uniform mutations as in [11].These operators play a significant role by modifying the values of the decision variables of a sperm.In addition, we intend of not using mutation at all in case the previous mutation operations failed to find the proper results, this part of the population (population without mutation) will reserve on good results.In this procedure, the swarms are divided to three equal parts, including, part that will have non-uniform mutation, part will have uniform mutation, and part without any mutation.By using this procedure, the MOSFP can explore uniform, non-uniform mutations search space as the process progresses.Algorithm 2 shows the mutation part of the MOSFP algorithm.As it is clear in Algorithm 2, we take modulus of 3 on the population size to divide the population size into three equal parts.On the first part, we apply non-uniform mutation; on the second part, we apply uniform mutation; while, on the third part, we do not apply any mutation at all.We use the concept ∈ − dominance that has been used in [11,42,43].This concept is used to fix the size of non-dominance solutions (external archive).We can say that a decision vector x 1 ∈ − dominance a decision vector x 2 for some ∈> 0 if and only if: ), for at least i = 1, . . . .., m. ∈ − value is a user defined value, which is used to determine the size of the final external archive.In our algorithm like [11], we use the same value of for all objective functions, which are changed based on the amount of points in the final Pareto front.
The full procedure of MOSFP is summarized in Algorithm 3. At the beginning of the procedure, MOSFP initializes the sperm swarm.SoW is introduced based on the non-dominated sperms.In addition, the crowding factor, later on will be calculated.At each generation, for each sperm, the swim and the mutation procedure that is described in Algorithm 2 have been performed.In order to perform the swim of each sperm, the following equation (sperm velocity update rule) has been used: where D is a velocity damping factor, which takes a random value in the range of (0, 1); pH_Rand 1 , pH_Rand 2 , and pH_Rand 3 are the pH values of the visited regions, which take a value in the range of (7,14).The process of updating the personal sperm current best solution is based on two cases; first, if the value of personal sperm current best solution is dominated by the new sperm; second, if the personal sperm current best solution with the new sperm value are non-dominated with respect to each other.Later on, if all sperms have been updated, the SoW will be updated too, which the sperms that achieve the new positions that are better than the old positions will have the possibility to join the winner set.After that, the ∈ −archive will take the place on the procedure to be updated.Finally, the crowding values of SoW are processed to be updated, as many of the winners are eliminated in case of exceeding the determined size of the winners set.This process is repeated many times until it reached the determined number of iterations (i max ).The parameter needed by this algorithm are (1) S_size (swarm size), ( 2) i (number of iterations), ( 3) mutRate (mutation rate, which is automatically computed), and (4) ∈, which is the value of the bounding size of the ∈ −archive.

Comparison Strategy
Several test functions have been used to compare our algorithm with the mostly used MOOAs.In order to apply the quantitative assessment of the efficiency and performance of MOOA, three issues should be taken into consideration [38,44].

1.
Minimize the distance between the global Pareto front (the well-known Pareto front of any problem) and the Pareto front that produced by our approach.

2.
Maximize the spread of the solutions that produced by our approach, so uniform distribution of vectors can be achieved.

3.
Maximize the convergence of algorithm to obtain a good quality of the Pareto optimal set found.
Based on these notions, we can apply one metric to estimate each of the three issues previously mentioned.We chose the frequently used metrics for this purpose as in [38,44,45].These metrics are inverted generational distance (IGD), which is used to cover the notion number 1, spread (SP), which is used to cover notion number 2, and epsilon (∈), which is used to cover notion number 3.These metrics that adopted in this test are summarized in the following points: Inverted Generational Distance (IGD): the generational distance measurement was proposed by Van Veldhuizen et al. [46][47][48].This measurement is used to estimate how far the Pareto front of an algorithm from the true Pareto front of any problem.This metric can be calculated by: where n is the number of non-dominated vectors that found by any algorithm, d i is the Euclidean distance that measured in object space between the true Pareto front of any problem and the vectors that generated by any algorithm.It is clear that IGD metric should be near or equal to zero.In other meaning, if IGD = 0, all of the elements generated are in the true Pareto front of the problem [49,50].We use IGD to test the Symmetry 2017, 9, 241 9 of 29 first issue, which is mentioned previously, by comparing a true Pareto front of a problem (the reference Pareto front) with a Pareto front that produced by any algorithm of the same problem.Spread (SP): is the diversity metric that is used to measure the extent of spread and distribution of solutions in the set S of optimal solution.Figure 2 illustrates the spread metric of five non-dominated solutions of S, which are spread in two cases.In the first case shown in Figure 2a, there is a poor spread, but a good distribution, in which S does not contain the radical points, such as (1, 0), (0, 1) on the 2-dimensional Pareto front.On the other hand, in the second case shown in Figure 2b, there is unfavorable distribution, but a good spread of an optimal solution set [51].We use SP to test the second issue that mentioned previously.SP can be measured by the following equation [52]: where: Epsilon (∈): is a binary indicator operates by considering all of the objectives to give a factor by which an approximation set is worse than another.Formally, let M and N be two approximation sets, then ∈ (M, N) equals the minimum factor ∈, which for any solution in set M there is at least one solution in N that is not considered as worse by a factor of ∈ considering all the objects [53].This metric is very important to determine the quality of the obtained solution set by each algorithm [54].We calculate ∈ to test the third issue that mentioned previously.
We chose the previous mentioned metrics as in [38,44,45], which epsilon is used to measure the algorithm convergence, spread is used to measure the spread of the solution, while IGD is a metric that combines both of these components [44].
Symmetry 2017, 9, 241 9 of 27 (0, 1) on the 2-dimensional Pareto front.On the other hand, in the second case shown in Figure 2b, there is unfavorable distribution, but a good spread of an optimal solution set [51].We use SP to test the second issue that mentioned previously.SP can be measured by the following equation [52]: where: • i d : is the Euclidean distance measured based on the distance between consecutive solutions, Epsilon (∈): is a binary indicator operates by considering all of the objectives to give a factor by which an approximation set is worse than another.Formally, let M and N be two approximation sets, then ( ) equals the minimum factor ∈ , which for any solution in set M there is at least one solution in N that is not considered as worse by a factor of ∈ considering all the objects [53].This metric is very important to determine the quality of the obtained solution set by each algorithm [54].
We calculate ∈ to test the third issue that mentioned previously.We chose the previous mentioned metrics as in [38,44,45], which epsilon is used to measure the algorithm convergence, spread is used to measure the spread of the solution, while IGD is a metric that combines both of these components [44].To estimate the performance of our approach, we choose the most popular MOOAs by consensus of the specialists in the field of MOO.These algorithms are NSGA-II, strength Pareto evolutionary algorithm 2 (SPEA2), and OMOPSO.The study in [54] found that NSGA-II and SPEA2 are the most popular optimization methods among other evolutionary algorithms.Another study in [55] proved that OMOPSO is the most famous optimization approach between other swarm intelligence approaches because it has a higher performance and good quality of results.For these reasons, these algorithms have been chosen to compare their results with MOSFP using the same hardware, environment and platform for each algorithm.We organize these algorithms along with their characteristics as follows: • Non-dominated Sorting Genetic Algorithm (NSGA-II): is one of the most popular algorithms in MOO area.This algorithm performs a set of operators that deduced from the single objective To estimate the performance of our approach, we choose the most popular MOOAs by consensus of the specialists in the field of MOO.These algorithms are NSGA-II, strength Pareto evolutionary algorithm 2 (SPEA2), and OMOPSO.The study in [54] found that NSGA-II and SPEA2 are the most popular optimization methods among other evolutionary algorithms.Another study in [55] proved that OMOPSO is the most famous optimization approach between other swarm intelligence approaches because it has a higher performance and good quality of results.For these reasons, these algorithms Symmetry 2017, 9, 241 10 of 29 have been chosen to compare their results with MOSFP using the same hardware, environment and platform for each algorithm.We organize these algorithms along with their characteristics as follows: • Non-dominated Sorting Genetic Algorithm (NSGA-II): is one of the most popular algorithms in MOO area.This algorithm performs a set of operators that deduced from the single objective Genetic Algorithm (GA).These operations are selection, crossover and mutation operators [9].The pseudo-code of NSGA-II is summarized in Algorithm 4 [8].Assign rank (level) based on Pareto -"sort" 12: Generate sets on non-dominated fronts 13: Loop (inside) by adding solutions to next generation 14: Starting from the "first" front until M individuals found 15: Determine crowding distances between points on each front 16: Select points (elitist) on the lower front (with lower rank)and are outside a crowding 16: distance 17: Create next generation 18: Binary tournament Selection 19: Recombination and mutation 20: Increment generation index 21: End for 22: End Procedure.

•
Strength Pareto Evolutionary Algorithm 2 (SPEA2): is a multi-objective algorithm, which is created as an improvement version of strength Pareto evolutionary algorithm (SPEA) algorithm [56].This algorithm proposed by Zitzler et al. [57].The procedure of this algorithm works based on dominance, which each single individual dominates or is dominated by other solutions.The nearest neighbor technique is used to guide the search.In addition, this algorithm operates based on preserving the boundary solutions by using archive truncation method [58].Algorithm 5 summarizes the pseudo-code of this algorithm [59].

•
Optimized Multi-objective Particle Swarm Optimization (OMOPSO): proposed by Sierra et al. [11].This algorithm performs a set of operators to solve MOOPs, such as crowding the global best solutions that known as leaders, performs mutation, after that, performs an archive of the leaders.The pseudo-code of OMOPSO is summarized in Algorithm 6.
In order to compare our algorithm with the previously mentioned algorithms, we use two techniques, including, quantitative and qualitative tests.For the quantitative test, we adopt the IGD, SP, and ∈ measures, while for the qualitative test, we compare between the quality of Pareto fronts that is achieved by our algorithm and the Pareto fronts that achieved by the other algorithms.For these purposes, two test suites called Zitzler-Deb-Thiele (ZDT), and Walking-Fish-Group (WFG) have been used in this work.Add non-dominated individuals from P and A 8: If capacity of A is exceeded Then 9: Remove individuals from A by truncation operator 10: End If 11: Perform binary tournament selection to create mating pool 12: Perform crossover 13: Perform mutation 14: End for 15: End Procedure.

•
Zitzler-Deb-Thiele (ZDT) Test Suite: this suite is proposed by Zitzler et al. [60].ZDT suite is the most widely utilized suite of benchmark functions in evolutionary algorithms and swarm intelligence algorithms literature.The characteristics of ZDT problems are analyzed in Table 1.
From the table, we can notice that the geometry of ZDT1 is convex, and the geometry of ZDT2 is concave.In addition, ZDT3 is disconnected on both the Pareto front and the Pareto optimal set, while the other functions consist of convex or concave components.The ZDT benchmark functions share many characteristics, including, how multimodality can cause a disconnected Pareto problems such as in ZDT3, and many-to-one Pareto problem, such as in ZDT6.These functions utilize only a single parameter, which means that these functions own only one variable.There are many advantages of using ZDT problem as a benchmark function for MOOAs, including, that this suite is well defined and employed in many research papers, which facilitate the comparisons with new MOOA.In addition, the Pareto optimal fronts of this suite are easy to apply and to understand [61].For these reasons, we choose this suite to test our proposed algorithm.

•
Walking-Fish-Group (WFG) Test Suite: WFG suite consists of nine problems introduced by [62].The characteristics of these problems are outlined in Table 2 [60].WFG1 and WFG7 are the only both unimodal and separable.WFG6 and WFG9 are the non-separable reduction problems, and they are more difficult than that of WFG3 and WFG2.WFG4 is a multimodality problem with a large "hill sizes" and it is more difficult than that of WFG9.WFG1 employs different parameters by using dissimilar weights in its variable weighted sum reduction.The parameters of WFG7 are dependent on the position and distance-related parameters, whereas WFG9 is more complex, which its distance-related parameters depend on other distance-related parameters.WFG8 is different than WFG9, wherein its distance-related parameters depend on other position and distance-related parameters.WFG5 is highly deceptive function and can be more difficult than that of WFG9.
The WFG test suite is considered as a comprehensive problem, which consists of a wide range of various problems, including, deceptive problems, a mixed shape Pareto front problems, non-separable problems, a truly degenerate problems, problems with dependencies between both distance and position-related parameters, and problems scalable in the number of position related parameters.The WFG test suite can be considered as one of the most commonly used suite of providing a truer means of estimating the performance of MOOAs [63].For these reasons, we choose this suite to test our proposed algorithm.The mathematical definition of ZDT and WFG problems has been defined in the Appendix A.
The abbreviation in Tables 1 and 2 are "NS" for non-separable, "S" for separable, "M" for multimodal, "U" for unimodal, "D" for deceptive.The symbols "" and "+" indicate whether a given recommendation is adhered to, whereas the symbols "+" and "−" indicate the presence or absence of some features.

Experimental Test and Results
We implement the MOSFP algorithm using jMetal tool in the Java language and integrate the implementation into NetBeans IDE 8.1.All of the tests are carried out on a computer with Intel dual core CPU T3200 and 3 GB RAM running Windows 7. We use standard parameters, as recommended in [63], Symmetry 2017, 9, 241 13 of 29 to compare between the proposed MOSFP algorithm and the other algorithms.These parameters are summarized in Table 3.The parameters of all the algorithms are kept in all of the examples presented next.We report the results obtained from executing 100 independent runs of each algorithm for each test function.In each test function, we set the total number of fitness function evaluations to 5000.Three metrics namely, ∈, SP, and IGD are measured and their best, worst, average, and median of each metric based on 5000 runs are presented.

A. ZDT Test Suites
Overall, the OMOPSO algorithm obtained the best average of ∈, SP, and IGD measurement for ZDT test functions, while the proposed MOSFP is in the second followed by NSGA-II and SPEA2 as outlined in Table 4.However, for ZDT3 test function, the proposed MOSFP attained the best average ∈ among all of the algorithms.Despite the ranking, the proposed MOSFP has shown a comparable performance with the OMOPSO algorithm as their difference of average ∈, SP, and IGD measurement are minimal.Both the OMOPSO and MOSFP preserved extreme superior points of the Pareto front such as (0, 1) and (1, 0) for ZDT1 and ZDT2 functions as depicted in Figures 3 and 4. Also, both the OMOPSO and MOSFP preserved the Pareto front extreme superior points of (0, 1) for ZDT3 function and (1, 0) for ZDT6 function, as shown in Figures 5 and 6.In opposite, NSGA-II and SPEA2 failed to obtain these optimal extreme values of the Pareto front for all ZDT functions.

B. WFG Test Suites
Table 5 summarized the best, worst, average, and median of ∈, SP, and IGD measured from 5000 runs for WFG test functions.In this test, the OMOPSO algorithm has the best overall performance among all of the algorithms.However, the proposed MOSFP outperformed the OMOPSO, NSGA-II, and SPEA2 algorithms in solving WFG5 and WFG8 functions in terms of ∈ measurement and the best average of IGD for WFG5 function.

B. WFG Test Suites
Table 5 summarized the best, worst, average, and median of ∈ , SP, and IGD measured from 5000 runs for WFG test functions.In this test, the OMOPSO algorithm has the best overall performance among all of the algorithms.However, the proposed MOSFP outperformed the

B. WFG Test Suites
Table 5 summarized the best, worst, average, and median of ∈ , SP, and IGD measured from 5000 runs for WFG test functions.In this test, the OMOPSO algorithm has the best overall performance among all of the algorithms.However, the proposed MOSFP outperformed the   From Figures 7-15, the proposed MOSFP demonstrates a high ability in obtaining the optimal extreme superior points of the true Pareto front i.e., (0, 4) and (2, 0) for WFG test functions.The proposed MOSFP obtained a close approximation of extreme superior points to the optimal point of the true Pareto front in solving WFG2, WFG3, WFG4, WFG5, WFG6, WFG7, and WFG9 test functions.For WFG8 function, all of the algorithms obtained inaccurate approximation of extreme superior points of true Pareto front.However, both the OMOPSO and MOSFP algorithms exhibit a better spread than NSGA-II and SPEA2 when their Pareto front is distributed into three parts when compared to NSGA-II and SPEA2 that are distributed into two parts.The same can also be observed in WFG1 test function when OMOPSO and MOSFP are more spread than NSGA-II and SPEA2.

Discussion
In this paper, MOSFP, OMOPSO, NSGA-II, and SPEA2 have been tested on ZDT and WFG benchmark functions.Three standard metrics are measured in the experiments, namely epsilon, spread, and inverted generational distance.For each algorithm tested in the experiment, the maximum generation for each function is set to 5000.The test is repeated 100 times for each objective to ensure the convergence of the results.

Discussion
In this paper, MOSFP, OMOPSO, NSGA-II, and SPEA2 have been tested on ZDT and WFG benchmark functions.Three standard metrics are measured in the experiments, namely epsilon, spread, and inverted generational distance.For each algorithm tested in the experiment, the maximum generation for each function is set to 5000.The test is repeated 100 times for each objective to ensure the convergence of the results.
Overall, the proposed MOSFP algorithm outperformed both NSGA-II and SPEA2 algorithms in all of the benchmarks functions.Furthermore, MOSFP attained a high amount of points and a good approximation of the true Pareto front of all the benchmark functions.Additionally, MOSFP outperformed OMOPSO in solving the WFG5 problems, and obtained better solution sets than OMOPSO for true Pareto front of both ZDT3 and WFG8.The high-quality performance of the proposed MOSFP was reflected on the metrics of epsilon and IGD of WFG5, and epsilon of both ZDT3 and WFG8.This shows that the proposed MOSFP has a better convergence than the OMOPSO algorithm to explore the search space domain.Particularly, in solving the very complex disconnected functions, such as ZDT3 and benchmark suites that contain more than two objective functions, such as WFG5 and WFG8.
Based on that, MOSFP has the potential in solving the coverage problem of wireless sensor network (WSN), in which finding the optimal coverage required of finding the optimal distribution of sensor nodes on area estimated by kilometers or hectares [64].Furthermore, MOSFP has the ability more than other algorithms in solving the problems with more than two objective functions, such as finding the optimal quality of services (QoS) of wireless, mobile and telecommunication networks [64][65][66], finding the optimal length and spacing of Yagi-Uda antenna design [12], engineering applications [63], finding the optimal products distribution through oil pipeline networks [19], and finding the optimal task allocation of stationary gas turbine [16].

Conclusions
The multi-objective optimization is used to manage the tradeoffs between a set of conflict objectives that consists of minimization problems and maximization problems.This management helps to find the optimal solution for these problems.Based on that, many single objective algorithms have been extended to deal with multi-objective problems.Examples of these algorithms are GA, which is extended to the NSGA-II and PSO algorithms, which is extended to different approaches such as OMOPSO.
SSO algorithm is a promising heuristic based algorithm that is inspired by sperm motility.This algorithm is suitable for solving different types of SOO, but requires an enhancement to work on MOOPs.In this paper, a MOO version of SSO algorithm has been developed using crowding, ∈ − dominance archive, and mutation operations.We have proposed MOSFP, an extension of SSO for the multi-objective problem.The presented algorithm is easy to implement and improves the SSO capabilities of search space exploration by using a crowding and archive operators.Crowding operator is used to enhance the distribution and spreading of non-dominated solutions along the Pareto front, while the archive operator is used to fix the size of non-dominance solutions, which helps to increase the speed of the algorithm.The proposed algorithm is validated in two ways.First, we used the standard measurements and metrics that are currently adopted in the evolutionary MOO community.ZDT and WFG test suites have been chosen for this purpose.Three metrics, epsilon (∈), spread (SP), and inverted generational distance (IGD) have been chosen to compare between the proposed algorithm and other algorithms, such as OMOPSO, NSGA-II, and SPEA2.Second, the Pareto front of each algorithm for each objective function has been drawn, after that, compared based on the extreme superior points belonging to the true Pareto front.The results of these comparisons demonstrated that our method is a viable alternative since MOSFP has a higher ability to solve the problems of two objectives represented by ZDT test suites and problems of more than two objectives, represented by WFG test suites.Moreover, the average quality of MOSFP performance, spread and convergence are better than some of the best multi-objective optimization and evolutionary methods, known to date such as NSGA-II and SPEA2.
In the future, we will enhance the MOSFP by hybridizing it with other evolutionary or swarm intelligence algorithms to increase its efficiency and performance.Also, we will test it by solving different types of real world problems, such as the problems of wireless networks As t

Figure 1 .
Figure 1.The winner and other sperms reach the egg [21].

Figure 1 .
Figure 1.The winner and other sperms reach the egg [21].

2 :
Step 1: for i = 0 to population size do 3: • d : is the average of i d • df and l d : are the minimum Euclidean distance measured based on the distance between solutions in S to the radical (bounding) solutions of the Pareto front (P).

Figure 2 .
Figure 2. Diversity metrics illustration of two components (spread and distribution) [37]: (a) good distribution, but poor spread; (b) poor distribution, but good spread.

Figure 2 .
Figure 2. Diversity metrics illustration of two components (spread and distribution) [37]: (a) good distribution, but poor spread; (b) poor distribution, but good spread.

Figure 3 .
Figure 3. Pareto fronts obtained by all the algorithms for ZDT1.

Figure 4 .
Figure 4. Pareto fronts obtained by all the algorithms for ZDT2.

Figure 3 .
Figure 3. Pareto fronts obtained by all the algorithms for ZDT1.

Figure 3 .
Figure 3. Pareto fronts obtained by all the algorithms for ZDT1.

Figure 4 .
Figure 4. Pareto fronts obtained by all the algorithms for ZDT2.

Figure 4 .
Figure 4. Pareto fronts obtained by all the algorithms for ZDT2.

Figure 5 .
Figure 5. Pareto fronts obtained by all the algorithms for ZDT3.

Figure 6 .
Figure 6.Pareto fronts obtained by all the algorithms for ZDT6.

Figure 6 .
Figure 6.Pareto fronts obtained by all the algorithms for ZDT6.

Figure 6 .
Figure 6.Pareto fronts obtained by all the algorithms for ZDT6.

Figure 7 .
Figure 7. Pareto fronts obtained by all the algorithms for WFG1.

Figure 7 .
Figure 7. Pareto fronts obtained by all the algorithms for WFG1.

Figure 9 .
Figure 9. Pareto fronts obtained by all the algorithms for WFG3.

Figure 10 .
Figure 10.Pareto fronts obtained by all the algorithms for WFG4.

Figure 11 .
Figure 11.Pareto fronts obtained by all the algorithms for WFG5.

Figure 11 .
Figure 11.Pareto fronts obtained by all the algorithms for WFG5.

Figure 12 .
Figure 12.Pareto fronts obtained by all the algorithms for WFG6.

Figure 13 .
Figure 13.Pareto fronts obtained by all the algorithms for WFG7.

Figure 13 .
Figure 13.Pareto fronts obtained by all the algorithms for WFG7.

Figure 14 .
Figure 14.Pareto fronts obtained by all the algorithms for WFG8.

Figure 15 .
Figure 15.Pareto fronts obtained by all the algorithms for WFG9.

Step 4: choose the sperm global best solution based on the winner. 10: Step 5: for i=1:number of sperm Do 11: Do the swim using velocity update rule 12: Update sperm location on the search space 13: End for 14: Step 6: for i=1:number of sperm Do 15:
Multi-objective optimization algorithm based on sperm fertilization procedure (MOSFP) Algorithm 3 20: Step 7: archive results in ∈ −archive 21: End procedure.
is the Euclidean distance measured based on the distance between consecutive solutions, • d: is the average of d i • d f and d l : are the minimum Euclidean distance measured based on the distance between solutions in S to the radical (bounding) solutions of the Pareto front (P).

Table 3 .
Parameters of the algorithms.