Operations Research Letters 47 (2019) 30–35
Contents lists available at ScienceDirect
Operations Research Letters journal homepage: www.elsevier.com/locate/orl
Capacitated assortment and price optimization under the multilevel nested logit model Rui Chen, Hai Jiang
∗
Department of Industrial Engineering, Tsinghua University, Beijing 100084, China
article
info
Article history: Received 1 March 2018 Received in revised form 12 November 2018 Accepted 16 November 2018 Available online 22 November 2018 Keywords: Assortment optimization Price optimization Multilevel nested logit model
a b s t r a c t We study the capacitated assortment and price optimization problem under the multilevel nested logit model, where the retailer needs to determine the revenue-maximizing subset of products and their prices within a capacity limit. Customers’ purchase behavior is modeled using the multilevel nested logit model, which includes the multinomial logit and the two-level nested logit models as special cases. We formulate this problem as a non-linear mixed integer program and develop an efficient algorithm that finds its ϵ -approximate solution. © 2018 Published by Elsevier B.V.
1. Introduction We investigate the capacitated assortment and price optimization problem in this paper, which has recently been extensively studied in the field of revenue management [8,17,23]. Under this problem, the retailer needs to determine the subset of products as well as their selling prices subject to a capacity limit on the total display space consumption of the offered products, so as to maximize the expected revenue from customers. The critical part of this problem is to accurately capture customers’ intricate substitution patterns among different offered products, where an arriving customer may substitute an unavailable product with an available one [7,21]. Most of the existing literature in this field focuses on using parametric logit models, including the multinomial logit and the twolevel nested logit models, to capture customers’ purchase behavior. Early researchers study this problem under the multinomial logit model and develop efficient algorithms to obtain high-quality or optimal solutions with various side constraints [3,5,6,23]. Besbes and Sauré [2] characterize the corresponding equilibrium when there are multiple competitive retailers. Later, the nested logit model is introduced to handle situations where products are substitutable of each other and the Independence of Irrelevant Alternatives (IIA) property of the multinomial logit model does not hold [22]. Approximation algorithms are proposed in [4,19] to obtain high-quality solutions when there is a constraint to limit the total number or the total space consumption of offered products, respectively. Interested readers are referred to [1] and [13] for studies on joint assortment and price optimization problem under ∗ Corresponding author. E-mail address:
[email protected] (H. Jiang). https://doi.org/10.1016/j.orl.2018.11.006 0167-6377/© 2018 Published by Elsevier B.V.
the exponomial choice and rank-based nonparametric modes, respectively. In this paper, we investigate the capacitated assortment and price optimization problem under the multilevel nested logit model with a capacity constraint to limit the total capacity consumption of offered products. Although the importance of the multilevel nested logit model has been demonstrated in many empirical studies, for example, in the choice of flights [11] and mobile phone applications [10], studies on assortment optimization and price optimization problems under the multilevel nested logit model are very scarce. There is a concurrent yet independent study by [24] on a similar problem. However, there are still several important differences between our work and theirs: (a) Our capacity constraint is imposed on all products, while theirs are imposed on each individual nest at the second level from the bottom of the tree structure; (b) Our price sensitivity parameters are identical for all products while theirs are product specific; and (c) We find an ϵ -approximate solution while theirs is a 1/2-approximate solution, or a 2-approximate solution in their original terminology. For the pricing problem under the multilevel nested logit model, Huh and Li [12] and Jiang et al. [14] show that the expected revenue function can be reduced to an equivalent single-variable unimodal function under mild conditions. For the unconstrained assortment problem under the multilevel nested logit model, Li et al. [17] propose a polynomial time algorithm to obtain the optimal assortment. We first formulate this problem as a non-linear mixed integer program. We then simplify the original optimization problem with multiple continuous decision variables based on the observation that the optimal prices for all products are identical for any feasible assortment. Next, we demonstrate that an approximate solution can be found based on the solutions to an NP-complete auxiliary problem and a fixed point problem, which leads to a
R. Chen and H. Jiang / Operations Research Letters 47 (2019) 30–35
two-step solution algorithm: (a) Given an allocation of the capacity across the multi-level tree structure, we obtain independent leaf subproblems taking the form of knapsack instances. The optimal capacity allocation is obtained via a gluing dynamic program; and (b) Solve the corresponding fixed point problem with obtained feasible assortment. We show that our algorithm is an FPTAS when the capacity limit C is known. That is, our algorithm can obtain an ϵ ∈ (0, 1)-approximate solution to the capacitated assortment and price optimization ( ( problem )) under the multilevel nested logit model in O CKD · D/ϵ + C 2 time, where D is the maximum number of children nests that a nest can have, and K is the total number of nests in the multilevel nested logit model. In addition, when the weights are identical for all products, the optimal assortment( to the(corresponding )) optimization problem can be obtained in O CKD · log D + C 2 time. 2. Modeling framework In this section, we formulate our capacitated assortment and price optimization problem under the multilevel nested logit model. Given a capacity limit to constrain the total space consumption of offered products, consider a retailer, who sells a set of differentiated products that are substitutable of each other along multiple dimensions, such as the brands, categories, materials, and colors of clothing. Customers’ purchase behavior is modeled using the multilevel nested logit model proposed in [15]. Without loss of generality, we assume that all products are sequentially partitioned into different nests along n dimensions under the multilevel nested logit model. Following the notation in [15], all products are first partitioned into D0 nests, denoted by ⟨1⟩, ⟨2⟩, . . . , ⟨D0 ⟩, according to the main dimension, such as the brands of clothing. Then, products under each nest at level one are sequentially partitioned into several smaller nests along different dimensions. Generally, we use an m-tuple ⟨i1 , i2 , . . . , im ⟩ to denote a nest at level m ∈ {1, 2, . . . , n − 1}. That is, products under nest ⟨i1 , i2 , . . . , im ⟩ are all first partitioned into the i1 th nest along the first dimension, then into the i2 th nest along the second dimension, . . ., and finally into the im th nest along the mth dimension. The number of children nests belonging to nest ⟨i1 , i2 , . . . , im ⟩ is denoted by Di1 ,i2 ,...,im for all m ∈ {1, 2, . . . , n − 1}. Finally, we use an n-tuple ⟨i1 , . . . , in−1 , in ⟩, where i1 ∈ {1, 2, . . . , D0 }, i2 ∈ {1, 2, . . . , Di1 }, . . ., in ∈ {1, 2, . . . , Di1 ,i2 ,...,in−1 }, to represent a specific product. We introduce a special nest with no children at level one, that is, nest ⟨N ⟩, to denote the no-purchase option, where customers that choose this option leave without purchasing anything. For notational brevity, we define Nm as the set of nests at level m ∈ {1, 2, . . . , n}. That is, Nm = {⟨i1 , i2 , . . . , im ⟩ : i1 ∈ {1, 2, . . . , D0 }, i2 ∈ {1, 2, . . . , Di1 }, . . . , im ∈ {1, 2, . . . , Di1 ,i2 ,...,im−1 }}. Specifically, Nn denotes the set of all products that can be offered by the retailer. Moreover, a scale parameter µi1 ,i2 ,...,im is introduced to capture the substitution among products under nest ⟨i1 , i2 , . . . , im ⟩ ∈ Nm for all m ∈ {1, 2, . . . , n − 1}. The scale parameters must satisfy the condition that µi1 ,i2 ,...,im−1 ≤ µi1 ,i2 ,...,im for all ⟨i1 , i2 , . . . , im ⟩ ∈ Nm and m ∈ {1, 2, . . . , n − 1} to be consistent with random utility maximization rule [15]. In our assortment and price optimization problem, we use binary variable Si1 ,i2 ,...,in = 1 to indicate that product ⟨i1 , i2 , . . . , in ⟩ ∈ Nn is offered to customers; otherwise, Si1 ,i2 ,...,in = 0. Let M be a large positive number. The utility associated with this product( is characterized by Ui1 ,i2 ,...,in = ai1 ,i2 ,...,in − b · pi1 ,i2 ,...,in − ) M 1 − Si1 ,i2 ,...,in + ϵi1 ,i2 ,...,in , where pi1 ,i2 ,...,in is the selling price of this product; b is the price-sensitivity parameter, which is positive and identical for all products; ai1 ,i2 ,...,in is a known constant contributed by its price-independent properties; and ϵi1 ,i2 ,...,in is a random variable representing the unobserved component of the utility. Furthermore, we use Vi1 ,i2 ,...,in = ai1 ,i2 ,...,in − b · pi1 ,i2 ,...,in −
31
)
(
M 1 − Si1 ,i2 ,...,in to denote deterministic component of the total utility. Then, according to [15], the generalized utility for nest ⟨i1 , i2 , . . . , im ⟩ is calculated through the following formula:
Vi1 ,i2 ,...,im
⎧ 1 ⎪ ⎪ ln ⎪ ⎪ µi1 ,i2 ,...,im ⎪ ⎪ ⎪ ⎞ ⎛ ⎪ ⎪ Di ,i ,...,im ⎪ 1 2 ⎪ ) ( ⎨ ⎝ ∑ × exp µi1 ,i2 ,...,im Vi1 ,i2 ,...,im+1 ⎠ , = ⎪ i = 1 m+1 ⎪ ⎪ ⎪ ⎪ when m ∈ {1, 2, . . . , n − 1}; ⎪ ⎪ ⎪ ⎪ ai ,i ,...,i − b · pi1 ,i2 ,...,in − M(1 − Si1 ,i2 ,...,in ), ⎪ ⎪ ⎩ 1 2 n when m = n. (1)
Conventionally, the deterministic component of the utility associated {with the no-purchase option is set to }zero, that is, VN = 0. Let p = pi1 ,i2 ,...,in ∈ R+ : ⟨i1 , i2 , . . . , in ⟩ ∈ Nn be {the set of prices for all products. Given a feasible assortment S = Si1 ,i2 ,...,in ∈ {0, 1} : ⟨i1 , i2 , . . . , in ⟩ ∈ Nn }, the choice probability of purchasing product ⟨i1 , i2 , . . . , in ⟩, denoted by qi1 ,i2 ,...,in (p, S), is expressed as follows: qi1 ,i2 ,...,in (p, S) = P (⟨i1 ⟩) ·
n−1 ∏
P (⟨i1 , . . . , im , im+1 ⟩|⟨i1 , . . . , im ⟩) ,
m=1
(2) where P (⟨i1 , . . . , im , im+1 ⟩|⟨i1 , . . . , im ⟩) exp µi1 ,i2 ,...,im Vi1 ,...,im ,im+1
(
)
( ), exp µi1 ,i2 ,...,im Vi1 ,...,im ,i′ m+1
= ∑D i1 ,...,im i′m+1 =1
∀m ∈ {1, 2, . . . , n − 1}; and exp µ0 Vi1
(
P (⟨i1 ⟩) = ∑D 0
i′1 =1
)
exp(µ0 Vi′ ) + exp (µ0 VN )
.
1
We remark that in our setting, M is a known large enough positive number, such that if a product is not offered, its utility equals to a large negative number and the choice probability is arbitrarily close to zero, so as to indicate that customers can only choose the products offered by the retailer or the no-purchase option. Without loss of generality, let wi1 ,i2 ,...,in ∈ Z+ be the weight of product ⟨i1 , i2 , . . . , in ⟩ ∈ Nn , which corresponds to the space consumption of this product. Let C ∈ Z+ be the capacity limit for the offered products, which satisfies that C ≥ min⟨i1 ,i2 ,...,in ⟩∈Nn {wi1 ,i2 ,...,in }. This integral capacity limit setting is not unusual in the literature [18,20]. The goal of the capacitated assortment and price optimization problem under the multilevel nested logit model is to determine the optimal assortment S and, their prices p, so as to maximize the expected revenue obtained from each customer. This problem is formulated as follows: Di ,i ,...,i 1 2 n−1
D
max R(p, S) =
i1 D0 ∑ ∑
···
i1 =1 i2 =1
s.t.
i1 =1 i2 =1
pi1 ,i2 ,...,in · qi1 ,i2 ,...,in (p, S)
(3)
in =1
Di ,i ,...,i 1 2 n −1
D
i1 D0 ∑ ∑
∑
···
∑
wi1 ,i2 ,...,in Si1 ,i2 ,...,in ≤ C ;
(4)
in =1
pi1 ,i2 ,...,in ∈ R+ , Si1 ,i2 ,...,in ∈ {0, 1}, ∀⟨i1 , i2 , . . . , in ⟩ ∈ Nn .
(5)
The objective function maximizes the expected revenue over all products and the value of qi1 ,i2 ,...,in (p, S) can be calculated based
32
R. Chen and H. Jiang / Operations Research Letters 47 (2019) 30–35
on Eqs. (1)–(2) for any feasible solution. Constraint (4) ensures that the total weight consumption of the offered products is within the capacity limit. Constraints (5) restrict the decision variables. 3. Solution approach In this section, we approximate the non-linear mixed integer program defined in Eqs. (3)–(5). We first characterize the approximate solution to the original problem and divide the problem into an NP-complete auxiliary problem and a fixed point problem in Section 3.1. We then develop an approximate algorithm to the auxiliary problem based on dynamic programming and an approximate algorithm to the classical knapsack problem in Section 3.2. In Section 3.3, we present our integrated approximate algorithm and analyze its complexity. 3.1. Characterization of an approximate solution We first consider the price optimization problem with a feasible assortment, S = {Si1 ,i2 ,...,in ∈ {0, 1} : ⟨i1 , i2 , . . . , in ⟩ ∈ Nn }, such that Constraint (4) is satisfied. The joint optimization problem then reduces to the multi-product price optimization problem under the multilevel nested logit model, which is studied in [12] and [14]. The authors point out that the adjusted markup, defined as φ = pi1 ,i2 ,...,in − 1/(µ0 b), is constant at optimality for all products. Therefore, the price optimization problem with a feasible assortment S, that is, maxp R(p, S), can be re-written as the following equivalent formulation: max R(φ, S) =
D0 ( ∑
φ+
1
)
µ0 b ) ( exp µ0 zi1 − µ0 bφ − 1 ) ( ·∑ , (6) D0 exp µ0 zi′ − µ0 bφ − 1 + 1 i′1 =1 1 } { where the values of zi1 : ⟨i1 ⟩ ∈ N1 can be calculated through the φ∈R
i1 =1
Note that the left-hand side of Eq. (9) is strictly increasing in φ while g(φ ) · h(S) is strictly decreasing in φ . Moreover, we have g(0) · h(S) ≥ 0 and limφ→+∞ g(φ ) · h(S) = 0, which means that there exists a unique solution for the fixed point problem defined in Eq. (9). Let (φ ∗ , S ∗ ) be the optimal solution to Problem I. We immediately have φ ∗ = R(φ ∗ , S ∗ ) based on results in [14]. Moreover, we have the following lemma to characterize the optimal condition of Problem I. The proof is omitted because it is a direct generalization of Lemma 1 in [8] with side constraints. Lemma 1. The solution to the problem that (Auxiliary Problem)
=
(7)
As a result, by the definition of φ and Eqs. (6)–(7), we can rewrite the original problem defined in Eqs. (3)–(5) in the following equivalent form:
where Ω
=
{
S :
{R(φ, S)} ,
∑D0 ∑Di1 i1 =1
i2 =1
(8)
···
∑Di1 ,i2 ,...,in in =1
)
(10)
i1 =1
(11) ∗
Lemma 1 indicates that the optimal assortment S is independent of the price, which greatly simplified the solution process. This finding is resulted from the fact that when the adjusted markup is constant at optimality for all products, the differences among utilities for products only come from the price-independent components. Then, the auxiliary problem can be treated as an optimization problem to maximize the price-independent attractiveness of offered products. Based on Lemma 1, we can solve the capacitated assortment and price optimization problem defined in Eq. (8) by firstly solving the auxiliary problem defined in Eq. (10) to obtain the optimal assortment S ∗ , and secondly solving Fixed Point Problem defined in Eq. (11) to obtain the optimal adjusted markup φ ∗ . As a result, the optimal price for product ⟨i1 , i2 , . . . , in ⟩ ∈ Nn can be calculated through p∗i1 ,i2 ,...,in = φ ∗ + 1/(µ0 b). Note that when n = 1, we have
{D 0 ∑
exp(µ0 ai1 )Si1 :
D0 ∑
∀⟨i1 , i2 , . . . , im ⟩ ∈ Nm , m ∈ {1, 2, . . . , n − 1}; ⎪ ⎪ ( ) ⎪ ⎪ a ⎪ i ,i ,...,i − M 1 − Si1 ,i2 ,...,in , ⎪ ⎩ 1 2 n ∀⟨i1 , i2 , . . . , in ⟩ ∈ Nn , when m = n.
max
(
i1 =1
m+1
φ∈R,S ∈Ω
exp µ0 zi1
(Fixed Point Problem) φ = g(φ ) · h(S ∗ ).
max h(S) = max
⎧ Di ,i ,...,im 1∑ 2 ⎪ ) ( ⎪ 1 ⎪ ⎪ ln exp µi1 ,i2 ,...,im zi1 ,i2 ,...,im+1 , ⎪ ⎪ ⎨ µi1 ,i2 ,...,im i
(Problem I)
S ∈Ω
D0 ∑
corresponds to the optimal assortment to Problem I, denoted by S ∗ , and the corresponding optimal adjusted markup, denoted by φ ∗ = φ ∗ (S ∗ ), can be obtained by solving the fixed point problem that
following formula: zi1 ,i2 ,...,im
max h(S) =
wi1 ,i2 ,...,in Si1 ,i2 ,...,in
≤ C }.
Moreover, according to [14], R(φ, S) is a unimodal function with respect to φ and its corresponding optimal solution, denoted by φ ∗ (S), must satisfy the equation that φ ∗ (S) = R(φ ∗ (S), S). That is, we can have the following equation after some simple rearrangement:
} wi1 Si1 ≤ C ; Si1 ∈ {0, 1}, ∀⟨i1 ⟩ ∈ N1 .
i1 =1
In this case, the auxiliary problem is equivalent to the classical knapsack problem, which is known to be NP-complete [9]. Thus, the following lemma characterize the complexity of the auxiliary problem. Lemma 2. The auxiliary problem defined in Eq. (10) is NP-complete. This hardness result then motivates the development of an approximate algorithm that finds an ϵ ∈ (0, 1)-approximate solution to Problem I without directly solving the auxiliary problem to optimality. That is, the feasible solution found by the ˜ sat˜ S), ϵ -approximate algorithm to our problem, denoted by (φ, ˜ ≤ R(φ ∗ , S ∗ ). ˜ S) isfies the inequalities that (1 − ϵ )R(φ ∗ , S ∗ ) ≤ R(φ,
(9)
Proposition 1. Let S˜ be an α -approximate solution to the auxiliary ˜ ≤ h(S ∗ ) and φ˜ be a problem such that (1 − α )h(S ∗ ) ≤ h(S) β -approximate solution to the fixed point problem that φ˜ ∗ = g(φ˜ ∗ ) · ˜ such that (1 − β )φ˜ ∗ ≤ φ˜ ≤ φ˜ ∗ . Then, (φ, ˜ is an (α + β )˜ S) h(S) approximate solution to Problem I.
0 Define g(φ ) = exp(−µ0 bφ − 1)/(µ0 b) and h(S) = i1 =1 exp (µ0 zi1 ). The right-hand side of Eq. (9) equals to g(φ ∗ (S)) · h(S).
˜ ≤ R(φ ∗ , S ∗ ) = Proof. We first point out that φ˜ ∗ = R(φ˜ ∗ , S) φ ∗ , where the first and last equalities hold due to the fact that maxφ∈R+ R(φ, S) gets its maximum when φ = R(φ, S) for any
( ) D0 ∑ exp µ0 zi1 − µ0 bφ ∗ (S) − 1 φ (S) = . µ0 b ∗
i1 =1
∑D
R. Chen and H. Jiang / Operations Research Letters 47 (2019) 30–35
given S ∈ Ω , and the first inequality holds due to the feasibility of ˜ Based on the definitions of g(φ ), h(S), and Eq. (6), we have (φ˜ ∗ , S). ˜ ˜ = φ˜ + [g(φ˜ ) · h(S) ˜ − φ]/[µ ˜ S) ˜ ˜ R(φ, 0 bg(φ ) · h(S) + 1]. Moreover, since function g(φ ) · h(S) − φ is a strictly decreasing function of φ , ˜ − φ˜ ≥ g(φ˜ ∗ ) · h(S) ˜ − φ˜ ∗ = 0. Then, plugging we have that g(φ˜ ) · h(S) ˜ − φ˜ ≥ 0 in R(φ, ˜ we can conclude that R(φ, ˜ ≥ φ˜ . ˜ S), ˜ S) g(φ˜ ) · h(S) ˜ is an (α + β )-approximate solution ˜ S) We now prove that (φ, ˜ ≤ ˜ S) to Problem I by showing that (1 − α − β )R(φ ∗ , S ∗ ) ≤ R(φ, ∗ ∗ R(φ , S ). The latter part immediately holds due to the feasibility ˜ On the other hand, we have ˜ S). of (φ,
˜ ≤ φ ∗ − φ˜ ˜ S) R(φ ∗ ,S ∗ ) − R(φ, ˜ ≤ g(φ ∗ ) · h(S ∗ ) − (1 − β )g(φ˜ ∗ ) · h(S) [ ] ˜ ( ) (1 − β )h(S) ∗ ∗ ∗ ∗ ˜ = g(φ ) · h(S ) · 1 − exp µ0 b(φ − φ ) ∗ h(S )
[ ≤ φ∗ 1 −
˜ (1 − β )h(S) h(S ∗ )
] ≤ φ ∗ [1 − (1 − β ) · (1 − α )]
≤ (α + β )φ ∗ = (α + β )R(φ ∗ , S ∗ ), where the first inequality holds due to the facts that φ ∗ = R(φ ∗ , S ∗ ) ˜ ≥ φ˜ ; the second inequality holds because φ ∗ = g(φ ∗ ) · ˜ S) and R(φ, ∗ ˜ the third equality h(S ) and φ˜ ≥ (1 − β )φ˜ ∗ = (1 − β )g(φ˜ ∗ ) · h(S); holds due to the definition of g(φ ); the fourth inequality holds due ˜ ≥ (1 − α )h(S ∗ ); to φ ∗ ≥ φ˜ ∗ ; the fifth inequality holds because h(S) and the last inequality holds due to 1 − (1 − β ) · (1 − α ) ≤ α + β . This completes the proof. □ Proposition 1 suggests that obtaining an ϵ -approximate solution to Problem I can be transformed to finding an α -approximate solution to the NP-complete auxiliary problem, and finding a β -approximate solution to a fixed point problem. Moreover, if we have α + β ≤ ϵ , we immediately have that the corresponding ˜ must be an ϵ -approximate solution to Problem I ˜ S), solutions, (φ, based on Proposition 1. In the following sections, we concentrate on developing efficient approximate algorithms to the auxiliary problem and fixed point problem, respectively. 3.2. Approximate algorithm to the auxiliary problem
Lemma 3. Let X be the feasible region of x. For any non-negative functions {fi (x) : ∀i ∈ I}, x ∈ X }, an α -approximate solution { ∑ to max i∈I fi (x) : x ∈ X is also an α -approximate solution to { (∑ )γ } max : x ∈ X when γ ∈ (0, 1]. i∈I fi (x) Proof. Let and x˜ be an optimal solution { } ∑ xˆ be an α -approximate to max i∈I fi (x) : x ∈ X . Moreover, we conclude that x˜ is also { (∑ )γ } an optimal solution to max : x ∈ X . For notational i∈I fi (x)
∑ ˜ ˆ and y˜ = i∈I fi (x). Then, we γ γ γ prove Lemma 3 by proving (1 − α )y˜ ≤ yˆ ≤ y˜ . The latter inequality immediately holds due to [the feasibility ]of xˆ . On the γ γ −1 · γ y˜ + (1 − γ )yˆ ≤ yˆ γ −1 · [other hand, ]we have y˜ ≤ yˆ brevity, we define yˆ =
γ y˜ +
Definition 1. Subproblem SP(⟨i1 , i2 , . . . , im ⟩, c) is defined as the following: Given nest ⟨i1 , i2 , . . . , im ⟩ ∈ Nm , find the optimal solution to the following problem: max
S i ,i ,...,im ∈Ωi ,i ,...,im (c) 1 2 1 2
hi1 ,i2 ,...,im (S i1 ,i2 ,...,im )
( ) = exp µi1 ,i2 ,...,im−1 zi1 ,i2 ,...,im , { where S i1 ,i2 ,...,im = Si1 ,...,im ,im+1 ,...,in ∈ {0}, 1} : im+1 ∈ {1, 2, . . . , . . , in ∈ {1, 2, . . . , Di1 ,i2 ,...,in−1 } and Ωi1 ,i2 ,...,im (c)} = {Di1 ,i2 ,...,im }, .∑ ∑Di1 ,i2 ,...,in−1 Di ,i ,...,im 1 2 S i1 ,i2 ,...,im : · · · in = wi1 ,i2 ,...,in Si1 ,i2 ,...,in ≤ c . im+1 =1 1 We now show how to stitch together an α -approximate solution to the auxiliary problem based on recursively solving subproblem SP(⟨i1 , i2 , . . . , im ⟩, c) with ⟨i1 , i2 , . . . , im ⟩ ∈ Nm , m ∈ {1, 2, . . . , n − 1}, and c ∈ {0, 1, 2, . . . , C } based on the following lemma.
∑
i∈I fi (x)
1−γ y 1−α
ˆ . As a result, we have [ ] (1 − α )y˜ (1 − α )y˜ γ ≤ yˆ γ · γ + (1 − γ ) ≤ yˆ γ · (γ + 1 − γ ) = yˆ γ . yˆ The second inequality holds because (1 − α )y˜ ≤ yˆ ≤ y˜ . This completes the proof. □
We now present our approximate algorithm to the auxiliary problem based on Lemma 3. We first solve subproblems for nests at level n − 1. Based on Definition 1 and Eq. (7), subproblem SP (⟨i1 , i2 , . . . , in−1 ⟩, c ) can be re-written as follows:
⎛D max ⎝
⎞ µµi1 ,i2 ,...,in−2
i1 ,i2 ,...,in−1
i1 ,i2 ,...,in−1
∑
exp(µi1 ,i2 ,...,in−1 ai1 ,i2 ,...,in )Si1 ,i2 ,...,in ⎠
in =1
(12) Di ,i ,...,i 1 2 n −1
∑
s.t.
wi1 ,i2 ,...,in Si1 ,i2 ,...,in ≤ c ;
in = 1
Si1 ,i2 ,...,in ∈ {0, 1},
∀in ∈ {1, 2, . . . , Di1 ,i2 ,...,in−1 },
which is NP-complete since it is equivalent to the knapsack problem for purposes of obtaining an exact solution. However, we can obtain an α -approximate solution to Eq. (12) through approximating the knapsack problem maxS i ,i ,...,i ∈Ωi ,i ,...,i (c)
{
1 2
∑Di1 ,i2 ,...,in−1 in = 1
In this section, we develop an approximate algorithm to obtain an α -approximate solution to the NP-complete auxiliary problem defined in Eq. (10). Our algorithm is based on dynamic programming, which recursively breaks the problem of approximating the auxiliary problem into several smaller subproblems having the same structure until the approximate solutions to the subproblems are apparent.
33
n−1
exp(µi1 ,i2 ,...,in−1 ai1 ,i2 ,...,in ) · Si1 ,i2 ,...,in
}
1 2
n−1
based on
Lemma 3 since µi1 ,i2 ,...,in−2 /µi1 ,i2 ,...,in−1 ≤ 1. Therefore, we can obtain an approximate solution to subproblems at level n − 1 though an approximate algorithm to the classical knapsack problem, such as the Basic-FPTAS algorithm in Chapter 6 of [16]. Proposition 2. An α -approximate solution to subproblem SP(⟨i1 , i2 , . . . , in−1 ⟩, c), denoted by S αi1 ,i2 ,...,in−1 (c), can be obtained in O ( ) D2i ,i ,...,i /α time through an approximate algorithm to the clas1 2 n −1 sical knapsack problem. We, then, solve the subproblems backward from levels n − 2 to 1. When we solve the subproblems for nest ⟨i1 , i2 , . . . , im ⟩ ∈ Nm with m ∈ {n − 2, n − 3, . . . , 1}, we have already obtained an α -approximate solution to subproblem SP(⟨i1 , i2 , . . . , im+1 ⟩, cm+1 ), denoted by S αi1 ,i2 ,...,im+1 (cm+1 ), for all im+1 ∈ {1, 2, . . . , Di1 ,i2 ,...,im } and cm+1 ∈ {0, 1, 2, . . . , C }. Based on Eq. (7), the objective function of subproblem SP(⟨i1 , i2 , . . . , im ⟩, cm ) can be re-written as follows: hi1 ,i2 ,...,im (S i1 ,i2 ,...,im )
( ) = exp µi1 ,i2 ,...,im−1 zi1 ,i2 ,...,im ⎛ ⎞ µµi1 ,i2 ,...,im−1 Di ,i ,...,im i1 ,i2 ,...,im 1∑ 2 ⎝ ⎠ hi1 ,i2 ,...,im+1 (S i1 ,i2 ,...,im+1 ) = . im+1 =1
34
R. Chen and H. Jiang / Operations Research Letters 47 (2019) 30–35
Based on the fact that µi1 ,i2 ,...,im−1 /µi1 ,i2 ,...,im ≤ 1 holds and Lemma 3, an α -approximate solution to SP(⟨i1 , i2 , . . . , im ⟩, cm ) can be obtained through approximating maxS i ,i ,...,im ∈Ωi ,i ,...,im (cm )
{∑D
i1 ,i2 ,...,im im+1 =1
1 2
}
1 2
hi1 ,i2 ,...,im+1 (S i1 ,i2 ,...,im+1 ) , which can be achieved
through dynamic programming. In our dynamic program, the decision epochs correspond to the nests and the state variable in each epoch is the capacity remaining from the earlier nests. The corresponding Bellman equation can be expressed as follows:
Θi1 ,i2 ,...,im+1 (c) =
max
{
cm+1 ∈{0,1,...,c }
(
hi1 ,i2 ,...,im+1 S αi1 ,i2 ,...,im+1 (cm+1 )
)
} + Θi1 ,i2 ,...,im+1 +1 (c − cm+1 ) , (13) where c ∈ {0, 1, . . . , cm }, im+1 ∈ {1, 2, . . . , Di1 ,i2 ,...,im }, and the boundary conditions are that Θi1 ,i2 ,...,im ,Di ,i ,...,im +1 (·) = 0. As 1 2
a result, we can conclude that S αi1 ,i2 ,...,im (cm ), the corresponding
solution to Θi1 ,i2 ,...,im ,1 (cm ) computed through Eq. (13), is also an α -approximate solution to subproblem SP(⟨i1 , i2 , . . . , im ⟩, cm ). Specially, when m = 0, let S α be the solution to Θ1 (C ). We have that Θ1 (C ) = h(S α ) and that S α is an α -approximate solution to the auxiliary problem defined in Eq. (10). To sum up, we obtain an α -approximate solution to the auxiliary problem in the following steps: (a) Obtain α -approximate solutions to subproblems SP(⟨i1 , i2 , . . . , in−1 ⟩, c) for any ⟨i1 , i2 , . . . , in−1 ⟩ ∈ Nn−1 and c ∈ {0, 1, . . . , C } based on Proposition 2; (b) Solve the corresponding dynamic programming defined in Eq. (13) for all the subproblems backward from levels n − 2 to 1 and the corresponding solution to Θ1 (C ) is an α -approximate solution to the auxiliary problem. 3.3. Solution algorithm In this section, we propose our ϵ -approximate algorithm to Problem I and characterize its running time complexity. We first show how to obtain a β -approximate solution to the fixed point problem φ = g(φ ) · h(S α ) with binary search and grid points. At first, we have to bound the optimal solution, denoted by φ˜ , to the fixed point problem. In our algorithm, we adopt φ = g(0) · h(S α ) as the upper bound since φ˜ = g(φ˜ ) · h(S α ) ≤ g(0) · h(S α ), and φ = g(φ ) · h(S α ) as the lower bound since φ˜ = g(φ˜ ) · h(S α ) ≥
to φ˜ can be found in the g(φ )·h(S α ). Then, a β -approximate solution { } collection of exponential grid points φ (1 + β )l : l = 0, 1, . . . , L ⌈ ⌉ through binary search, where L = log(φ/φ )/log(1 + β ) such that φ (1 + β )L ≥ φ holds. For ease of reading, the solution algorithm to Problem I defined in Eq. (8) is presented in Algorithm 1. In line 1, we initialize (α, β ) to ϵ/2. In lines 2–13, we obtain an α -approximate solution to the auxiliary problem through sequentially approximating subproblems from levels n − 1 to 1. In lines 14–24, we use binary search to find a β -approximate solution, denoted by φ˜ , to the fixed point ˜ which is an ˜ S), problem φ = g(φ ) · h(S α ). Finally, we output (φ, ϵ -approximate solution to Problem I. We now characterize the complexity of our approach to approximate the auxiliary problem. For notational brevity, the maximum number of children nests that a nest in the tree structure of the multilevel nested logit model can have is denoted by D, that is, we have D ≥ Di1 ,i2 ,...,im for all ⟨i1 , i2 , . . . , im ⟩ ∈ Nm and m ∈ {1, 2, . . . , n − 1}. Moreover, total number of nests is ∑n−the 1 denoted by K , that is, we have | N m | = K . At level n − 1, m=1 we have to solve O(C · |Nn−1 |) = O(CK ) subproblems based on Proposition 2 in the first step. Then, we recursively solve subproblems backwards from levels n − 2 to 1. At level m, we have to solve dynamic programs defined in Eq. (13) based on S αi1 ,i2 ,...,im+1 (c), which are the α -approximate solutions to subproblems at level
Algorithm 1 ϵ -approximate algorithm to Problem I 1: α ← ϵ/2, β ← ϵ/2 2: for all ⟨i1 , i2 , · · · , in−1 ⟩ ∈ Nn−1 and c ∈ {0, 1, · · · , C } do 3: Apply the Basic-FPTAS algorithm in Chapter 6 of [16] to obtain an α approximate solution, S αi1 ,i2 ,···,in−1 (c), to subproblem SP(⟨i1 , i2 , · · · , in−1 ⟩, c) 4: end for 5: for m = n − 2 to 0 do 6: if m > 0 then 7: for all ⟨i1 , i2 , · · · , im ⟩ ∈ Nm and c ∈ {0, 1, · · · , C } do 8: Use DP (13) to obtain an α -approximate solution, S αi1 ,i2 ,···,im (c), to subproblem SP(⟨i1 , i2 , · · · , im ⟩, c) 9: end for 10: else 11: Use DP (13) to obtain an α -approximate solution, S α , to Θ1 (C ) 12: end if 13: end for 14: φ ← g(0) · h(S α ), φ ← g(φ ) · h(S α ) 15: l ← 0, l ← ⌈log(φ/φ )/log(1 + β )⌉ 16: while l > l + 1 do 17: l ← ⌊(l + l)/2⌋, φ ← φ (1 + β )l 18: if φ > g(φ ) · h(S α ) then 19: l←l 20: else 21: l←l 22: end if 23: end while 24: φ˜ ← φ (1 + β )l , S˜ ← S α
˜ as an ϵ -approximate solution to Problem I ˜ S) 25: Output: (φ,
∑n−2
m + 1. This indicates that we have to solve O(C · m=1 |Nm |) = O(CK ) dynamic program in our approach. Therefore, the overall ∗ complexity to obtain S α such h(S α ) ≤ h(S ∗ ) ( ) that( (1 − α( )h(S ) ≤ )) is O CK · D2 /α + CK · C 2 D = O CKD · D/α + C 2 . In addition, the complexity of obtaining φ˜ is O(log L) = O(1/β ). Therefore, the overall complexity of (Algorithm ( 1 to obtain )) an ϵ -approximate solution to Problem I is O CKD · D/ϵ + C 2 when α = β = ϵ/2. Proposition solution to Problem I can be found ( ( 3. An ϵ -approximate )) in O CKD · D/ϵ + C 2 time through Algorithm 1. In addition, when the weights are identical for all products, i.e., wi1 ,i2 ,...,in = 1, for all ⟨i1 , i2 , . . . , in ⟩ ∈ Nn , subproblem SP(⟨i1 , i2 , . . . , in−1 ⟩, c) defined in Eq. (12) can be solved to optimality by selecting c products under nest ⟨i1 , i2 , . . . , in−1 ⟩ with the largest values of ai1 ,i2 ,...,in . Following the same approach described in Section 3.2, we ( finally ( obtain the ))optimal solution to the auxiliary problem in O CKD · log D + C 2 time, which is also the optimal assortment to Problem I based on Lemma 1. As a result, we have the following corollary to characterize the optimal solution to the capacitated assortment and price optimization under the multilevel nested logit model when the weights are identical for all products. Corollary 1. When the weights are identical for all products in Nn , the assortment, denoted by S ∗ , can be obtained in O (CKD· ( optimal2 )) time and the optimal prices for all products are identilog D + C cal at 1 + W h(S ∗ )/e
(
p∗ =
µ0 b
) ,
(14)
where W (x) is the Lambert W function that solves w exp(w ) = x for w . 4. Future research directions We outline three possible future research directions: (a) The integral capacity limit setting is adopted in this paper.
R. Chen and H. Jiang / Operations Research Letters 47 (2019) 30–35
However, our algorithm is not applicable for the non-integral case. It may be of great interest to develop corresponding approximate algorithms for the cases with non-integral capacity limit and weights; (b) What we investigate in this paper is a singleperiod optimization problem. It can be interesting to extend our work to the case with multiple selling periods where product availability and customers’ preference may vary across periods; and (c) In the setting, price-sensitivities are identical for all products, and it can be very interesting to study the corresponding optimization problem when price-sensitives vary from product to product. Acknowledgments The authors are very grateful to the area editor Mahesh Nagarajan and the anonymous referees whose thoughtful comments and constructive suggestions have allowed them to improve the quality of this paper. This research is supported by the Natural Science Foundation of China [Grant 71622006, 71761137003] and the Center for Data-Centric Management in the Department of Industrial Engineering at Tsinghua University. References [1] A. Alptekinoğlu, J.H. Semple, The exponomial choice model: a new alternative for assortment and price optimization, Oper. Res. 64 (1) (2016) 79–93. [2] O. Besbes, D. Sauré, Product assortment and price competition under multinomial logit demand, Prod. Oper. Manage. 25 (1) (2016) 114–127. [3] K.D. Chen, W.H. Hausman, Technical note: mathematical properties of the optimal product line selection problem using choice-based conjoint analysis, Manage. Sci. 46 (2) (2000) 327–332. [4] R. Chen, H. Jiang, Capacitated assortment and price optimization under the nested logit model, Working paper, 2016. [5] R. Chen, H. Jiang, Capacitated assortment and price optimization for customers with disjoint consideration sets, Oper. Res. Lett. 45 (2) (2017) 170–174.
35
[6] J. Davis, G. Gallego, H. Topaloglu, Assortment planning under the multinomial logit model with totally unimodular constraint structures, Working paper, 2013. [7] V.F. Farias, S. Jagabathula, D. Shah, A nonparametric approach to modeling choice with limited data, Manage. Sci. 59 (2) (2013) 305–322. [8] G. Gallego, H. Topaloglu, Constrained assortment optimization for the nested logit model, Manage. Sci. 60 (10) (2014) 2583–2601. [9] M.R. Gary, D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-completeness, WH Freeman and Company, New York, 1979. [10] A. Ghose, S.P. Han, Estimating demand for mobile applications in the new economy, Manage. Sci. 60 (6) (2014) 1470–1488. [11] C.-Y. Hsiao, M. Hansen, A passenger demand model for air transportation in a hub-and-spoke network, Transp. Res. E 47 (6) (2011) 1112–1125. [12] W.T. Huh, H. Li, Technical note—pricing under the nested attraction model with a multistage choice structure, Oper. Res. 63 (4) (2015) 840–850. [13] S. Jagabathula, P. Rusmevichientong, A nonparametric joint assortment and price choice model, Manage. Sci. 63 (9) (2016) 3128–3145. [14] H. Jiang, R. Chen, H. Sun, Multiproduct price optimization under the multilevel nested logit model, Ann. Oper. Res. 254 (1–2) (2017) 131–164. [15] H. Jiang, X. Qi, H. Sun, Choice-based recommender systems: a unified approach to achieving relevancy and diversity, Oper. Res. 62 (5) (2014) 973–993. [16] H. Kellerer, U. Pferschy, D. Pisinger, Knapsack Problems, Springer, Berlin, 2004. [17] G. Li, P. Rusmevichientong, H. Topaloglu, The d-level nested logit model: assortment and price optimization problems, Oper. Res. 62 (2) (2015) 325–342. [18] S. Mittal, A.S. Schulz, A general framework for designing approximation schemes for combinatorial optimization problems with many objectives combined into one, Oper. Res. 61 (2) (2013) 386–397. [19] W.Z. Rayfield, P. Rusmevichientong, H. Topaloglu, Approximation methods for pricing problems under the nested logit model with price bounds, Informs J. Comput. 27 (2) (2015) 335–357. [20] P. Rusmevichientong, Z.J.M. Shen, D.B. Shmoys, A ptas for capacitated sum-ofratios optimization, Oper. Res. Lett. 37 (4) (2009) 230–238. [21] K. Talluri, G. Van Ryzin, Revenue management under a general discrete choice model of consumer behavior, Manage. Sci. 50 (1) (2004) 15–33. [22] K.E. Train, Discrete Choice Methods with Simulation, Cambridge university press, 2009. [23] R.X. Wang, Capacitated assortment and price optimization under the multinomial logit model, Oper. Res. Lett. 40 (6) (2012) 492–497. [24] Y. Wang, Z.J.M. Shen, Joint optimization of capacitated assortment and pricing problem under the tree logit model, Working paper, 2018.