assortment optimization for choosy · pdf fileassortment optimization for choosy customers...
TRANSCRIPT
Assortment Optimization for Choosy Customers
Alice PaulSchool of Operations Research and Information
Engineering, Cornell University,Ithaca, NY 14853, USA
Huseyin TopalogluSchool of Operations Research and Information
Engineering, Cornell Tech,New York, NY 11011, [email protected]
Jacob FeldmanOlin Business School, Washington University,
St. Louis, MO 63130, [email protected]
April 18, 2016
Abstract
We study two different choice models that capture the purchasing behavior of customers whoonly consider purchasing one of two substitutable products. We refer to these customers aschoosy. The first choice model captures substitution behavior through probabilistic transitionsbetween products. Under this choice model, a customer’s buying process can be captured intwo steps: an arrival with the intention of purchasing a product and a single transition to asubstitute product if the initial product is unavailable. The second choice model that we studyassumes each customer is characterized by a ranking of the products. An arriving customerwill purchase her highest ranked product that is offered. Since we model choosy customers, weassume that these rankings contain at most two products. This paper focuses on the assortmentoptimization problem under these two choice models. In this problem, the retailer wants to findthe revenue maximizing set of products to offer when the buying process of each customer isgoverned by either of the two choice models described above. Under both choice models, wegive hardness results for the assortment problem, and motivated by these hardness results, wedevelop novel approximation schemes.
1 Introduction
The ability to accurately model consumer demand is critical for any retailer, since this model
will guide everything from inventory decisions to pricing to promotion strategies. Traditionally,
the demand for a product is assumed to be independent of the availability of other products.
This assumption fails to capture a typical behavior of most consumers commonly referred to as
substitution: the phenomenon where a customer chooses an alternative product when her most
preferred product is not available for purchase due to stockouts or deliberate inventory controls.
When customers substitute, the demand for a particular product should be modeled as a function
of the availability of all other substitutable alternatives. In the revenue management literature,
models capturing substitution patterns are known as customer choice models. A customer choice
model maps any assortment of products to the probabilities that each product in the assortment
is purchased. There are a variety of customer choice models, each of which captures different
aspects of typical customer substitution behavior. Choosing an appropriate choice model is often
a difficult task for the retailer, as there is a trade-off between model accuracy and tractability; the
choice models which capture the most general forms of consumer behavior are often those whose
underlying parameters are tricky to estimate and whose corresponding assortment problems are
difficult to solve.
In this paper, we study a setting in which customers are only willing to substitute at most once.
We refer to these customers as choosy. There are numerous papers in the marketing and revenue
management literature that provide evidence for the existence of choosy customers. In most of
the past literature, choosy customers have generally been referred to as customers that have small
consideration sets, where the consideration set of a customer is simply the set of products they would
ever consider purchasing. The authors of Lapersonne et al. (1995) study consumers considering an
automobile purchase and find that a large percentage of consumers will only consider the brand of
their previous car. This sort of consumer behavior is further described in Jeuland (1979), where
the author studies a purchasing bias which is referred to as short term brand loyalty or inertia in
choice. Finally, Crompton and Ankomah (1993) studies how travelers pick vacation destinations.
They claim that in this setting, “consideration sets have size at most four”. Additionally, with the
growth of online retailers such as Amazon who offer millions of products, customers are generally
able to get their first choice product online and hence it is hard to imagine that many consumers
exhibit extreme forms of substitution behavior.
As another example, Kok and Fisher (2007) models substitution in two simple steps. First, if
the arriving customer’s most preferred product is unavailable for purchase, the customer decides to
substitute with fixed probability δ. If she decides to substitute, she then makes a single probabilistic
2
transition from her first choice product to another product and purchases this product if it is offered
or leaves the system if it is not. These probabilistic transitions can depend on the customer’s
first choice product. The authors support their assumption of only a single substitution event by
referencing the earlier work of Kok (2003), where it is shown that this single substitution model
can approximate the scenario where there are multiple substitution events quite accurately when δ
is not too small.
We study two choice models that can be used to model choosy customers. Under both choice
models, a customer will either purchase her first or second choice product. If neither is available,
she will leave the store without making a purchase. The first choice model that we study can be
viewed as a slight variation of the substitution model presented in Kok and Fisher (2007) that
was described earlier. Specifically, under this choice model, a customer arrives into the system
with the intention of purchasing her most preferred product. Throughout this paper, we use the
terms preferred product and first choice product interchangeably. If this product is available for
purchase, then she purchases it. Otherwise, she transitions to a second choice product with a certain
probability, and purchases this second product if it is available, or she leaves the system without
making a purchase. We assume that the transition probabilities are independent of each customer’s
most preferred product and thus we have a single transition probability for each product. If the
customer transitions to a second choice product that is not available, we assume that she then
leaves the system without making a purchase. In this way, customers consider purchasing at most
two products, and their purchasing behavior unfolds in at most two steps: an arrival event and
a potential substitution event. As a result, we refer to this choice model as the Two Step choice
model.
The second choice model that we study is a special case of the nonparametric ranking-based
choice model used in Mahajan and van Ryzin (2001a) and Mahajan and van Ryzin (2001b). In
the nonparametric ranking-based choice model, each customer class is distinguished by an arrival
probability and a preference list which is a unique ranking on a subset of products. When presented
with an assortment of products, a customer will purchase the highest ranking offered product in
her preference list. If there is no offered product in her preference list, she leaves the system
without making a purchase. In the most general form of the nonparametric choice model, there is
no restriction on the length of a customer’s preference list. Since we hope to capture the choice
process of choosy customers, we only consider customers whose preference lists are of length at
most two. We refer to this choice model as the Two Product Nonparametric choice model. Similar
to the Two Step choice model, customers only ever consider purchasing at most two products.
We demonstrate that the Two Product Nonparametric choice models subsumes the Two Step
3
choice model and therefore it provides a more general framework for capturing the purchasing
behavior of choosy customers. As a result, at first glance it appears that one would never choose to
use the Two Step choice model over the Two Product Nonparametric choice model. However, we
show that the assortment problem for the Two Step model is provably easier than the corresponding
problem under the Two Product Nonparametric model. Further, the number of parameters in the
Two Step model grows linearly in the number of products whereas the number of parameters in the
Two Product Nonparametric model grows quadratically. Therefore, the Two Step model is easier
to estimate and is less likely to suffer from overfitting issues that can arise as a result of having
limited historical data.
1.1 Contributions
We consider the assortment optimization problem when customers either make purchases according
to the Two Step or Two Product Nonparametric choice model. In the assortment optimization
problem, the retailer has a collection of products and must choose a subset, or assortment, of these
products to offer to customers so as to maximize expected revenue. For the Two Step model,
we begin by showing that its corresponding assortment problem is NP-Hard via a reduction from
the Partition problem. Motivated by this hardness result, we develop a fully polynomial-time
approximation scheme (FPTAS). The FPTAS allows a trade off between running time and solution
quality: it can expend additional computational time to produce an assortment guaranteed to
provide revenue progressively closer to optimal. With enough computational power, the algorithm
can get arbitrarily close to an optimal solution.
Our approach for developing the FPTAS for the assortment problem under the Two Step choice
model relies on a reparameterization of the original problem. The reparameterization boils down
to guessing the optimal probability u that an arriving customer will not purchase the product
she initially considers. For a fixed guess of this probability, the assortment problem reduces to a
knapsack problem. Unfortunately, we cannot efficiently check every possible value of u. As a result,
we use exponentially spaced grid points as potential guesses for the optimal value of u. We show
that this approach leads to a small number of guesses for the optimal u while only reducing the
quality of the assortment produced by a factor of 1 + δ for any δ > 0. With regards to solving each
of the knapsack problems, the traditional FPTAS for the knapsack problem given in Williamson
and Shmoys (2010) is not applicable since it requires that the value of each item is an integer. As
a result, we give a different FPTAS for the knapsack problem and use it as a blackbox. We show
that this second approximation degrades our solution by an additional factor of 1 + δ. We wrap up
our FPTAS by giving the appropriate choice of δ to achieve the desired performance guarantee of
4
1 + ε in time that scales polynomially in 1/ε.
For the Two Product Nonparametric model, we prove that an FPTAS is not possible for the
assortment optimization problem unless P=NP, even when the set of preference lists is derived from
a single ordering of the products. We show this result via a reduction from the vertex cover problem
on cubic graphs. We go on to give a 2-approximation algorithm for this assortment optimization
problem. To do so, we first show that the revenue function is submodular, but not monotone.
Maximizing a general non-monotone submodular function has been studied extensively. Our 2-
approximation algorithm is a modified version of the algorithm in Buchbinder et al. (2015) that
runs in time linear in the number of customer classes. We are also able to strengthen the result in
Buchbinder et al. (2015) by showing that we are within a factor of 2 of the optimal value to a linear
relaxation of the assortment problem. Both the hardness result and the approximation algorithm
are new results for the assortment optimization problem under the nonparametric choice model.
In particular, this improves upon the 4-approximation algorithm given in Aouad, Farias, Levi and
Segev (2015) for the special class of nonparametric choice models we consider in this paper.
We run a series of computational experiments on a large collection of instances of the assortment
problem under both choice models. Solving these instances with the algorithms that we develop
yields assortments whose revenues come within a percent of optimal on average. This average
performance far exceeds the worst case theoretical performance guarantees.
1.2 Related Literature
The Two Step choice model can be viewed as a truncated version of the Markov chain choice model
introduced in Blanchet et al. (2013). Under this model, Blanchet et al. (2013) shows that the
assortment problem can be formulated as a simple linear program. The authors of Feldman and
Topaloglu (2015b) show that the feasible region of this linear program has a special structure that
helps in developing an efficient approximation for the network revenue management problem. It
is also common to study the assortment problem when there is a limit on the number of products
offered or a limit on the total size of the offered assortment, where products may have arbitrary
sizes. The former is referred to as the cardinality constrained assortment problem and the latter is
referred to as the space constrained assortment problem. Under the Markov chain choice model,
the cardinality constrained version of the assortment problem was shown to be APX-Hard by Goyal
and Desir (2015), who also provide a constant factor approximation for the cardinality and space
constrained versions of the problem. The Two Step model also closely resembles the substitution
model outlined in Kok and Fisher (2007). In this setting, the single substitution event that occurs
when a customer’s first choice product is unavailable unfolds in two steps. First, the customer
5
decides whether to consider a second product or to leave the store. If she chooses to consider
a second product, she then substitutes into one of the other products with a probability that is
dependent on the customer’s favorite product. The authors give heuristics for assortment planning
problems.
To our knowledge, the first to consider assortment optimization under the general nonparametric
model was Honhon et al. (2012), who also consider a restricted set of potential preferences lists.
Namely, the main result in their paper assumes that if the products are nodes in a tree, then
each possible preference list can be represented by a path in the tree starting or ending at the
root node. This result is extended in Feldman et al. (2015), where the authors work in a more
general tree setting where preference lists are still paths on a tree, but these paths can begin or
end anywhere on the tree. Both of these papers solve the assortment optimization problem via
dynamic programming methods that take advantage of the special structure of the potential set of
preference lists.
Two other papers that study the assortment problem under the nonparametric choice model
are Aouad, Farias, Levi and Segev (2015) and Aouad, Farias and Levi (2015). The former proves
various hardness results related to the assortment problem as well as a e · d-approximation for the
special case where the lengths of the preference lists are at most length d. The latter considers
the assortment optimization problem under the nonparametric choice model when customer pref-
erence lists are associated with structured set systems defined over a single overarching ordering
of the products. One such structured set system is a laminar family. In an extended setting, Rus-
mevichientong and Jagabathula (2015) presents an approximation scheme for the joint assortment
and pricing problem where the retailer chooses both the set of products to offer and the prices for
these products with the intention of maximizing expected revenue. In this problem setting, each
customer class is distinguished by a price threshold and a preference list. Once prices have been set,
customers purchase the highest ranking offered product that is priced below their price threshold.
One important thing to note is that these papers all rely on being able to roughly assume that the
preference lists of all customers are based on the same overarching ranking of the products.
Assortment optimization has also been thoroughly studied under other choice models. Talluri
and van Ryzin (2004) solves the assortment optimization problem when customers choose according
to the multinomial logit (MNL) choice model. Extending this result, Rusmevichientong et al.
(2010), Wang (2012), Davis et al. (2013) and Wang (2013) study various versions of the constrained
assortment problems under the MNL model. Mendez-Dıaz et al. (2010), Desir and Goyal (2013) and
Rusmevichientong et al. (2014) focus on assortment problems when customer choices are governed
by a mixture of multinomial logit models. Li and Rusmevichientong (2014), Davis et al. (2014),
6
and Li et al. (2015) develop efficient solution methods for the unconstrained assortment problem
when customers choose under the nested logit model. Gallego and Topaloglu (2014) and Feldman
and Topaloglu (2015a) consider the space and cardinality constrained versions of the assortment
problem when customers choose according to the nested logit model.
1.3 Organization
The rest of the paper is organized as follows. In Section 2, we introduce the Two Step and Two
Product Nonparametric choice models. In Section 3, we present the hardness result and FPTAS
for the assortment optimization problem under the Two Step model. Similarly, in Section 4 we
give a hardness result and a 2-approximation algorithm for the assortment problem under the
Two Product Nonparametric model. We numerically test the performance of the FPTAS and the
2-approximation algorithm in Section 5 to show that their practical performance is in fact much
better than their theoretical guarantees. Lastly, in Section 6 we conclude and discuss how future
work can extend these results.
2 Models
In this section, we formally define the Two Step and Two Product Nonparametric choice models.
Both models will consider customers that substitute at most once. In other words, these customers
consider at most two products. For both models, we let the set of potential products be N =
{1, 2, . . . , n} and let rj ≥ 0 be the revenue of product j. We refer to products as offered if they are
available for purchase and not offered if not. In addition, given a subset of offered products S ⊆ N ,
we let Prj(S) be the probability a customer will purchase product j if the set S is offered. We
encode the offered assortment through the vector x ∈ {0, 1}n, where xj = 1 indicates that product
j is offered and xj = 0 indicates that it is not. We slightly abuse notation and for any assortment
x ∈ {0, 1}n, we denote the purchase probability also by Prj(x).
2.1 Two Step Choice Model
In the Two Step choice model, customers arrive into the system with the intention of purchasing
their most preferred item. With probability αj , a customer arrives into the system with the intention
of purchasing product j. We assume without loss of generality that∑
j∈N αj = 1. If product j is
offered, then the customer will purchase product j. Otherwise, the customer transitions to product
i with probability βi and checks the availability of product i in the second step. If product i is
offered, then the customer purchases product i. If product i is not offered, the choice process of the
customer terminates without a purchase. Throughout, we assume that∑
i∈N βi ≤ 1 so that if the
7
first choice product of the customer is not available, then with probability 1−∑
i∈N βi, the customer
also immediately terminates her choice process without a purchase. In this way, the choice process
of each arriving customer consists of at most two steps: an arrival with the intention of purchasing
a particular product and a single transition to a substitute product if the initial product is not
available for purchase. Note that in contrast to the model presented in Kok and Fisher (2007), we
assume that the transition probability βi is independent of the first choice product.
Thus, for a particular assortment given by x ∈ {0, 1}n, a customer purchases product j with
probability
Prj(x) = αjxj +
(1−
∑i∈N
αixi
)βjxj . (1)
The first term in the sum represents the event that the customer purchases product j upon her
arrival and the second term captures the event where the customer substitutes into product j
because her first choice product was unavailable. An arriving customer’s first choice product is
not available with probability 1 −∑
i∈N αixi, and in this case, she transitions to product j with
probability βj and purchases it only if it is offered.
Under a general Markov chain choice model, there is no restriction on the number of transitions
that a customer can make. It is clear that our restriction of only a single transition eliminates
the Markovian substitution patterns underlying the Markov chain choice model. As a result,
this seemingly more simple choice model actually admits a more difficult assortment optimization
problem.
2.2 Two Product Nonparametric Choice Model
In the general nonparametric choice model we are given a distribution over preference lists given
by a set of customer classes G. In this setting, a customer of customer class g ∈ G arrives with
probability λg and is associated with a ranking σg on a subset Sg ⊆ N of products. We assume
without loss of generality that∑
g∈G λg = 1. For i ∈ Sg, let σg(i) give the index of product i
in customer type g’s preference list. We use the convention that lower indexed products have a
higher ranking. So a product that is first in a customer’s preference list has the highest ranking.
An arriving customer will purchase her highest ranked offered item (if any). In particular, if the
retailer offers an assortment given by x ∈ {0, 1}n, then a customer of type g will purchase product
πg(x) :=
{arg mini∈Sg ,xi=1 σg(i) if Sg ∩ {i : xi = 1} 6= ∅,0 otherwise,
where πg(x) = 0 indicates that the customer leaves the system without making a purchase.
In our Two Product Nonparametric choice model, we assume that |Sg| ≤ 2 for all customer
classes g ∈ G. Without loss of generality, we can assume |Sg| = 2 by adding in a dummy product
8
with zero revenue as the second choice for customers with |Sg| = 1. For each customer class g ∈ G,
let g1 be the most preferred product and g2 be the second preferred product for customers in this
class. Under the Two Product Nonparametric choice model, the probability product j is purchased
is
Prj(x) =∑
g∈G:πg(S)=j
λg =∑g:g1=j
λgxj +∑g:g2=j
λg(1− xg1)xj .
It is not difficult to show that this choice model generalizes the Two Step choice model by
mapping each of the O(n2) paths on the products that a customer could take in the Two Step
Model to a preference list. A formal proof of this is given in Appendix A. Consistent with this
result, we will show the assortment optimization problem is provably harder for this customer choice
model than the Two Step choice model even when we put additional restrictions on the customer
class lists.
3 Assortment Optimization for the Two Step Choice Model
In the assortment optimization problem, a firm chooses a subset of product S ⊆ N , encoded by
the vector x ∈ {0, 1}n, to offer to customers with the intention of maximizing the expected revenue
from an arriving customer. Given our notation from Section 2, we denote the expected revenue of
a given assortment x ∈ {0, 1}n as Rev(x) =∑
j∈N rjPrj(x) and the optimal expected revenue as
OPT = maxx∈{0,1}n
∑j∈N
rjPrj(x).
In this section, we assume that the purchasing behavior of each customer is governed by the
Two Step choice model. Under this setting,
OPT = maxx∈{0,1}n
∑j∈N
rjαjxj + (1−∑j∈N
αjxj)∑j∈N
rjβjxj
, (2)
which follows from the definition of Prj(x) given in (1). We first show that the assortment optimiza-
tion problem under the Two Step choice model is NP-Hard. This hardness result then motivates
the development of a FPTAS to solve this problem.
To show that the assortment optimization problem is NP-Hard, we use a reduction from the
Partition problem, which is known to be NP-complete. Our approach is inspired by the reduction
seen in Rusmevichientong et al. (2014), which shows that the assortment problem under a mixture
of multinomial logits is NP-Hard. In the Partition problem, we are given a set of n items {1, . . . , n}.
There is an integer weight wj associated with item j such that∑n
j=1wj = 2L for some integer L.
The partition problem asks whether there exists a partition of the items given by a vector x ∈ {0, 1}n
such that∑n
j=1wjxj = L. We will call such a partition an even partition.
9
Theorem 3.1. The assortment optimization problem under the Two Step choice model is NP-Hard.
Proof. Suppose we are given an instance of the Partition problem with n items, where the weight
of item j is wj such that∑n
j=1wj = 2L. We index the items by decreasing weight so that item n
has the smallest weight. Note that for each item j, we must have wj < L. To see this, note that if
wj > L, then an even partition clearly does not exist and if wj = L, then product j gives the even
partition.
We construct a corresponding instance of the assortment optimization problem as follows. We
create n products and set αj = βj = wj/2L so that a customer both arrives to a particular product
j and substitutes to product j with the same probability. Furthermore, we set rj = 1 for all
j = 1, . . . , n − 1 and set rn = 1/αn − 1 > 1. The preceding inequality holds because we have
assumed wn < L and so αn < 0.5. Product n is the highest revenue product and is therefore
guaranteed to be included in the optimal assortment. Since we can assume xn = 1, the resulting
assortment problem for this instance is:
maxx∈{0,1}n−1
∑j 6=n
αjxj + (1− αn) + (1− (∑j 6=n
αjxj + αn))(∑j 6=n
αjxj + (1− αn)). (3)
We show that there exists an even partition if and only if every optimal solution x∗ ∈ {0, 1}n−1
to problem (3) satisfies∑
j 6=n αjx∗j = 0.5. We begin by proving the forward direction. Assume that
we have an even partition P ⊆ {1, . . . , n} where n /∈ P . Consider the following feasible solution x
to problem (3)
xi :=
{1 if i ∈ P,0 otherwise.
Note that we have∑
j∈P wj =∑
j 6=nwj xj =∑
j 6=n 2αjLxj = L which implies that∑
j 6=n αj xj =
0.5. The second equality in the string of equalities follows by our definition of αj and the last
equality follows since P is an even partition. Next, consider the case where n ∈ P and define the
following feasible solution to problem (3)
xi :=
{0 if i ∈ P,1 otherwise.
We have that∑
j∈P wj =∑
j /∈P wj =∑
j 6=nwj xj =∑
j 6=n 2αjLxj = L which again implies that∑j 6=n αj xj = 0.5. All that remains is to show that in either case x is optimal to problem (3). To see
this, we first rewrite the optimization problem in (3) using the change of variable q =∑
j 6=n αjxj
and think about optimizing over q instead. The resulting objective becomes q + (1 − αn) + (1 −
(q+αn))(q+ (1−αn)) = −q2 + q+ (1−αn)(2−αn), which is maximized by choosing q = 0.5. So if
an even partition exists, then we know x is optimal because we have shown that∑
j 6=n αj xj = 0.5.
10
Therefore, if an even partition exists, we know that every optimal solution x∗ ∈ {0, 1}n−1 to problem
(3) must satisfies∑
j 6=n αjx∗j = 0.5 since we know that we can find at least one such solution and
any solution with q 6= 0.5 does strictly worse.
We now show the backward direction: we assume that we have an optimal solution x∗ ∈
{0, 1}n−1 to problem (3) that satisfies∑
j 6=n αjx∗j = 0.5 and show how to find an even partition.
Let P = {j : x∗j = 1} be a partition. We know that∑
j 6=n αjx∗j =
∑j∈P αj =
∑j∈P wj/2L = 0.5,
which implies that∑
j∈P wj = L and hence P is an even partition. The second equality in the
string of equalities follows by definition of αj and the third equality follows by our assumption in
proving the backward direction.
3.1 Fully Polynomial-Time Approximation Scheme
Motivated by the above hardness result, we develop an algorithm which yields a FPTAS for the
assortment optimization problem under the Two Step choice model. The approach proceeds in
two steps. First we show that by reparameterizing the assortment problem, we can reduce the
problem to a polynomial number of knapsack problems. The optimal solution to each knapsack
problem is a valid assortment, and we show that choosing the assortment whose revenue is largest
over all knapsack problems produces an assortment whose revenue is within a factor of 1 + δ from
the optimal revenue for any δ > 0. Unfortunately, the knapsack problem is NP-Hard and so in
the second step, we use an established FPTAS for the knapsack problem to solve the series of
knapsack problems that we have created. We then choose the assortment produced by the FPTAS
that yields the highest expected revenue over all knapsack problems. Combining both layers of the
approximation, we show that the assortment that we produce has a revenue that differs from the
optimal revenue by at most a factor of (1 + δ)2 for any δ > 0. For a carefully chosen value of δ, we
can then achieve an approximation guarantee of 1 + ε for any ε > 0 with run time polynomial in
1/ε and the input size.
We begin by giving our reparameterization of the assortment problem under the Two Step
choice model. Let x∗ be the optimal assortment. The basic idea behind the reparameterization is
to guess u∗ = 1 −∑
j∈N αjx∗j . Suppose we knew the value of u∗, then we could find the optimal
solution to (2) by solving
maxx∈{0,1}n
∑j∈N
rj(αj + u∗βj)xj
s.t.∑j∈N
αjxj = 1− u∗.
11
Since we cannot hope to know u∗ a priori, we start by considering all possible guesses for its value.
For a given guess u, we consider the following knapsack problem
xu = argmaxx∈{0,1}n
Πx(u) =∑j∈N
rj(αj + uβj)xj (4)
s.t.∑j∈N
αjxj ≤ 1− u.
Letting αmin = minj∈N αj , we solve this knapsack problem for all values of u ∈ {0} ∪ [αmin, 1] and
look at the corresponding assortment. Note that we account for all possible values of u since the
smallest value for u is 0, which occurs when we offer N , and the second smallest value of u is αmin,
which occurs when we offer N \ {argminj∈N αj}. Further, the largest value of u is 1, which occurs
when we offer the empty set. Consider the following optimization problem:
OPTknap = maxu∈{0}∪[αmin,1]
Rev(xu). (5)
In the following proposition we show that solving the knapsack problem in (4) for all u ∈ {0} ∪
[αmin, 1] finds the optimal solution to the assortment problem for the Two Step model.
Proposition 3.2.
OPTknap = OPT.
Proof. First, we show that OPTknap ≤ OPT. Let u = argmaxu∈{0}∪[αmin,1]
Rev(xu). We have that
OPTknap = Rev(xu) ≤ OPT.
The equality follows from the definition of OPTknap and the inequality follows by the feasibility of
xu to problem (2).
Next, we show that OPTknap ≥ OPT. Let x∗ be the optimal solution to the assortment
optimization problem and define u∗ = 1 −∑
j∈N αjx∗j . Consider problem (4) with u = u∗, whose
optimal solution is given by xu∗. Then,
Rev(xu∗) =
∑j∈N
rjαjxu∗j + (1−
∑j∈N
αjxu∗j )∑j∈N
rjβjxu∗j
≥∑j∈N
rj(αj + u∗βj)xu∗j
≥∑j∈N
rj(αj + u∗βj)x∗j
= Rev(x∗),
where the first inequality follows since u∗ ≤ 1−∑
j∈N αjxu∗j and the second inequality follows from
the feasibility of x∗ to problem (4) when u = u∗. Thus, OPTknap ≥ OPT.
12
Unfortunately, there are potentially an exponential number of possible values that u could take
on in the interval [αmin, 1] and thus trying each one is not tractable. Instead, we place a set of
exponentially spaced grid points on the interval [αmin, 1] and consider only values of u that fall on
this grid. For any δ > 0, define Grid = {(1 + δ)−k, k = 1, . . . ,K}, where K = min{k : (1 + δ)−k ≤
αmin}. To ease the notation, we make the dependency of Grid on δ and αmin implicit. It is easy
to see that that K = O(log(αmin)/δ) and so the number of grid points is polynomial in the input
and 1/δ. We consider the following gridded version of problem (5):
OPTGrid = maxu∈Grid
Rev(xu). (6)
We show how the revenue of the assortment produced by the gridded problem relates to the optimal
revenue through the following proposition:
Proposition 3.3. For any δ > 0, we have that
OPT ≤ (1 + δ)OPTGrid.
Proof. Let x∗ be the optimal solution to the assortment optimization problem and define u∗ =
1 −∑
j∈N αjx∗j . Choose u = max{u ∈ Grid : u ≤ u∗}. Our gridding scheme dictates that
u∗/(1 + δ) ≤ u. Note that since u ≤ u∗, we know that x∗ is feasible to problem (4) with u = u.
Thus we know that
OPTGrid ≥∑j∈N
rj(αj + uβj)xu ≥
∑j∈N
rj(αj + uβj)x∗j
≥∑j∈N
rj(αj +u∗βj1 + δ
)x∗j
≥ 1
1 + δ
∑j∈N
rj(αj + u∗βj)x∗j
=1
1 + δ·OPT.
Proposition 3.3 shows that if we only consider the O(log(αmin)/δ) values of u ∈ Grid, we are able
to produce an assortment with expected revenue within a factor of (1 + δ) from optimal. We need
one additional approximation layer since we have assumed that we can optimally solve a series of
NP-Hard knapsack problems. For this step, we use an established FPTAS for the knapsack problem
that we rederive in Appendix B. Since the knapsack problems that we consider are parameterized
by u and δ, we refer to the FPTAS as Approx(u, δ).
13
Assumption 3.4. For fixed value of u and δ, let xu = Approx(u, δ) be the solution returned by
knapsack FPTAS given in Appendix B. Then, the FPTAS ensures that Rev(xu) ≤ (1 + δ)Rev(xu)
by construction.
Our algorithm runs the FPTAS for every value of u ∈ Grid and returns the solution with highest
revenue. Recall that xu is the assortment returned by the FPTAS for the knapsack problem for a
given value of u. Therefore, the algorithm returns a solution with value:
ALG = maxu∈Grid
Rev(xu). (7)
The following final proposition shows that we find an assortment whose revenue is with a factor of
(1 + δ)2 of OPT.
Proposition 3.5. For any δ > 0, we have that
OPT ≤ (1 + δ)2ALG.
Proof. Let x∗ be the optimal solution to the assortment optimization problem and define u∗ =
1−∑
j∈N αjx∗j . Choose u = max{u ∈ Grid : u ≤ u∗}. Then,
ALG ≥ Rev(xu) =∑j∈N
rj(αj + uβj)xuj
≥ 1
1 + δ
∑j∈N
rj(αj + uβj)xuj
≥ 1
1 + δ
∑j∈N
rj(αj + uβj)x∗j
≥ 1
(1 + δ)2
∑j∈N
rj(αj + u∗βj)x∗j
= OPT/(1 + δ)2
The first inequality follows from the fact that u might not return the best revenue for the algorithm,
the second inequality from the approximation guarantee of the FPTAS, the third inequality from
the fact that x∗j is a feasible solution to problem (4) for u = u, and the the last inequality follows
from our choice of u.
Proposition 3.5 shows that our algorithm produces an assortment whose expected revenue
is within a factor of (1 + δ)2 of the optimal revenue. Running this algorithm requires running
Approx(u, δ) for O(log(αmin)/δ) values of u. We show in Appendix B that the FPTAS for a sin-
gle knapsack problem can be implemented in O(n2(log(nr∗max) − log(r∗min))/δ) operations, where
r∗min = minj rj(αj +αminβj) and r∗max = maxj rj(αj +βj) Therefore, the overall runtime for solving
14
problem (7) is O((log(nr∗max) − log(r∗min)) log(αmin)/δ2). All that remains is to choose an appro-
priate value for δ to complete the FPTAS for the assortment problem under the Two Step choice
model.
Theorem 3.6. Choosing δ = ε/4, we get that OPT ≤ (1 + ε)ALG for any ε ∈ {0, 1}. Further-
more, the algorithm to find such an assortment runs in O(n2(log(nr∗max)− log(r∗min)) log(αmin)/ε2)
operations.
Proof. By Proposition 3.5, we know that OPT ≤ (1 + δ)2ALG = (1 + ε/4)2ALG , where the second
equality follows by our specific choice of δ given in the statement of the theorem. For ε ∈ {0, 1},
using standard inequalities, it is easy to show that (1 + ε/4)2 ≤ exp(ε/2) ≤ 1 + ε, which gives us
that OPT ≤ (1+ε)ALG as desired. Further, when the run time is written in terms of ε instead of δ,
we only gain a constant factor and thus the runtime is O(n2(log(nr∗max)− log(r∗min)) log(αmin)/ε2),
which is both polynomial in 1/ε and the input size.
4 Assortment Optimization for the Two Product NonparametricChoice Model
In this section, we consider the assortment optimization problem under the Two Product Non-
parametric choice model. Recall, that in this setting, the set of customer classes is given by G. A
customer of customer class g ∈ G arrives with probability λg and has first choice product g1 and
second choice product g2. In particular, if the retailer’s assortment decision is given by x ∈ {0, 1}n,
then the expected revenue is given by Rev(x) =∑
g∈G λgrg1xg1 + λgrg2(1− xg1)xg2 . As before, let
OPT be the expected revenue of the optimal assortment
OPT = maxx∈{0,1}n
Rev(x).
Under the Two Product Nonparametric choice model, the assortment optimization is provably
harder than for the Two Step choice model. In particular, the following theorem shows that we
cannot expect to find an FPTAS for the assortment optimization problem even when the preference
lists are derived from a single universal ordering of the products. Specifically, by single universal
ordering, we mean that we can index the products such that if i < j, then for any customer class
g ∈ G such that i, j ∈ Sg, we must have that g1 = i and g2 = j. We show the result using a
reduction from the vertex cover problem on cubic graphs. In the vertex cover problem on cubic
graphs, we are given a graph G = (V,E) where each vertex has degree 3 and an integer k. The
problem asks whether or not there exists a vertex cover, a subset of vertices such that each edge is
incident to at least one vertex in the subset, of size at most k.
15
Theorem 4.1. Unless P=NP, there does not exist an FPTAS for the assortment problem under
the Two Product Nonparametric choice model even when all customer classes come from a single
universal ordering of the products.
Proof. Consider an instance of vertex cover on a cubic graph G = (V,E) with V = {v1, v2, . . . , vn}
and value k. We construct an instance of the assortment optimization problem by creating products
{1, 2, . . . , n+1} where ri = 1 if i ≤ n and ri = 2 if i = n+1. In addition, for every edge (vi, vj) ∈ E
we create a customer class that first considers product min(i, j) then considers product max(i, j).
We refer to these customer classes as “edge” customer classes. Lastly, for each vertex vi ∈ V we
create a customer class that first considers product i then product n + 1. We refer to each of
these customers as “vertex” customers. Edge customers arrive with unnormalized probability 1
and vertex customers arrive with unnormalized probability 13 . It is without loss of generality that
we consider unnormalized arrival probabilities.
We will first show that there exists a vertex cover of size ≤ k in G if and only if the optimal as-
sortment of products in the corresponding assortment optimization problem generates an expected
revenue of at least |E|+ 13(k + 2(n− k)).
Suppose there exists a vertex cover U ⊆ V such that |U | ≤ k. Then, let S = {i : vi ∈ U}∪{n+1}.
For every edge customer (vi, vj) either vi or vj is in U so either i or j is in S and this we accumulate
an expected revenue of 1 from each edge customer. Every vertex customer vi ∈ U generates an
expected revenue of 13 since these customers will purchase product i. On the other hand, for every
vertex customer vi /∈ U , generates an expected revenue 23 since these customers purchase product
n+ 1. Thus, Rev(S) = |E|+ 13(|U |+ 2(n− |U |)) ≥ |E|+ 1
3(k + 2(n− k)).
Let S∗ be the optimal solution to the assortment problem and assume that Rev(S∗) ≥ |E| +13(k + 2(n − k)). Without loss of generality, S∗ contains product n + 1 since adding this product
can only increase the revenue. Suppose that there exists an edge customer (vi, vj) such that neither
i nor j are in S∗. Then, by adding i to S∗ we gain an expected revenue of at least 1 from this
customer, but now the vertex customer associated with vertex vi no longer purchases product n+1.
Since this vertex customer generates an expected revenue of 23 , the net gain is at least 1
3 and so we
can assume that all edge customer classes make a purchase when S∗ is offered and thus S∗ will be
a vertex cover. Furthermore, we know that
Rev(S∗) = |E|+ 1
3(|S∗|+ 2(n− |S∗|))
≥ |E|+ 1
3(k + 2(n− k)),
where the inequality follows by our assumption on the value of Rev(S∗). Thus, we must have
|S∗| ≤ k and thus we have found a vertex cover of size ≤ k.
16
In particular, this shows that if k is the size of a minimum vertex cover then the optimal revenue
in the assortment problem that we create above is OPT = |E| + 13(k + 2(n − k)). Consider the
assortment S2 with the second largest revenue Rev(S2) = OPT2 < OPT in the assortment problem
that we create from the vertex cover problem. Suppose S2 is a vertex cover in the original vertex
cover problem. Then OPT2 = |E| + 13(|S2| + 2(n − |S2|)) < |E| + 1
3(k + 2(n − k)) since |S2| > k.
Thus we know that OPT2 ≤ |E|+ 13(k + 1 + 2(n− k − 1)). Now suppose S2 is not a vertex cover.
By the argument made above, if more than two edge customers do not make a purchase, then we
can improve the revenue while maintaining that S2 is not a valid vertex cover by adding any of
the products in the preference list of these customers. Therefore, S2 must have exactly one edge
customer not making a purchase, which implies that |S2| ≥ k − 1 since a minimum vertex cover
has size at least k. Thus, OPT2 ≤ |E| − 1 + 13(k− 1 + 2(n− k+ 1)) < |E|+ 1
3(k+ 1 + 2(n− k− 1)).
Combining these two cases we get that OPT2 ≤ |E|+ 13(k + 1 + 2(n− k − 1)). Thus,
OPT2
OPT≤|E|+ 1
3(k + 1 + 2(n− k − 1))
|E|+ 13(k + 2(n− k))
= 1− 1/3
3n/2 + 13k + 2
3(n− k)
≤ 1− 1/3
3n/2 + 13n+ 2
3n
= 1− 1
7.5n
where the equality comes from the fact that G is a cubic graph and thus |E| = 3n/2. Thus if one
can produce an assortment that is within 1− 17.5n of OPT , then this assortment must be optimal.
Suppose there existed an FPTAS for the assortment problem under the Two Product Nonpara-
metric choice model. For any input to the vertex cover problem on a cubic graph, transform the
problem into an assortment optimization problem as above and set ε < 17.5n . Note that 1/ε = O(n).
Then, the FPTAS would be guaranteed to return the optimal solution, which in turn will reveal
the optimal solution to the vertex cover problem in polynomial time. This is a contradiction since
vertex cover on cubic graphs is NP-hard.
This results shows that we cannot hope to match the approximation guarantee that we derived
in the previous section for the Two Step choice model. Seeing that the Two Product Nonparametric
model subsumes the Two Step model, it makes sense that we must trade off model richness with the
tractability of the corresponding assortment problem. Fortunately, this problem does have some
structure; we can show that the revenue function is submodular. Recall, a function f : 2N 7→ R is
submodular if for all S, T ⊆ N such that T ⊂ S and x ∈ N \ S,
f(S ∪ {x})− f(S) ≤ f(T ∪ {x})− f(T ).
17
These functions capture the notion of diminishing returns. In our case, as the offered assortment
gets larger, the benefit of adding a product i decreases.
Lemma 4.2. For the Two Product Nonparametric choice model, Rev(·) is a non-monotone sub-
modular function.
Proof. First, we show that Rev(·) is submodular. Let S, T ⊆ N such that T ⊂ S and let i ∈ N \S.
For any W ⊆ N , we define the adjusted revenue of i to be
A(i,W ) := Rev(W ∪ {i})− Rev(W ).
We show that A(i, T ) ≥ A(i, S), which is equivalent to showing the submodularity of Rev(·). To
do so, we consider the change in the revenue when product i is added to the assortments S and T .
For each g ∈ G such that i ∈ Sg, we analyze this revenue change based on the inclusion or exclusion
of j = Sg \ {i} in S and T :
• If j /∈ S, then adding i to S or T generates an additional revenue of λgri.
• If j ∈ S and j ∈ T , then adding i to S or T changes the revenue by λg(ri − rj) for customer
class g if g1 = i and does not change the revenue otherwise.
• If j ∈ S and j /∈ T , then adding i to S changes the revenue by λg(ri − rj) for customer class
g if g1 = i and does not change the revenue otherwise. On the other hand, adding i to T
generates additional revenue λgri.
Therefore, for each g ∈ G, we have shown that the net gain in revenue for assortment T when
product i is added is greater than the net gain in revenue for assortment S when product i is
added. Overall, this means that we must have
A(i, T ) ≥ A(i, S),
as desired.
A function f : 2N 7→ R is monotone if for every S ⊆ T we have f(S) ≤ f(T ). We show that
Rev(S) is non-monotone with a very simple two product example. Let N = {1, 2} with r1 = 1 and
r2 = 2. Consider a single customer class with g1 = 1 and g2 = 2, who arrives with certainty. In
this case, Rev({2}) = 2 and Rev({1, 2}) = 1 and hence Rev(S) is non-monotone.
Maximizing a non-monotone submodular function has been studied thoroughly (see Feige et al.
(2011), Buchbinder et al. (2015), Huang and Borodin (2014), and Buchbinder and Feldman (2015)).
Buchbinder et al. Buchbinder et al. (2015) present a randomized 2-approximation algorithm for this
18
problem matching the known hardness Feige et al. (2011). This result was then improved to be
a deterministic algorithm by Buchbinder and Feldman Buchbinder and Feldman (2015). We will
present a modified version of their randomized algorithm that will run in time linear in the number
of customer classes and is a deterministic 1/2-approximation algorithm. In addition, we are able to
slightly strengthen their result by showing that we are within a factor of 2 of the optimal value to
a linear programming relaxation of the assortment problem. This revised analysis is similar to the
one taken by Poloczek et al. Poloczek et al. (2016) in presenting a deterministic 4/3-approximation
algorithm for MAX SAT.
The linear time algorithm will be a two-stage algorithm. In the first stage, we will process
products 1, 2, . . . , n in that order and assign each a probability pi ∈ [0, 1] of being in the assortment.
We will show that if each product is offered independently with probability pi, then the expected
revenue will be at least 1/2 the optimal value for a linear programming relaxation of the problem.
Then, in the next stage of the algorithm, we de-randomize our algorithm using the classic method
of conditional expectations to determine whether or not to offer each product.
4.1 Algorithm
Given our submodular revenue function Rev : 2N 7→ R+, the multilinear extension of Rev is given
by F : [0, 1]N 7→ R+ where the value at x ∈ [0, 1]N is
F (x) :=∑S⊆N
∏i∈S
xi∏j /∈S
(1− xj)Rev(S)
=∑g∈G
λgrg1xg1 + λgrg2(1− xg1)xg2 .
The multilinear extensions computes the expected revenue when each product i is offered indepen-
dently with probability xi. We will use this multilinear extension to inform our decisions about the
products.
In the first stage, the algorithm processes the products in order {1, 2, . . . , n} and assigns them
offer probabilities. Suppose at the beginning of iteration i, we have set probabilities p1, . . . , pi−1
for products 1, 2, . . . , i− 1. Then, let
xi−1j :=
{pj j ≤ i− 1
0 j ≥ ixi−1j :=
{pj j ≤ i− 1
1 j ≥ i
These two vectors represent the extremes for the remaining probabilities: either offering or not
offering all of the products with index i or larger. We will keep track of the average revenue
between the two by defining
Bi−1 :=1
2
[F (xi−1) + F (xi−1)
].
19
The algorithm essentially chooses to offer product i with probability pi to balance these two
extremes for the remaining probabilities. Let ej be the unit vector with a one in the jth entry. To
set this probability we define:
ai := F (xi−1 + ei)− F (xi−1) and bi := F (xi−1 − ei)− F (xi−1).
Note that ai is the change in the expected revenue if we offer product i under the extreme that all
future products will remain not offered and bi is the change in the expected revenue if we do not
offer product i under the extreme that all future products are offered. If ai ≤ 0, the algorithm sets
pi = 0 and does not offer product i. Otherwise, if bi ≤ 0 and ai > 0, then the algorithm sets pi = 1
and offers product i. Lastly, if ai, bi > 0 and the algorithm sets pi = ai/(ai + bi). Note that the
differences in the definitions of ai and bi will only contain terms for customer classes that contain i
so we only need to look at the incident customer classes. In particular, ai and bi can be written as
ai =∑g:g1=i
λgri +∑g:g2=i
λgri(1− xi−1g1 )−∑g:g1=i
λgrg2xi−1g2
and
bi = −∑g:g1=i
λgri −∑g:g2=i
λgri(1− xi−1g1 ) +∑g:g1=i
λgrg2 xi−1g2 .
Therefore, the first stage of the algorithm runs in linear time with respect to the number of customer
classes.
The second stage of the algorithm derandomizes the probabilities pi without decreasing the
expected revenue. In this stage, we will make our final decisions about whether to offer each
product. Suppose that at the beginning of the ith iteration, we have decided to offer products
Si−1 ⊆ {1, 2, . . . , i− 1}. Then, let
qi−1j :=
0 j ≤ i− 1 and j /∈ Si−11 j ≤ i− 1 and j ∈ Si−1pj j ≥ i
.
This represents the current probabilities of each product being offered. Note that the expected
revenue given these current probabilities can be written as
F (qi−1) := piF (qi−1 + (1− pi)ei) + (1− pi)F (qi−1 − piei).
If F (qi−1 + (1− pi)ei) ≥ F (qi−1 − piei) we offer product i. Otherwise, we do not.
Again, we can simplify the calculations to determine if F (qi−1 + (1 − pi)ei) ≥ F (qi−1 − piei).
Any customer class that does not contain i will contribute the same amount to each side. On the
other hand, if a customer class has g1 = i it contributes λgri to the left hand side and λgrg2qi−1g2 to
20
the right hand side. If g2 = i, then it contributes λgrg1qi−1g1 to both and λgri(1 − qi−1g1 ) to the left
hand side. In other words, if∑g:g1=i
λgri +∑g:g2=i
λgri(1− qi−1g2 ) ≥∑g:g1=i
λgrg2qi−1g2
we offer product i and otherwise we do not.
Overall, this shows the algorithm runs in linear time with respect to the number of customer
classes. We summarize this two stage linear-time algorithm in Algorithm 1.
The following lemma about the probability values will be useful in the later analysis.
Lemma 4.3. For all i = 1, 2, . . . , n, ai + bi ≥ 0.
Proof. Since Rev(S) is submodular, for any subset S ⊆ {1, 2, . . . , i− 1}
Rev(S ∪ {i})− Rev(S) ≥ Rev(S ∪ {i, . . . , n})− Rev(S ∪ {i+ 1, . . . , n}).
Note that by definition of xi−1 and xi−1,
ai =∑
S⊆{1,2,...,i−1}
∏j∈S
pj∏j /∈S
(1− pj)Rev(S ∪ {i})−∑
S⊆{1,2,...,i−1}
∏j∈S
pj∏j /∈S
(1− pj)Rev(S)
=∑
S⊆{1,2,...,i−1}
∏j∈S
pj∏j /∈S
(1− pj) [Rev(S ∪ {i})− Rev(S)]
≥∑
S⊆{1,2,...,i−1}
∏j∈S
pj∏j /∈S
(1− pj) [Rev(S ∪ {i, . . . , n})− Rev(S ∪ {i+ 1, . . . , n})]
= −bi,
which gives the result.
4.2 Analysis
We now show that this algorithm is indeed a 2-approximation algorithm. Suppose that we can
show that at the end of the first stage, 2F (xn) = 2F (xn) ≥ OPT. Then, in the second stage, we
are simply applying the method of conditional expectations such that for each iteration i
F (qi) = max(F (qi−1 + (1− pi)ei), F (qi−1 − piei))
≥ piF (qi−1 + (1− pi)ei) + (1− pi)F (qi−1 − piei)
= F (qi−1),
where the first inequality follows from the fact that the maximum of two values is greater than
or equal to any linear combination of the two. Applying this iteratively implies that the revenue
returned by our algorithm will be
2ALG = 2F (qn) ≥ 2F (q0) = 2F (xn) ≥ OPT.
21
Algorithm 1 Assortment Algorithm for the Two Product Nonparametric Choice Model
x0 = ~0, x0 = ~1for i = 1, . . . , n do
ai = max(0, F (xi−1 + ei)− F (xi−1))bi = max(0, F (xi−1 − ei)− F (xi−1))pi = ai/(ai + bi) . If ai, bi = 0, set pi = 1.xi = xi−1 + pieixi = xi−1 − (1− pi)ei
end for
q0 = xn, S = ∅for i = 1, . . . , n do
if F (qi−1 + (1− pi)ei) ≥ F (qi−1 − piei) thenS = S ∪ {i}qi = qi + (1− pi)ei
elseqi = qi − piei
end ifend forreturn S
Therefore, we just need to focus on bounding F (xn).
We first present the linear programming relaxation for the problem that we will bound the
algorithm against. Let yi be a binary variable representing whether or not we offer product i and
zg be a binary variable representing whether or not customer of class g will purchase her second
choice product g2 given y. Then, we can find the optimal assortment to offer with the following
integer program:
maximize∑g∈G
λg [rg1yg1 + rg2zg]
s.t. yg1 + zg ≤ 1 ∀g ∈ G
zg ≤ yg2 ∀g ∈ G
y, z ∈ {0, 1}
Let (y∗, z∗) be an optimal solution to the LP-relaxation of the above IP and let OPTLP be the
optimal value. Note that since we are maximizing, we know zg = min(1− yg1 , yg2) for all g ∈ G.
We will compare Bi to the revenue of a fractional solution using the optimal LP values. Similar
to Poloczek et al, given a fractional y ∈ [0, 1]n we define
w(y) =∑g∈G
λgrg1yg1 + λgrg2 min(yg2 , 1− yg1).
Suppose that we have set probabilities p1, . . . , pi in the first stage of our algorithm. Let yi =
22
(yi1, ..., yin) be a random variable where each component is independent and yij = 1 with probability
pj for all j ≤ i and yij = 1 with probability y∗j for all j > i. To give some intuition, yi acts like
our current probabilistic solution on 1, . . . , i and like the optimal LP solution on the remaining
variables. At the start, E[w(y0)] = w(y∗) = OPTLP, but by the end of the first stage of the
algorithm E[w(yn)] = F (xn). Therefore, we will look at bounding how E[w(yi)] changes.
Recall that Bi was the average expected revenues between two extremes for the remaining
probabilities where we either offer all products with index i or higher or we do not offer any of
these products. We will show that in fact the difference Bi − Bi−1 can be related to the expected
difference E[w(yi−1)− w(yi)].
Lemma 4.4. For i = 1, 2, . . . , n,
E[w(yi−1)− w(yi)] ≤ Bi −Bi−1.
Proof. Suppose that yii = 1. Then, E[w(yi−1) − w(yi)|yii = 1] is the difference in the expected
fractional revenue when we reduce yii from 1 to y∗i . Consider any customer class that has g1 = i. As
yii decreases, we know that fractional revenue decreases by at least λgri(1− y∗i ). However, we can
also increase the expected fractional revenue by at most λgrg2(1−y∗i )xi−1g2 . Note if g2 ∈ {1, . . . , i−1}
this is the exact increase in expected fractional revenue and if g2 > i then xi−1g2 = 1 and this is an
upper bound.
Now consider any customer class that g2 = i. Then by decreasing yii we decrease the fractional
revenue by at least λgrg2(1 − y∗i )(1 − xig1). All other customer classes will not contribute to the
difference. Overall,
E[w(yi−1)− w(yi)|yii = 1] ≤ (1− y∗i )
− ∑g:g1=i
λgri −∑g:g2=i
λgri(1− xi−1g1 ) +∑g:g1=i
λgrg2 xi−1g2
= (1− y∗i )bi.
Similarly, suppose that yii = 0. Then, E[w(yi−1)−w(yi)|yii = 0] is the difference in the expected
fractional revenue when we increase yii from 0 to y∗i . Consider any customer class that has g1 = i.
As yii increases, we know that fractional revenue increases by at most λgriy∗i . Furthermore we
decrease the fractional revenue by at least λgrg2y∗i x
ig2 . Consider any customer class that g2 = i.
Then by increasing yii we can increase the fractional revenue by at most λgrg2y∗i (1− xig2). Overall,
if the algorithm does not offer product i,
E[w(yi−1)− w(yi)|yii = 0] ≤ y∗i
∑g:g1=i
λgri +∑g:g2=i
λgri(1− xi−1g1 )−∑g:g1=i
λgrg2xi−1g2
= y∗i ai.
23
We can now find the expected value in the difference.
E[w(yi−1)− w(yi)] = piE[w(yi−1)− w(yi)|yii = 1] + (1− pi)E[w(yi−1)− w(yi)|yii = 0]
≤ pi(1− y∗i )bi + (1− pi)y∗i ai.
Recall by Lemma 4.3 that ai + bi ≥ 0. If ai ≤ 0, then we know bi ≥ 0 and we set pi = 0. Thus,
E[w(yi−1)−w(yi)] ≤ 0 but Bi−Bi−1 = 12bi ≥ 0. The same holds if bi ≤ 0. Therefore, the last case
we have to worry about is when ai > 0 and bi > 0. In this case, pi = ai/(ai + bi) and
E[w(yi−1)− w(yi)] ≤ pi(1− y∗i )bi + (1− pi)y∗i ai
=ai
ai + bi(1− y∗i )bi +
biai + bi
y∗i ai
=aibiai + bi
≤ 1
2· a
2i + b2iai + bi
= Bi −Bi−1,
where the last inequality follows from the fact that for all a, b ∈ R, a2 + b2 ≥ 2ab.
Theorem 4.5. 2F (xn) ≥ OPTLP.
Proof. Summing up the result in Lemma 4.4 for i = 1, . . . , n,
E[w(y0)]− E[w(yn)] ≤ Bn −B0.
Recall that at the beginning of the algorithm, E[w(y0)] = OPTLP and at the end of the algorithm
E[w(yn)] = F (xn). On the other hand,
B0 =1
2[F (~0) + F (~1)] =
1
2
∑g∈G
λgrg1 ≥ 0
and
Bn =1
2[F (xn) + F (xn)] = F (xn).
Thus,
OPTLP − F (xn) ≤ F (xn),
which gives the result.
This shows that we can construct a 2-approximation algorithm for this problem that is deter-
ministic and runs in time linear to the input size. An additional 2-approximation algorithm that
uses LP-rounding is given in Appendix C.
24
5 Computational Experiments
In this section, we present a series of computational experiments intended to validate the efficacy of
the algorithms that we present in the previous sections for the assortment problem under the Two
Step and Two Product Nonparametric choice models. For both the Two Step and the Two Product
Nonparametric model we show that the algorithms perform much better than their respective worst
case guarantees. In addition, we show that both algorithms can be implemented efficiently. All
results were run using Python 2.7.9 on a 64-bit Windows platform, on a 4 core 3.4 Ghz Intel i7
processor with 16 GB physical memory. We solved the LP-relaxations using the gurobipy package
in Python 2.7.9 with Gurobi 6.5
5.1 Two Step Experiments
For the Two Step model, we generated random instances varying both the number of prod-
ucts n and the probability of not making a substitution β0 = 1 −∑
j βj . We choose (n, β0) ∈
{7, 10, 25, 50, 100} × {0.01, 0.1, 0.5}, and for each combination of the two parameters we generated
100 instances where the revenues, αj values, and βj values were generated independently as uniform
[0, 1] variables. The α and β values were then normalized to 1 and 1− β0, respectively.
For our experiments, we compared three different methods:
1. Full FPTAS: The FPTAS as presented in Section 3.
2. Gurobi FPTAS: This approach is the same as the Full FPTAS except the knapsack problem
for each value of u is solved as an integer program using Gurobi. The intuition behind this
choice is that integer program solvers are often remarkably effective in solving knapsack
problems, despite the fact that knapsack problems are NP-hard.
3. Converted Two Product: In this approach, we convert the Two Step model to a corre-
sponding Two Product Nonparametric model as in Appendix A and solve using the algorithm
in Section 4. From here on, we refer to the algorithm in Section 4 as the linear greedy algo-
rithm.
For the Full FPTAS and Gurobi FPTAS, Table 1 gives the average run time along with the
minimum, average, and maximum approximation ratios for each type of instance with ε = 0.5 and
ε = 0.25. The approximation ratio for each case is the revenue returned by the algorithm divided by
the optimal LP-relaxation value, using the LP in Appendix C. The same results for the Converted
Two Product algorithm are given in Table 2.
25
Table 1: Run times and approximation ratios (in comparison to the optimal LP value) for the twoFTPAS based algorithms under the Two Step choice model.
Full FPTAS Gurobi FPTAS
Avg Min Avg Max Avg Min Avg Maxn β0 Time (s) Approx Approx Approx Time (s) Approx Approx Approx
7 0.01 5.18E−2 0.849 0.973 1.000 3.48E−2 0.994 1.000 1.0007 0.1 5.59E−2 0.843 0.982 1.000 3.58E−2 0.987 1.000 1.0007 0.5 5.17E−2 0.824 0.992 1.000 3.58E−2 0.991 1.000 1.000
ε = 10 0.01 1.52E−1 0.833 0.975 1.000 5.42E−2 0.988 0.999 1.0000.5 10 0.1 1.56E−1 0.856 0.975 1.000 5.25E−2 0.987 0.999 1.000
10 0.5 1.65E−1 0.912 0.993 1.000 5.49E−2 0.993 1.000 1.00025 0.01 1.88E+0 0.878 0.959 1.000 1.00E−1 0.988 0.998 1.00025 0.1 1.82E+0 0.888 0.962 0.996 1.02E−1 0.990 0.998 1.00025 0.5 1.80E+0 0.943 0.986 1.000 9.87E−2 0.994 0.999 1.00050 0.01 1.13E+1 0.895 0.953 0.996 1.86E−1 0.993 0.998 1.00050 0.1 1.13E+1 0.898 0.954 0.991 1.86E−1 0.996 0.999 1.00050 0.5 1.16E+1 0.953 0.983 0.997 1.82E−1 0.997 0.999 1.000100 0.01 6.55E+1 0.896 0.944 0.980 3.34E−1 0.998 0.999 1.000100 0.1 6.18E+1 0.909 0.952 0.982 3.31E−1 0.997 0.999 1.000100 0.5 6.51E+1 0.960 0.979 0.992 3.47E−1 0.998 1.000 1.000
7 0.01 1.98E−1 0.832 0.976 1.000 7.11E−2 0.994 1.000 1.0007 0.1 2.14E−1 0.777 0.984 1.000 6.94E−2 0.999 1.000 1.0007 0.5 1.99E−1 0.824 0.993 1.000 6.76E−2 0.999 1.000 1.00010 0.01 5.80E−1 0.873 0.979 1.000 9.73E−2 0.994 1.000 1.00010 0.1 5.94E−1 0.896 0.981 1.000 9.96E−2 0.997 1.000 1.00010 0.5 6.32E−1 0.937 0.994 1.000 9.98E−2 0.994 1.000 1.000
ε = 25 0.01 7.22E+0 0.885 0.963 1.000 2.12E−1 0.993 0.999 1.0000.25 25 0.1 7.00E+0 0.904 0.966 1.000 2.07E−1 0.993 0.999 1.000
25 0.5 6.94E+0 0.945 0.986 1.000 2.07E−1 0.998 1.000 1.00050 0.01 4.36E+1 0.901 0.953 0.995 3.82E−1 0.994 0.999 1.00050 0.1 4.36E+1 0.901 0.956 0.993 3.86E−1 0.996 0.999 1.00050 0.5 4.48E+1 0.953 0.984 0.998 3.84E−1 0.998 1.000 1.000100 0.01 2.59E+2 0.904 0.946 0.972 7.12E−1 0.998 0.999 1.000100 0.1 2.47E+2 0.909 0.952 0.984 6.89E−1 0.998 1.000 1.000100 0.5 2.52E+2 0.963 0.979 0.994 7.23E−1 0.999 1.000 1.000
26
Table 2: Run times and approximation ratios (in comparison to the optimal LP value) for the TwoProduct Converted algorithm under the Two Step choice model.
Converted Two Product
n β0 Avg Time (s) Min Approx Avg Approx Max Approx
7 0.01 1.21E−4 0.990 1.000 1.0007 0.1 1.25E−4 0.977 1.000 1.0007 0.5 1.22E−4 1.000 1.000 1.00010 0.01 2.28E−4 0.985 1.000 1.00010 0.1 2.26E−4 0.994 1.000 1.00010 0.5 2.24E−4 0.997 1.000 1.00025 0.01 1.22E−3 0.998 1.000 1.00025 0.1 1.22E−3 0.994 1.000 1.00025 0.5 1.22E−3 1.000 1.000 1.00050 0.01 4.77E−3 0.998 1.000 1.00050 0.1 4.78E−3 0.998 1.000 1.00050 0.5 4.77E−3 1.000 1.000 1.000100 0.01 1.90E−2 0.999 1.000 1.000100 0.1 1.89E−2 0.999 1.000 1.000100 0.5 1.90E−2 1.000 1.000 1.000
All of the algorithms perform significantly better than the theoretical guarantees. In particular,
the Two Product Converted algorithm and the Gurobi FPTAS algorithm never go below a 0.977
approximation ratio with the Two Product Converted algorithm just slightly beating out the Gurobi
FPTAS on most instances. The Full FPTAS fared slightly worse but still remained above a 0.8
approximation ratio even with ε = 0.5. The approximation ratios did increase slightly for most
instances for both FPTAS algorithms as we change ε from 0.5 to 0.25. While an increase is
expected, a slight decrease could occur for the Full FPTAS because of how the revenue gridding
changes. Overall, the difference in approximation ratios between Gurobi FPTAS and the Full
FPTAS demonstrate that gridding on u is quite valuable in finding the optimal solution. For all
algorithms, the number of products seemed to have little effect on the approximation ratios. On
the other hand, when β0 is small the optimal assortments tend to be small, in which case, a small
misjudgement on the product that should be added into the assortment results in significant revenue
losses so we would expect the worst-case approximation ratios to deteriorate as β0 gets smaller.
This is reflected in the approximation ratios.
Two Product Converted and Gurobi FPTAS were also much more efficient than Full FPTAS
in terms of run times. The Full FPTAS has the disadvantage that the run times do not increase
linearly in the number of products and in ε. In particular, for ε′ = c · ε, the run time is expected
to increase by a factor of 1/c2, which is indeed what we observe between ε = 0.5 and ε = 0.25.
The run times for Gurobi FPTAS increase slightly slower than linearly in the number of products.
Therefore, although the Full FPTAS starts off with roughly the same run time as Gurobi FPTAS
27
Table 3: Values of n and p for the generated Erdos-Renyi graphs.
n p Values
7 0.25 0.375 0.5 0.7510 0.25 0.375 0.5 0.7525 0.125 0.25 0.375 0.550 0.125 0.25 0.375 0.5100 0.05 0.2 0.35 0.5200 0.05 0.2 0.35 0.5
for n = 7 it is 2 to 3 orders of magnitude slower for n = 100. Similarly, the Two Product Converted
run times increase quadratically in n and while it starts off 2 orders of magnitude faster than Gurobi
FPTAS for n = 7 it is only 1 order of magnitude faster for n = 100.
5.2 Two Product Nonparametric Experiments
We tested the Two Product Nonparametric linear greedy algorithm using random directed graphs
where a directed edge (i, j) represents a customer class such that g1 = i and g2 = j. The random
graphs were generated using the Erdos-Renyi model with the number of products (vertices) in the
set n ∈ {7, 10, 25, 50, 100, 200}. Given the number of vertices, an Erdos-Renyi graph is generated
by randomly adding every possible edge independently with some probability p, which we also
varied. It is known that for p > (1 + ε) ln(n)/n the resulting graph is connected almost surely. For
disconnected graphs, the problem decomposes by the products that make up each distinct connected
component. Therefore, for each value of n we chose 4 values of p between this connection threshold
and 0.5 in which case the expected number of edges is 0.5n(n− 1). For n = 7, 10 we also added in
p = 0.75 since the connection threshold was so high. The n and p values tested are given in Table 3.
For each pair (n, p) we generated 100 random graphs. The probability λg of each customer class
(edge) was generated uniformly at random and the revenue of each product (vertex) was generated
as uniform random variables in the range [0, 1].
Table 4 gives the average run time for the algorithm on each type of instance along with the
min, average, and max approximation ratios (the revenue returned by the algorithm divided by the
optimal LP-relaxation value).
The algorithm performs remarkably well with a minimum approximation ratio of 0.964 overall.
Interestingly, the algorithm performed the worst on the smallest instances with n = 7, 10. It also
seemed that the worst-case performance improved as n held steady and the number of customer
classes increased. Similar to our comment in the previous section, if the algorithm makes a mis-
judgement on small or sparse networks it can affect a greater proportion of the overall customer
classes and revenue. The strong behavior of the algorithm also shows that the optimal LP value is
28
Table 4: Run times and approximation ratios (in comparison to the optimal LP value) for the lineargreedy algorithm. Here Avg |G| is the average number of customer types for the particular type ofinstance.
Greedy Algorithm
n p Avg |G| Avg Time (s) Min Approx Avg Approx Max Approx
7 0.25 11.01 3.90E−5 0.964 0.999 1.0007 0.375 15.68 4.73E−5 0.973 0.999 1.0007 0.5 21.36 5.92E−5 0.983 0.999 1.0007 0.75 31.25 7.75E−5 0.986 0.999 1.00010 0.25 22.35 6.75E−5 0.989 1.000 1.00010 0.375 33.48 8.76E−5 0.979 0.999 1.00010 0.5 44.42 1.12E−4 0.979 0.999 1.00010 0.75 67.48 1.58E−4 0.973 0.999 1.00025 0.125 75.65 1.80E−4 0.980 0.999 1.00025 0.25 149.17 3.26E−4 0.996 1.000 1.00025 0.375 223.41 6.73E−4 0.993 1.000 1.00025 0.5 301.6 6.10E−4 0.996 1.000 1.00050 0.125 302.28 6.50E−4 0.997 1.000 1.00050 0.25 614.56 1.728E−3 0.997 1.000 1.00050 0.375 921.76 2.29E−3 0.997 1.000 1.00050 0.5 1226.62 3.07E−3 0.998 1.000 1.000100 0.05 493.41 1.10E−3 0.995 0.999 1.000100 0.2 1983.95 4.13E−3 0.999 1.000 1.000100 0.35 3464.24 7.14E−3 0.999 1.000 1.000100 0.5 4944.63 1.03E−2 0.999 1.000 1.000200 0.05 1991.21 5.03E−3 0.998 1.000 1.000200 0.2 7951.93 1.50E−2 0.999 1.000 1.000200 0.35 13927.77 3.05E−2 0.999 1.000 1.000200 0.5 19886.6 3.77E−2 0.999 1.000 1.000
29
not far from the optimal integer value. By inspection, we did see that the proportion of non-integral
variables went down as the instance grew larger. The average run time shows the algorithm was
efficient, with the longest runtime still being under a second, and grew roughly linearly in the
number of customer classes, as expected. Therefore, this algorithm is both practical to implement
and gives a good approximation ratio in practice.
6 Conclusions and Future Work
In this paper, we studied the assortment optimization problem under the Two Step and Two
Product Nonparametric choice models. We show that the assortment problem under the Two Step
model is NP-hard. Motivated by this results, we develop a FPTAS for this problem. For the
Two Product Nonparametric model, we show that unless P=NP, one cannot hope to develop a
FPTAS. We give a fast 2-approximation that relies on the fact that the expected revenue function
is submodular. Through a series of computational experiments, we show that the performance of
this algorithm far exceeds the theoretical guarantee.
There are many important directions for future research. One interesting extension of the Two
Step model would be to make the transition probabilities depend on the customer’s first choice
product as in Kok and Fisher (2007). If this is the case, our reparameterization does not work since
the critical component of our method is that we only need to know the probability that a customer
makes a transitions, and not from where they transition. Additionally, it would be interesting to
extend the Two Step to allow for more than two steps. A separate, yet equally important, direction
of future work could consider the cardinality constrained assortment problem under both choice
models. In this assortment problem, the retailer attempts to find the revenue maximizing set of
products to offer to customers when there is a limit on the total number of products that can be
offered. This limit is akin to a shelf space restriction.
30
A Reduction of Two Step to Two Product Model
The following theorem shows the relationship between the Two Step and Two Product Nonpara-
metric choice model
Theorem A.1. Given a Two Step choice model, it is possible to construct a corresponding Two
Product Nonparametric choice model where the probability product i is purchased when assortment
S is offered is identical in both models for all S ⊆ N and i ∈ N .
Proof. Consider any product j ∈ N . A customer in the Two Step choice model arrives at product
j with probability αj . With probability 1 −∑
k 6=j βk, this customer will not consider any other
product. Therefore, we construct a customer type g with g1 = j and g2 = 0 and arrival probability
λg = αj(1 −∑
k 6=j βj). However, that same customer might transition to another product k 6= j
with probability βk. For this possible path, we construct a customer type g with g1 = j and g2 = k
and arrival probability αjβk. Note that under this construction,
∑g∈G
λg =∑j∈N
αj(1−∑k 6=j
βk) + αj∑k 6=j
βk
=∑j∈N
αj = 1.
Now consider any assortment S ⊆ N and i ∈ S. Under the Two Product Nonparametric choice
model we constructed,
Pri(S) =∑
g∈G:g1=iλg +
∑g∈G:g1 /∈S,g2=i
λg
= αi
(1−∑j 6=i
βj) +∑j 6=i
βj
+∑j /∈S
αjβi
= αi + (1−∑j∈S
αj)βi,
which is precisely the purchase probability under the Two Step choice model. The first term in
the second line corresponds to all constructed customer classes with g1 = i and the second term
corresponds to all customer classes with g2 = i and g1 /∈ S.
B Knapsack FPTAS
In the knapsack problem we are given a set of items N = {1, . . . , n}, each with weight wi and
value ri, and the goal is to choose a subset of the item S ⊆ N so that the total weight is less
than or equal to a given limit C and the total value is as large as possible. Let S∗ be the optimal
31
set of items included in the knapsack and let R∗ be the value of these items. In this section, we
provide an FPTAS for knapsack problem for arbitrary weights w1, . . . , wn and values r1, . . . , rn. The
approach we present is given in a more general form in Feldman et al. (2015), where a FPTAS is
developed for the space constrained assortment problem under a special case of the nonparametric
choice model. Seeing that the authors also reduce the knapsack problem to this space constrained
assortment problem, the FPTAS provided in Feldman et al. (2015) generalizes to any knapsack
problem. The approach begins with an optimal dynamic programming formulation of the problem
which is intractable. We then show how to grid the state space to achieve the desired performance
guarantee.
Consider the following dynamic program, where the value functions Vj(r) represent the mini-
mum weight required to accrue a value of r from items j, . . . , 1:
Vj(r) = min{wj + Vj−1(r − rj), Vj−1(r)}, (8)
with base cases V0(r) = ∞ ∀ r > 0 and V0(r) = 0 ∀ r ≤ 0. The first case in the minimum of
the dynamic program given in (8) corresponds to adding item j to the knapsack. In this case,
the weight of the knapsack goes up by wj and we have r − rj value left to accrue from products
j−1, . . . , 1. In the second case, we do not add item j to the knapsack and so we must still accrue a
value of r from the items j − 1, . . . , 1. It is easy to see that if we could solve the dynamic program
given in (8) for all possible value of r, then we would have R∗ = argmaxr{Vn(r) : Vn(r) ≤ C} and
we could recover S∗ by unraveling the dynamic program beginning from Vn(R∗).
Unfortunately, there are an exponential number of possible values that we would need to consider
for the state r at each stage in order to solve the dynamic program given in (8) exactly. As a result,
we restrict the possible values the state variable r can take on to a set of exponentially spaced
grid points. Let rmin = mini ri and rmax = maxi ri, we know that we can restrict r to the interval
[rmin, nrmax]. To see this, note that if r < rmin, then adding any additional product will be
sufficient to achieve the target revenue, and thus rounding the current r value up to rmin does not
change the quality of the solution. Further, since R∗ ≤ nrmax we do not need to consider any values
of r above this upper bound on the optimal knapsack value. Assuming without loss of generality
that rmin < 1, we use the following grid:
Grid = {(1 + δ)l · rmin, l = 0, . . . , L},
where L = O([log(nrmax)−log(rmin)]/ log(1+δ)) = O([log(nrmax)−log(rmin)]/δ) and dxe represents
rounding up x to the nearest integer. Again, for ease of notation, we assume that Grid is implicitly
a function of δ, rmin and rmax. Consider the following dynamic program, designed to approximate
32
(8): for product j and r ∈ Grid, we define
Vj(r) = min{wj + Vj−1(dr − rje), Vj−1(r)}, (9)
where dxe represents rounding up x to the nearest grid point. We have base cases V0(r) =∞ ∀ r > 0
and V0(r) = 0 ∀ r ≤ 0. We use R = argmaxr{Vn(r) : Vn(r) ≤ C} as our approximation to R∗.
We begin our analysis by defining r(j) =∑
i∈S∗:i≤j ri. Note that r(n) = R∗. The following
proposition is the key piece to proving the desired performance guarantee of our gridded dynamic
program:
Proposition B.1. For any δ > 0, we have that
Vj(dr(j)− δjR∗e) ≤ Vj(r(j)),
where dxe represents rounding up x to the nearest grid point.
Proof. We prove the proposition by induction on the items. The base case when j = 0 is trivial.
Assume the proposition holds for item j − 1, and we prove the result for item j. We consider two
cases.
Case 1: item j is not in S∗. If this is the case, then we have Vj(r(j)) = Vj−1(r(j)) = Vj−1(r(j−1)).
With regards to the gridded dynamic program, we know that
Vj(dr(j)− δjR∗e) ≤ Vj−1(dr(j)− δjR∗e)
≤ Vj−1(dr(j − 1)− δ(j − 1)R∗e)
≤ Vj−1(r(j − 1))
= Vj(r(j)),
as desired. Where the first inequality follows by noting that r(j) = r(j − 1) and the second to last
inequality follows by the induction hypothesis.
Case 2: item j is in S∗. In this case, we have Vj(r(j)) = wj + Vj−1(r(j) − rj). For the gridded
dynamic program we have
Vj(dr(j)− δjR∗e) ≤ wj + Vj−1(ddr(j)− δjR∗e − rje)
≤ wj + Vj−1(d(1 + δ)r(j)− δjR∗ − rje)
≤ wj + Vj−1(dr(j)− rj − δ(j − 1)R∗e)
≤ wj + Vj−1(r(j)− rj)
= Vj(r(j)),
as desired. The second inequality follows from the gridding scheme and the second to last inequality
follows from the induction hypothesis.
33
We are now ready to state the final theorem:
Theorem B.2. For any δ > 0, we have R ≥ R∗(1− δn).
Proof. Proposition B.1, gives us that Vn(dR∗(1 − δn)e) ≤ Vn(R∗) ≤ C by construction. Thus we
know that R = maxr{Vn(r) : Vn(r) ≤ C} ≥ R∗(1− δn).
In order to achieve an approximation of R∗(1− ε) ∀ ε > 0, we must choose δ = ε/n which gives
a total runtime of O(n2(log(nrmax) − log(rmin))/ε) which is polynomial in 1/ε. To complete our
analysis, we show how to actually recover the knapsack from the value functions of the gridded
dynamic program that achieves the desired performance guarantee. Since the knapsack problems
that we consider are parameterized by u and δ, we refer to this algorithm as Approx(u, δ).
Algorithm 2 Approx(u, δ)
xu = ~0, r = RCompute V with Gridfor i = n, . . . , 1 do
o = wi + Vj−1(dr − rie)n = Vj−1(r)if o ≥ n then
xui = 1r = dr − rie
end ifend forreturn xu
C Another 2-Approximation Algorithm
Recall the integer programming formulation of the assortment problem under the Two Product
Nonparametric choice model: Let yi be a binary variable representing whether or not we offer
product i and zg be a binary variable representing whether or not customer of class g will purchase
their second preferred product g2 given y. Then, we can find the optimal assortment to offer with
the following integer program:
maximize∑g∈G
λg [rg1yg1 + rg2zg]
s.t. yg1 + zg ≤ 1 ∀g ∈ G
zg ≤ yg2 ∀g ∈ G
y, z ∈ {0, 1}n
34
Let (y∗, z∗) be an optimal solution to the LP-relaxation of the above IP and let OPTLP be the
optimal value. Note that the optimal basic feasible solution satisfies z∗g = min(1 − y∗g1 , y∗g2). In
the following lemma, we show that the optimal basic feasible solutions for this LP turn out to be
half-integral.
Lemma C.1. Let (y∗, z∗) be any optimal basic solution to the LP. Then this solution is half-integral
in y∗, i.e. y∗i ∈ {0, 12 , 1} for all i = 1, . . . , n, which implies that z∗ is also half-integral.
Proof. Assume by way of contradiction that (y∗, z∗) is not half-integral and let I+ = {i : 0 < y∗i <12}
and I− = {i : 12 < y∗i < 1}. Assume that I1 ∪ I2 6= ∅. We will show that (y∗, z∗) is not a basic
solution. First, for any ε > 0, let
yi =
y∗i + ε i ∈ I+,y∗i − ε i ∈ I−,y∗i otherwise.
y′i =
y∗i − ε i ∈ I+,y∗i + ε i ∈ I−,y∗i otherwise.
Furthermore, for all g ∈ G,
zg =
z∗g + ε g2 ∈ I+ and y∗g2 ≤ 1− y∗g1 ,z∗g − ε g2 ∈ I− and y∗g2 ≤ 1− y∗g1 ,z∗g − ε g1 ∈ I+ and y∗g2 > 1− y∗g1 ,z∗g + ε g1 ∈ I− and y∗g2 > 1− y∗g1 ,z∗g otherwise.
z′g =
z∗g − ε g2 ∈ I+ and y∗g2 ≤ 1− y∗g1 ,z∗g + ε g2 ∈ I− and y∗g2 ≤ 1− y∗g1 ,z∗g + ε g1 ∈ I+ and y∗g2 > 1− y∗g1 ,z∗g − ε g1 ∈ I− and y∗g2 > 1− y∗g1 ,xg otherwise.
Clearly, y∗ = 12 y + 1
2y′ and z∗ = 1
2 z + 12z′. Therefore, we just need to show both (y, z) and (y′, z′)
are feasible solutions to the LP for small enough ε to show that (y, z) cannot be a basic feasible
solution.
We start with (y, z). Note that by setting ε small enough we maintain 0 ≤ y ≤ 1 and 0 ≤ z ≤ 1.
It remains to show that zg ≤ min(1− yg1 , yg2). Note that if yg2 < 1− yg1 then zg is adjusted in the
same direction as yg2 and for small enough ε will remain feasible. Similarly, if yg2 > 1 − yg1 then
zg is adjusted in the opposite direction as yg1 and for small enough ε will remain feasible. Lastly,
if yg2 = 1− yg1 then we know yg1 and yg2 must be adjusted in opposite directions and we can use
the same arguments as above. Thus, for small enough ε, (y, z) is feasible. A similar argument can
be made for (y′, z′).
Consider the following LP-Rounding algorithm: Solve the LP-relaxation of the IP above and
offer each product i independently with probability y∗i .
Theorem C.2. The LP-Rounding algorithm is a 2-approximation algorithm in expectation. Fur-
thermore, this algorithm can be derandomized to be a 2-approximation algorithm deterministically.
35
Proof. In the table below we give the LP revenue and expected revenue of the rounding algorithm
for each customer class g.
y∗g1 y∗g2 z∗g LP revenue Alg revenue in expectation
0 0 0 0 00 1
212
12λgrg2
12λgrg2
0 1 1 λgrg2 λgrg212 0 0 1
2λgrg212λgrg2
12
12
12
12λgrg1 + 1
2λgrg212λgrg1 + 1
4λgrg212 1 1
212λgrg1 + 1
2λgrg212λgrg1 + 1
2λgrg21 0 0 λgrg1 λgrg11 1
2 0 λgrg1 λgrg11 1 0 λgrg1 λgrg1
From here we can see that the only loss comes from customer classes in which y∗g1 = y∗g2 = 12 .
Let G1/2 be all such customer classes. Then, the expected revenue for this algorithm is
E [ALG] =∑g∈G
λg[rg1y
∗g1 + rg2(1− y∗g1)y∗g2
]= OPTLP −
1
4
∑g∈G1/2
λgrg2
≥ OPTLP −1
2
∑g∈G1/2
λgrg2z∗g
≥ OPTLP −1
2OPTLP,
where the last inequality follows from the fact that∑
g∈G1/2 λgrg2z∗g is only a portion of the LP
objective function value. Overall this shows
2E [ALG] ≥ OPTLP ≥ OPT
or that the algorithm is a 2-approximation algorithm in expectation. Since all variables are rounded
independently we can use the method of conditional expectations (used in the second stage of the
greedy algorithm in Section 4) to derandomize the algorithm and maintain the same approximation
ratio.
C.1 Computational Experiments
Table 5 gives the average run time for the algorithm on each type of instance along with the
minimum, average, and maximum approximation ratios (the revenue returned by the algorithm
divided by the optimal LP-relaxation value). The LP rounding algorithm performed remarkably
well with an average approximation ratio very close to 1, when rounded to three decimal places.
36
Table 5: Run Times and Approximation Ratios (in comparison to the optimal LP value) for theLP-Rounding Algorithm.
LP-Rounding Algorithm
n p Avg |G| Avg Time (s) Min Approx Avg Approx Max Approx
7 0.25 11.01 2.192E−3 0.978 1.000 1.0007 0.375 15.68 2.735E−3 0.994 1.000 1.0007 0.5 21.36 3.446E−3 0.998 1.000 1.0007 0.75 31.25 4.776E−3 1.000 1.000 1.00010 0.25 22.35 3.926E−3 1.000 1.000 1.00010 0.375 33.48 5.538E−3 0.971 1.000 1.00010 0.5 44.42 7.400E−3 0.998 1.000 1.00010 0.75 67.48 1.146E−2 0.987 1.000 1.00025 0.125 75.65 1.401E−2 0.994 1.000 1.00025 0.25 149.17 3.538E−2 0.998 1.000 1.00025 0.375 223.41 7.337E−2 0.999 1.000 1.00025 0.5 301.6 1.080E−1 0.995 1.000 1.00050 0.125 302.28 1.128E−1 0.999 1.000 1.00050 0.25 614.56 3.897E−1 0.997 1.000 1.00050 0.375 921.76 8.079E−1 1.000 1.000 1.00050 0.5 1226.62 1.373E+0 0.997 1.000 1.000100 0.05 493.41 2.815E−1 1.000 1.000 1.000100 0.2 1983.95 3.677E+0 1.000 1.000 1.000100 0.35 3464.24 1.086E+1 1.000 1.000 1.000100 0.5 4944.63 2.229E+1 1.000 1.000 1.000200 0.05 1991.21 3.617E+0 1.000 1.000 1.000200 0.2 7951.93 5.712E+1 1.000 1.000 1.000200 0.35 13927.77 1.954E+2 1.000 1.000 1.000200 0.5 19886.6 3.947E+2 1.000 1.000 1.000
37
References
Aouad, A., Farias, V. and Levi, R. (2015), Assortment optimization under consider-then-rank
choice models. Unpublished Manuscript.
Aouad, A., Farias, V., Levi, R. and Segev, D. (2015), The approximability of assortment optimiza-
tion under ranking preferences. Unpublished Manuscript.
Blanchet, J., Gallego, G. and Goyal, V. (2013), A Markov chain approximation to choice modeling.
Unpublished Manuscript.
Buchbinder, N. and Feldman, M. (2015), Deterministic algorithms for submodular maximization
problems. Unpublished Manuscript.
Buchbinder, N., Feldman, M., Naor, J. and Schwartz, R. (2015), ‘A tight linear (1/2)-approximation
for unconstrained submodular maximization’, SIAM Journal on Computing 44(5), 1384–1402.
Crompton, J. L. and Ankomah, P. K. (1993), ‘Choice set propositions in destination decisions’,
Annals of Tourism Research 20(3), 461–476.
Davis, J., Gallego, G. and Topaloglu, H. (2013), Assortment planning under the multinomial logit
model with totally unimodular constraint structures. Unpublished Manuscript.
Davis, J. M., Gallego, G. and Topaloglu, H. (2014), ‘Assortment optimization under variants of the
nested logit model’, Operations Research 62(2), 250–273.
Desir, A. and Goyal, V. (2013), Near-optimal for capacity constrained assortment optimization.
Unpublished Manuscript.
Feige, U., Mirrokni, V. S. and Vondrak, J. (2011), ‘Maximizing non-monotone submodular func-
tions’, SIAM Journal on Computing 40(4), 1133–1153.
Feldman, J., Paul, A. and Davis, J. (2015), Revenue management under a nonparametric ranking-
based choice model. Unpublished Manuscript.
Feldman, J. and Topaloglu, H. (2015a), ‘Capacity constraints across nests in assortment optimiza-
tion under the nested logit model’, Operations Research 63(4), 812–822.
Feldman, J. and Topaloglu, H. (2015b), Revenue management under the Markov chain choice model.
Unpublished Manuscript.
38
Gallego, G. and Topaloglu, H. (2014), ‘Constrained assortment optimization for the nested logit
model’, Management Science 60(10), 2583–2601.
Goyal, V. and Desir, A. (2015), Capacity constrained assortment optimization under the Markov
chain based choice model. Unpublished Manuscript.
Honhon, D., Xiajun, P. and Sreelata, J. (2012), ‘Optimal algorithms for assortment selection un-
der ranking-based consumer choice models’, Manufacturing and Service Operations Management
14(2), 279–289.
Huang, N. and Borodin, A. (2014), Bounds on double-sided myopic algorithms for unconstrained
submodular maximization, in ‘Proceedings of 25th International Symposium on Algorithms and
Computation (ISAAC)’.
Jeuland, A. (1979), ‘Branch choice inertia as one aspect of the notion of brand loyalty’, Management
Science 25(7), 671–682.
Kok, A. G. (2003), Management of Product Variety in Retail Operations., PhD thesis, University
of Pennsylvania.
Kok, A. G. and Fisher, M. L. (2007), ‘Demand estimation and assortment optimization under
substitution: Methodology and application’, Operations Research 55(6), 1001–1021.
Lapersonne, E., Laurent, G. and Le Goff, J. (1995), ‘Consideration sets of size one: An empirical
investigation of automobile purchases’, International Journal of Research in Marketing 49(1), 55–
66.
Li, G. and Rusmevichientong, P. (2014), ‘A greedy algorithm for the two-level nested logit model’,
Operations Research Letters 42(5), 319–324.
Li, G., Rusmevichientong, P. and Topaloglu, H. (2015), ‘The d-level nested logit model: Assortment
and price optimization problems’, Operations Research 63(2), 325–342.
Mahajan, S. and van Ryzin, G. (2001a), ‘Inventory competition under dynamic consumer choice’,
Operations Research 49(5), 646–657.
Mahajan, S. and van Ryzin, G. (2001b), ‘Stocking retail assortment under dynamic consumer
substitution’, Operations Research 49, 334–351.
Mendez-Dıaz, I., Miranda-Bront, J., Vulcano, G. and Zabala, P. (2010), ‘A branch-and-cut algo-
rithm for the latent-class logit assortment problem’, Discrete Applied Mathematics 36, 383–390.
39
Poloczek, M., Schnitger, G., Williamson, D. P. and van Zuylen, A. (2016), Greedy algorithms for the
maximum satisfiability problem: Simple algorithms and inapproximability bounds. Unpublished
Manuscript.
Rusmevichientong, P. and Jagabathula, S. (2015), A nonparametric joint assortment and price
choice model. Unpublished Manuscript.
Rusmevichientong, P., Shen, Z. M. and Shmoys, D. B. (2010), ‘Dynamic assortment optimization
with a multinomial logit choice model and capacity constraint’, Operations Research 58(6), 1666–
1680.
Rusmevichientong, P., Shmoys, D. B., Tong, C. and Topaloglu, H. (2014), ‘Assortment optimization
under the multinomial logit model with random choice parameters’, Production and Operations
Management 23(11), 2023–2039.
Talluri, K. and van Ryzin, G. (2004), ‘Revenue management under a general discrete choice model
of consumer behavior’, Management Science 50(1), 15–33.
Wang, R. (2012), ‘Capacitated assortment and price optimization under the multinomial logit
model’, Operations Research Letters 40(6), 492–497.
Wang, R. (2013), ‘Assortment management under the generalized attraction model with a capacity
constraint’, Journal of Revenue and Pricing Management 12(3), 254–270.
Williamson, D. P. and Shmoys, D. B. (2010), The Design of Approximation Algorithms, Cambridge
University Press.
40