OPTIMIZATION OF PRODUCT LINE CONSIDERING COMPATIBILITY AND RELIABILITY VIA DISCRETE IMPERIALIST COMPETITIVE ALGORITHM

. In the era of mass customization, designing optimal products is one of the most critical decision-making for a company to stay competitive. More and more customers like customized products, which will bring challenges to the product line design and the production. If a company adopts customers’ favorite levels, this may lead to lower product reliability, or incompatibility among the components that make up the product. Moreover, it is worth outsourcing certain attribute levels to reduce production cost, but customers may dislike these levels because of their delivery delay. If managers consider the compatibility issue, the quality issue, outsource determination, and the delivery due date in the product design and production stages, they will avoid unreasonable product configuration and many unnecessary expenses, thereby bringing benefits to the company. To solve this complicated problem, we establish a nonlinear program that maximizes Per-capita-contribution Margin considering Reliability Penalty. Since the integrated product line design and production problem is NP-hard, we propose an improved Discrete Imperialist Competitive Algorithm (DICA). The proposed DICA is compared with genetic algorithm (GA) and simulated annealing (SA) through extensive numerical experiment, and the results show that DICA displays 6% ∼ 17% and 5% ∼ 14% improvement over GA and SA in terms of solution quality, respectively. and customers’ satisfaction. The MC concept has emerged as a major manufacturing strategy. It focuses on changes in demand and technology [12]. Vinodh et al . [55] suggested that a focus on customer’s requirement is the universal feature of MC and manufacturing agility. In the process of mass customization, the paradigm of market-based product design explores the integration of quantitative customer preference data and product design optimization problems.


Introduction
Nowadays, the economic environment in which firms operate is more competitive than ever. The diversification of customers' demand is a significant characteristic of the market, and many manufacturing industries have paid great attention to this phenomenon. The diversified and personalized demand drives enterprises to use a few competitive strategies and computational intelligence for smart manufacturing, such as mass customization (MC) [41,44], to increase their benefits and customers' satisfaction.
The MC concept has emerged as a major manufacturing strategy. It focuses on changes in demand and technology [12]. Vinodh et al. [55] suggested that a focus on customer's requirement is the universal feature of MC and manufacturing agility. In the process of mass customization, the paradigm of market-based product design explores the integration of quantitative customer preference data and product design optimization problems.
Tsafarakis et al. [51] pointed out that product design is a complex and not well formalized discipline, which combines the fields of marketing and engineering.
To meet the needs of different customers, a company must continuously introduce new products or redesign existing ones. However, such procedures are risky and expensive to implement. To minimize the associated risks, managers assess the potential success of a new product concept at an early design stage. For example, Abedi [1] designed a model that helps managers make decisions early in the product life. These optimal product (line) design problems have constituted a wide area of research in quantitative marketing [51]. A product line is defined as a set of product variants (products for short) offered by a single company with similar structures and functions but with different configurations. The product line needs to be optimized under several specific goals, such as market share and profit. Each product is represented as a set of attributes with several specific levels. A wardrobe for example, consists of the attributes of board, color, and hardware accessory, which take the levels of solid wood particle board or ecological board, pure color or combination color, and metal, alloy or stainless steel, respectively. Customers can choose the levels of attributes according to their preferences.
The large number of attributes and levels increases the number of product configurations. It complicates the selection of an appropriate product design configuration. For example, a company plans to introduce three kinds of new wardrobe models. If each wardrobe consists of seven attributes, each taking six different levels, the number of possible wardrobe profiles is 6 7 (i.e., 279 936). For designing a line of three kinds of wardrobes, the number of candidates is 279 936 3 (i.e., 2.2 × 10 16 ). At the same time, there are compatibility issues among the levels of attributes. For example, when designing a customized wardrobe, the opening method of the cabinet door should be compatible with its shape. Obviously, sliding door is not compatible with curved surface but flat one. After the product is designed according to customers' needs, it enters the production stage. The production process must meet the requirements of product reliability and delivery time.
The inter-relationship between product design and production process also leads to high complexity. The design of product line should balance customer preferences and production decision. A selection for a preferred level may lead to lower product reliability, or incompatibility among the components that make up the product. On the other hand, managers are willing to outsource certain attribute level in order to reduce production cost. However, the outsourcing vendor may be far away from the company and cannot deliver the products in time; or the outsourcing vendor may have too many other urgent orders and cannot process the products in time; or although the company agrees on the delivery date with the outsourcing vendor, the delivery needs cannot be met by the customers due to relatively long waiting time. Consequently, customers may not prefer this level due to its delivery delay.
This paper constructs a nonlinear model around two intertwined issues of product design and production process. The objective is to maximize Per-capita-contribution Margin (PM) considering Reliability Penalty (PMRP), which implies the profit achieved from per customer. The imperialist competitive algorithm (ICA) has been applied to optimization problems such as Flexible Job shop Scheduling Problem (FJSP) [16], Traveling Salesman Problem (TSP) [7], and two-sided assembly lines [65]. However, the classical ICA is generally used for continuous problems, because the movement distance of a colony toward its imperialist is a random variable with uniform distribution in movement strategy. Discretizing the classical ICA is a necessity for solving discrete problems. We propose a discrete ICA (DICA) to assist managers in designing attributes' levels and making outsourcing strategy.
The remainder of this paper is organized as follows. Section 2 introduces the related literature of product line design optimization. Section 3 describes the integrated model of product line design optimization. Sections 4 and 5 introduce DICA, genetic algorithm (GA) and simulated annealing (SA) methods for the proposed model. In Section 6, DICA is compared with GA and SA through extensive numerical experiments. Section 7 concludes this paper with further study direction.

Literature review
In this section, we present related literature review of studies about mass customization, product line design problems, and intelligent optimization algorithms.

Mass customization
Since the late 1980s, the analysis and implementation of mass customization (MC) systems have received considerable attention from researchers and practitioners [12]. Mass customization provides customized products or services in high volume at reasonable low cost through flexible processes. As demand for an individual product and its variant increases, mass personalized customization becomes imperative [38-40, 56, 64].
Many researchers analyzed MC from different aspects such as organizational reform, influent factors, customized capabilities, and product design method. Rungtusanatham and Salvador [44] studied organizational changes related to the transition from mass production to mass customization. Fogliatto et al. [12] believed that the main factors that determined the success of MC were customer demand, markets, value chain, technology, as well as customizable offer and knowledge. They identified several promising areas for future research, including rapid manufacturing, MC value, quality control, warranty, and empirical validation. Simon et al. [48] pointed out that MC required three basic capabilities: Distinguishing the product attributes that vary among customers; reusing or reorganizing existing production line resources; and helping customers recognize or create solutions to their own demands. As one of the main strategies to satisfy customers and ensure the company's survival in today's market, MC cannot be ignored [8]. In the process of mass customization, market-based product design connects the marketing and engineering domains, bringing profits to the company while meeting the needs of different customers.

Product line design problems
Product line design is an important part of mass customization. Its definition has been expanded with the development of related theories. Draganska and Jain [10] believed that product line was a product collection with the same core content and closely related products. The products in a product line have similar functions and can meet similar but slightly different customer needs. In order to meet the personalized orders, companies must continuously introduce new products or redesign existing ones. However, product configuration conflicts cause enormous problems, such as ineffective product design and unnecessary expenses, in the product or service design [4].
Many studies have proven that optimizing the product line at the product design stage can benefit both enterprises and customers. For example, Modrak and Soltysova [39] believed that the incompatibility of product components when customers customized products cause customer disappointment. A promising solution is to eliminate or at least reduce mutually incompatible components in the early stages of the design process. Luo [36] studied the product design of consumer durables, and pointed out the need to consider not only the relationship between consumer preferences and the engineering feasibility of each product, but also the revenue and cost interactions across products in the product line. He optimized the problem using GA. Albritton et al. [2] modeled customers' dynamic preferences in the development and robust design of a single product. Saridakis et al. [46] developed a particle swarm optimization (PSO) algorithm to design car lines. The algorithm optimizes the degree of differentiation vs. commonality among models in the line, and elevates customer satisfaction. Li et al. [26] optimize the price and quality of new products when there are existing products in the product line. They applied convex optimization and analyzed the properties of the optimal solution. Existing products often prompt a company to provide new products with higher quality and price.
Some scholars further extended product line design problems combined with customization, cellular manufacturing, risk, and social factors. For example, Tookanlou and Wong [49] extended the standard product line design problem by considering two interdependent aspects, namely customization level and product delivery lead time. In another study [50], they studied the product line design from market channels with vertical and horizontal consumer heterogeneity, and used mathematical analysis and game theory to analyze the influence of channel structure on the optimal quality and customization level. Liu et al. [33] constructed a model to determine product variants through product line design and resource allocation in cellular manufacturing. Aydin and Badurdeen [3] proposed a new sustainable production line design method, which not only considered conflicting goals: total lifecycle profit (economic), as well as total energy and water usage (environmental), but also multiple life cycle closed-loop logistics with different recycling strategies. Liu et al. [34] discussed the balance between configuration design and production line under uncertain production requirements. They applied a heuristic algorithm based on greedy randomised adaptive search procedure combined with variable neighbourhood search for operation assignment. Gupta and Krishnan [18] found that suppliers' participation in the early stages of product design could reduce product development risk, detect potential problems early, improve product quality, eliminate product rework, reduce the internal complexity of product development by providing possible outsourcing channels, improve communication and information exchange, reduce delays, and get many other benefits. Jiao and Zhu [20] mainly studied the problems of product pricing and maintenance in the product line. They provided insights into the influence of sales price, warranty period and preventive maintenance interval. Luo et al. [37] proposed a multi-objective optimization model based on product platform. This model can optimize product family configuration and supplier pre-selection from multiple perspectives in the early stage of product design. The NSGA-II algorithm was developed to achieve Pareto non-dominated solutions of the model. Based on predecessors' attention to standardization work to simply product line, Yin et al. [61] put forward a model to quantitatively evaluate the degree of standardization, which further enriched the content of product line optimization research.

Optimization algorithms for product line design
Many researchers improved some classic intelligent algorithms to make them more suitable for the research problems. Belloni et al. [5] compared nine methods of product line optimization. These methods are mainly divided into three categories: (1) Methods that operate in attribute space (coordinate ascent, genetic algorithm, and simulated algorithm); (2) Methods that operate in product space (greedy heuristic, divide-and-conquer heuristic, and product-swapping heuristic); (3) Methods that partially evaluate formed products (dynamic programming heuristic, beam search heuristic, and nested partitions heuristic). Dou et al. [9] took advantage of iterative genetic algorithm (IGA), which makes the existing product and design process evolve bi-directionally in the customized process to seek the optimal design. Tsafarakis et al. [52] applied a new hybrid PSO approach to design an optimal industrial product line. They found that the incorporation of a mutation operator to the standard PSO algorithm significantly improved its performance. The hybrid PSO approach outperformed GA in a simulated study with artificial datasets pertaining to industrial cranes. Tsafarakis et al. [53] applied Fuzzy Self-Tuning Differential Evolution to a product line optimization problem, and compared it to GA.

Research gap
Product line design of personalized customized products usually depends on the marketing and engineering fields. Although existing research has proposed complex technologies to deal with the unique problems of each field, most of the interdependent problems across marketing and engineering have not been solved. In addition, existing research focused on balancing product cost and income, or on optimizing product diversity and universality of component assembly molds. However, there is a lack of research on the process of product design and production, compatibility issues among product components, product reliability, delivery time of finished products, and outsourcing decision-making. Although some optimization software, such as LINGO and CPLEX [17,25], can solve these complicated models, they are only suitable for small-sized problems due to their long runtime. Consequently, this paper constructs a product line design model with the consideration of compatibility and reliability, and develops DICA to solve it even for large-sized instances.

Background of the problem
Consider a company that produces customized cell-phones, computers and pads. Each product has different attributes and each attribute has several levels, which is shown in Table 1. Although managers hope to design products according to customers' preferences to increase market share, some configurations give rise to problems of compatibility and reliability. There is a compatibility case in Table 1. If a customer chooses the level of customized camera in the media attribute for a cell phone, the camera needs a high-solution screen to match it.
Reliability refers to the quality standard that the product must reach before it can be put into use in the market. The reliability of product depends on the quality of its components. Some customers prefer new products that are associated with immature processing technology or components, and some choose low-cost material for cost saving. Such cases result in poor quality; thus, can't be produced. For example, the integrated graphics card of Table 1 is cheap, but it occupies the system's memory and affects the reliability performance. It may fail when dealing with complex images and videos due to low reliability. In contrast, the discrete graphics card is expensive and has its own memory source and power source, so it provides higher reliability performance than the integrated graphics card. Therefore, the choice of graphics card level should be based on a certain reliability standard. Low-reliability of products may easily cause product failure, which gives rise to high product rework rate and production cost, and thus reduces PM. Consequently, PMRP penalizes low-reliability products based on PM. The lower the reliability is, the smaller PMRP is. In addition, the company needs to consider the production time during designing and production process, because customers wish their products to be delivered on time. The production time depends on the decision of attributes' levels, and whether the associated components are outsourced. In order to maximize PMRP, company managers must make reasonable decisions including design, production planning, etc.

Problem hypotheses and notations
The problem is formulated based on the following hypotheses: (1) Customers: the number of customers is known in advance. Each customer has his/her own favorite product configuration. That is to say, each customer has different preference for certain level of a product's attribute, which is denoted by the variable part-worth. (2) Products: the number of products in a product line is known in advance. Each product has the same number of attributes, and each attribute has the same number of levels. There are some competitive counterparts in the market for each product variant in the product line. (3) Cost: the basic production cost and the cost of each component are known. If the operation for certain level of attribute in the production needs to be outsourced, the outsourcing cost will occur. (4) Reliability: the reliability of a product is calculated from the reliability of the components that make up the product. The more the product is unreliable, the larger the penalty cost is. (5) Time: the basic production time of product configuration is known, and the additional production time of customized components can be estimated. The total production time cannot be larger than the delivery due time expected by customers.
The input parameters and decision variables used in the model are listed as follows.

Intermediate variables
According to the input parameters and decision variables, the intermediate variables are defined as follows: The cost of product , The utility that customer perceives for product . It is the sum of the part-worths.
. The probability that customer will choose product using Bradley Terry Luce (BTL) model [6,35]

SOP
The share of preference for product , SOP =

Mathematical model
The problem can be formulated as a non-linear integer programming model as follows:  Objective function (3.1) is to maximize Per-capita-contribution Margin considering Reliability Penalty (PMRP), which consists of two terms defined as follows: The first term is Per-capita-contribution Margin (PM), which implies that the profitability of a product is approximately evaluated using contribution margin per customer in the market.
-Cost is incurred when product is produced. The cost includes the basic production cost and the cost of producing customized components. The latter contains internal customized cost for those components produced inside the company and outsourcing cost for those components produced outside the company.
-SOP is the average of choice probabilities of all customers for product . Table 2 gives an example of customers' preference scores for each level of various product attributes. The scores of product 1 and its competitive products are randomly selected from the integer interval [1,5]. The scores can be transformed into part-worths of the attribute levels. The utility value of product 1 is usually expressed as the sum of the part-worths (with superscript "*") of the preferred attribute levels. The utility values of competitive products are similarly calculated based on the preferred levels of product 1 (see e.g., Tab. 3). Through the use of BTL choice model, the utilities that each customer assigns to each product and its competitive ones can be converted to choice probability . SOP is then derived from the aggregation of choice probabilities across the whole customer population. -PM is obtained by multiplying the production cost , the ratio of profit to cost , and the preference share SOP . The second term is the penalty cost which occurs when the product does not reach ideal reliability. Ω is obtained by accumulating the reliability of all components of product . Penalty coefficient is set according to the actual situation. Constraint (3.2) ensures that only one level of each attribute of each product is selected. Constraint (3.3) ensures that the level selection for different attributes of each product can not violate the compatibility between each other when designing customized products. Constraint (3.4) guarantees that the accumulative value of all components' reliability can not be less than a given reliability threshold of the product. Constraint (3.5) ensures that the product can be delivered to the customer no later than his/her expected delivery time. Constraints (3.6) and (3.7) indicate that the decision variables are binary.
Previous studies have proved that the product line design problem belongs to the class of NP-hard combinatorial optimization problems [23,24,54], and thus no algorithm can identify the global optimum of the problem in tractable time [43]. The proposed model has two simultaneous phases. The first phase is mainly to solve the problem of product line design. The second phase is to make decision of outsourcing. Consequently, the proposed model is reasonably NP-hard since it integrates two above phases along with compatibility among product components, product reliability, and product delivery time. This excludes the chance of applying exhaustive exact algorithms such as backtracking, dynamic programming, or branch-and-bound technique, because these algorithms would be too time consuming even for a moderate scale problem.

Discrete imperialist competitive algorithm
Imperialist Competitive Algorithm (ICA) is classified into population-based methods, like genetic algorithm. ICA is a useful method in optimization because of its reasonable runtime and effectiveness [32,45]. Moreover, ICA is a new solution approach, which has not been applied to product line design optimization problems. In ICA, a "virtual" country represents an encoded solution to the problem. The better countries are chosen to become the imperialists. The other countries are divided among the imperialists as colonies. The whole set of an imperialist and its colonies is called an empire. After seizing some colonies, the imperialists try to penetrate into their colonies by making them similar to themselves. Then the imperialists compete with each other to seize more colonies and gain more power. This process makes some empires more powerful and some weaker. The weaker empires eventually collapse.
In order to better adapt to the real situation, some effective changes are made in the classical ICA as follows. As mentioned above, each imperialist assimilates its colonies by making them similar to itself, which is called movement strategy. In the proposed DICA, colony movement is redefined to be a mutation or a mutation followed by at most S swimming. Movement strategy also applies the idea of simulated annealing (SA) to accept an inferior solution from a mutation or swimming. Although movement strategy helps the colonies to become better, it lessens the diversity of the population and makes the algorithm to trap into local optima easily. Thus, in order to prevent this situation and make the colonies to have better movement goal, each imperialist obtains a better solution from a mutation if possible.
Instead of using the possession probability method in classical ICA, we employ more intuitive and effective "roulette wheel" sampling to select the prior empire and let it to seize the weakest colony in the weakest empire in competition strategy.
In real world, the imperialists usually make some strategies to develop their power and domination, but the classical ICA does not provide a corresponding method. Obviously it is a shortcoming of the classical ICA [21]. Hence, to make up for that, a strategy called the imperialists' development plan is applied in the proposed DICA. This helps the countries in the population to learn from each other to get better power.  Combining the two ingredients described above, the solution representation is shown in (4.3). Figure 1 shows a typical instance.

The proposed DICA procedure
(2) Population initialization and empires' formation.
In DICA, a population including Popsize = 50 countries is generated randomly, and some parameters ( imp , col , , , ) are initialized. The parameters are set according to some previous related works [7,16,65] and the results of pre-experiments. The initial temperature is specified by using Kia et al.'s method [22]. Some powerful countries with better objective function values are selected as the imperialists, and the rest as their colonies. It is assumed that the population initially contains imp imperialist countries and their col colonies (see Eq. (4.4)).
To assign the colonies to all imperialists, calculate the initial power ( imp ) of each imperialist. Then imp is normalized as NC which is in the interval of (0,1) (see Eq. (4.5)). col colonies are randomly chosen from the population and assigned to each imperialist using equation (4.6). Each imperialist and its colonies form an empire.

The movement strategy (Algorithm 2)
In DICA, colony movement is regarded as a mutation or a mutation followed by at most swimming. Colony mutation refers to a change in a random dimensional direction toward its imperialist. For example, Figures 2a and 2b shows that a colony runs a mutation in the first/second dimension. Swimming indicates that when PMRP of the above colony is better than its last one, the colony mutates further in a random vector of the same dimension. If the colony continues to increase its PMRP, it continues swimming up to times. This represents that the colony tends to keep moving if it is headed in the direction of increasingly favorable positions. The main idea of steps 2-19 in Algorithm 2 is that if PMRP of a colony after movement is better than its last one, accept the movement, and otherwise accept the movement by certain probability. The probability of accepting a worse solution is high to begin with, but it gets lower as the temperature goes down. It is worth noting that if all colonies of an imperialist move toward it, many identical colonies are obtained after some iterations. To prevent such assimilation among colonies, after all colonies of an imperialist complete their movement, the imperialist itself will mutate for the next iteration (steps 21-26 in Algorithm 2). If the best colony in an empire reaches a position with larger PMRP than that of its imperialist, exchange the positions of the colony and imperialist. When accomplishing the movement strategy, constraints (3.2)-(3.7) should be satisfied.

The competition strategy (Algorithm 3)
In Algorithm 3, first calculate the power of each country in the population. In order to model the fact that the total power of an empire is mainly affected by the power of its imperialist and partly affected by that of its colonies, we define total power as equation (4.7) in step 1 of Algorithm 3. A small value for (say 0.1) makes the total power of the empire mainly determined by the imperialist. Based on their total power, all empires start to make a competition. All empires try to take possession of colonies of other empires and control them. The empire with more total power may more likely possess colonies. Instead of using the possession probability method in classical ICA, we employ more intuitive and effective "roulette wheel" sampling to select the prior empire and hand the weakest colony to it in steps 2 and 3 of Algorithm 3. The advantage of roulette operator is that it will not disregard any individual in the pool. Consequently, it maintains the diversity of individuals within solution space [11]. In modeling collapse mechanism different criteria can be defined for considering empire's powerless. In classical ICA, an empire collapses and is eliminated when it loses all of its colonies. To keep the population size invariant, we model the collapse mechanism by assuming that the imperialist with no colony is colonized by the prior empire (step 7 in Algorithm 3).

The development strategy (Algorithm 4)
Each iteration of competition urges each country to learn from others and develop itself. Inspired by the crossover operator in genetic algorithm, DICA adds and models this development strategy by assuming that each country is crossed over with any other country in the population. When finishing the development strategy, constraints (3.2)-(3.7) should be satisfied.
After many iterations of movement, competition, development strategies, only the most powerful empire remains.

Genetic algorithm and simulated annealing
Genetic algorithm (GA) and simulated annealing (SA) have been proven to be effective algorithms, and are often used to act as comparison benchmark [28][29][30][31]57]. Calculate current PMRP col of colony ; 3: Try to mutate colony in a random dimensional direction toward imperialist , and then calculate the temporary col ′ ; 4: Accept the movement, and col = col ′ ; 8: Try to swim in the previous dimensional direction, and then calculate the temporary col ′ ; Generate a random number in the interval [0, 1], and set Δ = col − col ′ ; 12: if (exp(−Δ ÷ ) > ) then 13: Accept the movement, and col = col ′ ; end while 20: end for 21: Try to mutate imperialist in a random dimensional direction, and then calculate the temporary PMRP The "roulette wheel" sampling is used to select a prior empire * according to TC ; 3: Hand the weakest colony of the weakest empire to the empire * ; 4: The imperialist with no colony is colonized by the empire * ; 5: Update imp if necessary.

Algorithm 4. Development strategy
1: Try to crossover each country with any other country in the population, generate a new temporary country ′ , and calculate its PMRP ( cou ′ ); The crossover mechanism is described in Algorithm 5 and displayed in Figure 3.

Genetic algorithm
GA was designed and proposed according to the evolution law of organisms in nature. It is a computational model of biological evolution that simulates the natural selection and genetic mechanism of Darwinian biological evolution. It acts as a widely used method for searching the optimal solution by simulating the natural evolution process [15]. The solutions are represented as chromosomes. A set of solutions defines the population of a generation. The population evolves as more fit solutions (chromosomes) substitute less fit solutions. In this way GA gradually nears to optimal solutions [42]. GA for the proposed model is described as follows.
-Chromosome representation: the chromosome representation employs the same solution structure of DICA. -Fitness function: let denote the fitness of -th chromosome in generation before selection. is equal to the corresponding objective function value (i.e., PMRP) of the -th chromosome.
-Initial population: randomly generate Popsize = 50 chromosomes to form the initial population. While generating the initial population, constraints (3.2)-(3.7) should be satisfied. -Crossover: all chromosomes in the parent generation cross over mutually, the crossover probability is = 0.9. The crossover mechanism is similar to Algorithm 5. If the fitness value of the offspring is better than that of the parent, the offspring will be retained in the new generation, and otherwise, it will be discarded. When finishing the crossover operator, constraints (3.2)-(3.7) should be satisfied.
-Mutation: each chromosome will mutate according to a given mutation probability = 0.2. The mutation mechanism is to randomly generate new chromosomes. All off-springs from the mutation will be accepted for the new generation. When accomplishing the mutation operator, constraints (3.2)-(3.7) should be satisfied. -Selection: the method "roulette wheel" sampling is used in the selection. Each chromosome is assigned a slice of the circular roulette wheel, and the size of the slice is proportional to the fitness value of the chromosome. The wheel is spun Popsize times. On each spin, the chromosome under the wheel's marker is selected into the pool of parents for the next generation. -Stopping rule: the calculation is stopped when its runtime reaches DICA's.

Simulated annealing (Algorithm 6)
SA is a stochastic optimization algorithm based on Monte-Carlo iterative solution strategy. Its main idea is based on the similarity between the annealing process of solid matter in physics and general combinatorial optimization problems [62,63]. SA repeats the neighbor generation process to improve the objective function value. When exploring solution space, SA will accept an inferior solution probabilistically according to the metropolis criterion, jump out of the local optima, and obtain the global optimal solution [19]. It has been widely used in various optimization problems due to its strong local searching ability, easy operation and fast solving speed [27]. SA for the proposed model is described in Algorithm 6.
If an initial solution generated in DICA, GA, and SA is infeasible, it is eliminated, and another one is regenerated until it is feasible. If a solution generated through an operator (e.g., mutation, swimming, development strategy, or crossover) is infeasible, it is eliminated, and the individual abandons this operator.

Computational experiments
In this section, we validate DICA by comparing it with GA and SA. They are performed on a Core-based Lenovo-compatible personal computer with 1.60 GHz clock-pulse and 8 GB RAM. They are coded in C++, Algorithm 6. Simulated annealing. while ( < ℓ) do 6: Generate neighborhood solution by using mutation strategy and random method with the same rate. Compute OFV( ).  We observe the difference among solutions obtained by DICA, GA and SA within the same runtime. The CPU in Table 4 is the runtime of DICA without including input and output time, which is recorded by its program. Denote the CPU time of DICA as . GA and SA are terminated when their CPU time reaches . The results of experiment are shown in Table 4.
The performance of the mentioned algorithms is evaluated by the number of customers ( ), the number of products ( ), the number of product attributes ( ), the number of corresponding levels of product attributes ( ), and the number of similar competitive products in the market ( ). The instances have been randomly generated to verify the proposed algorithm. The parameters used in the instances are also randomly generated. The experiment has five sets. For example, in the first set in Table 4, is allowed to vary to test its effect, given = 4, = 4, = 4 and = 8. The other four sets in Table 4 test the effects of varying , , and . The other parameters for the randomly generated instances are given in Table 5. These parameters are given corresponding to the random values between the minimum and the maximum except three constants , and . In order to make the optimization model meaningful, we should ensure that certain parts of the objective function are relatively balanced when setting the maximum and minimum values of the parameters. The constants can be set according to the real situation in the company. Given a typical instance with = 2000, = 3, = 3, = 4 and = 3, Figure 4 shows their convergence within the same runtime, and Figure 5 illustrates the optimal solution. Table 4 represents the average of its associated 10 randomly generated instances. In Table 4, Θ denotes the average objective function value using algorithm Θ, and ∆ ⊗ ⊕ denotes the increasing percentage of ⊗ over ⊕ . A specific example in Table 6 illustrates how to obtain the blue values ( Θ and CPU) in Table 4.  6  5  158  10  2155  1937  2000  11  8  354  16  1282  1155  1189  11  8  528  22  891  825  829  8  7  689 DICA is compared with GA and SA to examine its performance. In can reach 5%∼14% in spite of the change of parameters.
The reasons why DICA gets better results than GA and SA are as follows: (1) In DICA, colony movement is modified to a mutation or a mutation followed by a given swimming strategy.
That is to say, the colony tends to keep moving if it is headed in the direction of increasingly advantageous position. This will result in a deep search in the solution space. (2) In order to prevent falling into local optima, DICA accepts colony's worse movement with a probability which drops along with the iterations. (3) Each imperialist tries to mutate after colony movement, which increases the diversity of population for the next iteration. (4) We have designed a new empire collapse mechanism, i.e., the imperialist without a colony will be ruled by the prior empire. This can maintain the stability of the population size.   (5) We incorporate the development strategy into DICA, so that the countries can learn from each other.
Based on the above analysis, we find the internal logicality and principle that DICA can show better ability of exploitation and exploration than GA and SA.

Conclusions
This paper proposes a product line optimization model that considers design constraint and reliability, and develops an effective Discrete Imperialist Competitive Algorithm (DICA). This optimization model integrates many practical factors of multi-product design and production decision-making. The main considerations include  the customized cost inside and outside the company, the costumers' bias towards various attributes' levels, the quality of customized components and finished products, the compatibility among different attributes' levels, and the delivery due date of finished products. The objective is to maximize the Per-capita-contribution Margin considering Reliability Penalty (PMRP). Considerable modifications made to the classical ICA in DICA include: (1) The classic ICA is mainly used to solve continuous optimization problems, which is not suitable for our discrete problem. So we design a new movement strategy including mutation and swimming for the discrete colonies in the population. In order to prevent the reduction of population diversity due to colony movement toward its imperialist, we let the imperialist mutate after the colony movement in each iteration.
(2) In the process of empire competition, we use "roulette wheel" sampling instead of possession probability to select the prior empire that will control the other colony. (3) In the collapse mechanism, the weakest empire with no colony will be reassigned instead of being destroyed directly as in ICA. (4) We supplement a development strategy so that all countries can learn from each other actively.
An interesting direction for future research is to optimize multiple objectives at the same time. Since consumer preferences may be affected by past experience and previous choices, future research can consider dynamic customer preference levels that change over time to make product design more robust. In addition, the introduction of new products will generate a competitive response in the market. It has an impact on the sales of the company's existing products, or gives rise to the imitation of other companies in developing the same type of new products. Game theory is worth to be tried in this kind of product line design problems with market competition and evolution. Some advanced heuristic methods, such as bees algorithm and evolutionary algorithm [13-15, 59, 63], are worthy of comparison with the proposed DICA to further verify the effectiveness of DICA. In the future, the proposed nonlinear programming model will be linearized, and solved by CPLEX to obtain global optimal solutions for small-size or medium-size problems. We can check the performance of certain heuristic method according to the gap between the near optimal solution by the heuristic and the global optimal solution by CPLEX. The proposed DICA can also be extensively applied to the distributed, collaborative and intelligent social manufacturing mode [47,58,60], such that customers can customize the products with superior compatibility and reliability in the processes of innovation and design.