Abstract
Customer requirement is a crucial factor for a company to provide customized products. In order to better acquire customer requirements and instruct customers to express their requirements, customer requirement acquisition system is proposed in this article. First, requirement node and the form of requirement expression are constructed as the base of this system. Customer requirements are transformed into the description of requirement nodes. The form of requirement expression limits specific method of describing requirement nodes avoiding ambiguous requirements. Then, requirement expression guidance is proposed to rational plan expression path. Optimal expression path is beneficial for customer to concentrate on significant requirement nodes. Ant colony optimization is used to search for it. As a result, complete and clear customer requirements are acquired and the focus of customer requirements is recognized, which improves the design efficiency of enterprises. Finally, an example of automated guided vehicle is used to illustrate the validity of the proposed method.
Keywords
Introduction
With the increasing competition in the manufacturing market, many companies strive to provide their customers with customized products in a short period. Product configuration design is one of the important technologies to achieve this, in which the predefined components are selected according to the product configuration model in order to obtain product configuration scheme meeting customer requirements.1,2 The aim of product configuration design is to satisfy customers’ individual needs, 3 therefore acquiring and analyzing customer requirements have a great influence on final product.
Customer requirement refers to customers’ preference or description of the product including function, appearance, cost, and so on. Before product configuration, customer requirements are acquired in various ways and then some methods, such as quality function deployment (QFD), are used to transform customer requirements into technical features of the product. Clear and complete customer requirements help the enterprise develop products with higher customer satisfaction and shorten the time to market, which help manufacturer grab a larger market and achieve sustainable growth. Hence, customer requirements have become a key factor in increasing competition and most enterprises have realized the importance of customer requirements. Acquiring customer requirements is the first step to analyze what customers really want. However, as most customers are lacking in the professional knowledge of the product and are weak in requirement expression, customer requirements are always unclear and incomplete. The reasons are summarized as follows:
Different customers can be interested in different requirements. Someone cares about the cost of the product, while someone prefers the product performance, which leads to incomplete customer requirements.
As the imprecise nature of human decision and the limitation of expression ability, people always describe product parameters or the weight of technical features with natural language, such as “the price should not be too high,” which makes requirements ambiguous.
Customer requirements are dynamic,4,5 and people’s preferences and requirements can be changed as time goes by.
For the above reasons, it is hard for an enterprise to acquire and understand real customer requirements. In other words, the enterprise is confronted with two crucial issues. The first issue is how to assist customers express their requirements because the enterprise requires clear customer requirements instead of ambiguous requirements. The second issue concerns requirement expression guidance. The enterprise instructs customers to express their requirements on product attributes which customers mostly care about.
This article mainly focuses on acquiring customer requirements. In this article, a customer requirement acquisition system is developed. Requirement node (RN) and the form of requirement expression are defined in this system. Two stages of this system are described. In the first stage, ambiguous requirements are divided into predefined RNs. These nodes can be classified into four types including function, performance, cost, and structure. Customer chooses suitable form of requirement expression to describe the RN which is offered in turns according to expression path. In the second stage, requirement expression guidance is proposed in order to obtain optimal expression path, that is, the most satisfactory expression path for the majority of people. In the expression path, RNs are ranked based on probability selection and then presented to the customer. After achieving requirement expression, customer evaluates the expression path in terms of customer satisfaction. The process of seeking optimal expression path can be regarded as an optimization problem. Ant colony optimization (ACO) is used to search for it. As a result, clear and complete requirements are acquired in an effective and efficient way. Furthermore, the enterprise can realize the focus of requirements, which help the enterprise design products with purpose.
Related work
Customer requirements
Customer requirements have received increasing attention in academia. How to acquire customer requirements and transform them into product technical features has become a key issue to be solved in mass customization. In the Kano model, customers’ preferences contain five types of product attributes: must-be, one-dimensional, attractive, indifferent, and reverse. 6 Customer requirements are often ambiguous and abstract. To deal with this problem, Chen et al. 7 proposed an ontology learning customer needs representation system. In this system, customer needs ontology was established which could generate more accurate need statements. In order to better obtain customer requirement and develop product, Sheng et al. 8 proposed the customer requirement modeling and mapping process for configuration design. Ambiguous and abstract requirements were decomposed and then converted by QFD. The rules of decomposition were given. Wang and Tseng 9 processed the issue of mapping customer requirements to existing product variants. Mapping task was regarded as a classification problem and a Naïve Bayes-based classifier was built. Carulli et al. 10 presented a methodology based on virtual reality technologies to capture the characteristics of products. It allowed companies to collect product configuration preferences at the beginning of the product development process. Aguwa et al. 11 transformed different forms of customer input including qualitative and quantitative data to a common data format which was used to interpret and analyze the voice of customer.
As an efficient technique to process customer requirements and improve customer satisfaction, QFD has gained extensive support. Correctly rating the final importance of customer requirements is crucial to the value of technical features. Nahm et al. 12 developed two sets of new rating method including customer preference rating method and customer satisfaction rating method, which improved customer satisfaction. As the dynamic of customer needs during product develop process, Raharjo et al. 13 proposed a method to deal with customer needs’ dynamic in QFD. Lo et al. 14 proposed one-step QFD to simplify traditional process so as to meet special needs.
Optimization problem
Many studies have shown that customer requirement and product configuration can be successfully processed when considered as an optimization problem. In general, a mathematic model is built to formalize the specific design problem. A specificity of this mathematic model is that the solution space can be large. Thus, optimization algorithm, such as genetic algorithm15–17 and ACO,18,19 is widely employed to propose a set of optimal solutions to the customer. Various criteria are presented to extract optimal solution from the optimal solution set. 20 On the product configuration side, the criteria could be performance, cost, and so on. On the customer requirement side, it could be customer satisfaction.
To reduce user’s uncertainty and fuzzy feeling, Dou and Zong 21 proposed a method to process customer needs using interactive genetic algorithm. The method could solve user’s uncertainty which is caused by their lack of information. Song and Chan 22 presented configuration optimization of product-extension service (PES). The configuration optimization took performance, cost, and response time into consideration and non-dominated sorting genetic algorithm was used to solve it. Du et al. 23 developed a Stackelberg game theoretic model in order to achieve joint optimization of product family configuration and scaling design. Sagrado et al. 19 employed ACO algorithm to analyze requirements.
As we can conclude from above literature, most research focus on analyzing customer requirements. Before analyzing customer requirements with proposed method, researchers assume that customer requirements have been acquired through various sources, such as surveys, interviews, and web. Many methods are used to reduce uncertainty or deduce the value of product technical features in the light of certain rules. However, it is difficult to achieve it for fuzzy requirements. Therefore, it is necessary for enterprise to instruct customers at the beginning of acquiring step. In addition, most optimization models are related to product configuration, and a little research integrate optimization algorithm with customer requirement. Thus, it has practical significance to employ ACO algorithm to seek optimal expression path considering customer satisfaction.
Customer requirement acquisition system
This section mainly concerns customer requirement acquisition system which includes two parts, RN and the form of requirement expression. These two parts limit the scope of requirements and the specific method of describing RN avoiding incomplete and ambiguous customer requirements, which increases the requirement processing efficiency. In this section, we will illustrate these two parts first and then customer requirement acquisition system is described.
RN
Customers with different levels of professional knowledge describe the product from different perspectives. For the customers with professional knowledge of the product, they always describe technical features or the components of the product, such as maximum speed of the car or engine type. But for the common customers, they have a little knowledge of the product and always put forward functional requirements, such as automobile displacement. However, both kinds of customers are just concerned with these product attributes which come from what they already know and ignore what are unfamiliar to them. These product attributes are incomplete for product configuration; in other words, more details are required for enterprise to provide the product satisfying customer requirements. Therefore, RN is proposed in order to obtain more details.
RN refers to the basic unit that cannot be further subdivided in the customer requirement acquisition system, which has the ability to express the information of the product attributes. RN is extracted from historical requirement data according to requirement data analysis or designed by engineer based on the product configuration model. Figure 1 shows the relationship between RN and product configuration model. A product can be decomposed into several modules through analyzing its structure and corresponding function. A module consists of components and parts which can be connected in accordance with certain rules. The structure unit (i.e. product, modules, and parts) contained in every layer describes itself with attributes, including product’s size, appearance, cost, and performance. Thus, an attribute of the structure unit can be regarded as a RN. By setting different values for a RN, we can obtain instances of components and parts.

Relationship between RN and product configuration model.
RNs involve the possible product attributes that customers may be interested in. Customer requirements can be acquired from the description of RNs. To represent and employ RN in this system, it can be defined as
where Id is a RN identification, a code to distinguish different nodes. R-type is the type of RN. In this system, RNs can be divided into four types: function, performance, cost, and structure. A set of RNs that belong to same type are organized as similar as the structure of product configuration model, which forms the RN library. The structure of RN library is shown in Figure 2.

The structure of RN library.
D-type is the domain type of RN including value type and option type. Domain is the predefined domain of RN, which can be seen as a constraint to the description of RN. These two parameters are related. If one RN is value type, its domain can be a continuous numerical interval, and if one RN is option type, its domain can be a set of attribute options. These options could be two mutually exclusive options (e.g. Yes or No) or a series of options. For example, the RN that “the maximum speed of the car” belongs to value type, its domain can be set to an interval [180, 250], and the node that “car color” belongs to option type, its domain can be set to a set {white, black, red}. The predefined domain of RN depends on two factors, technical features of the product that the enterprise can reach and technical features of similar products on the market.
The form of requirement expression
The form of requirement expression is the way in which customers describe RN. To avoid ambiguous customer requirements, specific form of requirement expression is designed through summarizing the forms customers commonly use. It relates to D-type, the domain type of RN. For the RN of value type, the form of requirement expression mainly includes five types: exact value, about a value, greater than a value, less than a value, and numerical interval (noted =, ≈, >, <, [ ]). Customers can choose suitable form to describe the RN according to personal preference. If customer understands the RN well, he can describe it with exact value, and for the common customer, he can choose four other forms. Besides, the target value set by customer should be within the predefined domain of RN in order that the enterprise can produce the product satisfying requirements. For example, the customer proposes that the maximum speed of the car should be above 200 km/h, and 200 belongs to the interval [180, 250], thus the description of this node is reasonable. For the RN of option type, customer chooses preferred option from the set of attribute options.
By defining RN and the form of requirement expression, initial and ambiguous customer requirements are transformed into the description of each RN. Requirement acquiring interface is designed to obtain it. Different types of RN have different interfaces. As shown in Figure 3, Id, form (the form of requirement expression), and Domain are mentioned above. Information of Id and Domain is shown to the customer as prompt message here. Weight quantifies the importance of RN. Numbers 4, 3, 2, and 1 are used to indicate “very important,”“important,”“less important,” and “general.” For the RN of value type, form and Weight need to be selected from predefined options, and value needs to be set by the customer. The description of this node can be represented as R = {Id, form, value, Weight}. For the RN of option type, option and Weight need to be selected. The description of this node can be represented as R = {Id, option, Weight}.

The structure of requirement acquiring interface.
Customer requirement acquisition system
Customer requirement acquisition system is shown in Figure 4. RN library is the base of this system. Requirement acquiring process can be described as follows. In the first stage, RNs are presented to the customer in orders according to expression path, that is, the sequence of RNs. Customer describes RN through the requirement acquiring interface. After finishing the description of one RN, the system will check whether it is reasonable. If not, the system will inform the customer that it should be corrected. Note that not all RNs need to be described, customer can skip some RNs that they are not interested in. Then, the system presents next RN to the customer. After all the RNs have been passed, customer set value to the customer satisfaction of this expression path. If there are n RNs in the RN library, considering some RNs may be skipped, acquired customer requirements can be described as
where CR refers to customer requirements, Ri is the description of the ith RN, i = 1, 2, …, m, and m (m ≤ n) is the total number of described RNs. Acquired customer requirements and customer satisfaction are sent to a database. The aim of this stage is to facilitate the expression of customer requirements in order to obtain complete and clear customer requirements.

Customer requirement acquisition system.
The second stage concerns requirement expression guidance. The aim of this stage is to find optimal expression path, which is the most satisfactory expression path for the majority of customers. If RNs are ranked randomly, the next node may not be what customer expects, and it will reduce customer’s enthusiasm. Thus, expression path should be rational planed. By analyzing acquired requirement data and customer satisfaction with ACO algorithm, new expression path is generated. RNs will be presented to the customer under the guidance of new expression path in next time. If there are enough people participating in this process, optimal expression path is obtained. The problem of seeking optimal expression path can be regarded as an optimization problem in order to maximize customer satisfaction. The details of this stage are described in next section.
Requirement expression guidance
ACO algorithm has been widely applied to optimization problems. In ACO algorithm, each ant move from an initial node which is selected randomly. For each ant, it can choose next node from a set of neighboring nodes according to a probabilistic way. During the trip searching for food, the ant deposits pheromone on the path which guide other ants to the destination. Finally, some of solutions are used to update the pheromone values. Compared with ACO algorithm, the problem of seeking optimal expression path has some similarities to it, for example, a customer can be seen as an ant and an RN can be seen as a node in ACO algorithm. A solution constructed by an ant is exactly the expression path. Therefore, ACO algorithm is selected in requirement expression guidance. In contrast to survey and interview, ACO algorithm is more efficient in processing acquired requirement data. And it can reduce costs especially when there are a large number of respondents.
There are n RNs in the RN library, and we add a virtual node r0 as a starting node of expression path. Thus, all the nodes can be represented as a set T = {r0, r1, r2, …, rn}, where ri is the ith node (i = 0, 1, 2, …, n), n+1 is the total number of nodes. In most ACO algorithms, the probability of selecting next node randomly is determined by heuristic information and pheromone value. The heuristic information is optional, but it is associated with the problem itself. In this problem, we can define the correlation between two nodes as heuristic information, including “very strong,”“strong,”“weak,” and “no relationship,” 0.9, 0.5, 0.3, and 0.1 are used to indicate them, respectively. It can be judged by engineers with rich experience. Thus, the matrix of heuristic information can be represented as follows
where η is the heuristic information matrix, and ηij indicates the correlation between the ith node and the jth node, which means the influence that the ith node has on the jth node.
Pheromone value is the crux of ACO algorithm. The pheromone value deposited in the arc from node ri to node rj is denoted by τij. The higher the pheromone value τij, the higher the probability of selecting node rj as next node. The matrix of pheromone value τ is represented as follows
At the beginning of this algorithm, all the nodes have same probability to be selected as next node at each step from the perspective of pheromone value, hence all the pheromone values are initialized to a constant value c (c > 0), that is, τij = c. Taking into account this specific issue, the constant value c can be expressed as follows
where n is the number of nodes in the RN library.
In the kth iteration of ACO algorithm, a solution to this problem constructed by ant k can be represented as a vector tabuk. It records the sequence of nodes that have been selected from the set T according to probability selection mechanism. It starts with node r0 and then at each step a feasible node is added to the current solution tabuk in order to avoid selecting one node twice. Assume that ant k is located at node ri now, the probability of selecting next node rj randomly, also called transition probability, is defined as follows
where τij is the current pheromone value and ηij is the heuristic information deposited in the arc from node ri to node rj. The value of parameters α and β reflect the relative importance of pheromone value and heuristic information. These two parameters determine which information is more effective in the process of probabilistic selection. Thus, it is necessary to balance the value of α and β. allowedk represents the set of unselected nodes which are available for ant k at node ri, allowedk = T − tabuk. It is contrary to the vector tabuk, if one node is selected and added to tabuk, the node must be removed from the set allowedk.
Once the set allowedk is empty, it means that ant k has passed all the nodes that belong to the set T. The sequence of nodes recorded in the vector tabuk determines the expression path. As some nodes are skipped in the process of requirement expression, those nodes are deleted from the vector tabuk and nodes remained in the vector are ranked according to Weight (i.e. the importance of RN determined by the customer) in descending order, except node r0. The node with higher importance is moved forward and the new generated vector is denoted by Lk. Vector Lk indicates a new path in which attractive nodes are included and important nodes are placed in front of this path. Then, the rule of pheromone value update is described as follows
where ρ∈[0, 1] is the evaporation rate and Δτij is the increment of pheromone value. The aim of pheromone value update is to increase the probability of selecting attractive nodes recorded in the vector Lk. If the arc from node ri to node rj belongs to the path created by vector Lk, then
where S∈[0, 1] is the customer satisfaction. Customer evaluates the expression path after finishing requirement expression. The expression path meeting customer’s expectation gets higher satisfaction value. And if the arc from node ri to node rj does not belong to the path created by vector Lk, then Δτij = 0.
After multiple iterations, optimal expression path is obtained. Gen is the maximum number of iterations. When the number of iterations k reaches Gen, vector tabuk can be regarded as optimal expression path. Note that it does not mean that requirement expression guidance is stopped. ACO algorithm will continue running, and the result will be more accurate as the number of customers increases. Figure 5 is the flowchart of requirement expression guidance based on ACO algorithm.

Flowchart of requirement expression guidance based on ACO algorithm.
Case study
Customer requirement acquisition system
In this article, automated guided vehicle (AGV) is taken as an example to detail the method proposed in the above. AGV is a driverless transport system which has received extensive attention in the world. It is used for transporting materials and has been widely used in manufacturing industry, logistics industry, and others. Customer expects to improve the production efficiency and reduce labor costs with the application of AGV. Meanwhile, AGV company wants to enhance its competitiveness in the AGV market. Acquiring customer requirements is the key factor to achieve this. AGV company generally provides different types of vehicles to customer. There are many factors that have an influence on the choice of vehicle type, such as factory environment, product costs, and performance requirement. However, as AGV is a high-tech engineering vehicle, it is difficult for common customers to propose requirements on AGV completely and clearly.
The structure of AGV and corresponding RNs is shown in Figure 6. AGV mainly includes three modules, namely, machine module, motion module, and control module. Only a portion of components and parts are presented in this figure due to space limitation. Analysis was conducted for the structure units in every layer, which was used for identifying RNs. These acquired RNs reflect attributes of the structure units and constitute the RN library. In order to simplify the specific problem, some major RNs were extracted from the RN library as samples to illustrate the method. The list of major RNs is shown in Table 1. There are eight nodes in this table, thus node set is denoted by T = {r0, r1, r2, …, r8}, where r0 is a starting node.

The structure of AGV and corresponding RNs.
Major RNs of AGV.
RN: requirement node; AGV: automated guided vehicle.
Requirement expression guidance
Before the algorithm began to run, heuristic information and pheromone value should be initialized. Through the analysis of engineers, the correlation between two nodes was quantified and the result was represented with scores of 0.1, 0.3, 0.5, and 0.9. A score of 0.1 indicates no relationship, while a score of 0.9 shows the very strong correlation between two nodes. The matrix of heuristic information η is shown as follows
Pheromone value was all initialized to τij = 1/8= 0.125. Parameter values should be set according to the specific issue, in this case we set α = 1, β = 5, ρ = 0.2, and Gen = 200.
In the first iteration of ACO, the result of probability selection mainly depends on heuristic information. An ant started to move from node r0, according to formula (4), next node was selected and then added to the vector tabu1. When all the nodes that belong to set T had been passed, the ant stopped moving. The sequence of nodes recorded in tabu1 was the first expression path. Expression path is shown as follows: r0→r7→r5→r4→r1→r6→r2→r3→r8. Then, RNs were presented to the customer in orders under the guidance of expression path (except node r0).
Customer describes RNs through requirement acquiring interface. Based on the domain type of RNs, customer sets value for the node or chooses preferred option from the set of attribute options. Numbers 4, 3, 2, and 1 represent the importance of RNs. Acquired customer requirements are represented as follows: {r7, >40, 1}, {r4, Laser navigation, 3}, {r1, <300, 4}, {r2, >500, 4}, {r3, Traction AGV, 3}, and {r8, Auto charging, 2}. Nodes r5 and r6 were skipped. After finishing requirement expression, customer evaluated the expression path and set value for customer satisfaction, S = 0.8. Deleted node r5 and r6 from tabu1 and ranked the remaining nodes according to the importance of RNs in descending order. The process of disposing requirement data is shown in Figure 7.

The process of disposing requirement data.
New vector L1 was generated and then applied in the step of pheromone value update. According to formula (5), the matrix of pheromone value τ was updated. Pheromone value of the arc that belonged to vector L1 was increased compared with other arcs. Thus, nodes recorded in vector L1 have a higher probability to be selected in the next iteration. In the 200th iteration (k = 200), the number of iterations reached the maximum number of iterations Gen, vector tabu200 could be regarded as the optimal expression path. It is shown as follows: r0→r3→r2→r1→r4→r7→r5→r6→r8. In all, 200 customers participated in this process before the end of the 200th iteration. As we can see, the nodes that are important to customer or attract customer’s attention are placed in front of the optimal expression path, which improves customer satisfaction.
A survey was conducted in order to verify result. Set T was presented to 50 customers and then they were required to rank those nodes in descending order according to the importance of the nodes or their preference. Every customer constructed an expression path. In the expression path, the first node was assigned a score of 8 and the second node was assigned a score of 7, and so on. Then, the total score of every node was added up. At last, those nodes were ranked in descending order according to the total score. The result is shown as follows: r3→r2→r1→r4→r6→r8→r7→r5. As we can conclude from the comparison of two results, the first four nodes are same in two results, but the latter four nodes have some differences. Since the front nodes have a higher importance than the latter, the optimal expression path obtained by ACO algorithm can be considered reasonable.
Conclusion
This article has discussed customer requirement acquisition system and requirement expression guidance. Based on present works, conclusions can be drawn as follows:
Traditional customer requirements are mostly incomplete and ambiguous. To avoid this problem, customer requirement acquisition system is proposed. In this system, RN is constructed which reflects attribute of the structure unit. According to the domain type of RN, the form of requirement expression is defined including value type and option type. By describing RNs with suitable form of requirement expression, customer requirements are obtained.
RNs are presented to the customer under the guidance of expression path. ACO is used to search for optimal expression path. The details of requirement expression guidance based on ACO algorithm are described in this article. By analyzing acquired requirement data and customer satisfaction, the node that most people are interested in have a higher probability to be placed in front of the expression path. Optimal expression path is beneficial for the enterprise to instruct customers to express their requirements, which improves customer satisfaction.
Footnotes
Academic Editor: ZW Zhong
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
