Abstract
In software incremental development methodology, the product develops in several releases. In each release, one set of the requirements is suggested for development. The development team must select a subset of the proposed requirements for development in the next release such that by consideration the limitation of the problem provides the highest satisfaction to the customers and the lowest cost to the company. This problem is known as the next release problem. In complex projects where the number of requirements is high, development teams cannot choose an optimized subset of the requirements by traditional methods, so an intelligent algorithm is required to help in the decision-making process. The main contributions of this study are fivefold: (1) The customer satisfaction and the cost of every requirement are determined by use of fuzzy numbers because of the possible changing of the customers’ priorities during the product development period; (2) An improved approximate approach is suggested for summing fuzzy numbers of different kinds, (3) A new metaheuristic algorithm namely the Binary Artificial Algae Algorithm is used for choosing an optimized subset of requirements, (4) Experiments performed on two fuzzy datasets confirm that the resulted subsets from the suggested algorithm are free of human mistake and can be a great guidance to development teams in making decisions.
Introduction
In software engineering, one of the first steps towards software development is the stage of elicitation and determination of requirements. These requirements are usually elicited from clients, product development teams, and market conditions [1]. After elicitation, a list of requirements for product development is specified. In software engineering, there are many methodologies for software development. One of the most popular methodologies is the incremental development method, which is very suitable for large projects. In the incremental development method, software is developed in several releases. The software company is confronted with a set of requirements in every release that need to be developed. Due to problems such as project budget constraints, proximity of project delivery time, technical problems, and inherent conflicts between requirements, it is impossible to develop all the proposed requirements [2].
In large projects, the choice of an optimal subset of the requirements is traditionally very difficult and prone to error. For this reason, in order to help the development team with easier decision making, it is necessary to have a method for determining an optimal subset of the requirements. The problem of selecting an optimal subset of requirements is called the Next Release Problem (NRP) [3]. In this problem, the goal is to select an optimal subset of requirements that can satisfy the constraints of the problem so that it could create, with lowest cost, the highest degree of satisfaction for users. Different constraints could be considered for this problem. Some of these constraints are inherent while others are non-essential. One of the inherent constraints of this problem is the interaction between the requirements themselves. For example, two of the requirements for development may complement each other and two other requirements may conflict with one another. Sagrado et al. [4] categorized the interaction between requirements, as one of the constraints of the problem, in four general categories.
Implication r i ⇒ r j . If the requirement r i is not developed, the requirement r j cannot be developed either.
Combination r i ⊕ r j . A requirement r i cannot be chosen separately from a requirement r j .
Exclusion r i ⊗ r j . A requirement r i cannot be chosen together with a requirement r j .
Modification. The development of the requirement r i implies that some other requirements change their satisfaction or implementation effort.
The first three interactions are applied in projects as explicit interactions. However, the fourth interaction, being implicit in nature, is usually ignored. Non-essential restrictions such as the product delivery time or the maximum allowable cost of product development are usually defined by manufacturing companies. The existence of these constraints and the two conflicting goals (increasing user satisfaction and reducing the cost of product development) place this problem in the NP-hard category. In spite of the complexity of the problem, metaheuristic algorithms can provide a quasi-optimal solution to this problem in a short time.
In each release, the development team should assign a value to satisfaction and another to implementation cost for each of the requirements for development [5, 6]. The level of satisfaction with any proposed requirement for development in the next release is asked from the users through a questionnaire and a survey. Because of different tastes and different scoring for each user requirement, assigning a crisp number as the level of satisfaction with each requirement is not sensible, while the allocation of a normal or triangular fuzzy number can give a much better view of the spectrum. For example, suppose four customers participate in a questionnaire and each one chooses a number in the range of [1, 10] as the requirement satisfaction score. If the amount of requirement satisfaction is given by a crisp number, the average of the selected numbers is computed. If customers choose 4, 3, 4, 5 or 3, 3, 9, 1, the average satisfaction of both groups is 4. This method is not acceptable for situations that the customers are uncertain about assigning an accurate satisfaction score. In fact, in such situations the satisfaction scores are expressed by fuzzy statements “very close to 4”, “approximately 3”, “near to five” and so on. Hence, they can be conceptualized by certain “appropriate” fuzzy numbers. Therefore, the development team determines a suitable fuzzy number according to the users’ scores as the satisfaction level of each requirement [7]. Moreover, sometime the satisfaction levels are assessed by customers using fuzzy linguistic terms such as Excellent, Very Good, Good, Average, Poor and Very Poor and then the assessment results by customers are weighted and averaged. Therefore, there is a need to study the behavior of the set for these variables also. Furthermore, in our real-life situations, various social and natural phenomena belong to the normal distribution which has the continuous higher derivative of its membership function. Hence, in the presented study, the satisfaction levels of customers are represented in terms of trapezoidal fuzzy numbers and normal fuzzy numbers. Also, given the time and expertise necessary to implement each requirement as well as unforeseen problems during development, they also define a suitable fuzzy number as developing cost of each requirement.
In previous papers, the allocation of these values was done in the form of crisp, which, for the reasons given, is not a logical and practical approach [8, 9]. The existence of different conditions makes the development team consider different types of fuzzy numbers for the cost and satisfaction level of the requirements. Since the cost and satisfaction of a subset of the proposed requirements are obtained from the addition of every single one of them, the sum of fuzzy numbers of different types together creates another challenge.
In this paper, we use the least squares model proposed by Hassanzadeh et al. [10] to sum different types of fuzzy numbers together. We also use a Binary Artificial Alga Algorithm [11] (BAAA) in a bound fashion to find the optimal subset of the requirements. The Artificial Alga Algorithm is a powerful metaheuristic algorithm for solving continuous optimization problems [12]. Korkmaz and Kiran [11] proposed the binary version of this algorithm which can solve discrete optimization problems such as the NRP problem very well.
The challenges that currently exist in solving the next release problem are summarized as below: Introducing an intelligent algorithm to select an optimal subset of the proposed requirements. This algorithm should achieve the highest level of customer satisfaction and the lowest cost for the company while taking into account all the limitations of the problem. To resolve this issue we use BAAA to find the optimal subset of the requirements. This algorithm is a new and powerful metaheuristic algorithm that could solve many complex engineering problems. In NRP, if the set chosen by the algorithm is not the best, it will cause dissatisfaction to the customers and a decrease in the company’s credit. Because the problem under consideration is an NP-hard problem, the execution time of the algorithm can be one of the challenges for solving the problem. Therefore, the algorithm should provide acceptable solutions in a short time. To address this issue, we use BAAA that is an agile algorithm with acceptable run time and use the improved least squares model that extremely reduces computation time. Most often, customer priority changes during product development. Assigning fuzzy numbers instead of crisp numbers for satisfaction of requirements will alleviate this problem. On the other hand, the use of different kinds of fuzzy numbers leads to a better mapping of customers’ views. In this situation we face the challenge of summing up different kinds of fuzzy numbers. To address this issue, we use an approximate approach for summing up two fuzzy numbers with different membership functions.
On such motivation basis, the main contributions of this study are summarized as follows: (1) In contrast to the existing approaches that uses crisp numbers or fuzzy numbers with the same membership functions to express customers’ opinions, according to the proposed approach in this study fuzzy numbers with different membership functions are used to express customers’ opinions in the case that their priorities are changed during product development, (2) To calculate the sum of different fuzzy numbers, we have improved an approximate summation method that significantly reduces the computational load, and (3) To the best of our knowledge, this study is the first attempt for solving the NRP using BAAA algorithm as a powerful meta-heuristic algorithm.
The remainder of the article is organized as follows. Section 2 gives a detailed account of the works done in this area. Section 3 describes the fuzzy concepts required in the present paper. Section 4 explores the proposed method for solving the next release problem. Section 5 reports and analyzes the results of the tests done on two fuzzy datasets. Section 6 concludes the paper and indicates future works.
Related works
Different methods have so far been introduced to solve the next release problem [13, 14]. Most of the ways introduced for solving this problem fall into two general categories. The first category consists of the Software Engineering Decision Support (SEDS) methods [15]. SEDS is a research field in which decision-making algorithms are used to help solve problems in the field of software engineering. This category includes methods such as QFD, AHP and fuzzy logic that usually focus on prioritizing and ranking the requirements.
The second category consists of the Search Based Software Engineering (SBSE) methods. SBSE is a research field in which search based optimization algorithms are used to solve problems in the field of software engineering [16]. Optimization methods such as linear programming, heuristic and metaheuristic algorithms belong to this category.
Sadiq and Jain [17] used a fuzzy method for eliciting goal-based requirements and prioritizing them. This method was formed out of a combination of fuzzy analytical hierarchy process and weighted relationships. Chopra et al. [18] used the AHP method based on cost-value prioritization techniques in several large projects. The authors of this paper prioritized both the functional and non- functional requirements [18]. Ramzan et al. [19] introduced the concept of requirement value for prioritizing requirements. In that paper, an intelligent technique was used for prioritizing the requirements based on a multi-level value using fuzzy logic [19]. Alrashoud and Abhari [20] used the Fuzzy Inference Engine to overcome the uncertainty of the problem and prioritize the requirements. The authors used three criteria, namely risk, value of each requirement and effort, for decision-making. Alrashoud and Abhari [21] used ANFIS primarily to create membership functions and fuzzy rules in order to plan for development in the next release. Then, they used the fuzzy inference system to solve the problem. Authors of this paper considered three criteria, namely risk, stakeholders satisfaction and availability of resources. Lai et al. [22] proposed a new way to rank client requirements with respect to the competitive market. In that method, fuzzy QFD was used. In addition to client feedback, the authors also considered the products of rival software companies to rank the requirements. Souza et al. [23] presented an optimal release policy for multi release software system has been proposed by taking into consideration the test as well as the operational phase. Veerapen et al. [24] used the integer linear programming method in two-objective and single-objective models. The authors could find the exact solution to the single-objective problem and small multi-objective problems. However, in large-scale multi-objective problems, their proposed algorithm had a very high runtime. Mougouei [25] proposed a linear programming model for selecting requirements according to the interactions between them. In his paper, he also presented a technique for modeling the interaction between requirements by a graph. Araújo et al. [26] proposed an architecture based on machine learning and genetic algorithm to solve this problem. Jiang et al. [27] used a combination of the ACO algorithm with a local search algorithm to solve the next release problem. Masadeh et al. [28] used the gray wolf optimization algorithm to select the best subset of the proposed requirements. Sagrado et al. [4] used the ACS algorithm as a two-objective (increased satisfaction and cost reduction). In that paper, for the first time, three types of interactions between requirements were defined and considered in the implementation. Del Águila et al. [29] introduced a requirements management tool that uses artificial intelligence algorithms. This tool uses three algorithms Greedy Randomized Adaptive Search Procedure (GRASP), Ant Colony System (ACS) and NSGA II to solve the next release problem. Chaves et al. [30] used the multi-objective differential evolution algorithm, the multi-objective TLBO algorithm [8], and the multi-objective bee colony optimization algorithm [9], respectively to solve the next release problem. In all three of these papers, two datasets with crisp values and three types of interactions between requirements were considered. Pitangueira et al. [31] proposed a risk-aware multi-objective method to solve the next release problem aimed at reducing the risk of discontent among stakeholders. The authors used the NSGA II algorithm. Nayebi and Ruhe [32] considered two criteria, namely client satisfaction and dissatisfaction, for the first time and introduced the Asymmetric Release Planning (ARP) concept. Their goal was to select a subset of requirements so that their development would yield the highest degree of satisfaction, and lack of development of the rest of the requirements would create the least amount of dissatisfaction. To explain the ARP concept, they stated that the satisfaction level achieved by the development of a requirement does not correspond to the level of dissatisfaction achieved by a lack of development, and vice versa. Alrezaamiri et al. [7] introduced a fuzzy artificial chemical reaction optimization algorithm for solving the next release problem. The authors used fuzzy datasets for the first time. All datasets values were triangular fuzzy numbers. The authors reduced the uncertainty of the data by using the fuzzy triangular numbers instead of the crisp numbers [7].
Fuzzy concepts
In this section, we review some primary concepts of fuzzy sets [33–41].

(a) A normal fuzzy number. (b) A triangular fuzzy number. (c) A trapezoidal fuzzy number.
The fuzzy addition on two trapezoidal fuzzy numbers
The fuzzy addition on two normal fuzzy numbers
The sum of two fuzzy numbers of the same type is easily done at time order O(1). However, the sum of two fuzzy numbers of different types cannot be easily accomplished and approximate sum methods should be used.
Hassanzadeh et al. [10], proposed a method for approximating the sum of normal and trapezoidal fuzzy numbers. In this model, approximate the sum and its corresponding membership function by dividing the α –interval, [0, 1], into n subintervals and letting α0 = 0; α
i
= αi-1 + Δα
i
;
Suppose
Formula (6) can be used to obtain n points for
Now, let
Hence, the approximate membership function for the approximating sum of trapezoidal and normal fuzzy numbers is given as formula (11):
The following formula [10, 41] can be used to compare two fuzzy numbers:
If
To compare two fuzzy numbers
In this section, we first introduce the Artificial Alga Algorithm. Then, we will solve the next release problem with different fuzzy arcs using this algorithm.
Binary Artificial Alga Algorithm (BAAA)
The Artificial Algae Algorithm (AAA) is an algorithm that inspired by behavior of the algae colonies. The binary artificial alga algorithm first begins by adjusting the parameter values and generating the initial population. An alga structure is defined to represent the solutions of the problem. The fitness value of each alga is calculated and maintained in the colony. The algorithm has a specified number of iterations, and iterations continue until the termination condition is reached. An update operator is applied to the algae in each iteration. The algorithm has two types of updating mechanisms. The first kind is logic XOR and the second kind is based on stigmergic behavior.
After each update, if the fitness value of the new alga was more favorable than that of the old alga, it replaces the old one. Otherwise, the algorithm continues with the same old alga. After the algorithm reaches the end, the most desirable alga is selected as the solution to the problem [42]. Figure 2 shows the (BAAA) flowchart.

BAAA flowchart.
In this subsection, we describe an encoding scheme and initialization for the BAAA. Then, we express our new idea for calculating the fitness of each individual. BAAA updates operators including the logic XOR and stigmergic behavior.
BAAA encoding scheme and population initialization
In the NRP problem, each solution is encoded as an n-dimensional vector in which the i-th cell on the vector corresponds to the i-th requirement in the R set, where i = 1, 2, 3, . . . , n. In Fig. 3, a solution is given. In each solution, each requirement that is selected for development in the next release accepts value 1, or otherwise 0 in its corresponding cell.

Structure an alga.
Initial colony of the algorithm are generating according to formula (15). Here, randi,j is a random number between [0,1] and Xi,j is the j-th dimension of the i-th algae colony.
After generating the initial colony, in each stage of the algorithm, in case the algae values violate the constraints defined in the problem, that alga is modified in a validation function.
In this problem, each alga is a solution to the NRP problem. In fact, each solution shows the selection of a subset of the proposed requirements (m requirements). The number of m related to the selected requirement in each alga is a value between 0 and n (0 ⩽ m ⩽ n). The cost and satisfaction level of each alga is obtained from the sum of each cost value and the individual satisfaction values of the selected requirements. To add these fuzzy numbers together, we used the least squares model proposed by Hassanzadeh et al. [10] optimally. Hassanzadeh et al. used m - 1 approximations in accordance with formulas (6-11) to add m various fuzzy numbers (trapezoidal and normal numbers) together. That is, they selected two fuzzy numbers (regardless of the fuzzy type of those two numbers) at first, and subjected the two numbers to alpha-cutting. Then, they used the sum of alpha-cuts on the left and right sides of the two numbers for approximation. Subsequently, they approximated the number obtained from the first approximation in the same way using the third fuzzy number. These approximations continued until the last fuzzy number was reached. Finally, formula (14) was used to calculate the amount of fitness resulting from the approximation of the entire fuzzy numbers.
In this study, an interesting idea was used to dramatically reduce the time it takes to perform these calculations. In our proposed approach for each alga, first, the trapezoidal numbers of requirements are added together in O(1) according to formula (4). Then, the values of the normal numbers are added together in O(1) according to formula (5). In the end, to calculate the total amount of satisfaction or cost, we obtain the approximate sum (according to formulas 6-11) of the sum of trapezoidal numbers and the sum of normal numbers. Finally, we use formula (14) to calculate the fitness of the approximate sum. In fact, unlike Hassanzadeh et al. who used m - 1 approximations to add m fuzzy numbers of different types, we only use 1 approximation.
Logic XOR operator
Algorithm have two kind of update mechanism. First approach uses logic XOR operator for producing children solutions and second approach is based on stigmergic behavior. Formula (16) is utilized for determining which update mechanism is used for obtain a candidate solution [11].
Where, UMSP is the update mechanism selection probability as a control parameter and rand is a random number between [0,1]. C01 and C10 are integer numbers. In logic XOR update, for each algae colony, at the first step select a neighbor via random choice. At the second step, randomly select three alga dimension of colony. At the third step, modify the colony using formula (17).
Here, T is the child solution and Y is the individual in the colony [11].
In stigmergic update rule, indicators C01 and C10 are used to update the solutions in the colony given as formulas (20) and (21):
Where, P01 (t + 1) is the probability rate of C01 in iteration t + 1 and P10 (t + 1) is the probability rate of C10 in iteration t + 1. These probabilities are used to calculate the child solution. Dimension selection probability (DSP) is a control parameter in the algorithm. If random number generated for dimension in range of [0, 1] is less than the DSP parameter, movement is performed at this dimension. Assume i and j are the index of ones and zeros in child solution V, respectively. Let i and j be random integers between 1 and sizes of i and j, respectively. Therefore, V
I
indicates random dimension that have a value of 1 and V
J
indicates a random dimension that have value of 0. The child solution V is calculated given as formulas (22) and (23):
The algorithm will continue to reach the condition criteria and then will output best solution.
In this section, we will do tests on two randomized datasets. Since there are no fuzzy datasets with different arcs in the related works, we cannot compare the results of our method with them. All tests were carried out by using the MATLAB. The first dataset includes 24 requirements and 12 interactions between requirements. In Table 1, the cost and the satisfaction of development of each requirement are presented as various kinds of fuzzy numbers (trapezoidal and normal fuzzy numbers). The satisfaction level of requirements is taken from clients by surveys or other requirement engineering tools. To make it easier for clients to understand, these surveys are conducted using crisp numbers. For example, in a poll, clients are requested to assign a score between 0 and 10 as their satisfaction with the development of each requirement. The score 0 is the lowest level of satisfaction and the score 10 is the highest level of satisfaction for the development of each requirement in the next release. The values obtained from the requirements satisfaction survey will be converted to fuzzy numbers at the discernment of the development team. The development team also considers a fuzzy number as the cost of developing each requirement and defines the interaction between requirements.
Dataset 1
Dataset 1
In this test, we plan to select the best subset of the requirements that yields the highest degree of satisfaction by taking into account a different budget constraint each time. Table 2 considers 8 different cost limits. For example, within an 80% cost limit, a subset of requirements should be selected with a cost of development of less than 292.6 units so that it yields the maximum satisfaction level. Within this cost limit, the binary artificial alga algorithm can select a subset with a development cost of 289.07 units and a satisfaction level of 499.57 units. Table 2 shows the approximate value of the total sum of cost and satisfaction of this subset of the requirements in the form of [λ, β, λ′, β′] according to formula (11). The crisp values of satisfaction and total cost (columns 2 and 3 of Table 2), are obtained by applying formula (14) to the fuzzy number of approximate sum of cost and satisfaction (columns 4 and 5 of Table 2). Figure 4 shows the bar graphs of satisfaction and cost of the best selected subsets in every iteration. Figure 4.a is with 60% cost limit and Fig. 4.b is without cost limits.
Test results on the first data

(a) The graph of the highest satisfaction level and its related costs in iterations within the 60% cost limit. (b) The graph of the highest satisfaction level and its related costs in iterations without a cost limit.
Table 2 shows the runtime of the algoriwith any cost limit. As can be seen, as the cost limit gets more severe, the runtime of the algorithm also increases. The reason for this is the algae validation function. After generating the initial colony and any update operator, the algae are sent to the validation function to verify the validity and non-violation of cost limits and interaction. In this function, if the cost of developing the selected requirements is greater than the limit value, a requirement is randomly selected and removed from the subset. This trend continues until the amount of alga cost violates the amount of budget constraints. The stronger the cost limit, the more the number of calls for this recursive function which increases the runtime of the entire algorithm. In the absence of any cost limit, the algorithm has the fastest runtime. In this case, if the algorithm can select all the requirements in the selected subset, it will provide the highest satisfaction. The finish criterion of the algorithm was performing 100 iterations. Table 3 shows other parameters used when simulating the first and second datasets.
Other parameters of the simulation
Figure 5 shows a comparison of the runtime of the algorithm in two modes of the approximate sum of fuzzy numbers. The red chart shows the algorithm runtime together with approximate sum of Hassanzadeh et al. [10] in which m - 1 approximations were used for adding m fuzzy numbers together. In our proposed method, all trapezoidal numbers are first added together at time O(1), and then all of the normal numbers are added together at time O(1). The total sum is obtained with 1 approximation from the sum of the trapezoidal numbers and the sum of normal numbers. The green graph shows the runtime of our proposed algorithm.
In Fig. 5, within a 100% cost limit (or in other words, without cost limit), the difference between the runtime of the two algorithms is more than 12 seconds. While all implementation conditions are equal in the two algorithms, our idea of an optimal approximate sum method leads to an 85% reduction of the runtime. Again, it is worth emphasizing that in Figs. 5 and 7, the only difference is the method of adding the different fuzzy numbers together. In addition, the metaheuristic algorithm used in the two is the same.

A comparison of the runtime of the algorithm with two different approximate sum methods.
To prove the quality of the proposed algorithm, we repeated all previous tests on a larger and more complex dataset. The second dataset includes 72 requirements and 20 interactions between requirements. In this dataset, the range of clients’ scores of satisfaction with the proposed requirements in the polls is between 0 and 20. Table 4 shows the second dataset.
Dataset 2
In the second dataset, a test is performed with eight different cost limits. Table 5 tabulates the values obtained from this test. For example, within the 60% cost limit equal to 1419.6 units, the satisfaction level of the requirements selected by the algorithm for development in the next release is equal to 2114.14 units and the related cost of development is 1409.71 units. In Fig. 6, the bar charts show the satisfaction level and cost of the best selected subsets for each iteration. Figure 6.a is related to the 70% cost limit and Fig. 6.b is related to the unlimited cost situation.
Test results on second dataset

(a) The graph of the most satisfaction level and its related costs in iterations within the 70% cost limit. (b) The graph of the most satisfaction level and its related costs in iterations without cost limit.
The second dataset has a longer runtime due to having a higher number of requirements and more restrictions than the first dataset. Figure 7 shows a comparison of the runtime of the algorithm in two modes of approximate sum of fuzzy numbers. The red chart is related to the runtime of the algorithm with approximate sum used in Hassanzadeh et al. [10], while the turquoise colored chart is related to the runtime of our proposed algorithm. While the runtime of the algorithm is approximated to be 1 minute using Hassanzadeh et al.’s approximate sum method within a 100% time limit, the runtime of the proposed algorithm is less than 3 seconds. This is indicative of a 20-fold reduction of runtime, which is very important for metaheuristic algorithms.

A comparison of the runtime of the two algorithms.
Figure 8 shows the convergence diagrams of the binary artificial alga algorithm in unlimited cost mode on both datasets. Figure 8.a and 8.b are related to the first and second datasets, respectively. In these two figures, convergence refers to the convergence of the satisfaction level of the subsets selected by the algorithm. The algorithm converges in the 33rd iteration due to the smallness of the first dataset, but converges in the second dataset in the 82nd iteration.

(a) The convergence diagram of the binary artificial alga algorithm when solving the first dataset. (b) The convergence diagram of the binary artificial alga algorithm when solving the second dataset.
In this paper, we provided a solution procedure for one of the problem during software development. The next release problem is one of the problems facing development teams in incremental software development methods. In each release, a set of requirements is suggested by clients for development. Usually, due to constraints such as lack of funds, lack of time and technical difficulties, the development team cannot develop all the proposed requirements. In each release, the development team must select a subset of the proposed requirements so that it can provide the highest degree of satisfaction for its clients and the lowest cost to the company by considering the constraints of the problem. In large projects there should be a reliable instrument to help with the decision-making process and selection the development team makes. In this problem, the development team should assign a value of satisfaction, as well as another value of cost to each requirement. In order for the problem to be more applicable, allocation of fuzzy values is better than the allocation of crisp ones. In this paper, an optimized approximate sum model was used to calculate the summation of different kinds of fuzzy numbers, which greatly reduced the load of computations compared to the previous method. We also used a binary artificial alga algorithm to solve the problem. To test the quality of the proposed method, we conducted complete experiments on two dummy fuzzy datasets. The results of the proposed algorithm are very reliable, lack human errors, and can help the development team with their decision-making. The runtime of the proposed algorithm is very short. The subset introduced by the proposed algorithm is without human error and provides the highest level of client satisfaction. Future researches in this scope are as follows. Introducing new methods for approximating fuzzy numbers with less computation. Introducing automated methods for converting crisp values obtained from surveys to fuzzy numbers. Using other metaheuristic algorithms or combining them to solve the problem.
Footnotes
Acknowledgment
The authors would like to thank the anonymous reviewers and the associate editor for their insightful comments and suggestions.
