arXiv reader

The Value of Robust Assortment Optimization Under Ranking-based Choice Models

Bradley Sturt

arXiv
2112.05010v4 · PDF · 26 February 2024
Categories
math.OC
Licence
CC BY 4.0 The site shows the text.

Abstract

We study a class of robust assortment optimization problems that was proposed by Farias, Jagabathula, and Shah (2013). The goal in these problems is to find an assortment that maximizes a firm’s worst-case expected revenue under all ranking-based choice models that are consistent with the historical sales data generated by the firm’s past assortments. We establish for various settings that these robust optimization problems can either be solved in polynomial-time or can be reformulated as compact mixed-integer optimization problems. To establish our results, we prove that optimal assortments for these robust optimization problems have a simple structure that is closely related to the structure of revenue-ordered assortments. We use our results to show how robust optimization can be used to overcome the risks of estimate-then-optimize and the need for experimentation with ranking-based choice models in the overparameterized regime.

Items 85

Question

Question 1.1

ZD0F

Can the optimal objective value of (?) ever be strictly greater than the expected revenue of the firm’s best past assortment?

Question

Question 1.2

DM5T

If the answer to Question 1.1 is yes, then what structural properties of a firm’s past assortments are necessary for the optimal objective value of (?) to be strictly greater than the expected revenue of the firm’s best past assortment?=-1

Question

Question 1.3

9WQJ

What structural properties of a firm’s past assortments are sufficient for designing efficient algorithms for solving the robust optimization problem (?)?

Question

Question 1.4

D9NN

If the optimal objective value of (?) is not strictly greater than the expected revenue of the firm’s best past assortment for a particular problem instance, then what assortment should the firm offer to its customers?

Theorem

Theorem 4.1

N6UY

There exists an assortment S \in \widehat{\mathcal{S}} that is optimal for (?).

Lemma

Lemma 4.2

XTF4

If \mathscr{M} = \bar{\mathcal{S}}, then \widehat{\mathcal{S}} = \mathscr{M}.

Corollary

Corollary 4.3

V83G

If \mathscr{M} = \bar{\mathcal{S}} and \eta = 0, then \max \limits_{S \in \mathcal{S}} \min \limits_{\lambda \in \mathcal{U}} \mathscr{R}^{\lambda}(S) = \max \limits_{m \in \mathcal{M}} r^\intercal v_m.

Lemma

Lemma 4.4

ATPZ

If M = 2, then

\begin{aligned} \widehat{\mathcal{S}} = \left \{ S \in \mathcal{S}: \quad \begin{aligned} &\textnormal{there exists }i_1 \in S_1 \setminus S_2 \textnormal{ and } i_2 \in S_2 \setminus S_1 \textnormal{ such that}\\ &S = \left(S_1 \cap S_2 \right) \cup \left \{j \in S_1 \setminus S_2: j \ge i_1 \right \} \cup \left \{j \in S_2 \setminus S_1: j \ge i_2 \right \}\end{aligned} \right \}. \end{aligned}
Lemma

Lemma 4.5

I1F1

| \widehat{\mathcal{S}} | \le (n+2)^{2^M}.

Lemma

Lemma 4.6

STCH

The collection of assortments \widehat{\mathcal{S}} can be constructed in \mathcal{O}(n^{2} (M+| \widehat{\mathcal{S}}|)) time.

Definition

Definition 4.7

QO0A

We say that the firm’s past assortments are reverse revenue-ordered if S_1 \triangleq \{0,n\}, S_m \triangleq \left \{ 0,1,\ldots,m-1,n \right \} for each m \in \{2,\ldots,n\}, and \mathscr{M} = \tilde{\mathcal{S}} \triangleq \left \{S_1,\ldots,S_n\right \}.

Lemma

Lemma 4.8

M6JE

If \mathscr{M} = \tilde{\mathcal{S}}, then \widehat{\mathcal{S}} = \left \{ S \subseteq \mathcal{N}_0: \{0,n\} \subseteq S \right \}.

Theorem

Theorem 4.9

96JH

Suppose that \mathscr{M} = \tilde{\mathcal{S}}, that \eta = 0, and that the revenues r_1 < \cdots < r_n are fixed. Then for every assortment \bar{S} \in \widehat{\mathcal{S}}, there exists a realization of the historical data v \equiv (v_{m,i}: m \in \mathcal{M}, i \in S_m) such that \bar{S} is the unique optimal solution of the robust optimization problem (?).

Definition

Definition 4.10

9QV2

\mathcal{D}_i(S) \triangleq \left \{ \sigma \in \Sigma: \; i = \mathop{\SFrm arg\,min}_{j \in S} \sigma (j) \right \}.

Definition

Definition 4.11

U4UR

\mathcal{L} \triangleq \left \{(i_1,\ldots,i_M) \in S_1 \times \cdots \times S_M: \; \bigcap_{m \in \mathcal{M}} \mathcal{D}_{i_m}(S_m) \neq \emptyset \right \}.

Definition

Definition 4.12

F98K

\rho_{i_1 \cdots i_M}(S) \triangleq \min \limits_{i \in S: \; \cap_{m \in \mathcal{M}} \mathcal{D}_{i_m}(S_m) \cap \mathcal{D}_i(S) \neq \emptyset} r_i.

Proposition

Proposition 4.13

1F4C

For each S \in \mathcal{S}, \min_{\lambda \in \mathcal{U}} \mathscr{R}^\lambda(S) is equal to the optimal objective value of the following linear optimization problem:

\begin{aligned} & \; \underset{\lambda, \epsilon}{\textnormal{minimize}} && \sum_{(i_1,\ldots,i_M) \in \mathcal{L}} \rho_{i_1 \cdots i_M}(S) \lambda_{i_1\cdots i_M}\\ &\textnormal{subject to}&& \sum_{(i_1,\ldots,i_M) \in \mathcal{L}: \; i_m = i} \lambda_{i_1 \cdots i_M} - \epsilon_{m,i}= v_{m,i} \quad \forall m \in \mathcal{M}, \; i \in S_m\\ &&& \sum_{(i_1,\ldots,i_M) \in \mathcal{L}} \lambda_{i_1 \cdots i_M} = 1 \\ &&& \| \epsilon \| \le \eta\\ &&& \lambda_{i_1 \cdots i_M} \ge 0 \quad \forall (i_1,\ldots,i_M) \in \mathcal{L}. \end{aligned}
Remark

Remark 4.15

UUWL

(4.13) has | \mathcal{L}| = \mathcal{O}(n^M) decision variables and \mathcal{O}(nM) constraints.

Proposition

Proposition 4.16

PQT5

Let S \in \mathcal{S} and i \notin S. If there exists i^* \in S that satisfies r_{i^*} < r_i and \mathcal{M}_{i^*} \subseteq \mathcal{M}_i, then \rho_{i_1 \cdots i_M}(S) \le \rho_{i_1 \cdots i_M}(S \cup \{i\}) for each (i_1,\ldots,i_M) \in \mathcal{L}.

Remark

Remark 5.1

LS4T

We assume throughout §? that every product i \in \mathcal{N}_0 has been offered by the firm to its customers in at least one of the past assortments, that is, \cup_{m \in \mathcal{M}} S_m = \mathcal{N}_0. This assumption simplifies our notation and can always be satisfied by redefining \mathcal{N}_0 to be equal to \cup_{m \in \mathcal{M}} S_m. Such a redefining of \mathcal{N}_0 does not impact the optimal objective value of the robust optimization problem (?); see Appendix ? for further details.

Theorem

Theorem 5.2

XQ3K

If M = 2 and \eta = 0, then (?) can be solved in \mathcal{O}(n^5 \log (n r_n)) time.

Lemma

Lemma 5.3

CYSZ

If M = 2, then \mathcal{L} = \left((S_1 \setminus S_2) \times S_2 \right) \cup \left( S_1 \times (S_2 \setminus S_1) \right) \cup \left\{(i,i): i \in S_1 \cap S_2 \right \}.

Lemma

Lemma 5.4

VK17

If M = 2 and \eta = 0, then \min_{\lambda \in \mathcal{U}} \mathscr{R}^\lambda(S) can be evaluated for each assortment S \in \mathcal{S} by solving a minimum-cost network flow problem in a directed acyclic graph with \mathcal{O}(n) vertices and \mathcal{O}(n^2) directed edges.

Theorem

Theorem 5.5

X53R

(?) can be solved in weakly \mathcal{O}(\textnormal{poly}(n)) time for every fixed M.

Lemma

Lemma 5.6

9KG1

|\mathcal{L}| = \mathcal{O}(n^M), and \mathcal{L} can be constructed in \mathcal{O}(Mn^{M+1}) time.

Lemma

Lemma 5.7

MYYY

For each assortment S \in \widehat{\mathcal{S}} and each tuple of products (i_1,\ldots,i_M) \in \mathcal{L}, the quantity \rho_{i_1 \cdots i_M}(S) can be computed in \mathcal{O}(M^2 n) time.

Lemma

Lemma 5.8

N9G1

If Assumption Assumption holds, then

\mathcal{L} = \left \{(i_1,\ldots,i_M) \in S_1 \times \cdots \times S_M:\textnormal{ for each }m \in \{1,\ldots,M-1\}, \; i_{m+1} \in \{i_m \} \cup \mathcal{B}_{m+1} \right \}.
Lemma

Lemma 5.10

I1FH

If Assumption Assumption holds and the assortment S \subseteq \mathcal{N}_0 satisfies S \cap S_1 \neq \emptyset,(The condition that S \cap S_1 \neq \emptyset in Lemma 5.10 is satisfied, for example, when S, S_1 \in \mathcal{S}.) then the following equality holds for each tuple (i_1,\ldots,i_M) \in \mathcal{L} and m \in \mathcal{M}:

\begin{aligned} \rho_{i_1 \cdots i_M}(S \cap S_m) &= \begin{cases} r_{i_m},&\textnormal{if } i_m \in S, \\ \min \limits_{i \in \mathcal{B}_m \cap S} r_i, &\textnormal{if } i_m \notin S \textnormal{ and } m = 1,\\ \min \left \{ \min \limits_{i \in \mathcal{B}_m \cap S} r_i ,\; \rho_{i_1 \cdots i_M} \left(S \cap S_{m-1} \right) \right \}, &\textnormal{if } i_m \notin S \textnormal{ and } m \ge 2. \end{cases} \end{aligned}
Proposition

Proposition 5.11

X13V

Let Assumption Assumption hold. Then for each S \subseteq \mathcal{N}_0 that satisfies S \cap S_1 \neq \emptyset, \min_{\lambda \in \mathcal{U}} \mathscr{R}^\lambda(S) is equal to the optimal objective value of the following linear optimization problem: 911 0.8em 0.3em 0.5em 0.3em 0.6em 0.3em 0.3em 0.5em 1em 0 2 11pt plus 0.5pt minus 0.35pt =11pt=9pt

\begin{aligned} & \; \underset{f, g,\epsilon}{\textnormal{minimize}} && \sum_{i,\kappa: (M,i,\kappa) \in \mathfrak{V}} \kappa g_{M,i,\kappa} \\ &\textnormal{subject to}&& \sum_{\kappa: (m,i,\kappa) \in \mathfrak{V}} g_{m,i,\kappa} - \epsilon_{m,i} = v_{m,i} && \forall m \in \mathcal{M}, \; i \in S_m \\ &&& \sum_{i',\kappa': ((m,i,\kappa),(m+1,i',\kappa')) \in \mathfrak{E}} f_{m,i,\kappa,i',\kappa'} = g_{m,i,\kappa} && \forall (m,i,\kappa) \in \mathfrak{V}: m \in \{1,\ldots,M-1\} \\ &&& \sum_{i',\kappa': ((m-1,i',\kappa'),(m,i,\kappa)) \in \mathfrak{E}} f_{m-1,i',\kappa',i,\kappa} = g_{m,i,\kappa} && \forall (m,i,\kappa) \in \mathfrak{V}: m \in \{2,\ldots,M\} \\ &&& g_{m,i,\kappa} = 0 && \forall (m,i,\kappa)\in \mathfrak{V}: i \in S,\; i \in \mathcal{B}_m, \; \kappa \neq r_i \\ &&& g_{m,i,\kappa} = 0 && \forall (m,i,\kappa)\in \mathfrak{V}: i \in S,\; i \notin \mathcal{B}_m, \; \kappa \in \{r_j: j \in \mathcal{B}_m \} \\ &&& g_{m,i,\kappa} = 0 && \forall (m,i,\kappa)\in \mathfrak{V}: \kappa \in \{ r_j: j \in \mathcal{B}_m \setminus S \} \\ &&& \sum_{i,\kappa: (M,i,\kappa) \in \mathfrak{V}} g_{M,i,\kappa} = 1 \\ &&& \| \epsilon \| \le \eta \\ &&& f_{m,i,\kappa,i',\kappa'} \ge 0 && \forall ((m,i,\kappa),(m+1,i',\kappa')) \in \mathfrak{E} \\ &&& g_{m,i,\kappa} \ge 0 && \forall (m,i,\kappa) \in \mathfrak{V}. \end{aligned}
Theorem

Theorem 5.12

5TWF

Let Assumption Assumption hold and S_1,\ldots,S_M \in \mathcal{S}. Then the robust optimization problem (?) can be reformulated as a mixed-integer linear optimization problem with \mathcal{O}(n) binary decision variables, \mathcal{O}(\textnormal{poly}(n,M)) continuous decision variables, and \mathcal{O}(\textnormal{poly}(n,M)) constraints.

Uses Assumption · Used by Remark 5.13
Remark

Remark 5.13

QOXJ

The reformulation in Appendix ? is presented for cases in which the firm does not have any business constraints on the assortments S \in \mathcal{S}. In many applications of assortment optimization, firms have additional business constraints (e.g., due to limited shelf space or bundling requirements) that limit the space of possible new assortments; see [mivsic2016data, p.113]. Because our algorithm from Theorem 5.12 consists of solving a mixed-integer optimization problem with a binary decision variable x_i \in \{0,1\} for each product i \in \mathcal{N}_0 that satisfies x_i = 1 if and only if product i is included in the assortment S, such business constraints can be easily integrated directly into our mixed-integer optimization problem. In particular, as long as the number of such business constraints is not exponential in n or M, the size of our mixed-integer optimization reformulation of (?) will remain polynomial in the number of products and the number of past assortments.

Theorem

Theorem 6.1

06EX

(?) can be solved in weakly \mathcal{O}(\textnormal{poly}(n)) time for every fixed M.

Theorem

Theorem 6.2

G0G2

If Assumption Assumption holds and S_1,\ldots,S_M \in \mathcal{S}, then (?) can be reformulated as a mixed-integer linear optimization problem with \mathcal{O}(n) binary decision variables, \mathcal{O}(\textnormal{poly}(n,M)) continuous decision variables, and \mathcal{O}(\textnormal{poly}(n,M)) constraints.

Theorem

Theorem 6.3

CC0U

Let Assumption Assumption hold and S_1,\ldots,S_M \in \mathcal{S}. Then the optimization problem (?) can be reformulated as a mixed-integer linear optimization problem with \mathcal{O}(n) binary decision variables, \mathcal{O}(\textnormal{poly}(n,M)) continuous decision variables, and \mathcal{O}(\textnormal{poly}(n,M)) constraints.

Lemma

Lemma B.1

Q39W

(i_1,\ldots,i_M) \in \mathcal{L} if and only if \mathcal{G}_{i_1 \cdots i_M} is acyclic.

Definition

Definition B.3

47AI

Let (i_1,\ldots,i_M) \in S_1 \times \cdots \times S_M and i, j \in \mathcal{N}_0. We say that vertex j is reachable from vertex i, denoted by j \prec_{i_1 \cdots i_M} i, if there exists a directed path in \mathcal{G}_{i_1 \cdots i_M} from i to j.

Lemma

Lemma B.4

ZDRW

Let (i_1,\ldots,i_M) \in \mathcal{L} and i,j \in \mathcal{N}_0. If j \prec_{i_1 \cdots i_M} i, then there exists a past assortment m \in \mathcal{M} that satisfies j = i_m.

Lemma

Lemma B.6

OWYJ

Let (i_1,\ldots,i_M) \in \mathcal{L} and i,j \in \mathcal{N}_0. Then, there exists a ranking \sigma \in \cap_{m \in \mathcal{M}} \mathcal{D}_{i_m}(S_m) that satisfies \sigma(i) < \sigma(j) if and only if j \nprec_{i_1 \cdots i_M} i.

Lemma

Lemma B.8

ZYB6

Let (i_1,\ldots,i_M) \in \mathcal{L}, S \in \mathcal{S}, and i \in S. Then, there exists a ranking \sigma \in \cap_{m \in \mathcal{M}} \mathcal{D}_{i_m}(S_m) that satisfies i = \mathop{\SFrm arg\,min}_{j \in S} \sigma(j) if and only if j \nprec_{i_1 \cdots i_M} i for all j \in S.

Definition

Definition B.10

HUEZ

\mathcal{I}_{i_1 \cdots i_M}(S) \triangleq \left \{ i \in \mathcal{N}_0:\; \textnormal{for all } m \in \mathcal{M}, \; \textnormal{if } i_m \in S, \text{ then } i_m \nprec_{i_1 \cdots i_M} i \right \}.

Proposition

Proposition B.11

ZILL

For all S \in \mathcal{S} and (i_1,\ldots,i_M) \in \mathcal{L}, \rho_{i_1 \cdots i_M}(S) = \min_{i \in S \cap \mathcal{I}_{i_1 \cdots i_M}(S)} r_i.

Claim

Claim 1

LIEV

For all S \in \mathcal{S}, (i_1,\ldots,i_M) \in \mathcal{L}, and i \notin S,

\begin{aligned} &\rho_{i_1 \cdots i_M}(S \cup \{i\}) = \begin{cases} \rho_{i_1 \cdots i_M}(S),&\textnormal{if } i \notin \mathcal{I}_{i_1 \cdots i_M}(S),\\ \min \left \{ \min \limits_{j \in S \cap \mathcal{I}_{i_1 \cdots i_M}(S) \cap \left\{ j' \in \mathcal{N}_0: i \nprec_{i_1 \cdots i_M} j' \right\}} r_j, r_i \right \}, &\textnormal{if } i \in \mathcal{I}_{i_1 \cdots i_M}(S).\\ \end{cases} \end{aligned}
Procedure

Procedure

HT91
  1. Initialize the vertex set \mathscr{V} \leftarrow \emptyset and edge set \mathscr{E} \leftarrow \emptyset.

  2. For each product i \in \mathcal{N}_0:

    1. Update \mathscr{V} \leftarrow \mathscr{V} \cup \{i \}.

    2. Construct the set \mathcal{M}_i of past assortments which offered product i.

  3. For each pair of products (i^*,i) \in \mathcal{N}_0 \times \mathcal{N}_0:

    1. If r_{i^*} < r_{i} and \mathcal{M}_{i^*} \subseteq \mathcal{M}_i:

      1. Update \mathscr{E} \leftarrow \mathscr{E} \cup \{(i^*,i) \}

  4. Output \mathscr{G} \equiv (\mathscr{V},\mathscr{E}) and terminate.

A procedure for constructing the directed acyclic graph \mathscr{G}.

Procedure

Procedure

6O3E
  1. Construct the directed acyclic graph \mathscr{G} \leftarrow \textsc{Construct-G(M,r)}.

  2. Compute the collection of assortments \widehat{\mathcal{S}} \leftarrow \textsc{RecursiveStep(G)}.

  3. For each S \in \widehat{\mathcal{S}}:

    1. If 0 \notin S:

      1. Update \widehat{\mathcal{S}} \leftarrow \widehat{\mathcal{S}} \setminus \{ S \}.

  4. Output \widehat{\mathcal{S}} and terminate.

Procedure

Procedure

SVZ7
  1. If \mathscr{V} = \emptyset:

    1. Output the collection \mathscr{A} \equiv\{ \emptyset \} and terminate.

  2. Otherwise:

    Claim

    Claim 2

    XPZD

    Let \mathscr{G} \equiv (\mathscr{V},\mathscr{E}) be a directed acyclic graph that is a transitive closure. For notational convenience, let \mathscr{E}_i denote the set of incoming and outgoing edges from each vertex i \in \mathscr{V}. Then for each vertex i \in \mathscr{V}, we have that \tilde{\mathscr{G}} \equiv (\mathscr{V} \setminus \{i \}, \mathscr{E} \setminus \mathscr{E}_i) is a directed acyclic graph that is a transitive closure.

    Claim

    Claim 3

    JZSP

    Let \mathscr{G} \equiv (\mathscr{V},\mathscr{E}) be a directed acyclic graph that is a transitive closure. For notational convenience, let \mathscr{E}_i denote the set of incoming and outgoing edges from each vertex i \in \mathscr{V}. Then for each subset of vertices \mathscr{B} \subseteq \mathscr{V}, we have that \tilde{\mathscr{G}} \equiv (\mathscr{V} \setminus \mathscr{B}, \mathscr{E} \setminus (\cup_{i \in \mathscr{B}} \mathscr{E}_i)) is a directed acyclic graph that is a transitive closure.

    Claim

    Claim 4

    PTPI

    Let \mathscr{G} \equiv (\mathscr{V},\mathscr{E}) be a directed acyclic graph that is a transitive closure. For notational convenience, let \mathscr{E}_i denote the set of incoming and outgoing edges from each vertex i \in \mathscr{V}. For each vertex i \in \mathscr{V},

    \begin{aligned} &\left \{S \subseteq \mathscr{V} \setminus \{i \}: \textnormal{ if $k \in S$ and $(k,j) \in \mathscr{E}$, then $j \in S$} \right\} \\ & = \left \{ S \subseteq \mathscr{V} \setminus (\{ i \} \cup \{\ell: (\ell,i) \in \mathscr{E} \}): \textnormal{if } k \in S \textnormal{ and } (k,j) \in \mathscr{E} \setminus \left( \mathscr{E}_i \cup \bigcup_{\ell: (\ell,i) \in \mathscr{E}} \mathscr{E}_\ell \right), \textnormal{ then } j \in S \right \}. \end{aligned}
    Claim

    Claim 5

    IZ7D

    Let \mathscr{G} \equiv (\mathscr{V},\mathscr{E}) be a directed acyclic graph that is a transitive closure. For notational convenience, let \mathscr{E}_i denote the set of incoming and outgoing edges from each vertex i \in \mathscr{V}. For each vertex i \in \mathscr{V},

    \begin{aligned} &\left \{S \subseteq \mathscr{V}: \left[ i \in S \right] \textnormal{ and } \left[ \textnormal{if $k \in S$ and $(k,j) \in \mathscr{E}$, then $j \in S$} \right] \right\} \\ & = \left \{ \begin{aligned} &S' \cup \{i \} \cup \left\{ \ell: (i,\ell) \in \mathscr{E} \right \} :\\ &\quad S' \in \left \{ S \subseteq \mathscr{V} \setminus \left( \{i \} \cup \left\{ \ell: (i,\ell) \in \mathscr{E} \right \} \right): \textnormal{if } k \in S \textnormal{ and } (k,j) \in \mathscr{E} \setminus \left( \mathscr{E}_i \cup \bigcup_{\ell: (i,\ell) \in \mathscr{E}} \mathscr{E}_\ell \right), \textnormal{ then } j \in S \right \} \end{aligned} \right \}. \end{aligned}
    Claim

    Claim 6

    WIA2

    If \mathscr{G} \equiv (\mathscr{V},\mathscr{E}) is a directed acyclic graph that is a transitive closure with | \mathscr{V}| \ge 1, then lines (?), (?), (?), and (?) of Algorithm ? can be performed in \mathcal{O}\left(| \mathscr{V}| \times \left|\textsc{RecursiveStep}(\mathscr{G}) \right| \right) time.

    Claim

    Claim 7

    OBWZ

    If \mathscr{G} \equiv (\mathscr{V},\mathscr{E}) is a directed acyclic graph that is a transitive closure with | \mathscr{V}| \ge 1, then the computation time for Algorithm ? is \mathcal{O}(|\mathscr{V}|^2 \times \left|\textsc{RecursiveStep}(\mathscr{G}) \right| ).

    Lemma

    Lemma E.1

    FFNH

    The system (?) is nonempty and has a unique solution \lambda which satisfies the following equality for each (i_1,\ldots,i_n) \in \mathcal{L}:

    \begin{aligned} \lambda_{i_1 \cdots i_n} &= \begin{cases} \frac{1}{n},&\textnormal{if there exists } j \in \bar{S}\setminus \{0,n\} \textnormal{ such that } (i_1,\ldots,i_n) = \left(\text{\b{$i$}}^j_1,\ldots,\text{\b{$i$}}^j_n \right),\\ \frac{1}{n},&\textnormal{if there exists } j \in \mathcal{N} \setminus \bar{S} \textnormal{ such that }(i_1,\ldots,i_n) = \left(\bar{i}^j_1,\ldots,\bar{i}^j_n \right) ,\\ \frac{1}{n},&\textnormal{if } (i_{1}, \ldots, i_n) = (n,\ldots,n),\\ 0,&\textnormal{otherwise}. \end{cases} \end{aligned}
    Claim

    Claim 8

    X4GG

    Suppose that \lambda is a feasible solution of the system (?), and let (i_1,\ldots,i_n) \in \mathcal{L}. If \lambda_{i_1 \cdots i_n} > 0, then either (i_1,\ldots,i_n) = (n,\ldots,n) or there exists j \in \{1,\ldots,n-1\} such that i_{j+1} = j.

    Claim

    Claim 9

    DWKC

    Suppose that \lambda is a feasible solution of the system (?), and let (i_1,\ldots,i_n) \in \mathcal{L}. If \lambda_{i_1 \cdots i_n} > 0 and if (i_1,\ldots,i_n) \neq (n,\ldots,n), then there exists j \in \{1,\ldots,n-1\} and \dagger \in \{0,n\} such that i_1 = \cdots = i_j = \dagger and i_{j+1} = \cdots = i_n = j.

    Proposition

    Proposition F.1

    CFWD

    \max \limits_{S \in \mathcal{S}} \min \limits_{\lambda \in \mathcal{U}}\mathscr{R}^{\lambda}(S) = \max \limits_{S \in \mathcal{S}} \min \limits_{\lambda \in \mathcal{U}}\mathscr{R}^{\lambda}\left(S \cap \left( \bigcup_{m \in \mathcal{M}} S_m \right) \right).

    Remark

    Remark G.1

    MBQO

    The inequality of the form \sum_{i_1 \in S_1 \setminus S_2} \lambda_{i_1 i} \le v_{2,i} for each vertex i \in S_1 \cap S_2 can be interpreted as an upper bound on the incoming flow entering into vertex i. These inequalities can be converted into edge capacities by splitting each vertex i \in S_1 \cap S_2 into two vertices, i^{\text{in}} and i^{\text{out}}, where the incoming edges to vertex i^{\text{in}} are from the vertices in S_1 \setminus S_2, the outgoing edges from i^{\text{out}} are to the vertices in S_2 \setminus S_1, the only outgoing edge from vertex i^{\text{in}} is the only incoming edge to vertex i^{\text{out}}, the flow through the edge from vertex i^{\text{in}} to vertex i^{\text{out}} must satisfy the constraints 0 \le g_{i^{\text{in}} i^{\text{out}}} \le v_{2,i}, and the supplies on the vertices i^{\text{in}} and i^{\text{out}} are 0 and v_{1,i} - v_{2,i}, respectively.

    Procedure

    Procedure

    KH4R
    1. Construct the directed acyclic graph \mathcal{G}_{i_1 \cdots i_M}.

    2. For each past assortment m \in \mathcal{M}:

      1. If i_m \in S:

        1. Mark each unmarked vertex in \mathcal{G}_{i_1 \cdots i_M} that has a directed path to vertex i_m.

    3. Output the minimum r_i among all unmarked vertices i in \mathcal{G}_{i_1 \cdots i_M} and terminate.

    Claim

    Claim 10

    XZP6

    Consider any i \in S \cap \mathcal{B}_m and m' \in \{1,\ldots,m-1\}. If i_{m'} \in S, then i_{m'} \nprec_{i_1 \cdots i_M} i.

    Lemma

    Lemma I.2

    ACL0

    Let Assumption Assumption hold, let S \subseteq \mathcal{N}_0 satisfy S \cap S_1 \neq \emptyset, and let (\lambda,\epsilon) be a feasible solution for the linear optimization problem (4.13). For each vertex (m,i,\kappa) \in \mathfrak{V}, let

    \begin{aligned} g_{m,i,\kappa} &\triangleq \sum_{(i_1,\ldots,i_M) \in \mathcal{L}: \; i_m = i, \rho_{i_1 \cdots i_M}(S \cap S_m) = \kappa} \lambda_{i_1 \cdots i_M}, \end{aligned}

    and for each directed edge ((m,i,\kappa),(m+1,i',\kappa')) \in \mathfrak{E}, let

    \begin{aligned} f_{m,i,\kappa,i',\kappa'} &\triangleq \sum_{(i_1,\ldots,i_M) \in \mathcal{L}: \; i_m = i, \rho_{i_1 \cdots i_M}(S \cap S_m) = \kappa, i_{m+1} = i', \rho_{i_1 \cdots i_M}(S \cap S_{m+1}) = \kappa' } \lambda_{i_1 \cdots i_M}. \end{aligned}

    Then (f,g,\epsilon) is a feasible solution for the linear optimization problem (5.11), and the objective value associated with (f,g,\epsilon) in the linear optimization problem (5.11) is equal to the objective value associated with (\lambda,\epsilon) in the linear optimization problem (4.13).

    Claim

    Claim 11

    OLK0

    For each (i_1,\ldots,i_M) \in \mathcal{L}, we have that ((1,i_1,\rho_{i_1 \cdots i_M}(S \cap S_1)),\ldots, (M,i_M,\rho_{i_1 \cdots i_M}(S \cap S_M))) \in \mathscr{P} and that (m,i_m,\rho_{i_1,\ldots,i_M}(S \cap S_m)) \notin \mathfrak{N}(S) for all m \in \mathcal{M}.

    Lemma

    Lemma I.5

    AER1

    Let Assumption Assumption hold, let S \subseteq \mathcal{N}_0 satisfy S \cap S_1 \neq \emptyset, and let (f,g,\epsilon) satisfy the following constraints:

    \begin{aligned} &&& \sum_{\kappa: (m,i,\kappa) \in {\mathfrak{V}}} g_{m,i,\kappa} - \epsilon_{m,i}= v_{m,i} && \forall m \in \mathcal{M}, \; i \in S_m \\ &&& \sum_{i',\kappa': ((m,i,\kappa),(m+1,i',\kappa')) \in {\mathfrak{E}}} f_{m,i,\kappa,i',\kappa'} = g_{m,i,\kappa} && \forall (m,i,\kappa) \in {\mathfrak{V}}: m \in \{1,\ldots,M-1\} \\ &&& \sum_{i',\kappa': ((m-1,i',\kappa'),(m,i,\kappa)) \in {\mathfrak{E}}} f_{m-1,i',\kappa',i,\kappa} = g_{m,i,\kappa} && \forall (m,i,\kappa) \in {\mathfrak{V}}: m \in \{2,\ldots,M\}\\ &&& \| \epsilon \| \le \eta \\ &&& \sum_{i,\kappa: (M,i,\kappa) \in \mathfrak{V}} g_{M,i,\kappa} = 1 \\ &&& f_{m,i,\kappa,i',\kappa'} \ge 0 && \forall ((m,i,\kappa),(m+1,i',\kappa')) \in {\mathfrak{E}} \\ &&& g_{m,i,\kappa} \ge 0 && \forall (m,i,\kappa) \in {\mathfrak{V}}. \end{aligned}

    Then there exists a vector \lambda such that (\lambda,\epsilon) is a feasible solution for the linear optimization problem (5.11) and

    \begin{aligned} \sum_{(i_1,\ldots,i_M) \in \mathcal{L}} \rho_{i_1 \cdots i_M}(S) \lambda_{i_1 \cdots i_M} \le \sum_{i,\kappa: (M,i,\kappa) \in \mathfrak{V}} \kappa g_{m,i,\kappa} + \sum_{(m,i,\kappa) \in \mathfrak{N}(S)} r_n g_{m,i,\kappa}. \end{aligned}
    Claim

    Claim 12

    CEK1

    If ((1,i_1,\kappa_1),\ldots, (M,i_M,\kappa_M)) \in \mathscr{P}, then (i_1,\ldots,i_M) \in \mathcal{L}.

    Claim

    Claim 13

    ASZ3

    If ((1,i_1,\kappa_1),\ldots, (M,i_M,\kappa_M)) \in \mathscr{P} and (m,i_m,\kappa_m) \notin \mathfrak{N}(S) for all m \in \mathcal{M}, then \kappa_m \ge \rho_{i_1 \cdots i_M}(S \cap S_m) for all m \in \mathcal{M}.

    Claim

    Claim 14

    M46H

    Consider any assortment S \in \mathcal{S}, and let \mathfrak{M}(S) \in \mathbb{R}^{{\mathfrak{V}}} be any vector that satisfies the inequality \mathfrak{M}_{m,i,\kappa}(S) \ge r_n for all (m,i,\kappa) \in \mathfrak{N}(S) and satisfies the equality \mathfrak{M}_{m,i,\kappa}(S) = 0 for all (m,i,\kappa) \in {\mathfrak{V}} \setminus \mathfrak{N}(S). Then the optimal objective value of the linear optimization problem (5.11) is equal to the optimal objective value of the following linear optimization problem:

    \begin{aligned} & \; \underset{f, g,\epsilon}{\textnormal{minimize}} && \sum_{i,\kappa: (M,i,\kappa) \in {\mathfrak{V}}} \kappa g_{M,i,\kappa} + \sum_{(m,i,\kappa) \in {\mathfrak{V}}} \mathfrak{M}_{m,i,\kappa}(S) g_{m,i,\kappa} \\ &\textnormal{subject to}&& \sum_{\kappa: (m,i,\kappa) \in {\mathfrak{V}}} g_{m,i,\kappa} - \epsilon_{m,i}= v_{m,i} && \forall m \in \mathcal{M}, \; i \in S_m \\ &&& \sum_{i',\kappa': ((m,i,\kappa),(m+1,i',\kappa')) \in {\mathfrak{E}}} f_{m,i,\kappa,i',\kappa'} = g_{m,i,\kappa} && \forall (m,i,\kappa) \in {\mathfrak{V}}: m \in \{1,\ldots,M-1\} \\ &&& \sum_{i',\kappa': ((m-1,i',\kappa'),(m,i,\kappa)) \in {\mathfrak{E}}} f_{m-1,i',\kappa',i,\kappa} = g_{m,i,\kappa} && \forall (m,i,\kappa) \in {\mathfrak{V}}: m \in \{2,\ldots,M\}\\ &&& \sum_{i,\kappa: (M,i,\kappa) \in \mathfrak{V}} g_{M,i,\kappa} = 1 \\ &&& \| \epsilon \| \le \eta \\ &&& f_{m,i,\kappa,i',\kappa'} \ge 0 && \forall ((m,i,\kappa),(m+1,i',\kappa')) \in {\mathfrak{E}} \\ &&& g_{m,i,\kappa} \ge 0 && \forall (m,i,\kappa) \in {\mathfrak{V}}. \end{aligned}
    Definition

    Definition J.1

    AJIS

    \xi_{i_1 \cdots i_M}(S) \triangleq \max \limits_{i \in S: \; \cap_{m \in \mathcal{M}} \mathcal{D}_{i_m}(S_m) \cap \mathcal{D}_i(S) \neq \emptyset} r_i.

    Proposition

    Proposition J.2

    V24X

    For each S \in \mathcal{S}, \max_{\lambda \in \mathcal{U}} \mathscr{R}^\lambda(S) is equal to the optimal objective value of the following linear optimization problem:

    \begin{aligned} & \; \underset{\lambda, \epsilon}{\textnormal{maximize}} && \sum_{(i_1,\ldots,i_M) \in \mathcal{L}} \xi_{i_1 \cdots i_M}(S) \lambda_{i_1\cdots i_M}\\ &\textnormal{subject to}&& \sum_{(i_1,\ldots,i_M) \in \mathcal{L}: \; i_m = i} \lambda_{i_1 \cdots i_M} - \epsilon_{m,i}= v_{m,i} \quad \forall m \in \mathcal{M}, \; i \in S_m\\ &&& \sum_{(i_1,\ldots,i_M) \in \mathcal{L}} \lambda_{i_1 \cdots i_M} = 1 \\ &&& \| \epsilon \| \le \eta\\ &&& \lambda_{i_1 \cdots i_M} \ge 0 \quad \forall (i_1,\ldots,i_M) \in \mathcal{L}. \end{aligned}
    Proposition

    Proposition J.3

    0Y97

    For all S \in \mathcal{S} and (i_1,\ldots,i_M) \in \mathcal{L}, \xi_{i_1 \cdots i_M}(S) = \max_{i \in S \cap \mathcal{I}_{i_1 \cdots i_M}(S)} r_i.

    Proposition

    Proposition J.4

    KKSA

    Let S \in \mathcal{S} and i \notin S. If there exists i^* \in \mathcal{S} that satisfies r_{i^*} > r_{i} and \mathcal{M}_{i^*} \subseteq \mathcal{M}_i, then \xi_{i_1 \cdots i_M}(S) \ge \xi_{i_1 \cdots i_M}(S \cup \{i \}) for each (i_1,\ldots,i_M) \in \mathcal{L}.

    Claim

    Claim 15

    UUHH

    For all S \in \mathcal{S}, (i_1,\ldots,i_M) \in \mathcal{L}, and i \notin S,

    \begin{aligned} &\xi_{i_1 \cdots i_M}(S \cup \{i\}) = \begin{cases} \xi_{i_1 \cdots i_M}(S),&\textnormal{if } i \notin \mathcal{I}_{i_1 \cdots i_M}(S),\\ \max \left \{ \max \limits_{j \in S \cap \mathcal{I}_{i_1 \cdots i_M}(S) \cap \left\{ j' \in \mathcal{N}_0: i \nprec_{i_1 \cdots i_M} j' \right\}} r_j, r_{i} \right \}, &\textnormal{if } i \in \mathcal{I}_{i_1 \cdots i_M}(S). \end{cases} \end{aligned}
    Theorem

    Theorem J.6

    L0RB

    There exists an assortment S \in \widehat{\mathcal{S}}^{\textnormal{OO}} that is optimal for (?).

    Lemma

    Lemma J.8

    EE7L

    | \widehat{\mathcal{S}}^{\textnormal{OO}} | \le (n+1)^{2^M}.

    Lemma

    Lemma J.10

    AG89

    The collection of assortments \widehat{\mathcal{S}}^{\textnormal{OO}} can be constructed in \mathcal{O}(n^{2} (M+| \widehat{\mathcal{S}}^{\textnormal{OO}}|)) time.

    Procedure

    Procedure

    VPBP
    1. Initialize the vertex set \mathscr{V}^{\textnormal{OO}} \leftarrow \emptyset and edge set \mathscr{E}^{\textnormal{OO}} \leftarrow \emptyset.

    2. For each product i \in \mathcal{N}^{\textnormal{OO}}:

      1. Update \mathscr{V}^{\textnormal{OO}} \leftarrow \mathscr{V}^{\textnormal{OO}} \cup \{i \}.

      2. Construct the set \mathcal{M}_i of past assortments which offered product i.

    3. For each pair of products (i^*,i) \in \mathcal{N} \times \mathcal{N}:

      1. If r_{i^*} > r_{i} and \mathcal{M}_{i^*} \subseteq \mathcal{M}_i:

        1. Update \mathscr{E}^{\textnormal{OO}} \leftarrow \mathscr{E}^{\textnormal{OO}} \cup \{(i^*,i) \}

    4. Output \mathscr{G}^{\textnormal{OO}} \equiv (\mathscr{V}^{\textnormal{OO}},\mathscr{E}^{\textnormal{OO}}) and terminate.

    A procedure for constructing the directed acyclic graph \mathscr{G}^{\textnormal{OO}}.

    Procedure

    Procedure

    5J06
    1. Construct the directed acyclic graph \mathscr{G}^{\textnormal{OO}} \leftarrow \textsc{Construct-G^OO(M,r)}.

    2. Compute the collection of assortments \widehat{\mathcal{S}}^{\textnormal{OO}} \leftarrow \textsc{RecursiveStep-OO(G^OO)}.

    3. Output \{ S \cup \{0\}: S \in \widehat{\mathcal{S}}^{\textnormal{OO}}\} and terminate.

    Procedure

    Procedure

    BLPD
    1. If \mathscr{V}^{\textnormal{OO}} = \emptyset:

      1. Output the collection \mathscr{A}^{\textnormal{OO}} \equiv\{ \emptyset \} and terminate.

    2. Otherwise:

      Claim

      Claim 16

      6OW0

      Let \mathscr{G}^{\textnormal{OO}} \equiv (\mathscr{V}^{\textnormal{OO}},\mathscr{E}^{\textnormal{OO}}) be a directed acyclic graph that is a transitive closure. For notational convenience, let \mathscr{E}_i^{\textnormal{OO}} denote the set of incoming and outgoing edges from each vertex i \in \mathscr{V}^{\textnormal{OO}}. Then for each vertex i \in \mathscr{V}^{\textnormal{OO}}, we have that \tilde{\mathscr{G}}^{\textnormal{OO}} \equiv (\mathscr{V}^{\textnormal{OO}} \setminus \{i \}, \mathscr{E}^{\textnormal{OO}} \setminus \mathscr{E}_i^{\textnormal{OO}}) is a directed acyclic graph that is a transitive closure.

      Claim

      Claim 17

      JI21

      Let \mathscr{G}^{\textnormal{OO}} \equiv (\mathscr{V}^{\textnormal{OO}},\mathscr{E}^{\textnormal{OO}}) be a directed acyclic graph that is a transitive closure. For notational convenience, let \mathscr{E}_i^{\textnormal{OO}} denote the set of incoming and outgoing edges from each vertex i \in \mathscr{V}^{\textnormal{OO}}. Then for each subset of vertices \mathscr{B}^{\textnormal{OO}} \subseteq \mathscr{V}^{\textnormal{OO}}, we have that \tilde{\mathscr{G}}^{\textnormal{OO}} \equiv (\mathscr{V}^{\textnormal{OO}} \setminus \mathscr{B}^{\textnormal{OO}}, \mathscr{E}^{\textnormal{OO}} \setminus (\cup_{i \in \mathscr{B}^{\textnormal{OO}}} \mathscr{E}_i^{\textnormal{OO}})) is a directed acyclic graph that is a transitive closure.

      Claim

      Claim 18

      HO81

      Let \mathscr{G}^{\textnormal{OO}} \equiv (\mathscr{V}^{\textnormal{OO}},\mathscr{E}^{\textnormal{OO}}) be a directed acyclic graph that is a transitive closure. For notational convenience, let \mathscr{E}_i^{\textnormal{OO}} denote the set of incoming and outgoing edges from each vertex i \in \mathscr{V}^{\textnormal{OO}}. For each vertex i \in \mathscr{V}^{\textnormal{OO}},

      \begin{aligned} &\left \{S \subseteq \mathscr{V}^{\textnormal{OO}} \setminus \{i \}: \textnormal{ if $k \in S$ and $(k,j) \in \mathscr{E}^{\textnormal{OO}}$, then $j \notin S$} \right\} \\ & = \left \{ S \subseteq \mathscr{V}^{\textnormal{OO}} \setminus \{ i \}: \textnormal{if } k \in S \textnormal{ and } (k,j) \in \mathscr{E}^{\textnormal{OO}} \setminus \mathscr{E}_i^{\textnormal{OO}}, \textnormal{ then } j \notin S \right \}. \end{aligned}
      Claim

      Claim 19

      4ZVB

      Let \mathscr{G}^{\textnormal{OO}} \equiv (\mathscr{V}^{\textnormal{OO}},\mathscr{E}^{\textnormal{OO}}) be a directed acyclic graph that is a transitive closure. For notational convenience, let \mathscr{E}_i^{\textnormal{OO}} denote the set of incoming and outgoing edges from each vertex i \in \mathscr{V}^{\textnormal{OO}}. For each vertex i \in \mathscr{V}^{\textnormal{OO}},

      \begin{aligned} &\left \{S \subseteq \mathscr{V}^{\textnormal{OO}}: \left[ i \in S \right] \textnormal{ and } \left[ \textnormal{if $k \in S$ and $(k,j) \in \mathscr{E}^{\textnormal{OO}}$, then $j \notin S$} \right] \right\} \\ & = \left \{ \begin{aligned} &S' \cup \{i \}:\\ &\quad S' \in \left \{ \begin{aligned} &S \subseteq \mathscr{V}^{\textnormal{OO}} \setminus \left( \{i \} \cup \left\{ \ell: (i,\ell) \in \mathscr{E}^{\textnormal{OO}} \right \} \cup \left\{ \ell: (\ell,i) \in \mathscr{E}^{\textnormal{OO}} \right \} \right): \\ &\quad \textnormal{if } k \in S \textnormal{ and } (k,j) \in \mathscr{E}^{\textnormal{OO}} \setminus \left( \mathscr{E}_i^{\textnormal{OO}} \cup \bigcup_{\ell: (i,\ell) \in \mathscr{E}^{\textnormal{OO}} } \mathscr{E}_\ell^{\textnormal{OO}} \cup \bigcup_{\ell: (\ell,i) \in \mathscr{E}^{\textnormal{OO}} } \mathscr{E}_\ell^{\textnormal{OO}} \right), \textnormal{ then } j \in S \end{aligned} \right \} \end{aligned} \right \}. \end{aligned}
      Claim

      Claim 20

      2KVY

      If \mathscr{G}^{\textnormal{OO}} \equiv (\mathscr{V}^{\textnormal{OO}},\mathscr{E}^{\textnormal{OO}}) is a directed acyclic graph that is a transitive closure with | \mathscr{V}^{\textnormal{OO}}| \ge 1, then lines (?), (?), (?), and (?) of Algorithm ? can be performed in \mathcal{O}\left(| \mathscr{V}^{\textnormal{OO}}| \times \left|\textsc{RecursiveStep-OO}(\mathscr{G}^{\textnormal{OO}}) \right| \right) time.

      Claim

      Claim 21

      CX8K

      If \mathscr{G}^{\textnormal{OO}} \equiv (\mathscr{V}^{\textnormal{OO}},\mathscr{E}^{\textnormal{OO}}) is a directed acyclic graph that is a transitive closure with | \mathscr{V}^{\textnormal{OO}}| \ge 1, then the computation time for Algorithm ? is \mathcal{O}(|\mathscr{V}^{\textnormal{OO}}|^2 \times \left|\textsc{RecursiveStep-OO}(\mathscr{G}^{\textnormal{OO}}) \right| ).

      Claim

      Claim 22

      1M1F

      For each S \subseteq \mathcal{N}_0 that satisfies S \cap S_1 \neq \emptyset, \max_{\lambda \in \mathcal{U}} \mathscr{R}^\lambda(S) is equal to the optimal objective value of the following linear optimization problem: 911 0.8em 0.3em 0.5em 0.3em 0.6em 0.3em 0.3em 0.5em 1em 0 2 11pt plus 0.5pt minus 0.35pt =11pt=9pt

      \begin{aligned} & \; \underset{f, g,\epsilon}{\textnormal{maximize}} && \sum_{i,\kappa: (M,i,\kappa) \in \mathfrak{V}} \kappa g_{M,i,\kappa} \\ &\textnormal{subject to}&& \textnormal{ same constraints as \eqref{prob:lp_reform_nested}}\end{aligned}

      Source and licence

      The text on this page is from arXiv:2112.05010v4 by Bradley Sturt, under the licence CC BY 4.0. The corpus made these changes: it read the items out of the LaTeX source, it expanded the macros of the paper, it put each proof after its statement, and it converted the text to HTML. The formulas are the TeX of the paper, and KaTeX renders them. A formula or a reference can look different from the PDF. The page is published under CC BY 4.0.

      The record of each item is in analysis/objects/2112/2112.05010.jsonl.