A nonlinear bi-level programming approach for product portfolio management

Product portfolio management (PPM) is a critical decision-making for companies across various industries in today’s competitive environment. Traditional studies on PPM problem have been motivated toward engineering feasibilities and marketing which relatively pay less attention to other competitors’ actions and the competitive relations, especially in mathematical optimization domain. The key challenge lies in that how to construct a mathematical optimization model to describe this Stackelberg game-based leader–follower PPM problem and the competitive relations between them. The primary work of this paper is the representation of a decision framework and the optimization model to leverage the PPM problem of leader and follower. A nonlinear, integer bi-level programming model is developed based on the decision framework. Furthermore, a bi-level nested genetic algorithm is put forward to solve this nonlinear bi-level programming model for leader–follower PPM problem. A case study of notebook computer product portfolio optimization is reported. Results and analyses reveal that the leader–follower bi-level optimization model is robust and can empower product portfolio optimization.

cross-domain (Pachidi et al. 2014), but with little concerns in competitive environment or competitive relationship in the product portfolio optimization research.
According to Stackelberg, each firm in a competitive market can be a leader or a follower. The leader is a decision-maker and the follower is characterized as a firm that behaves according to a Nash reaction function (Colson et al. 2007). Therefore, the leader's PPM optimization results could be very different from the follower's because of their disparate decision-making positions. Optimization for PPM problem with competitive environment considerations is not an optional issue, but a targeted one. In this paper, a hierarchical joint optimization model is developed in line with bi-level programming, in which focal manufacturer plays as a leader while others act as followers.
The rest of the paper proceeds as follows. Next section reviews related work regarding PPM and bi-level programming. PPM with competitive considerations is formulated as a leader-follower joint optimization problem in "Problem description" section. "Bi-level joint optimization" section elaborates the formulation of a bi-level optimization model for PPM. "Model solution" section develops a bi-level nested genetic algorithm for efficient solution of the hierarchical joint optimization model. A case study of notebook computer is reported in "Case study" section and paper concludes in "Conclusions" section.

Related work
PPM PPM problem is defined as a dynamic decision-making process in which some optimization criteria should be finished, such as share-of-choice (Sadeghi and Zandieh 2011). Four main goals of PPM are summarized by Cooper et al. (2002): (1) Value maximization, (2) Strategic choice, (3) New product and technology choices and (4) Balancing resources. First, value maximization is to optimize resource allocation to gain the maximal value with this product portfolio. Strategic choice aims to ensure a right decision on the business strategy. And new product and technology choices link to what kind of active products, R&D projects and new technology are updated and revised. Balancing resources asks to ensure right number of projects (products) with limited resources and allocate resources between projects or products.
A sizeable body of research on PPM has been reported over the last decade, generally can be divided into four categories with different optimization goals (Otten et al. 2015). With value maximization goal, the fiscal optimization should be performed, and methods are much various, for example, Expected Commercial Value (ECV) method, Productivity Index (PI) and Return on Investment (ROI) method Dickinson et al. 2001). As for the second goal, Bai and Sarkis (2013) pointed out that strategic alignment is the most important success factor for developing business processes and performance management. And a method for achieving strategic alignment with its product portfolio is called the strategic bucket method which is defined as a financial support for a new product development in line with an extraordinary strategy (Chao and Kavadias 2007). The third perspective is new product and technology choices. According to Barczak et al. (2009), performance of a company is coupled with the rate of innovative new product and technology practice. Meanwhile, current literature on PPM covers new product and technology choices with lifecycle consideration, and it's just like a project in new product design process (Tolonen et al. 2015). Balancing resources can be clarified by terms and parameters such as time, risk, markets and technologies (Tolonen et al. 2015). This process can be accomplished by developing a resource capacity analysis with the quantification of product's demand for resources versus the availability of them (Otten et al. 2015).

Bi-level programming
The theoretic ground form of bi-level programming formulation originates from the Stackelberg games (von Stackelberg 1952). Bi-level optimization refers to a mathematical programming which contains a sub-optimization problem as its constraint, first studied and proposed by Bracken and McGill (1973). Bi-level programming theory rapidly becomes an important branch in mathematical programming field because of its abstract of an essential class of hierarchical decision-making problems including Stackelberg Game. Although as a generalized form of mathematical programming, bi-level programming is very different from ordinary mathematical programming. Bi-level optimization problems are complex and often belong to a higher complexity class than their corresponding single-level relaxations (Sakawa et al. 2011). For example, Jeroslow shows that even a linear bi-level programming problem is NP-hard (Jeroslow 1985). Du and Wang (2009) point out that when upper-level constraints contain the optimization solution of the lower-level problem the feasible region may become discontinuous. Bi-level programming is also much more complicated due to difficulties in solving the problems (Christiansen et al. 2001). Traditional solution approaches include vertex enumeration algorithms and methods based on Kuhn-Tucker (KKT) conditions or penalty functions. Recent trends of bi-level programming mainly revolve around computing and solving this critical problem. One focus of researches is on the theoretical solutions. For example, Ye and Zhu (2010) investigate for bi-level programming solutions based on the value functions. While another one focuses on the approximation solutions, for instance, Sakawa et al. (2011) work on fuzzy interaction-based satisfaction solutions for bi-level programming. The leader-follower Stackelberg and bi-level optimization have been applied in a number of fields, including networks (van Hoesel 2008), advertising (Aust and Buscher 2012), retailer supply chains (Xiao et al. 2014;Esmaeili et al. 2009), and supply chain contracts (Chen et al. 2012).

Problem description
Consistent with a Stackelberg game, product portfolio management can be formulated as a hierarchical optimization problem consisting of one upper-level and one or more lower-level decision-making agents. The former plays a leader's role, denoted as F, whilst the latter acts as a follower, denoted as f. The leader's decision-making results will serve as the constraints of followers' optimization problem, whereas the followers feed their optimal solutions back to the leader for adjustment of the leader's decision. For the leader-follower joint optimization problem, the leader and followers can be the real designers or design teams, or any virtual decision makers. Figure 1 illustrates the bi-level decision model for product portfolio optimization. The leader F determines its selections firstly, and the follower f adjusts its product portfolio subjecting to the feasible regions given by the leader.
Assuming that there is one leader and only one follower in the market place to simplify this bi-level optimization problem. The total number of products in leader's product family is J and the follower's is M, which are separately defined as a set {R j } (j = 1, 2, …, J) and {r m } (m = 1, 2, …, M). With variant attributes and attribute levels, utility and cost of each product is very different. The optimal solutions will be sent to the follower as vectors X and H after the leader's decision-making according to marketing and engineering considerations, then the follower optimizes its PPM problem and sends solutions to the leader as a feedback. I construct a criterion of market share constraint as the coordinated mechanism for this bi-level optimization problem to develop a more satisfactory product portfolio scheme for both leader and follower.

Bi-level joint optimization
As described in Chapter 3, optimization for PPM problem aims to provide an optimal set of products with mixture of attributes into the target marketplace for both leader and follower (Jiao and Zhang 2005). In the following, I address how to formulate the bi-level programming model containing objective functions and constraints for this optimization.

Upper-level PPM optimization
The upper-level deals with F-PPM problem by selecting appropriate combination from a number of J products. The decision variable of upper-level is x j (j = 1, 2, …, J) and {h jkl (k = 1, 2, …, J; l = 1, 2, …, L), both are binary variables. Such that x j = 1 indicates that product R j is selected, and x j = 0 not. And h jkl = 1 means that the lth attribute level of the kth attribute is contained in the jth product and h jkl = 0 not. According to Jiao and Zhang (2005), economics surplus should be leveraged from both marketing and engineering. This paper proposes to use an objective of shared surplus to optimize the PPM problem, as shown in Eq. (1).

Fig. 1 Bi-level decision-making between leader and follower
Assume U F ij is the utility of the ith segment for the jth product, which is a linear function of the part-worth utilities of the attribute levels of product R j , as shown in Eq. (2).
where u F ikl is the customer perceived utility of the ith segment for the lth level of the kth attribute; w F jk is the weight of the kth attribute; π F ij is a constant related to the composite utility of product variant R j by the ith market; and ε F ij is an error term for each segmentproduct pair.
I adopt the SIMOPT model for cost calculation, which is proposed by Kwong et al. (2011). The cost function C F j can be formulated as follows: where C F j is the cost of the jth product; c F kl is the variable unit cost for the lth attribute level of the kth attribute.
And according to the MNL model, the choice probability P F ij can be defined as Eq. (4), where μ is a scaling parameter. And Q i is the size of the ith market segment.
One of the most important mechanism for this bi-level programming is the market share constraint, which is the interaction between leader and follower, as shown in Eq. (5).
The upper-level constraints are mainly related to choice compatibility. For example, one attribute only can be chosen one corresponding level in one product. Other special constraints may be introduced as well. For example, a differentiation condition constraint limits each product in the product line should be different from others.

Lower-level PPM optimization
The lower-level is optimization for the follower's PPM problem. The decision variables of the lower-level are also two binary choice variables y m (m = 1, 2, …, M) and z mns (n = 1, 2, …, N; s = 1, 2, …, S n ). Such that y m = 1 means that product r m is selected, and y m = 0 not. While z mns = 1 means that the sth attribute level of the nth attribute is contained in the mth product and z mns = 0 not. Similarly to the leader, the follower's objective is the construction of shared surplus, as shown in Eq. (6). (2) im is the utility of the ith segment for the mth product; C f m is the cost of the mth product; P f im is the choice probability; and Q i is the size of the ith market segment. The constitution of these terms are as same as shown in "Upper-level PPM optimization" section.
The lower-level constraints are mainly about choice compatibility. For example, one attribute only can be chosen one corresponding level in one product. Other special constraints may be introduced as well. For example, a differentiation condition constraint limits each product in the product line should be different from others. The most important choice constraint is from the upper-level, it forms the mechanism of bi-level programming, defined as Eq. (5).

Hierarchical joint optimization model
Compiling Eqs. (1)-(6), I can obtain the general form of hierarchical joint optimization for leader-follower PPM problem, as the following: The upper-level controls the lower-level through X and H, indicating a priority for determining PPM. The lower-level entails a nonlinear parametric programming problem, in which (X, H) are parametric variables, suggesting that parametric optimization must be compatible with its own PPM problem. The lower-level returns an optimum function P f im (z mns ) as the feedback to the upper-level. Optimal solution (X*, H*, Y*, Z*) describes the design schemes for leader and follower, where X* and H* indicate the leader's solutions and Y*, Z* are follower's.

Model solution
Solution of bi-level programming tends to be much more complex than single-level optimization problems (Christiansen et al. 2001;Bard 1998). Bi-level programming solutions are generally categorized as direct and indirect methods: solving the bi-level programming directly or converting the bi-level programming to a single-level programming. Direct methods comply with the bi-level decision mechanism, starting with the upperlevel and find one solution first. Then the lower-level uses the corresponding upper-level variables as parameters to solve the lower-level problem.
Model (7) is a nonlinear programming with 0-1 variables, which is proved to be a NPhard problem. And essentially this hierarchical product portfolio management problems entail combinational optimization that can be solved by genetic algorithms (Oliveto et al. 2007). Comparing with traditional calculus-based or approximation-based optimization techniques, GA is excellent in solving combinatorial optimization problems (Kreng and Lee 2004). Due to the distinctive characteristics of the upper-and lower-level optimization problems, I propose two separate GAs for the respective upper and lower levels, while the upper-and lower-level GAs are nested through a constraint handling mechanism embedded through GA encoding and GA operators. Specially, in the bi-level nested GA operations, I address two fitness functions which are consistent with their objective functions of upper-and lower-level, respectively. This kind of fitness function can identify the quality of different potential solutions.

GA encoding
The very basis of GA implementation is about representation of the problem to be solved with a finite-length string called a chromosome. Consistent with the bi-level decisionmaking of leader-follower PPM problem, two kinds of chromosomes are composed in this bi-level nested GA: the upper-level chromosomes (ULCs) and the lower-level chromosome (LLCs), While ULCs and LLCs represent solution X, H and Y, Z, respectively. As for the ULCs, the length of chromosome X is the total number of products J, and each gene in this chromosome represents a product; and the length of chromosome H is J*K*L k , and each gene in this chromosome means an attribute level. Similarly, the length of chromosome Y is M and each gene means the choice of product; and the length of chromosome Z is M*N*S n , and each gene represents an attribute level in lower-level. Figure 2 shows the bi-level nested GA encoding.

GA crossover and mutation
To obtain feasible solutions, chromosomes crossover and mutation should be occurred on the basis of satisfying certain design constraints. Crossover in GA operations means that optional two parent chromosomes are randomly chosen to exchange the segments of their genes with a probability. Figure 3a illustrates the crossover mechanism for the ULC X. Once a pair of ULC X chromosomes is chosen, two crossover points are generated randomly for each of them, and the exchange range is specified in the meantime. As shown in Fig. 3b, the children chromosomes are acquired by exchanging the parts of the selected chromosomes.
Mutation sockets in each offspring individually after crossover. It randomly selects a gene with a smaller probability and alters the selection or de-selection of corresponding module instances in a chromosome. Figure 3c shows that how the mutation points are generated randomly. Finally the selected chromosome segment is changed by a random number of modules, as shown in Fig. 3d.

GA nested solution flow
Solving nonlinear bi-level programming of PPM joint optimization relies on principles of evolutionary computation, videlicet the nested genetic evolutions between upper-and lower-level optimization. The bi-level GA with the aforementioned encoding schemas  1 1 1 0 1 1 1 1 0  0  1 1 1 1 0 1 0 1  and operators is carried out in a nested way, as shown in Fig. 4. A step-by-step procedure for the bi-level nested algorithm is described as follows: Step 1 A population of size N is generated with the required number of upper-level variables, randomly. Constraint checking is carried out to ensure that the initial population satisfies all design rules specified in the model. Subsequently, the lower-level GA procedure is launched to search the corresponding optimal values of the lower-level variables. If constraint checking fails, set the fitness values to be zero then turn to the next step.
Step 2 Judge whether the population reaches the maximum number of generation. If the GA runs for the maximal number of generations, record the optimal value and then go to the next step. Otherwise, GA operations of selection, crossover and mutation are carried out; and then go back to Step 1.
Step 3 Take the upper-level solution X and H into the lower-level GA. Verify feasibility of the lower-level population. The fitness is evaluated when the feasibility is satisfied. Otherwise, the fitness value is set to zero.
Step 4 Estimate whether lower-level population achieves the maximum number of generations. If it reaches the upper bound, the optimal variables and optimal value are recorded. Otherwise, procedures of selection, crossover and mutation are invoked and step 3 is repeated till the maximal number of generations is achieved.
Step 5 Echo the lower-level solution Y and Z back to the upper-level GA. The upperlevel GA is re-calculated and the fitness values are re-evaluated. Repeat Step 4 until the lower-level population reaches the maximum number of generations.
Step 6 Check the termination condition of the lower-level GA. If a feasible number is determined for the entire modules, the upper-and lower-level optimal values are recorded and then the iterative procedure ends. Otherwise, proceed to Step 1 and repeat the process.  Fig. 4 The solution flow of the bi-level nested GA

Case study
A case study of PPM optimization problem for the notebook computer products is reported to demonstrate the potential of the hierarchical joint optimization model. The product structure of notebook computer mainly consists of display, hard disk, graphics card, processer, battery and memory, etc.

Upper-level
Based on the service handbook and domain expertise, all the attributes and feasible attribute levels and their corresponding costs of notebook computer for leader are listed in Table 1.
To specify utility function U F ij in upper-level, w F jk , u F ikl and π F ij should be confirmed first. w F jk can be determined up to market survey; u F ikl can be obtained by conjoint analysis; and π F ij is formed from u F ikl . Conjoint analysis is a market survey method for product design. According to conjoint analysis method, the first step to calculate u F ikl is to given a set of product which contains the total number of J possible combinations. Then 20 orthogonal setup of product profiles can be generated using the Taguchi Orthogonal Array Selector in SPSS software, as shown in Table 2. While inviting 60 consumers to do a fractional factorial experiment with the 20 products. The result of conjoint analysis is shown in Table 3. For illustrative simplicity without losing the context, I consider one leading market for this leader-follower PPM problem (I = 1), also assume that Q i = 10,000, and J + = 4. Meanwhile, other compatibility problems, such as, the consistent matching of processer and memory, display and battery should be formulated as constraint equations, as the following:

Lower-level
The lower-level PPM optimization problem is as same as the upper-level, but the parameters of products are different for their diverse production capacity and market positioning. The attributes, attribute levels and the corresponding costs of products of the follower are shown in Table 4.  And with the same conjoint analysis method in "Upper-level" section, I can obtain a set of 20 orthogonal setup of product profiles and the part-worth utilities, are separately shown as Tables 5 and 6.
And I also assume that the number of products M + = 4. The very important constraint in the lower-level is from the upper-level. The constraint M m=1 P f im Q i y m ≤ Q i − J j=1 P F ij Q i x j , ∀i = 1, 2, . . . , I means that the market size for the follower is not the whole size of market segment but the rest part from the leader's market share.
Similarly, according to the practical situation of product technical design, other technical constraints, such as, attribute level B13 is not compatible with B61, can be given by Eqs. (10)-(12).

Solution and results
I adopt a bi-level nested GA to solve this optimization model which is a nonlinear programming with 0-1 variables. For each feasible chromosome of upper-level population, the corresponding lower-level optimal value is sent back to the upper-level, then the upper-level fitness value is calculated, as shown in Fig. 4. According to Jiao (2007Jiao ( , 2013, for the more complex combination of attribute model, the fitness population size is 100 for GA. For a medium-scale combinatorial configuration problem like this notebook computer product portfolio, I empirically set the population size at 100 for both the upper-and lower-level, crossover probability is 0.6, mutation probability is 0.005, and the generation is 200. Figure 5 shows the GA processes with the upper-level, after around 160 iterations the calculation verges to convergence. Similar outputs of the lower-level GA for PPM can be obtained as well. Figure 6 shows how the upper-and lower-level GAs are nested during their convergence processes, indicating the leader's and follower's PPM problems are competing during the optimal design of notebook computers. Finally after around 160 generations, both the upper-and lower-level fitness values reach their optima, suggesting that the leader's and follower's PPM problems arrive at equilibrium solutions of the Stackelberg game. The optimal product portfolios for leader and follower are shown in Tables 7 and 8. (11) z m24 � = z m41 (12) z m33 � = z m42

The optimal design
Examining the results of leader-follower PPM joint optimization in Tables 7 and 8 indicate that the optimal design of notebook computer product portfolios are logical and integrate as market-oriented products. The joint optimization results in Table 9   indicate a reasonable leverage of leader and follower. I can also figure out that the nonlinear bi-level programming method can benefit both leader and follower well due to its decision-making mechanism by considering the market compititive factors and engineering parameters in PPM. Meanwhile this method can also gain a superior globle design scheme and it is better than non-joint one because this bi-level joint optimization correctly discribes the gaming relationship betweeen leader and follower in a market place.

The algorithms
To demonstrate the advantages of the nested GA, computational experiments are set up to compare its performance with other relevant algorithms. Related research has shown that genetic algorithm, simulated annealing algorithm and ATC methods perform well in product line design and product portfolio management problems (Balakrishnan et al. 2004;Belloni et al. 2008;Michalek et al. 2011). For the ATC method can only handles continuous variables, I just compare the former two methods for the scenario of J = 4, M = 4. And all the computations were conducted in Matlab on a Core i5 personal notebook computer. Table 10 provides the results of comparison. I can figure out that no matter in terms of CPU time or Optimization objective, GA is much more efficient than SA method. These results suggest that, GA is more suitable for solving the PPM bi-level programming in this case.

Conclusions
PPM is different from the traditional single product or product line design problem, because it must handle a group of products with simultaneously optimizing the attributes of each product variant. The proposed nonlinear bi-level programming model which is applied to maximize the shared surplus of both leader and follower emphasizes the competitive relationships and tradeoffs between the leader and follower in leveraging their PPM problems. This method provides a new perspective to optimize PPM problem with different decision makers from both theory and practice. The bi-level nested genetic algorithm coincides with the bi-level decision structure of joint optimization. Encoding of attribute and product selection through a binary decision variable of each gene contributes to efficient solution of a class of non-linear combinatorial optimization programs. Results and analysis of the notebook computer case study demonstrate that the nonlinear bi-level optimization model is more reasonable and excellent in supporting leader-follower optimization for PPM problem and the proposed bi-level nested GA method is efficient for solving this challenging programming. Moreover, the introduced bi-level optimization framework and method can also be applied to other areas, such as, engineering design problem with multiple conflictive objects, supply chain coordination and optimization problem, and other optimization problems with game-theory relations. Future research could focus on extending the bi-level programming model to multiple perspectives in PPM problem. With the considerations of the actual background in a competitive market, it could be a one-leader multi-follower bi-level programming for PPM problem. Solving such multi-follower model could be a very challenging issue that calls for both theoretical observation and efficient solution algorithms.