# A Hybrid Technique Based on a Genetic Algorithm for Fuzzy Multiobjective Problems in 5G, Internet of Things, and Mobile Edge Computing

Authors: Allahkaram Shafiei; Mohammad (Behdad) Jamshidi; Farzad Khani; Jakub Talla; Zdenêk Peroutka; Rahma Gantassi; Mohammed Baz; Omar Cheikhrouhou; Habib Hamam
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

Emerging commucation technologies, such as mobile edge computing (MEC), Internet of Things (IoT), and fifth-generation (5G) broadband cellular networks, have recently drawn a great deal of interest. Therefore, numerous multiobjective optimization problems (MOOP) associated with the aforementioned technologies have arisen, for example, energy consumption, cost-effective edge user allocation (EUA), and efficient scheduling. Accordingly, the formularization of these problems through fuzzy relation equations (FRE) should be taken into consideration as a capable approach to achieving an optimized solution. In this paper, a modified technique based on a genetic algorithm (GA) to solve MOOPs, which are formulated by fuzzy relation constraints withs-norm, is proposed. In this method, firstly, some techniques are utilized to reduce the size of the problem, so that the reduced problem can be solved easily. The proposed GA-based technique is then applied to solve the reduced problem locally. The most important advantage of this method is to solve a wide variety of MOOPs in the field of IoT, EC, and 5G. Furthermore, some numerical experiments are conducted to show the capability of the proposed technique. Not only does this method overcome the weaknesses of conventional methods owing to its potentials in the nonconvex feasible domain, but it also is useful to model complex systems.


---

## Body

## 1. Introduction

Fuzzy relation equations (FRE) theory has a large number of features making it capable of formulating uncertain information and nonlinear functions for complex systems [1–3]. For example, in [1], a description of the distinctive nature of the bipolar max-product FRE solvability with a concentration on the standard negation was rendered. Moreover, several features associated with minimal or maximal solutions, as long as the equations can be solved, were demonstrated. Furthermore, there are many problems in different fields of studies based on communication technologies which can be solved by FRE, such as the instructional information resources allocation, optimizing the size and performance of the microstrip components, the fifth-generation (5G) of broadband cellular networks, Internet of Things (IoT), could computing, and mobile edge computing (MEC), and a large number of engineering systems [1, 2, 4–9]. As technologies and new computational techniques based on fuzzy systems advance, we have faced a large number of issues that can be described by multiobjective optimization problems (MOOP) [10–14]. Besides, there are vast areas of research, such as deep learning in medicine or image processing, which can be extended using the proposed familiarization [15–19]. For instance, maximal-minimal FREs were presented to characterize the peer-to-peer (P2P) data transmission mechanism in the sharing system of the instructional information resources [2]. To solve these types of problems, evolutionary algorithms (EA), such as the genetic algorithm (GA), can be a suitable approach [20]. GA is generally exploited to create high-performance solutions to search problems and optimization [20]. This algorithm works based on a biologically inspired process, including operators, such as selection, crossover, and mutation. Thus, it is a suitable choice for minimizing multiobjective problems associated with wireless networks, IoT, and many other engineering MOOPs [21, 22]. In fact, the feasible domain in MOOP, is nonconvex and the objective functions are not necessarily linear, so the traditional methods are not applicable for these issues. Therefore, we are going to solve this problem using a modified GA-based method.In this paper, the max-min operator, which is an intersection operator, is used to solve MOOPs of 5G, MEC, and IoT. In this way, we have used ans-norm operator which is a union operator. The norm we use in this paper is probabilistic sum-max, which is similar to the union of events in probability. This norm is handy, so it is more applicable with respect to other s-norms. In general, the GA has many aspects in common to solve fuzzy problems. However, one of the aspects of difference regarding this algorithm is the generation of the primary population which depends on the operator. The main and new part of this paper is about this generation. There would be also a new way to modify infeasible solutions. To do this, we should understand the meaning of the feasible domain perfectly as explained in further sections. Furthermore, we propose some methods to reduce the size of the problem without affecting the efficient solution.This paper is organized as follows. Section2 introduces preliminaries, definitions, and the main MOOPs of 5G, MEC, and IoT that can be solved by the proposed technique. Section 3 demonstrates the proposed GA-based method to solve the intended MOOP with detailed explanations stepwise. In Section 4, we illustrate the introduced algorithm by conducting several numerical experiments followed by conclusions in Section 5.


## 2. Multiobjective Optimization in MEC, IoT, and 5G

In this section, the most recent issues in the field of emerging communication technology and mobile edge computing that can be solved using the proposed technique are illustrated. Although three different areas have been considered here, the point is that, in general, they can be illustrated as a fuzzy MOOP. Therefore, a common MOOP model is introduced to cover the problems.5G-related problems are the first area that can be illustrated by fuzzy MOOP and the proposed method can solve them. In the communication area, the fifth-generation technology standard called 5G is the novel standard for enhancing the abilities of cellular communication systems. Since 2019, many telecommunications companies have started expanding this technology and it has been expected that it could be replaced with fourth-generation technology or 4G in the near future [23]. Based on the GSM Association report, this technology is expected to have at least 1.7 billion users and subscribers around the world until 2025. 5G wireless networks are a noticeable part of 5G technology that is predicted to offer many different kinds of facilities to use in a wide range of applications. Massive Multiple-Input-Multiple-output (mMIMO) is one of the most important 5G-based technologies working with a vast amount of data in gigabit scale and equipment, including service multiple users and numerous antennas that can cover all subscribers at the same frequency time. Accordingly, deploying 5G networks, which are integrated mMIMO technology for wireless application, needs the synchronization of a couple of different objectives and variables to reach an optimized operation and performance [24]. It is an obvious example of MOOP that could be easily solved using the proposed method. Moreover, one of the most significant issues in environmental-friendly transmission and wireless communication is to allocate the resources with considering efficient energy [25]. Therefore, this issue can be demonstrated as a MOOP, in which optimizing energy with resource allocation can be described. In addition, fuzzification of the problem is an appropriate way to cover those variables that are more influential for achieving an optimal solution, including energy efficiency (EE), power consumption, signal-interference noise ratio (SINR), and data rate. Besides, user scheduling is another problem in multiuser multiple-input-multiple-output (MU-MIMO). In other words, at an equivalent time and frequency condition, the network simultaneously involves several individuals from spatial-division multiplexing, which are used for the improvement of channels [26].IoT issues that can be defined by fuzzy MOOP are placed as the second type of problems, which can be solved by this method. IoT demonstrates a network of different kinds of physical devices and objects called “things,” which are made and equipped by a software, hardware, sensors, other Internet-based equipment in order to exchange and connect the data with other systems and devices. One of the important features of 5G networks is their capabilities for adopting the IoT with clouds. Densification is a paradigm of 5G that can be described based on the fuzzy MOOP. It relates to facilitating the conditions, in which the provision of services is improved to predict a large number of user equipment in the future for IoT applications. In this regard, small cells are integrated with other parts of the network for supporting a huge number of user equipment, decreasing energy consumption, and increasing the quality of services [27].The third area in which this method could be used is solving MOOPs in MEC. With the fast advancement of telecommunication systems, the utilization of smartphones has become an inseparable part of today’s life. In addition, considerable development of mobile application markets, which is originated from the high data rate and utilization of mobile technologies, leads to increasing the users in this area. MEC is a new technology in cellular telecommunication systems to create agile computation and enhance services and applications for mobile devices (MDs) anywhere and anytime through a range of endowing processes in wireless networks. According to the theoretical analysis and because the reduction of some parameters, such as price cost, execution delay, and energy consumption, is our objective, the formularization of such issues in a MOOP-oriented model has been considered [28]. To summarize, the aforementioned issues can be described as a fuzzy-MOOP issue that involves multiple objective functions as follows:(1)minf1x,f2x,…,fpxs.t.x∘A=b,0≤xi≤1,where the operations “o” is defined by(2)o:maxxi+aij−xiaij=bj,for1≤i≤nand1≤j≤m.The vectorx=x1,x2…,xn is the decision variable. The matrix A=aij is an m×n matrix, where 0≤aij≤1 and b=b1,b2,…,bm, where 0≤bj≤1. The solution set of problem (1) is as follows:(3)XA,b=x1,x2…,xn|x∈0,1,1∈I,x∘A=b.Forx1,x2∈X, we say x1≤x2 if and only if xi1≤xi2 for all i∈I. Therefore, the relation “≤” defines a partially ordered relation on X.Definition 1.
We callx^∈xA,b the maximum solution if, for each x∈XA,b,x≤x^. We also call xˇ∈xA,b the minimal solution if, for each x≤xˇ, one concludes x=xˇ.Theorem 1.
(4)XA,b=∪xˇ∈Xˇx|xˇ≤x≤x^.Proof.
See [29].
The objectivefk, k=1,2,…,p, might be nonlinear and the information about minimal solutions might be incomplete for this problem.
LetX be the feasible domain of (1); that is,(5)X=x∈Rn|x∘A=b,0≤xi≤1,i∈I.x∈X is called the solution vector and Z=f1x,f2x,…,fpx the objective vector.Definition 2.
The pointx¯∈X is called an efficient solution or the Pareto optimal solution if and only if there is no x∈X such that, for all k∈K, we have fkx≤fkx¯ and fkx<fkx¯ for some k. Otherwise, x¯ is called a nonefficient point. The set of all Pareto optimal solutions is called Pareto optimal set [30].Definition 3.
Supposez1,z2∈Z are two objective functions. We say z1 dominates z2 if and only if z1≤z2 and z1≠z2. In fact, zk1≤zk2 for all k∈K and zk1<zk2 for at least one k∈K [31].Definition 4.
We callz¯∈Z nondominated if and only if there is no z∈Z such that z dominates z¯ [30].The concept of nondomination is used for an objective vector, whereas the concept of efficiency is used for a solution vector. The vectorx¯∈X is efficient if and only if its objective vector is nondominated. We cannot reduce the value of any of the objective vectors in an efficient point without increasing the value of one of the other objective vectors. The efficient set or the optimal Pareto set is the set of all efficient points. Similarly, the nondominated set is the set of all nondominated objective vectors. In this case, no utility function of the Pareto set is used to determine the optimal solution.


## 3. Solution for Multiobjective Optimization

A MOOP is commonly solved by scalarization or nonscalarization techniques. In scalarization, first, the MOOP is converted into a single-objective optimization problem by combining the multiple objectives through parameters. Then, the resulting single-objective or scalarized problem is solved by standard optimization methods and software. The nonscalarization techniques use some other way of solving. However, in using these methods, certain conditions on convexity and some other assumptions are needed to ensure the existence of the optimal and efficient solution. But in the intended problem, the feasible region is generally a nonconvex set. In such a scenario, the genetic algorithm is a proven technique to solve the MOOP. Figure1 presents the proposed Genetic Algorithm for MOOP.Figure 1
The proposed genetic algorithm for MOOP.


### 3.1. Genetic Algorithm for MOOP

Since GA is a general method, it is used to solve many optimization problems where using traditional methods is very difficult to find exact solutions of the problems.The Pareto optimization concept is the only approach for solution determination of a MOOP. Several methods use the genetic algorithm to solve a MOOP. The most famous of these methods are the population-based non-Pareto, plain aggregation approach, the Pareto-based approach, and the Niche induction approach [32–35].


### 3.2. Problem Reduction

Reducing the problem helps to solve the problem much easier by using the genetic algorithm. If the feasible domain of (1) is not empty, then it has a maximum solution x^, which is defined as follows [36, 37]:(6)x^i=∧j=1maij⊗bj,where(7)aij⊗bj=1,1−aij<bj−aij,bj−aij1−aij,1−aij≥bj−aij.Now, supposex^i′=0 for some i′∈I. Since x≤x^ for each x∈X, then xi′≤x^i′. Therefore, for each x∈X, xi′=0.Definition 5.
Forx∈XA,b, we call xi′ a binding variable if xi1−aij0+aij0=bj0 for j0∈J.Set(8)Ij=i∈I|xi1−aij+aij=bjif XA,b≠∅, and(9)Λ=I1×I2×⋯Im,where Ij is the index set corresponding to x^i which is a binding variable for jth constraints.The following lemma is similar to Lemma 3 from [38].Lemma 1.
IfIj=1, then, for i∈Ij, we have x^i=xˇi=bj−aij/1−aij.LetJfi=j∈J|fj=i be an index set. For each f∈Λ, the set Jfi corresponds to the index set of constraints, where x^i is the binding variable for them.Lemma 2.
For anyj,j′∈Jfi, we have(10)bj′−aij′1−aij′=bj−aij1−aij.Proof.
See [38] for details of the proof.
Let us define the functionF:Λ⟶0,1n which is of course a member of XA,b [39] as follows [29]:(11)Fif=bj−aij1−aij,j∈Jfi≠∅,0,Jfi=∅.
Now supposeIj=1 and k∈Ij. According to Lemma 1, for any feasible solution x∈X, the value of xk is constant and equals the value of x^k. Now, set(12)I0=i∈I|x^i=0,J0=j∈J|i∈Ij,i∈I0,I′=I∖I0,J′=J∖J0.
We eliminate theith row of the matrix A for i∈I0 and the jth column of the matrix A for j∈J0 and call this generated matrix A′. Similarly, we eliminate the jth component of the vector b for j∈J0 to generate a reduced vector b′. Now, let us set(13)J¯=j∈J′|Ij=1,I¯=i∈I′|i∈Ij,j∈J¯.
We eliminate theith row of A′ for i∈I¯ and jth column of A′ for j∈I¯ to get the matrix A″ and eliminate the jth component of b′ for j∈J¯ to get the vector b″. Therefore, we set(14)I″=I′∖I¯,J″=J′∖J¯,Λ″=∏j∈J″Ij.
Now onwards, we will work with this reduced problem.


### 3.3. The Proposed Modified GA-Based Approach

As shown in Figure1, before using the proposed algorithm, the problem is reduced by using the methods introduced above. The most important parts of the proposed genetic algorithm are the crossover operator, mutation, and selection-reproduction procedure. In this proposed algorithm, any solution vector is an n dimensional vector x=x1,…,xn where xi∈0,1 for i=1,2,…,n. Our genetic algorithm proposed for MOOP includes an iterative loop. Before the loop, a primary set is generated by using Algorithm 1 which we will expose later. Effective solutions are put in a set E. This set is updated inside the loop composed of steps 4, 5, and 6. The entire process will be detailed in Algorithm 2.Algorithm 1: Creation of the primary population
Supposed is the dimension size of the number of the population which is supposed to be generated.(1)
Ifb″ is empty, then generate 2×|I″‖×d members as follows: for each x the value of the ith component for i∈I″ is chosen randomly from 0,x^i.(2)
Ifb is not empty, then generate the first part of the population for each i′∈I″ as follows: set xi=x^i for i∈I and i≠i′, and assign a random value from 0,x^i to xi′. We generate the second part of the population by choosing xi′ from 0,x^i′ for each i′∈I″. This generates I″×d individuals.(3)
Check the feasibility of the new solution. If the solution is not feasible, use Algorithm3.Algorithm 2: The proposed algorithm for fuzzy multiobjective problems.
Supposek is the number of individuals generated, max−size is the size of the efficient set, max−gen is the maximum of the generation.(1)
Setk=1.(2)
Generate the primary set using Algorithm1.(3)
Use the selection and reproduction method. Choose the effective solutions from the primary set and put them inE.(4)
Use the mutation operator.(5)
Use the crossover operator.(6)
Use the selection and reproduction method and update the setE. After generating, if E>max−size, use the fuzzy clustering to reduce the size of the efficient set.(7)
Ifk<max−gen, set k=k+1 and go to step 4.(8)
Use the local improvement for the setE. In establishing this algorithm, we normally setmax−gen=500,max−size=maxof2×pop−size,100.


#### 3.3.1. Creation of the Primary Population

The creation of the primary population is directly related to the success of the proposed genetic algorithm. The primary population must be generated in a way to suitably cover the search region. Using this information, we introduce an applicable method. This method is divided into two separate parts.(i)
Vectorb″ is empty: in this case, all restrictions are changed to equality using the constant components of the solution vector. Then, we assign any value between zero and the upper bound of the variable to each variable.(ii)
Vectorb″ is not empty: in this case, we divide the primary population into two parts. The first part lies on the boundary of the feasible domain and the second part lies in the interior of the feasible domain.Lemma 3.
The lower bound of the variablexi is zero for i∈I″.Proof.
Fori∈I″, if i∈I″∩Ij, then we have Ij>1. Because of this, we choose p∈Λ such that none of the components of p is equal to i. This means that Fip is equal to zero and because Fp∈X, a solution is found where its ith component xi is zero. Therefore, the lower bound of xi is zero.
Now, we are going to generate some solutions as the population using Lemma3. We suppose every component of the maximum solution is constant except for the ith component for i∈I″, which is supposed to be zero. The solution x′ which is obtained using this procedure is a solution vector. The reason is that x′≤x^ and we know that there is a minimal solution xˇ where its ith component is zero, that is, xi′=xˇi. Since the other components of x′ are the same as the components of x^, xˇ≤x′, and by Theorem 1, x′ is the feasible solution of problem (1). We use the lower bound and x^ to generate the primary population. The number of the generated population is called the dimension size and it is the same for each component. The second part of the primary population is generated by choosing a number between zero and the maximum of the components satisfying the feasibility. If the solution is not feasible, we improve it such that all the constraints change to equality. This is done by using Algorithm 3. The total number of the population generated in this way equals 2×|I″‖×d, where d is the dimension size.Algorithm 3: Improvement of the solution for optimization
(1)
Choose one of the constraints which cannot be changed to equality, e.g., theith constraint(2)
Choose one of the indices inIj randomly, e.g., i, and set the value of the ith component equal to x^i(3)
The feasibility of the novel solution is evaluated. If it is not feasible go to the first step; otherwise, stopExample 1.
Consider the following reduced problem:(15)A=0.30.4,b=0.The maximum solution of this problem isx^=0.71,0.66. Now, generate the primary population. We assign the maximum value 0.66 to x2 and choose d random values in 0,0.71 for x1. For the next step, we set x1=0.71 and choose d random values in 0,0.66 for x2. We also generate the second part of the population by choosing x1’s in 0,0.71 and x2’s in 0,0.66. As soon as a solution is generated, we check if the unique restriction of the problem changes to equality; then, the solution is a member of the population. Otherwise, we use Algorithm 3 to make it feasible.


#### 3.3.2. Selection and Reproduction Method

There is a fitness vector in a multiobjective optimization problem. The fitness vector is determined by the objective function vector. Since the genetic algorithm needs a scalar to evaluate each individual, objective functions must be combined in such a way to create such a scalar.Several methods have been introduced for this purpose. One of these methods is called Roulette Wheel. The rankingrp which is used in this method is based on the number of dominants:(16)rp=pop−size−the number of dominants,p=1,…,pop−size.The probability of choosing an individual to have the rankrp is(17)pchoosing an individual=rp∑i=1pop−sizeri.By the selection and reproduction method, the population tends towards the efficient set. However, random errors related to crossover and mutation operators can cause the divergence of the population. In fact, in this method, we consider an interval for each individual. The total length of the interval is∑i=1pop−sizeri. We consider the intervals as 0,∑i=1pop−sizeri. We partition this interval into pop−size sections, where the length of the ith section is ri. For choosing an individual (solution), it is enough to choose a random number in 0,∑i=1pop−sizeri. If this number is in the ith section, the solution to this section will be chosen to generate. This procedure may be used for both convex and nonconvex solution spaces. However, the combination of two good solutions cannot always generate a good solution, especially if the objective function is nonlinear. Therefore, during this procedure, we must keep the nondominant or efficient solutions.SupposeE is the set of all efficient solutions. It is also supposed that E˜ is the efficient set related to the latter set. The set E˜ is based on the current population, so none of the individuals in the current population has domination on the members of E˜. In each step of the iteration of the choosing method, after that the fitness of each individual is finalized, we check whether any individual of E˜ has domination over any individual of E. If this is the case, the individual will replace the one that is dominated. If this is not the case, we find out whether it is dominated by a member of E. This member will be added to E if this is not the case. Otherwise, no change will be made in E.Because the efficient solution set is usually connected, setE is getting larger by the evolution program. This will cause some difficulties in the calculation. For preventing this problem, after 50 generations, the efficient set is partitioned into several manageable subsets. In establishing the process, the maximum size is determined by two parameters: 100 and the population size. On one hand, this set has to be large enough to determine the efficient set, and on the other hand, it should not be very large, since the efficiency of the algorithm should not be ignored. For this purpose, we use fuzzy clustering methods to keep the size of the efficient set manageable [40].


#### 3.3.3. Mutation

The idea is to partially modify an individual (solution) while keeping some of the current information.In the maximum solution, each variable is active. Using this feature, we introduce a mutation operator to give variation to the population. Any individual has a chance to have a mutation. In this case, any component is chosen for mutation. We assign a value between zero and the maximum value and investigate the mutated individual. If it is not feasible, we modify it. Algorithm4 provides more details about the mutation operator.Algorithm 4: Mutation operator
(1)
Generate the random vectorr∈0,1n. Each component of the vector r corresponds to one of the components of the solution vector.(2)
Fori=1,2,…,n, if ri≤ϵ, assign a random value in 0,x^i to xi.(3)
Check whether the solution is feasible. If it is not feasible, we modify the solution using Algorithm3. This operator will give a variation to the value of the solution vector and prevent converging the population to the maximum solution. In this method, we consider the arbitrary parameter ϵ=0.1. This means each component of the solution has a 10 percent chance to be modified.Example 2.
Suppose we have a reduced system of fuzzy relation equations as follows:(18)b=0.8,0.9,A=0.50.40.70.60.20.8,x^=0.6,0.33,0.5,I1=1,2,I2=3.Consider the solution vectorx1=0.6,0.03,0.5. Suppose ϵ=0.1. We generate a 3-dimensional vector r, where the components belong to 0,1. For example, r=0.0672,0.391,0.748. As the only component of r, which is less than ϵ is defined as r1, only x1 is mutated and x2,x3 will remain the same. Therefore, x1=0.482,0.03,0.5 is a solution. If we look at the mutated solution to analyze feasibility, we find out that the first variable does not change to equality and so the second and third variables may change it to equality. Suppose the second index is chosen; then, by Algorithm 3, set x21=x^2. The solution is in the form 0.482,0.33,0.5, which is the feasible solution to the problem.


#### 3.3.4. Crossover

In this paper, we use the two-point crossover operator [41]. The reason is that it keeps the good characters of the individual (solution) for the next generation. Despite the mutation operator, this operator makes the population by combining two different individuals. The good values of the variables will probably remain safe. The crossover operator is particularly designed for the solution space of the fuzzy relation equations [42].Definition 6.
Supposex1,x2∈X, 0≤λ≤1, and γ≥1.(1)
A linear contraction ofx1 supervised by x2 defines a new point:(19)x′=λx1+1−λx2.(2)
A linear extraction ofx1 supervised by x2 defines a new point:(20)x′=γx1−γ−1x2.Crossover operator can be defined as both linear contraction and linear extraction supervised by another solution. The probability of occurring contraction and extraction are equal. Therefore, some pairs of solutions may be contracted and some of them may be extracted. The contraction-related parameterλ is chosen randomly from 0.5,1 and the extraction-related parameter γ is chosen randomly from 1,1.5. Two individuals are generated by separate parents. One of them by contraction (extraction) of x1 supervised by x2 and the other by contraction (extraction) of x2 supervised by x1 [42]. Moreover, these two individuals may be contracted (extracted) and supervised by x^ which has the probability of δ. There is also a possibility that after the operation of crossover, the individual (solution) is not feasible. That is, some of its components may be out of 0,x^ or cannot change some of the restrictions to equality. In this case, the individual (solution) is modified by Algorithm 3 to change to make a feasible solution. More details of the crossover operator are available in Algorithm 5 [42].Algorithm 5: The crossover operator.
Supposep is the number of pairs chosen so far.(1)
Setp=1.(2)
Choose two individuals randomly from the current population.(3)
Generate the randomr∈0,1. If r≥0.5, go to step 5.(4)
Generate a randomn×n matrix Λ as follows:aii∈0.5,1is a random variable andaij=0,fori≠j.Setx−1=x1⋅Λ+x2⋅I−Λ where I is the n×n identity matrix and Γ is the contraction coefficients matrix. Go to 6.(5)
Generate a randomn×n matrix Γ as follows:aii∈1,1.5is a random variable andaij=0,fori≠j.Setx−1=x1⋅Γ−x2⋅Γ−I where I is the n×n identity matrix and Γ is the extraction coefficients matrix.(6)
Generate the random numberr∈0,1. If r≥0.5, go to step 8.(7)
Generate then×n matrix Λ as follows:aii∈0.5,1is a random variable andaij=0,fori≠jSetx−2=x2⋅Λ−x1⋅I−Λ. Go to step 9.(8)
Define the random matrixΛ as follows:aii∈1,1.5is a random variable andaij=0,fori≠j.Setx−2=x2⋅Γ−x1⋅Γ−I.(9)
Choose the random variabler1∈0,1. If r1≥δ, then go to the next step. Otherwise, generate r2∈0,1. If r2≤0.5, generate a new matrix Λ and set x−1=x−1⋅Λ−x^⋅I−Λ. Otherwise, generate a new Γ and set x−1=x−1⋅Γ−x^⋅Γ−I.(10)
Choose the random variabler1∈0,1. If r1≥δ, then go to the next step. Otherwise, generate r2∈0,1. If r2≤0.5, generate a new matrix Λ and set x−2=x2⋅Λ−x^⋅I−Λ. Otherwise, generate a new Γ and set x−2=x2⋅Γ−x^⋅Γ−I(11)
Ifxi−1 (xi−2) does not belong to 0,x^i, for some i∈I″, change the value of xi−2 (xi−1) to a random variable in 0,x^i.(12)
Check the feasibility ofxi−1 and xi−2. If any of them is not feasible, modify them and make them feasible using Algorithm 3.(13)
Putxi−1 and xi−2 in the new population.(14)
Setp=p+1. If p≤pop−size/2, then go to step 2. Otherwise, stop.Example 3.
Consider the last example:(21)x1=0.6,0.03,0.5,x2=0.025,0.33,0.5.
Create the random numberr, and suppose that r=0.35. Therefore, we establish the contraction operator. The created matrix is as follows:(22)Λ=0.7590000.6230000.915.
Note that the values on the main diagonal have been chosen randomly from0.5,1. Set(23)x−1=x1Λ+x2I−Λ.
Forx−2, create a random number r from 0,1. Suppose r=0.65. Now establish the extraction and the created matrix is as follows:(24)Γ=1.0130001.280001.379.
Set(25)x−2=x2Γ−x1Γ−I,and suppose that the default value for δ is 0.1. In step 9, suppose that r1=0.309 for x−1. Since r1>δ, there would neither be contraction nor extraction for x−1 under the supervision of x^. We generate another random number, for example, 0.078. Since r1<δ, we generate r2. Since r2=0.27, we generate a new matrix Λ and set(26)x−2=x−2Λ+x^I−Λ.
Ifx−1 and x−2 are not feasible via Algorithm 3, we can modify them. Therefore, the solutions obtained by this method generate the members of the future generation. We continue establishing the operating operator until the society is full.


#### 3.3.5. Local Improvement

The local improvement method is used to improve the solutions obtained via the genetic algorithm [42]. In each iteration, one point of a neighborhood of the current point is selected. Basically, we perturb the solutions inside E. The rate of this perturbation has a specific restriction, for example, 0.1. Therefore, we generate a random vector using the values of −0.05,0.05; then, we add this vector to the solution vector. As soon as this is done, we check if the vector is feasible. If so, the reverse action will give the solution vector. Further, we update set E as follows.If any new solution has domination on other solutions, these solutions will be deleted from the setE and we replace them with this new solution. If any new solution does not have domination on other solutions, we shall not add it to E as we are looking for a better solution, not just a good solution. Each of the solutions in E will be perturbed finitely many times, for example, 100 times. This method is very useful for deleting unsuitable solutions and closes the solutions to an optimized solution.


### 3.4. A Summary on Proposed GA Approach

The proposed genetic algorithm for solving a MOOP with fuzzy relation constraints is as follows:


## 3.1. Genetic Algorithm for MOOP

Since GA is a general method, it is used to solve many optimization problems where using traditional methods is very difficult to find exact solutions of the problems.The Pareto optimization concept is the only approach for solution determination of a MOOP. Several methods use the genetic algorithm to solve a MOOP. The most famous of these methods are the population-based non-Pareto, plain aggregation approach, the Pareto-based approach, and the Niche induction approach [32–35].


## 3.2. Problem Reduction

Reducing the problem helps to solve the problem much easier by using the genetic algorithm. If the feasible domain of (1) is not empty, then it has a maximum solution x^, which is defined as follows [36, 37]:(6)x^i=∧j=1maij⊗bj,where(7)aij⊗bj=1,1−aij<bj−aij,bj−aij1−aij,1−aij≥bj−aij.Now, supposex^i′=0 for some i′∈I. Since x≤x^ for each x∈X, then xi′≤x^i′. Therefore, for each x∈X, xi′=0.Definition 5.
Forx∈XA,b, we call xi′ a binding variable if xi1−aij0+aij0=bj0 for j0∈J.Set(8)Ij=i∈I|xi1−aij+aij=bjif XA,b≠∅, and(9)Λ=I1×I2×⋯Im,where Ij is the index set corresponding to x^i which is a binding variable for jth constraints.The following lemma is similar to Lemma 3 from [38].Lemma 1.
IfIj=1, then, for i∈Ij, we have x^i=xˇi=bj−aij/1−aij.LetJfi=j∈J|fj=i be an index set. For each f∈Λ, the set Jfi corresponds to the index set of constraints, where x^i is the binding variable for them.Lemma 2.
For anyj,j′∈Jfi, we have(10)bj′−aij′1−aij′=bj−aij1−aij.Proof.
See [38] for details of the proof.
Let us define the functionF:Λ⟶0,1n which is of course a member of XA,b [39] as follows [29]:(11)Fif=bj−aij1−aij,j∈Jfi≠∅,0,Jfi=∅.
Now supposeIj=1 and k∈Ij. According to Lemma 1, for any feasible solution x∈X, the value of xk is constant and equals the value of x^k. Now, set(12)I0=i∈I|x^i=0,J0=j∈J|i∈Ij,i∈I0,I′=I∖I0,J′=J∖J0.
We eliminate theith row of the matrix A for i∈I0 and the jth column of the matrix A for j∈J0 and call this generated matrix A′. Similarly, we eliminate the jth component of the vector b for j∈J0 to generate a reduced vector b′. Now, let us set(13)J¯=j∈J′|Ij=1,I¯=i∈I′|i∈Ij,j∈J¯.
We eliminate theith row of A′ for i∈I¯ and jth column of A′ for j∈I¯ to get the matrix A″ and eliminate the jth component of b′ for j∈J¯ to get the vector b″. Therefore, we set(14)I″=I′∖I¯,J″=J′∖J¯,Λ″=∏j∈J″Ij.
Now onwards, we will work with this reduced problem.


## 3.3. The Proposed Modified GA-Based Approach

As shown in Figure1, before using the proposed algorithm, the problem is reduced by using the methods introduced above. The most important parts of the proposed genetic algorithm are the crossover operator, mutation, and selection-reproduction procedure. In this proposed algorithm, any solution vector is an n dimensional vector x=x1,…,xn where xi∈0,1 for i=1,2,…,n. Our genetic algorithm proposed for MOOP includes an iterative loop. Before the loop, a primary set is generated by using Algorithm 1 which we will expose later. Effective solutions are put in a set E. This set is updated inside the loop composed of steps 4, 5, and 6. The entire process will be detailed in Algorithm 2.Algorithm 1: Creation of the primary population
Supposed is the dimension size of the number of the population which is supposed to be generated.(1)
Ifb″ is empty, then generate 2×|I″‖×d members as follows: for each x the value of the ith component for i∈I″ is chosen randomly from 0,x^i.(2)
Ifb is not empty, then generate the first part of the population for each i′∈I″ as follows: set xi=x^i for i∈I and i≠i′, and assign a random value from 0,x^i to xi′. We generate the second part of the population by choosing xi′ from 0,x^i′ for each i′∈I″. This generates I″×d individuals.(3)
Check the feasibility of the new solution. If the solution is not feasible, use Algorithm3.Algorithm 2: The proposed algorithm for fuzzy multiobjective problems.
Supposek is the number of individuals generated, max−size is the size of the efficient set, max−gen is the maximum of the generation.(1)
Setk=1.(2)
Generate the primary set using Algorithm1.(3)
Use the selection and reproduction method. Choose the effective solutions from the primary set and put them inE.(4)
Use the mutation operator.(5)
Use the crossover operator.(6)
Use the selection and reproduction method and update the setE. After generating, if E>max−size, use the fuzzy clustering to reduce the size of the efficient set.(7)
Ifk<max−gen, set k=k+1 and go to step 4.(8)
Use the local improvement for the setE. In establishing this algorithm, we normally setmax−gen=500,max−size=maxof2×pop−size,100.


### 3.3.1. Creation of the Primary Population

The creation of the primary population is directly related to the success of the proposed genetic algorithm. The primary population must be generated in a way to suitably cover the search region. Using this information, we introduce an applicable method. This method is divided into two separate parts.(i)
Vectorb″ is empty: in this case, all restrictions are changed to equality using the constant components of the solution vector. Then, we assign any value between zero and the upper bound of the variable to each variable.(ii)
Vectorb″ is not empty: in this case, we divide the primary population into two parts. The first part lies on the boundary of the feasible domain and the second part lies in the interior of the feasible domain.Lemma 3.
The lower bound of the variablexi is zero for i∈I″.Proof.
Fori∈I″, if i∈I″∩Ij, then we have Ij>1. Because of this, we choose p∈Λ such that none of the components of p is equal to i. This means that Fip is equal to zero and because Fp∈X, a solution is found where its ith component xi is zero. Therefore, the lower bound of xi is zero.
Now, we are going to generate some solutions as the population using Lemma3. We suppose every component of the maximum solution is constant except for the ith component for i∈I″, which is supposed to be zero. The solution x′ which is obtained using this procedure is a solution vector. The reason is that x′≤x^ and we know that there is a minimal solution xˇ where its ith component is zero, that is, xi′=xˇi. Since the other components of x′ are the same as the components of x^, xˇ≤x′, and by Theorem 1, x′ is the feasible solution of problem (1). We use the lower bound and x^ to generate the primary population. The number of the generated population is called the dimension size and it is the same for each component. The second part of the primary population is generated by choosing a number between zero and the maximum of the components satisfying the feasibility. If the solution is not feasible, we improve it such that all the constraints change to equality. This is done by using Algorithm 3. The total number of the population generated in this way equals 2×|I″‖×d, where d is the dimension size.Algorithm 3: Improvement of the solution for optimization
(1)
Choose one of the constraints which cannot be changed to equality, e.g., theith constraint(2)
Choose one of the indices inIj randomly, e.g., i, and set the value of the ith component equal to x^i(3)
The feasibility of the novel solution is evaluated. If it is not feasible go to the first step; otherwise, stopExample 1.
Consider the following reduced problem:(15)A=0.30.4,b=0.The maximum solution of this problem isx^=0.71,0.66. Now, generate the primary population. We assign the maximum value 0.66 to x2 and choose d random values in 0,0.71 for x1. For the next step, we set x1=0.71 and choose d random values in 0,0.66 for x2. We also generate the second part of the population by choosing x1’s in 0,0.71 and x2’s in 0,0.66. As soon as a solution is generated, we check if the unique restriction of the problem changes to equality; then, the solution is a member of the population. Otherwise, we use Algorithm 3 to make it feasible.


### 3.3.2. Selection and Reproduction Method

There is a fitness vector in a multiobjective optimization problem. The fitness vector is determined by the objective function vector. Since the genetic algorithm needs a scalar to evaluate each individual, objective functions must be combined in such a way to create such a scalar.Several methods have been introduced for this purpose. One of these methods is called Roulette Wheel. The rankingrp which is used in this method is based on the number of dominants:(16)rp=pop−size−the number of dominants,p=1,…,pop−size.The probability of choosing an individual to have the rankrp is(17)pchoosing an individual=rp∑i=1pop−sizeri.By the selection and reproduction method, the population tends towards the efficient set. However, random errors related to crossover and mutation operators can cause the divergence of the population. In fact, in this method, we consider an interval for each individual. The total length of the interval is∑i=1pop−sizeri. We consider the intervals as 0,∑i=1pop−sizeri. We partition this interval into pop−size sections, where the length of the ith section is ri. For choosing an individual (solution), it is enough to choose a random number in 0,∑i=1pop−sizeri. If this number is in the ith section, the solution to this section will be chosen to generate. This procedure may be used for both convex and nonconvex solution spaces. However, the combination of two good solutions cannot always generate a good solution, especially if the objective function is nonlinear. Therefore, during this procedure, we must keep the nondominant or efficient solutions.SupposeE is the set of all efficient solutions. It is also supposed that E˜ is the efficient set related to the latter set. The set E˜ is based on the current population, so none of the individuals in the current population has domination on the members of E˜. In each step of the iteration of the choosing method, after that the fitness of each individual is finalized, we check whether any individual of E˜ has domination over any individual of E. If this is the case, the individual will replace the one that is dominated. If this is not the case, we find out whether it is dominated by a member of E. This member will be added to E if this is not the case. Otherwise, no change will be made in E.Because the efficient solution set is usually connected, setE is getting larger by the evolution program. This will cause some difficulties in the calculation. For preventing this problem, after 50 generations, the efficient set is partitioned into several manageable subsets. In establishing the process, the maximum size is determined by two parameters: 100 and the population size. On one hand, this set has to be large enough to determine the efficient set, and on the other hand, it should not be very large, since the efficiency of the algorithm should not be ignored. For this purpose, we use fuzzy clustering methods to keep the size of the efficient set manageable [40].


### 3.3.3. Mutation

The idea is to partially modify an individual (solution) while keeping some of the current information.In the maximum solution, each variable is active. Using this feature, we introduce a mutation operator to give variation to the population. Any individual has a chance to have a mutation. In this case, any component is chosen for mutation. We assign a value between zero and the maximum value and investigate the mutated individual. If it is not feasible, we modify it. Algorithm4 provides more details about the mutation operator.Algorithm 4: Mutation operator
(1)
Generate the random vectorr∈0,1n. Each component of the vector r corresponds to one of the components of the solution vector.(2)
Fori=1,2,…,n, if ri≤ϵ, assign a random value in 0,x^i to xi.(3)
Check whether the solution is feasible. If it is not feasible, we modify the solution using Algorithm3. This operator will give a variation to the value of the solution vector and prevent converging the population to the maximum solution. In this method, we consider the arbitrary parameter ϵ=0.1. This means each component of the solution has a 10 percent chance to be modified.Example 2.
Suppose we have a reduced system of fuzzy relation equations as follows:(18)b=0.8,0.9,A=0.50.40.70.60.20.8,x^=0.6,0.33,0.5,I1=1,2,I2=3.Consider the solution vectorx1=0.6,0.03,0.5. Suppose ϵ=0.1. We generate a 3-dimensional vector r, where the components belong to 0,1. For example, r=0.0672,0.391,0.748. As the only component of r, which is less than ϵ is defined as r1, only x1 is mutated and x2,x3 will remain the same. Therefore, x1=0.482,0.03,0.5 is a solution. If we look at the mutated solution to analyze feasibility, we find out that the first variable does not change to equality and so the second and third variables may change it to equality. Suppose the second index is chosen; then, by Algorithm 3, set x21=x^2. The solution is in the form 0.482,0.33,0.5, which is the feasible solution to the problem.


### 3.3.4. Crossover

In this paper, we use the two-point crossover operator [41]. The reason is that it keeps the good characters of the individual (solution) for the next generation. Despite the mutation operator, this operator makes the population by combining two different individuals. The good values of the variables will probably remain safe. The crossover operator is particularly designed for the solution space of the fuzzy relation equations [42].Definition 6.
Supposex1,x2∈X, 0≤λ≤1, and γ≥1.(1)
A linear contraction ofx1 supervised by x2 defines a new point:(19)x′=λx1+1−λx2.(2)
A linear extraction ofx1 supervised by x2 defines a new point:(20)x′=γx1−γ−1x2.Crossover operator can be defined as both linear contraction and linear extraction supervised by another solution. The probability of occurring contraction and extraction are equal. Therefore, some pairs of solutions may be contracted and some of them may be extracted. The contraction-related parameterλ is chosen randomly from 0.5,1 and the extraction-related parameter γ is chosen randomly from 1,1.5. Two individuals are generated by separate parents. One of them by contraction (extraction) of x1 supervised by x2 and the other by contraction (extraction) of x2 supervised by x1 [42]. Moreover, these two individuals may be contracted (extracted) and supervised by x^ which has the probability of δ. There is also a possibility that after the operation of crossover, the individual (solution) is not feasible. That is, some of its components may be out of 0,x^ or cannot change some of the restrictions to equality. In this case, the individual (solution) is modified by Algorithm 3 to change to make a feasible solution. More details of the crossover operator are available in Algorithm 5 [42].Algorithm 5: The crossover operator.
Supposep is the number of pairs chosen so far.(1)
Setp=1.(2)
Choose two individuals randomly from the current population.(3)
Generate the randomr∈0,1. If r≥0.5, go to step 5.(4)
Generate a randomn×n matrix Λ as follows:aii∈0.5,1is a random variable andaij=0,fori≠j.Setx−1=x1⋅Λ+x2⋅I−Λ where I is the n×n identity matrix and Γ is the contraction coefficients matrix. Go to 6.(5)
Generate a randomn×n matrix Γ as follows:aii∈1,1.5is a random variable andaij=0,fori≠j.Setx−1=x1⋅Γ−x2⋅Γ−I where I is the n×n identity matrix and Γ is the extraction coefficients matrix.(6)
Generate the random numberr∈0,1. If r≥0.5, go to step 8.(7)
Generate then×n matrix Λ as follows:aii∈0.5,1is a random variable andaij=0,fori≠jSetx−2=x2⋅Λ−x1⋅I−Λ. Go to step 9.(8)
Define the random matrixΛ as follows:aii∈1,1.5is a random variable andaij=0,fori≠j.Setx−2=x2⋅Γ−x1⋅Γ−I.(9)
Choose the random variabler1∈0,1. If r1≥δ, then go to the next step. Otherwise, generate r2∈0,1. If r2≤0.5, generate a new matrix Λ and set x−1=x−1⋅Λ−x^⋅I−Λ. Otherwise, generate a new Γ and set x−1=x−1⋅Γ−x^⋅Γ−I.(10)
Choose the random variabler1∈0,1. If r1≥δ, then go to the next step. Otherwise, generate r2∈0,1. If r2≤0.5, generate a new matrix Λ and set x−2=x2⋅Λ−x^⋅I−Λ. Otherwise, generate a new Γ and set x−2=x2⋅Γ−x^⋅Γ−I(11)
Ifxi−1 (xi−2) does not belong to 0,x^i, for some i∈I″, change the value of xi−2 (xi−1) to a random variable in 0,x^i.(12)
Check the feasibility ofxi−1 and xi−2. If any of them is not feasible, modify them and make them feasible using Algorithm 3.(13)
Putxi−1 and xi−2 in the new population.(14)
Setp=p+1. If p≤pop−size/2, then go to step 2. Otherwise, stop.Example 3.
Consider the last example:(21)x1=0.6,0.03,0.5,x2=0.025,0.33,0.5.
Create the random numberr, and suppose that r=0.35. Therefore, we establish the contraction operator. The created matrix is as follows:(22)Λ=0.7590000.6230000.915.
Note that the values on the main diagonal have been chosen randomly from0.5,1. Set(23)x−1=x1Λ+x2I−Λ.
Forx−2, create a random number r from 0,1. Suppose r=0.65. Now establish the extraction and the created matrix is as follows:(24)Γ=1.0130001.280001.379.
Set(25)x−2=x2Γ−x1Γ−I,and suppose that the default value for δ is 0.1. In step 9, suppose that r1=0.309 for x−1. Since r1>δ, there would neither be contraction nor extraction for x−1 under the supervision of x^. We generate another random number, for example, 0.078. Since r1<δ, we generate r2. Since r2=0.27, we generate a new matrix Λ and set(26)x−2=x−2Λ+x^I−Λ.
Ifx−1 and x−2 are not feasible via Algorithm 3, we can modify them. Therefore, the solutions obtained by this method generate the members of the future generation. We continue establishing the operating operator until the society is full.


### 3.3.5. Local Improvement

The local improvement method is used to improve the solutions obtained via the genetic algorithm [42]. In each iteration, one point of a neighborhood of the current point is selected. Basically, we perturb the solutions inside E. The rate of this perturbation has a specific restriction, for example, 0.1. Therefore, we generate a random vector using the values of −0.05,0.05; then, we add this vector to the solution vector. As soon as this is done, we check if the vector is feasible. If so, the reverse action will give the solution vector. Further, we update set E as follows.If any new solution has domination on other solutions, these solutions will be deleted from the setE and we replace them with this new solution. If any new solution does not have domination on other solutions, we shall not add it to E as we are looking for a better solution, not just a good solution. Each of the solutions in E will be perturbed finitely many times, for example, 100 times. This method is very useful for deleting unsuitable solutions and closes the solutions to an optimized solution.


## 3.3.1. Creation of the Primary Population

The creation of the primary population is directly related to the success of the proposed genetic algorithm. The primary population must be generated in a way to suitably cover the search region. Using this information, we introduce an applicable method. This method is divided into two separate parts.(i)
Vectorb″ is empty: in this case, all restrictions are changed to equality using the constant components of the solution vector. Then, we assign any value between zero and the upper bound of the variable to each variable.(ii)
Vectorb″ is not empty: in this case, we divide the primary population into two parts. The first part lies on the boundary of the feasible domain and the second part lies in the interior of the feasible domain.Lemma 3.
The lower bound of the variablexi is zero for i∈I″.Proof.
Fori∈I″, if i∈I″∩Ij, then we have Ij>1. Because of this, we choose p∈Λ such that none of the components of p is equal to i. This means that Fip is equal to zero and because Fp∈X, a solution is found where its ith component xi is zero. Therefore, the lower bound of xi is zero.
Now, we are going to generate some solutions as the population using Lemma3. We suppose every component of the maximum solution is constant except for the ith component for i∈I″, which is supposed to be zero. The solution x′ which is obtained using this procedure is a solution vector. The reason is that x′≤x^ and we know that there is a minimal solution xˇ where its ith component is zero, that is, xi′=xˇi. Since the other components of x′ are the same as the components of x^, xˇ≤x′, and by Theorem 1, x′ is the feasible solution of problem (1). We use the lower bound and x^ to generate the primary population. The number of the generated population is called the dimension size and it is the same for each component. The second part of the primary population is generated by choosing a number between zero and the maximum of the components satisfying the feasibility. If the solution is not feasible, we improve it such that all the constraints change to equality. This is done by using Algorithm 3. The total number of the population generated in this way equals 2×|I″‖×d, where d is the dimension size.Algorithm 3: Improvement of the solution for optimization
(1)
Choose one of the constraints which cannot be changed to equality, e.g., theith constraint(2)
Choose one of the indices inIj randomly, e.g., i, and set the value of the ith component equal to x^i(3)
The feasibility of the novel solution is evaluated. If it is not feasible go to the first step; otherwise, stopExample 1.
Consider the following reduced problem:(15)A=0.30.4,b=0.The maximum solution of this problem isx^=0.71,0.66. Now, generate the primary population. We assign the maximum value 0.66 to x2 and choose d random values in 0,0.71 for x1. For the next step, we set x1=0.71 and choose d random values in 0,0.66 for x2. We also generate the second part of the population by choosing x1’s in 0,0.71 and x2’s in 0,0.66. As soon as a solution is generated, we check if the unique restriction of the problem changes to equality; then, the solution is a member of the population. Otherwise, we use Algorithm 3 to make it feasible.


## 3.3.2. Selection and Reproduction Method

There is a fitness vector in a multiobjective optimization problem. The fitness vector is determined by the objective function vector. Since the genetic algorithm needs a scalar to evaluate each individual, objective functions must be combined in such a way to create such a scalar.Several methods have been introduced for this purpose. One of these methods is called Roulette Wheel. The rankingrp which is used in this method is based on the number of dominants:(16)rp=pop−size−the number of dominants,p=1,…,pop−size.The probability of choosing an individual to have the rankrp is(17)pchoosing an individual=rp∑i=1pop−sizeri.By the selection and reproduction method, the population tends towards the efficient set. However, random errors related to crossover and mutation operators can cause the divergence of the population. In fact, in this method, we consider an interval for each individual. The total length of the interval is∑i=1pop−sizeri. We consider the intervals as 0,∑i=1pop−sizeri. We partition this interval into pop−size sections, where the length of the ith section is ri. For choosing an individual (solution), it is enough to choose a random number in 0,∑i=1pop−sizeri. If this number is in the ith section, the solution to this section will be chosen to generate. This procedure may be used for both convex and nonconvex solution spaces. However, the combination of two good solutions cannot always generate a good solution, especially if the objective function is nonlinear. Therefore, during this procedure, we must keep the nondominant or efficient solutions.SupposeE is the set of all efficient solutions. It is also supposed that E˜ is the efficient set related to the latter set. The set E˜ is based on the current population, so none of the individuals in the current population has domination on the members of E˜. In each step of the iteration of the choosing method, after that the fitness of each individual is finalized, we check whether any individual of E˜ has domination over any individual of E. If this is the case, the individual will replace the one that is dominated. If this is not the case, we find out whether it is dominated by a member of E. This member will be added to E if this is not the case. Otherwise, no change will be made in E.Because the efficient solution set is usually connected, setE is getting larger by the evolution program. This will cause some difficulties in the calculation. For preventing this problem, after 50 generations, the efficient set is partitioned into several manageable subsets. In establishing the process, the maximum size is determined by two parameters: 100 and the population size. On one hand, this set has to be large enough to determine the efficient set, and on the other hand, it should not be very large, since the efficiency of the algorithm should not be ignored. For this purpose, we use fuzzy clustering methods to keep the size of the efficient set manageable [40].


## 3.3.3. Mutation

The idea is to partially modify an individual (solution) while keeping some of the current information.In the maximum solution, each variable is active. Using this feature, we introduce a mutation operator to give variation to the population. Any individual has a chance to have a mutation. In this case, any component is chosen for mutation. We assign a value between zero and the maximum value and investigate the mutated individual. If it is not feasible, we modify it. Algorithm4 provides more details about the mutation operator.Algorithm 4: Mutation operator
(1)
Generate the random vectorr∈0,1n. Each component of the vector r corresponds to one of the components of the solution vector.(2)
Fori=1,2,…,n, if ri≤ϵ, assign a random value in 0,x^i to xi.(3)
Check whether the solution is feasible. If it is not feasible, we modify the solution using Algorithm3. This operator will give a variation to the value of the solution vector and prevent converging the population to the maximum solution. In this method, we consider the arbitrary parameter ϵ=0.1. This means each component of the solution has a 10 percent chance to be modified.Example 2.
Suppose we have a reduced system of fuzzy relation equations as follows:(18)b=0.8,0.9,A=0.50.40.70.60.20.8,x^=0.6,0.33,0.5,I1=1,2,I2=3.Consider the solution vectorx1=0.6,0.03,0.5. Suppose ϵ=0.1. We generate a 3-dimensional vector r, where the components belong to 0,1. For example, r=0.0672,0.391,0.748. As the only component of r, which is less than ϵ is defined as r1, only x1 is mutated and x2,x3 will remain the same. Therefore, x1=0.482,0.03,0.5 is a solution. If we look at the mutated solution to analyze feasibility, we find out that the first variable does not change to equality and so the second and third variables may change it to equality. Suppose the second index is chosen; then, by Algorithm 3, set x21=x^2. The solution is in the form 0.482,0.33,0.5, which is the feasible solution to the problem.


## 3.3.4. Crossover

In this paper, we use the two-point crossover operator [41]. The reason is that it keeps the good characters of the individual (solution) for the next generation. Despite the mutation operator, this operator makes the population by combining two different individuals. The good values of the variables will probably remain safe. The crossover operator is particularly designed for the solution space of the fuzzy relation equations [42].Definition 6.
Supposex1,x2∈X, 0≤λ≤1, and γ≥1.(1)
A linear contraction ofx1 supervised by x2 defines a new point:(19)x′=λx1+1−λx2.(2)
A linear extraction ofx1 supervised by x2 defines a new point:(20)x′=γx1−γ−1x2.Crossover operator can be defined as both linear contraction and linear extraction supervised by another solution. The probability of occurring contraction and extraction are equal. Therefore, some pairs of solutions may be contracted and some of them may be extracted. The contraction-related parameterλ is chosen randomly from 0.5,1 and the extraction-related parameter γ is chosen randomly from 1,1.5. Two individuals are generated by separate parents. One of them by contraction (extraction) of x1 supervised by x2 and the other by contraction (extraction) of x2 supervised by x1 [42]. Moreover, these two individuals may be contracted (extracted) and supervised by x^ which has the probability of δ. There is also a possibility that after the operation of crossover, the individual (solution) is not feasible. That is, some of its components may be out of 0,x^ or cannot change some of the restrictions to equality. In this case, the individual (solution) is modified by Algorithm 3 to change to make a feasible solution. More details of the crossover operator are available in Algorithm 5 [42].Algorithm 5: The crossover operator.
Supposep is the number of pairs chosen so far.(1)
Setp=1.(2)
Choose two individuals randomly from the current population.(3)
Generate the randomr∈0,1. If r≥0.5, go to step 5.(4)
Generate a randomn×n matrix Λ as follows:aii∈0.5,1is a random variable andaij=0,fori≠j.Setx−1=x1⋅Λ+x2⋅I−Λ where I is the n×n identity matrix and Γ is the contraction coefficients matrix. Go to 6.(5)
Generate a randomn×n matrix Γ as follows:aii∈1,1.5is a random variable andaij=0,fori≠j.Setx−1=x1⋅Γ−x2⋅Γ−I where I is the n×n identity matrix and Γ is the extraction coefficients matrix.(6)
Generate the random numberr∈0,1. If r≥0.5, go to step 8.(7)
Generate then×n matrix Λ as follows:aii∈0.5,1is a random variable andaij=0,fori≠jSetx−2=x2⋅Λ−x1⋅I−Λ. Go to step 9.(8)
Define the random matrixΛ as follows:aii∈1,1.5is a random variable andaij=0,fori≠j.Setx−2=x2⋅Γ−x1⋅Γ−I.(9)
Choose the random variabler1∈0,1. If r1≥δ, then go to the next step. Otherwise, generate r2∈0,1. If r2≤0.5, generate a new matrix Λ and set x−1=x−1⋅Λ−x^⋅I−Λ. Otherwise, generate a new Γ and set x−1=x−1⋅Γ−x^⋅Γ−I.(10)
Choose the random variabler1∈0,1. If r1≥δ, then go to the next step. Otherwise, generate r2∈0,1. If r2≤0.5, generate a new matrix Λ and set x−2=x2⋅Λ−x^⋅I−Λ. Otherwise, generate a new Γ and set x−2=x2⋅Γ−x^⋅Γ−I(11)
Ifxi−1 (xi−2) does not belong to 0,x^i, for some i∈I″, change the value of xi−2 (xi−1) to a random variable in 0,x^i.(12)
Check the feasibility ofxi−1 and xi−2. If any of them is not feasible, modify them and make them feasible using Algorithm 3.(13)
Putxi−1 and xi−2 in the new population.(14)
Setp=p+1. If p≤pop−size/2, then go to step 2. Otherwise, stop.Example 3.
Consider the last example:(21)x1=0.6,0.03,0.5,x2=0.025,0.33,0.5.
Create the random numberr, and suppose that r=0.35. Therefore, we establish the contraction operator. The created matrix is as follows:(22)Λ=0.7590000.6230000.915.
Note that the values on the main diagonal have been chosen randomly from0.5,1. Set(23)x−1=x1Λ+x2I−Λ.
Forx−2, create a random number r from 0,1. Suppose r=0.65. Now establish the extraction and the created matrix is as follows:(24)Γ=1.0130001.280001.379.
Set(25)x−2=x2Γ−x1Γ−I,and suppose that the default value for δ is 0.1. In step 9, suppose that r1=0.309 for x−1. Since r1>δ, there would neither be contraction nor extraction for x−1 under the supervision of x^. We generate another random number, for example, 0.078. Since r1<δ, we generate r2. Since r2=0.27, we generate a new matrix Λ and set(26)x−2=x−2Λ+x^I−Λ.
Ifx−1 and x−2 are not feasible via Algorithm 3, we can modify them. Therefore, the solutions obtained by this method generate the members of the future generation. We continue establishing the operating operator until the society is full.


## 3.3.5. Local Improvement

The local improvement method is used to improve the solutions obtained via the genetic algorithm [42]. In each iteration, one point of a neighborhood of the current point is selected. Basically, we perturb the solutions inside E. The rate of this perturbation has a specific restriction, for example, 0.1. Therefore, we generate a random vector using the values of −0.05,0.05; then, we add this vector to the solution vector. As soon as this is done, we check if the vector is feasible. If so, the reverse action will give the solution vector. Further, we update set E as follows.If any new solution has domination on other solutions, these solutions will be deleted from the setE and we replace them with this new solution. If any new solution does not have domination on other solutions, we shall not add it to E as we are looking for a better solution, not just a good solution. Each of the solutions in E will be perturbed finitely many times, for example, 100 times. This method is very useful for deleting unsuitable solutions and closes the solutions to an optimized solution.


## 3.4. A Summary on Proposed GA Approach

The proposed genetic algorithm for solving a MOOP with fuzzy relation constraints is as follows:


## 4. Demonstration of Applications

The aim of proposing the genetic algorithm is to use it in solving difficult problems. Using this method, we obtain the optimized Pareto solutions. However, before using this method, we should make sure of the applicability of the method. Hence, we use this algorithm to solve some simple problems at first.Example 4.
Optimization using two variables and a linear objective function while the Pareto set contains only one point.This problem has four variables and two linear objective functions. This problem can be transferred to a two-objective unrestricted problem after reduction. The information provided for this problem is as follows:(27)A=0.30.50.850.70.10.80.40.20.770.750.60.9,b=0.90.80.95.The objective function of the problem is(28)minf=0.1x1−0.5x2−0.3x3+0.8x4−0.2x1−0.3x3+x4,and the maximum solution is(29)x^=0.60000.6670.75000.5,I1=2,I2=1,3,4,I3=4.Using reduction methods, we may delete the second and fourth variables and the restrictions of the problem. Therefore, the problem changes to an unrestricted optimized problem with two variables. By the fact that the coefficients ofx1 and x3 in each of the objective functions are negative, they must get their maximum values. That means, the optimized set is a one-point problem and contains only the maximum solution. Applying the genetic algorithm for this problem, the same result is obtained. Figure 2 presents the Pareto optimal set contains one point.Figure 2
The Pareto optimal set contains one point.Example 5.
Optimization using two variables and a linear objective function while the Pareto set is on one edge.The specifications of the problem are the same as the previous problem. Only the differences are the coefficients of the objective function. The objective functions are(30)min=f1=0.1x1+0.6x2+0.3x3,f2=−0.2x1−0.3x2+0.3x3−0.1x4.The coefficient ofx3 is positive in both objective functions, and variable x3 has to get its minimum, that is, zero. The coefficient of x1 in one of the objective functions is positive, and in the other case, it is negative. Therefore, a modification for one case causes a weakness in the other case and vice versa. So, the optimized Pareto set lies on the edge x1,0:0≤x1≤x^1. Using the genetic algorithm gives the same result. Figure 3 presents The Pareto optimal set is on one edge.Figure 3
The Pareto optimal set is on one edge.Example 6.
Optimization with two variables along with linear objective functions while the Pareto set lies on two connected edges.In this case, we consider again the previous problem with the following objective functions:(31)min=f1=0.1x1+0.7x2−0.3x3+0.6x4,f2=−0.2x1−0.9x2+0.3x3−0.1x4.The Pareto optimal solution which is obtained analytically is(32)x1=0,x2=0.667,0≤x3≤0.76,x4=0.5∪0≤x1≤0.6000,x2=0.667,x3=0,x4=0.5.The genetic algorithm yields the same solution. Figure4 presents The Pareto optimal set is on two connected edges.Figure 4
The Pareto optimal set is on two connected edges.Example 7.
Optimization in three-dimensional space along with three objective functions while the Pareto set lies on two connected edges.The problem we are going to solve is an expansion of the previous problem. The problem is specified as follows:(33)x^=0.60000.6670.750.50.55,b=0.90.80.95,A=0.30.50.850.70.10.80.40.20.770.750.60.90.750.55560.4,I1=2,I2=1,3,4,5,I3=4.Using the reduction process, all three restrictions are omitted andx1,x3,x5 remain. The objective functions of the problem are(34)min=f1=2x1+5x2+2x3−x4+x5,f2=−3x1+6x3−3x4+2x5,f3=8x1+7x2−3x3+3x5.Because the coefficient ofx5 is positive in fi for i∈1,2,3, it must be zero. Therefore, the analytic solution to the problem is(35)x1=0.6,x2=0.6667,0≤x3≤0.75,x4=0.5,x5=0∪0≤x1≤0.6,x2=0.667,x3=0.75,x4=05,x5=0.Using the genetic algorithm, the accuracy is checked. Figure5 presents the Pareto optimal set is on two connected edges.Figure 5
The Pareto optimal set is on two connected edges.Example 8.
Optimization in three-dimensional vector space while the Pareto set lies on one edge.Once again consider the previous problem but with different objective functions:(36)minf1=2x1+3x2+2x3−x4+x5,f2=3x1−5x2+6x3+x4+2x5,f3=8x1+3x3+2x4−3x5.Noting that the coefficients ofx1 and x3 for all three cases are positive shows that these variables have to be zero. The coefficient of x5 is negative in the first and third objective functions and positive in the second one; therefore, it may choose any value between zero and 0.55. This result satisfies the result we get using the algorithm as well. Figure 6 presents the Pareto optimal set is on two connected edges.Figure 6
The Pareto optimal set is on one edge.Example 9.
Optimization in three-dimensional vector space while the Pareto set contains only one point.We use the same problem with different objective functions again. Figure6 presents The Pareto optimal set is on two connected edges.(37)minf1=2x1−3x2+2x3+x4+x5,f2=3x1+x2+6x3−5x4+2x5,f3=6x1−4x2+3x3−10x4+3x5.Noting that the coefficients ofx1,x3,x5 are positive, they must be zero. Therefore, the Pareto set contains only one point which satisfies the solution by the genetic algorithm too. Figure 7 presents the Pareto optimal set is on two connected edges.Figure 7
The Pareto optimal set is on two connected edges.Example 10.
Optimization with a nonlinear objective function.The objective function for this case is chosen from(38)A=0.50.850.60.9,b=0.80.95,I1=1,2,I2=2,x^=0.6000,0.5,minf1=−25x1+1×sin10x1+10,f2=10x10.4+1+18x1.Using the reduction process, both restrictions of the problem are omitted. Moreover, the variablex2 is also omitted and we only dealt with a one-variable problem. The problem may be solved by drawing and finding out the related Pareto set. The Pareto set obtained by the genetic algorithm is a good estimation of the real optimized Pareto set.The results obtained so far show that the proposed genetic algorithm is a very applicable method for solving MOOPs and may be used to solve some difficult and complex problems as well. Figure8 presents the Pareto optimal set for a nonlinear objective function.Figure 8
The Pareto optimal set for a nonlinear objective function.For future work, this method can be developed to overcome some problems in 6G. Generally, the 6G can be described as a full-region perfect network enabled through a data rate of 100 Gbps, representing a very wider bandwidth in comparison with existing networks [43]. This is best understood when it comes to basic channel coding. New challenging issues for modulation techniques and basic channel coding should be considered. For example, nonorthogonal wave, next-generation channel coding, free duplex/full-duplex spectrum, multiple access system, dynamic spectrum sharing technology, Internet of Things in 6G, and the blockchain technology altogether are the potential problems in 6G that can be solved with the proposed method.


## 5. Conclusion

In this paper, a modified GA-based technique has been introduced and validated to be used as a powerful tool for solving fuzzy MOOPs. At the first stage, the problem is reduced to be solved more easily. The size reduction of the problem is done using methods that can determine the constant solutions to the problem. Designing the mutation and crossover operators is based on the information obtained from the structure of the problem. Regarding uncertainties and nonlinearities within emerging communication technologies, this feature is helpful to solve a great number of MOOPs in MEC, 5G, IoT, and many other engineering problems, which can be described with FRE constraints. The feasibility of the problem is always protected and the efficient set is updated. The size of the efficient set is being managed throughout the steps and by the fuzzy clustering method. This magnificently shows the applicability of the algorithm. Finally, a localization improvement for enhancing the efficient set was proposed. We did some numerical experiments to show the extent of applicability of the proposed algorithm.Although 5G networks are more suitable to be utilized in communicating between the Internet of Things and users, 6G networks could be more productive in communicating among businesses, corporations, individuals, and, of course, multiple intelligent objects, which will arise numerous challenges and problems. Therefore, using more efficient and practical techniques based on evolutionary algorithms, we will alleviate the difficulties associated with such complex structures. Thus, for future work, particularly in 6G, introducing such a problem in the form of a MOOP will provide us with this opportunity to employ the proposed method in conquering these nonlinearities and uncertainties as well as finding the best possible solutions.



---

*Source: 9194578-2021-10-27.xml*