2.2. Fuzzy Theory
In this section, some basic definitions of fuzzy theory that was defined by Kaufmann, Gupta and Qi, and Passino and Yurkovich [
28,
29,
30], are presented. The characteristic function γA of a crisp set A ⊆ X assigns a value of either 0 or 1 to each member in X. A fuzzy function can be generalized to a function μA that is called the membership function, and the set A = {(A, μA(x): x ∈ X} defined by μA (x) for each x ∈ X is called a fuzzy set. A fuzzy set A defined on the set of real numbers R is said to be a fuzzy number. A fuzzy number is a generalization of a regular, real number. It refers to a connected set of possible values, where each possible value has its own weight between 0 and 1. A fuzzy number is thus a special case of a convex, normalized fuzzy set of the real line.
A triangular fuzzy number is one of the fuzzy numbers that is represented with three points as follows:
A = (I, M, U): this representation is interpreted as a membership function. These parameters represent the smallest possible value (I), the most promising value (M), and the largest possible value (U).
Different α cuts are defined by the manager between 0 and 1, where when α cut decreases to zero, uncertainty and risk increase, whereas when it increases to one, uncertainty and risk decrease. When defining α cut, it is crucial to consider also the fluctuations and the risk prediction for the production cost. For each different α, different solutions for cost, time, and quality are produced and, consequently, the objective function is calculated.
In this study, the number of completion conditions of the broiler production process was the act of rearranging the members of a set into a sequence or order; it was represented by m
n, where ‘m’ represents the number of different approaches for each activity and ‘n’ represents the number of activities in the production process (
Table 1), and each activity could be done by four different approaches, as explained in
Section 2.1. It was therefore the aim to find the best condition (smallest amount of cost and time and highest quality) among 4
14 possibilities.
Table 2 illustrates the sample of approaches for activity 7 that explains that activity 7 has four approaches. As mentioned, each approach has three fuzzy numbers for each of the total time, total cost, and total quality.
2.4. MOPSO Algorithm: A Proposal to Problem Solving
The algorithms used in this study were performed by MATLAB 2014a software (MathWorks, Natick, MA, USA). In the MOPSO algorithm, each solution for the problem identified is equal to one particle. The proposed algorithm was as follows: for each particle, considering the number of activities, 14 numbers were defined randomly between 0 and 1 (
Figure 4). As the MOPSO works by a continuous range of variables, the solutions must be made randomly in a continuous range, and then they must be changed to an integer range for calculation of the objective function using Equation (1). Therefore, it is important to consider the existing constraints of the defined number of approaches for each activity. In Equation (1), the selected number between 0 and 1 was converted into an integer number in order that a random method could be selected for each activity.
where
i is activity number; int is integer number for each activity;
R is randomized number between (0,1); and
M is number of methods for each activity. After determining the approach of performing each activity, time, cost, and quality for each approach of performing activities were gathered in the fuzzy form. Then each particle has a fuzzy time, fuzzy cost, and fuzzy quality. The defuzzification (non-fuzzy) is made by using the gravity center method for each particle’s time, cost, and quality [
32]. Defuzzification is the process of obtaining a single number from the output of the aggregated fuzzy set. It is used to transfer fuzzy inference and results in a crisp output. In other words, defuzzification is realized by a decision-making algorithm that selects the best crisp value based on a fuzzy set. There are several forms of defuzzification including center of gravity (COG), mean of maximum (MOM), and center average methods, the most popular of which is the (COG) method. The COG method returns the value of the center of the area under the curve (Equation (2)).
where
is crisp value,
is a point in the horizontal axis (
i = 1, 2, 3, …), and
is the membership value of the resulting conclusion set according to (
Figure 2).
In the next stage, considering the 3-dimensionality of objective function space, the solutions must be determined that in all three dimensions are not overcome against the other solutions in Equation (3).
where
x1,
x2, and x
3 are dimensions of time, cost, and quality for
x activity, respectively, and
y1,
y2, and y
3 are dimensions of time, cost, and quality for
y activity, respectively. So far, the objective function was defined, and it was mentioned how to calculate the objective function for each solution (particle) and compare them with each other to determine non-dominated solutions (particles). The non-dominated particles are reserved in a repository. In this paper, velocity update for a particular particle is done by selecting one of the non-dominated particles as a leader. Thereby, an initially grid must be performed because particles have no preference for each other to being selected as the leader. In this way, every dimension of the problem, the space between the biggest and smallest member of the repository, is determined and inflated in a certain extent by an inflation rate (in order that the biggest and smallest member of the repository enter into the grid as well). The determined grid number in the algorithm parameters was considered according to the following: this inflated space was divided equally, and the high and low limit for each part of the grid was determined, as seen in
Figure 5.
In the next stage, it was determined which member of the repository belongs to which part of the grid and then each part’s particle number was determined. More particles in one part’s grid means a higher density of particles, and its selection probability is low when they are selected by roulette wheel (known as fitness proportionate selection) to associate a probability of selection.
This probability is defined by Equation (4); then one part of the grid with a roulette wheel, randomly one particle of that part, is selected as a leader and then for each particle, a leader is selected by the previous method. In the following, a velocity is defined for each particle. Velocity is zero at the beginning of the algorithm and updated in every iteration, and the particle is placed in a new position (Equation (5)).
where
P is selection probability;
nG is number of particles in each grid part; and
β is selection pressure.
where
Vel(
i) is velocity of particle(i);
W is inertia weight;
C1 is personal learning coefficient;
BestP(
i) is the best particle of each iteration;
Pop(
i) is every particle of the population;
LeaderP is the best particle until the current iteration; and
C2 is the global learning coefficient. To increase exploration in the algorithm, a mutation was created in new position of each particle; considering the mutation rate, some activities (variables) were selected randomly in each particle and the approach’s number of those activities was changed randomly with respect to its constraint. In the case that the mutation created the more optimal particle, it was accepted. Otherwise, the algorithm was continued by the non-mutated particle. It is worth mentioning that the mutation rate is reduced by an increase of the algorithm iteration according to Equation (6).
where
PM is percentage of mutation;
i is number of iterations; and
Mu is the mutation rate. The new position of each particle was evaluated according to the objective function. If the objective function’s value of the new position of the particle is better than the best particle (global memory) of all particles, it is substituted for the best particle (global memory) of all particles. Then, the non-dominated particles are identified and added to existing particles in the repository. The non-dominated particles in the repository are separated and the grid stages are performed again.
If the number of particles within the repository is more than the repository capacity, the additional particles must be removed from the repository. Obviously, particles with the least preference for becoming a leader must be removed from the repository. To do this, initially using Equation (7), for each part of grid, a probability is considered such that every part of the grid that has more particles, using a roulette wheel, has a higher selection chance and then one of the particles of that part of grid is eliminated at random. On the contrary, when every part of the grid has fewer particles, it has a lower selection chance by the roulette wheel because the particles should support all the searching space and the chance of selecting particles for removal should be increased in the crowded part of grid. This stage was repeated until the number of existing particles in the repository was equal to the repository capacity.
where
P is probability of selection in each grid;
nG is the number of particles in each grid part; and
is selection pressure. Each member of the repository (best particles) was a possible position in the implementation of the production process of a broiler. In this case, the best particle was selected from existing particles in the repository based on our considered coefficients of time, cost, and quality (regarding the importance of factors like time, cost, and quality for each manager, the coefficients can be different).
In this study, the relative weight of these criteria such as time, cost, and quality were considered as 0.34, 0.34, and 0.3, respectively (Equation (8)). The objective function coefficients of Equation (8) are determined according to the manager’s opinion and considering the existing work conditions. These coefficients determine which factors (cost, time, and quality), taking work conditions into account, must have higher importance.
where
OF is objective function;
WT is weight of time;
T is total time of process;
WC is weight of cost;
C is total cost of process;
WQ is weight of quality; and
Q is total quality of process. This procedure was continued until there was no considerable changes in the function utility, according to the factor coefficients. Other parameters were needed for this algorithm, which are shown in
Table 3. Parameters were obtained through trial and error for obtaining the best solution along with logical running time.
2.5. MOICA Algorithm: A Proposal for Problem Solving
This algorithm was tested using MATLAB 2014a software (MathWorks, Natick, MA, USA). As
Figure 6 shows, MOICA begins with creating a country. Each country has an initial population of possible solutions for this problem and contains 14 variables, where each variable has different approaches when considering constraints. Every country is either an imperialist or a colony. Imperialists are assigned to the most powerful countries. Every imperialist makes empires by taking control of colonies. In the following, the imperialists attract all their colonies and create revolution in the imperialist and colonies (like the mutation in the genetic algorithm).
The basis of this algorithm is the competition among empires. In this process, all colonies move from weak empires to the more powerful ones. At the end, MOICA converges to one empire that remains. In this state, the best solution of the optimization problem is calculated when the objective function’s value is the same for all colonies and the corresponding imperialists. Like MOPSO, at first the MOICA algorithm selected 14 numbers randomly between 0 and 1 for each country (Equation (1)). The numbers were converted into integers in order that a random approach’s number was selected for each activity. After determining the approaches of performing for each activity, time, cost, and quality for each approach of the production process activities were gathered in the fuzzy form. Then each country had a fuzzy time, fuzzy cost, and fuzzy quality. In this stage defuzzification (non-fuzzy), was made by using the gravity center method for each country’s time, cost, and quality.
In the next stage, to sort countries, considering the 3-dimensionality of the objective function space, the solutions must be ranked, and the crowd distance of each country must be computed. The country set that is in the same rank constitutes the Pareto front surface (used in the multi-objective genetic algorithm). It is worthwhile mentioning that the more the crowding distance of a country is, the emptier the area of the objective function shows, as determined using Equation (9).
where
d is crowding distance;
i is member of population;
D is number of objectives; and
f is objective function value. In that case, the countries were sorted based on the ranking (in ascending order) and then they were sorted based on the crowding distance (in descending order).
In the next step, the best countries were separated and selected as imperialists, and the remaining countries were assigned to imperialists by roulette wheel. Each imperialist that had the fewest components in sorting had an increased chance for selection by roulette wheel and the taking of more countries (Equation (4)). After determining and assigning countries to each empire, the countries in each empire moved towards an imperial country (belongs to each empire) with the assimilation coefficient determined using Equation (10) (
Figure 7).
where
Col is Colony(
i) (country(
i));
C is assimilation coefficient; R is random number; and
Imp is Imperialist (
i). In the next stage, considering the revolution percent, in the countries of each empire a revolution was made by random and in view of the revolution rate, some of the variables were selected randomly and the approach of those variables were changed. Like country as colony, the revolution could also be created in the imperialist countries; if the revolution is not destructive, a more optimal country is produced than the previous imperial country, and the new country is substituted for the previous imperialist country. In the following, new countries were formed by assimilation and revolution, then they competed with their imperialist country and if the imperialist countries were defeated, they were replaced. Then empires had their turned to compete. For competition between empires, Equation (11) must be used for an entire empire, and a value is defined to empires that compare them with each other.
where
Val is value of the
jth empire;
Imp is the imperialist of the
jth empire;
Z is the colony’s (country’s) mean objective function’s value coefficient;
Col is
ith colony of the
jth empire; and
nCol is the number of colonies for the
jth empire. Like MOPSO, to sort empires, crowd distance was used. After sorting empires, the first and last empire were identified as the most powerful and weakest empire, respectively. In the following, weakest countries were sorted according to the previous method and the weakest country of the weakest empire was selected, as seen in
Figure 8.
In the next stage, the weakest country was eliminated from the weakest empire and added to one of the remaining empires selected by the roulette wheel (every empire that has the fewest components in sorting has an increased chance for selection by roulette wheel and taking the weakest country, Equation (4)).
This trend caused some of the empires to be eliminated while performing the algorithm and finally, the imperial countries remained in the empires, which showed us the problem solutions. Parameters used in this algorithm are presented in
Table 4. Parameters were obtained through trial and error for obtaining the best solution along with logical running time.
A counter in the objective function was applied to measure the reference numbers to objective function in both algorithms in
Table 5.