SlowGuess/NeurIPS_2023_OCR huggingface dataset:
Theorem 4.6 states that an optimization task is separable if its cost and transition functions are Markovian, its combining operator preserves order over the comparison operator and its constraint is anti-monotonic.
To prove that these conditions are both sufficient and necessary, we need to show that the conditions mentioned in Theorem 4.6 are equivalent to those mentioned in Prop. 4.3. We will first show that these conditions are sufficient, and then that they are also necessary.
Proof. Let  $o = \langle g, t, \succ, \oplus, c, s_0 \rangle$  be an optimization task, for which it holds that the cost function  $g$  and transition function  $t$  is Markovian, the combining operator  $\oplus$  preserves order over  $\succ$  and the constraint  $c$  is anti-monotonic.
We will call an optimization task that satisfies Eq. (12) splittable. We begin by proving that  $o$  is splittable. Consider any state  $s$ , any branching feature  $f$ , such that  $s_1 = t(s, f)$  and  $s_2 = t(s, \bar{f})$ , and let  $\Theta, \Theta_1$  and  $\Theta_2$  be sets of solutions such that  $\Theta = \mathrm{merge}(\Theta_1, \Theta_2, s, f)$ , and let the optimal solutions from these sets be given by  $\theta = \mathrm{opt}(\Theta, s)$ ,  $\theta_1 = \mathrm{opt}(\Theta_1, s_1)$  and  $\theta_2 = \mathrm{opt}(\Theta_2, s_2)$ . Then, according to Eq. (12) an optimization task is splittable if and only if:
$$
\theta = \operatorname {o p t} \left(\operatorname {m e r g e} \left(\theta_ {1}, \theta_ {2}, s, f\right), s\right) \tag {13}
$$
For this to hold the solution set  $\theta$  must be both a subset and a superset of the right-hand side of Eq. (13). We consider both next. However, for brevity of notation, we leave out the states  $s, s_1, s_2$  and the branching feature  $f$ .
1.  $\theta$  is a subset:
$$
\theta \subseteq \operatorname {o p t} \left(\operatorname {m e r g e} \left(\theta_ {1}, \theta_ {2}\right)\right) \tag {14}
$$
By definition  $\mathrm{opt}(\Theta) \subseteq \Theta$ , and therefore Eq. (14) is always true if
$$
\theta \subseteq \operatorname {m e r g e} \left(\theta_ {1}, \theta_ {2}\right) \tag {15}
$$
This can be shown by contradiction: Assume that Eq. (15) is false. This means there must exist a solution  $v \in \theta$  for which  $v \notin \mathrm{merge}(\theta_1, \theta_2)$ . By definition  $\theta = \mathrm{opt}(\Theta) = \mathrm{opt}(\mathrm{merge}(\Theta_1, \Theta_2))$ . This means that this solution can be written as  $v = v_1 \oplus v_2$ , with  $v_1 \in \Theta_1$  and  $v_2 \in \Theta_2$ . Because of the definition of merge, either  $v_1 \notin \theta_1$  or  $v_2 \notin \theta_2$ . Assume w.l.o.g. that this is true for  $v_1$ . If  $v_1 \notin \theta_1$ , this is either because it is filtered out by feas or by nondom.
(a) If  $v_{1}$  is filtered out by feas, then  $v_{1} \notin \mathrm{feas}(\Theta_{1})$ . This means that  $\neg c(v_{1})$ . Because  $o$  is anti-monotonic, then by Def. 4.5 also  $v_{1} \oplus v_{2} \notin \theta$ , which contradicts the assumption made before.
(b) If  $v_{1}$  is filtered out by nondom, then  $\exists v_{1}^{\prime} \in \theta_{1}: v_{1}^{\prime} \succ v_{1}$ . Now construct solution  $v^{\prime} = v_{1}^{\prime} \oplus v_{2}$ . Because  $\oplus$  preserves order over  $\succ$ , it holds that  $v^{\prime} \succ v$ . This means that  $v \notin \theta$ , contradicting our assumption.
In either case, the assumption is contradicted, and therefore Eq. (14) must be true.
2.  $\theta$  is a superset:
$$
\theta \supseteq \operatorname {o p t} \left(\operatorname {m e r g e} \left(\theta_ {1}, \theta_ {2}\right)\right) \tag {16}
$$
Again, by contradiction, assume that Eq. (16) is false. This means there must exists a solution  $v = v_{1} \oplus v_{2}$ , with  $v \in \mathrm{opt}(\mathrm{merge}(\theta_{1},\theta_{2}))$ , such that  $v \notin \theta$ . This means that  $v$  is either filtered out of  $\theta$  by feas or by nondom.
(a) If  $v$  is filtered out by feas, it cannot be a member of  $\mathrm{opt}(\mathrm{merge}(\theta_1, \theta_2))$ , since it also applies feas.
(b) If  $v$  is dominated by another solution in  $\theta$ , then there must exist a solution  $v' \in \theta : v' \succ v$ , but  $v' \notin \mathrm{opt}(\mathrm{merge}(\theta_1, \theta_2))$ . However, because of Eq. (14), this cannot be the case.
Again, in either case, the assumption is contradicted, and therefore Eq. (16) is true.
Since both Eq. (14) and Eq. (16) are true, Eq. (13) must be true and thus  $o$  is splittable.
Since both Prop. 4.3 and Theorem 4.6 share the conditions that the cost and transition function must be Markovian, and because  $o$ 's cost and transition function are Markovian and  $o$  is splittable, optimization task  $o$  is separable by Def. 4.2. Since this holds for any optimization task  $o$  that satisfies the conditions of Theorem 4.6, these conditions are sufficient to prove separability.
The conditions are also necessary. The condition of a Markovian cost and transition function is shared among Prop. 4.3 and Theorem 4.6 and therefore obviously necessary. Therefore, what is left to show is that order preservation and anti-monotonic constraints are necessary conditions to show the principle of optimality. For brevity of notation, we again leave out the states  $s, s_1, s_2$  and the branching feature  $f$ .
Order preservation Let  $\Theta = \mathrm{merge}(\Theta_1, \Theta_2)$ , with  $\theta = \mathrm{opt}(\Theta)$ ,  $\theta_1 = \mathrm{opt}(\Theta_1)$  and  $\theta_2 = \mathrm{opt}(\Theta_2)$ . Now assume that the splitting property holds: This means that for all  $v = v_1 \oplus v_2$ , with  $v \in \theta$ , also  $v_1 \in \theta_1$  and  $v_2 \in \theta_2$  and the other way around. Now assume that order preservation is not necessary. This means  $\exists v_1' \notin \theta_1$ , with  $v' = v_1' \oplus v_2$ . Consider two cases: if  $v' \in \theta$ , then  $v_1' \in \theta_1$ : a contradiction. However, if  $v' \notin \theta$ , then also  $v \notin \theta$ : a contradiction.
Anti-monotonicity If the constraint  $c$  is not anti-monotonic, then there exists a solution  $v = v_{1} \oplus v_{2}$  with  $\neg c(v_{1})$ , but with  $v \in \mathrm{opt}(\Theta)$ . If  $\neg c(v_{1})$ , then  $v_{1} \notin \mathrm{opt}(\Theta_{1})$ . Thus, the splitting property is not satisfied.
Since each condition separately is necessary and all conditions together are sufficient, Theorem 4.6 holds.
A.3 Proof of Theorem 4.7 about the Optimality of STreeD
Theorem 4.7 states that any separable optimization task can be solved to optimality using Eq. (8) from the main text. Here, we provide a proof for this theorem.
Proof. Let  $\Theta(s, d)$  denote the set of all possible solution values to a decision tree search problem with state  $s$ , and  $d$  the maximum depth of the tree, and let  $\theta(s, d)$  be the set of nondominated and feasible solutions for a given separable optimization task  $o = \langle g, t, \succ, \oplus, c, s_0 \rangle$ :
$$
\theta (s, d) = \operatorname {o p t} (\Theta (s, d), s) \tag {17}
$$
We need to prove that for every state  $s$  and depth  $d$ , Eq. (8) returns the optimal solution:
$$
\theta (s, d) = T (s, d) \tag {18}
$$
We will prove this by induction over  $d$ .
Base step: If  $d = 0$ , because the cost function  $g$  is Markovian, the solution set  $\Theta(s, 0)$  can be described as:
$$
\Theta (s, 0) = \bigcup_ {\hat {k} \in \mathcal {K}} \left\{g (s, \hat {k}) \right\} \tag {19}
$$
Therefore the optimal solution set as defined by Eq. (17) is precisely what Eq. (8) returns for  $d = 0$ :
$$
\theta (s, 0) = T (s, 0) \tag {20}
$$
Therefore, since we made no further assumptions, the base step of this proof holds.
Induction step: For  $d > 0$ , we assume that Eq. (8) returns the optimal solution for  $d - 1$ :
$$
\theta (s, d - 1) = T (s, d - 1) \tag {21}
$$
We now need to show that Eq. (8) when  $d > 0$  returns the optimal solution:
$$
\theta (s, d) = \operatorname {o p t} (\Theta (s, d)) = \operatorname {o p t} \left(\bigcup_ {f \in \mathcal {F}} \operatorname {m e r g e} \left(T (t (s, f), d - 1), T (t (s, \bar {f}), d - 1)\right)\right) \tag {22}
$$
Define  $\Theta_f(s, d)$  as denoting the set of all possible solution values with feature  $f$  as the branching feature of the root:
$$
\Theta_ {f} (s, d) = \operatorname {m e r g e} (\Theta (t (s, f), d - 1), \Theta (t (s, \bar {f}), d - 1), s, f) \tag {23}
$$
When  $d > 0$ , the set  $\Theta(s, d)$  can be described as the combination of all sets:
$$
\Theta (s, d) = \bigcup_ {f \in \mathcal {F}} \Theta_ {f} (s, d) \tag {24}
$$
Any solution that would be filtered out in a subset would also be filtered out in the whole set, therefore:
$$
\operatorname {o p t} \left(\cup_ {\Theta^ {\prime}} \Theta^ {\prime}\right) = \operatorname {o p t} \left(\cup_ {\Theta^ {\prime}} \operatorname {o p t} \left(\Theta^ {\prime}\right)\right) \tag {25}
$$
We can now derive the following:
$$
\begin{array}{l} \theta (s, d) = \operatorname {o p t} (\Theta (s, d)) \\ = \operatorname {o p t} \left(\cup_ {f \in \mathcal {F}} \Theta_ {f} (s, d)\right) \tag {26} \\ = \operatorname {o p t} \left(\cup_ {f \in \mathcal {F}} \operatorname {o p t} \left(\Theta_ {f} (s, d)\right)\right) \\ \end{array}
$$
Because of Eq. (26), in order to prove Eq. (22), we only need to show the following:
$$
\theta_ {f} (s, d) = \operatorname {o p t} \left(\operatorname {m e r g e} \left(T (t (s, f), d - 1), T (t (s, \bar {f}), d - 1), s, f\right), s\right) \tag {27}
$$
Since the induction step assumes  $T$  computes optimal trees for  $d - 1$ , we may here substitute with Eq. (21):
$$
\theta_ {f} (s, d) = \operatorname {o p t} \left(\operatorname {m e r g e} \left(\theta (t (s, f), d - 1), \theta (t (s, \bar {f}), d - 1), s, f\right), s\right) \tag {28}
$$
Because the optimization task is separable, it is splittable, and therefore Eq. (27) holds.
Therefore the induction step also holds. Since this proof is shown without any further assumptions, by mathematical induction Theorem 4.7 is true.
A.4 Threshold constraints
Many constraints, such as capacity constraints, can be considered as an objective with a threshold value  $\beta$ :
$$
c _ {\beta} (v, s) = \mathbb {1} (v \succ \beta) \tag {29}
$$
Eq. (29) means that a solution is feasible if its solution value is better  $(\succ)$  than the threshold. E.g., when minimizing, any solution with a value lower than the bound is feasible.
Constraints need to be anti-monotonic to be separable. Threshold constraints are anti-monotonic provided that the combining operator  $\oplus$  is worsening and the comparison operator  $\succ$  is transitive:
Definition A.2. (Worsening operator) A combining operator  $\oplus$  is called worsening if and only if  $v = v_{1} \oplus v_{2} \to v_{1} \succeq v \wedge v_{2} \succeq v$ .
For example, when setting prices to maximize revenue under a maximum supply constraint, you can calculate the expected demand in each node, sum demand from several nodes by using addition, and then prune trees that exceed this maximum supply by using a threshold constraint.
Proposition A.3. Given an optimization task  $o = \langle g, t, \succ, \oplus, c_{\beta}, s_0 \rangle$ , if the combining operator  $\oplus$  satisfies the worsening property and if the comparison operator  $\succ$  is transitive, then the threshold constraint  $c_{\beta}$  is anti-monotonic.
Proof. Given any  $v_{1} \in \Theta_{1}, v_{2} \in \Theta_{2}$  with  $\beta \succ v_{1}$  (or w.l.o.g.,  $\beta \succ v_{2}$ ), such that  $v_{1} \notin \theta_{1}$ . Let  $v = v_{1} \oplus v_{2}$  with  $\oplus$  worsening, then  $\beta \succ v_{1} \succeq v$  and therefore  $v \notin \theta$ , and therefore  $c_{\beta}$  is anti-monotonic.
A.5 Combining multiple optimization tasks
We now show that a combination of separable optimization tasks is also separable. This is important for multi-objective optimization or for optimizing with a constraint. For example, we can maximize revenue in the first task, while respecting a maximum supply constraint in the second task. Let  $o_{a} = \langle g_{a}, t_{a}, \succ_{a}, \oplus_{a}, c_{a}, s_{0}^{a} \rangle$  and  $o_{b} = \langle g_{b}, t_{b}, \succ_{b}, \oplus_{b}, c_{b}, s_{0}^{b} \rangle$  be two separable optimization tasks. Two (or more) of such tasks can now be combined with the following equations:
$$
g \left(\left\langle s _ {a}, s _ {b} \right\rangle , \hat {k}\right) = \left\langle g _ {a} \left(s _ {a}, \hat {k}\right), g _ {b} \left(s _ {b}, \hat {k}\right) \right\rangle \tag {30}
$$
$$
g \left(\left\langle s _ {a}, s _ {b} \right\rangle , f\right) = \left\langle g _ {a} \left(s _ {a}, f\right), g _ {b} \left(s _ {b}, f\right) \right\rangle \tag {31}
$$
$$
t \left(\left\langle s _ {a}, s _ {b} \right\rangle , f\right) = \left\langle t _ {a} \left(s _ {a}, f\right), t _ {b} \left(s _ {b}, f\right) \right\rangle \tag {32}
$$
$$
\langle v _ {1} ^ {a}, v _ {1} ^ {b} \rangle \succ \langle v _ {2} ^ {a}, v _ {2} ^ {b} \rangle \text {i f f} \langle v _ {1} ^ {a}, v _ {1} ^ {b} \rangle \neq \langle v _ {2} ^ {a}, v _ {2} ^ {b} \rangle \wedge v _ {1} ^ {a} \succeq v _ {2} ^ {a} \wedge v _ {1} ^ {b} \succeq v _ {2} ^ {b} \tag {33}
$$
$$
\left\langle v _ {1} ^ {a}, v _ {1} ^ {b} \right\rangle \oplus \left\langle v _ {2} ^ {a}, v _ {2} ^ {b} \right\rangle = \left\langle v _ {1} ^ {a} \oplus_ {a} v _ {2} ^ {a}, v _ {1} ^ {b} \oplus_ {b} v _ {2} ^ {b} \right\rangle \tag {34}
$$
$$
c \left(\left\langle v _ {a}, v _ {b} \right\rangle , \left\langle s _ {a}, s _ {b} \right\rangle\right) = \mathbb {1} \left(c _ {a} \left(v _ {a}, s _ {a}\right) \wedge c _ {b} \left(v _ {b}, s _ {b}\right)\right) \tag {35}
$$
$$
s _ {0} = \left\langle s _ {0} ^ {a}, s _ {0} ^ {b} \right\rangle \tag {36}
$$
Eqs. (30)-(31) define the cost function as returning a tuple of the values that  $g_{a}$  and  $g_{b}$  return. Eq. (32) returns the result of both transition functions. Eq. (33) gives a partially defined comparison operator which states that a solution only dominates another solution if the solution values for both optimization tasks dominate both values of another solution. Eq. (34) defines the combination operator by applying the combination operator of the sub-tasks to the corresponding values of the left and right-hand side. Eq. (35) defines a new constraint that is only feasible when the solution is feasible according to both sub-constraints. Finally, Eq. (36) sets the starting state as the combination of both starting states.
Proposition A.4. Let  $o_a = \langle g_a, t_a, \succ_a, \oplus_a, c_a, s_0^a \rangle$  and  $o_b = \langle g_b, t_b, \succ_b, \oplus_b, c_b, s_0^b \rangle$  be two separable optimization tasks. Then the combined optimization task  $\langle g, t, \succ, \oplus, c, s_0 \rangle$  defined by Eqs. (30)-(36) is also separable.
To prove Prop. A.4 it is necessary to show that the optimization task resulting from applying Eqs. (30)-(36) satisfies all the properties of being a separable optimization task.
Proof. Given two separable optimization tasks  $o_{a} = \langle g_{a}, t_{a}, \succ_{a}, \oplus_{a}, c_{a}, s_{0}^{a} \rangle$  and  $o_{b} = \langle g_{b}, t_{b}, \succ_{b}, \oplus_{b}, c_{b}, s_{0}^{b} \rangle$ , and an optimization task  $o = \langle g, t, \succ, \oplus, c, s_{0} \rangle$  which is the result of applying Eqs. (30)-(36) to  $o_{a}$  and  $o_{b}$ .
Markovian: If  $g_{a}, g_{b}, t_{a}$  and  $t_{b}$  are Markovian, then  $g$  and  $t$  are also Markovian since their value can be fully expressed by calling the functions of the subtasks, which are Markovian, without considering any other decision variables.
Order preservation: If  $\oplus_{a}$  preserves order over  $\succ_{a}$  and  $\oplus_{b}$  preserves order over  $\succ_{b}$ , then  $\oplus$  also preserves order over  $\succ$ , because of the following.
Consider solutions  $\langle v_1^a, v_1^b \rangle \in \mathrm{opt}(\Theta_1, s_1), \langle v_1^{a'}, v_1^{b'} \rangle \in \Theta_1$ , so that  $\langle v_1^a, v_1^b \rangle \succ \langle v_1^{a'}, v_1^{b'} \rangle$ , consider  $\langle v_2^a, v_2^b \rangle \in \mathrm{opt}(\Theta_2, s_2)$  and assume that  $\oplus$  is commutative. Then, because of Eq. (33), there are two options: either  $v_1^a \succ_a v_1^{a'} \wedge v_1^b \succ_b v_1^{b'}$ , or  $v_1^a \succeq_a v_1^{a'} \wedge v_1^b \succ_b v_1^{b'}$ . W.l.o.g., choose the first. Since  $\oplus_a$  preserves order over  $\succ_a$  and  $\oplus_b$  preserves order over  $\succ_b$ , we can now say that  $v_1^a \oplus_a v_2^a \succ_a v_1^{a'} \oplus_a v_2^a$  and also  $v_1^b \oplus_b v_2^b \succ_b v_1^{b'} \oplus_b v_2^b$ . Because of Eqs. (33)-(34), it follows:
$$
\left\langle v _ {1} ^ {a}, v _ {1} ^ {b} \right\rangle \oplus \left\langle v _ {2} ^ {a}, v _ {2} ^ {b} \right\rangle \succ \left\langle v _ {1} ^ {a ^ {\prime}}, v _ {1} ^ {b ^ {\prime}} \right\rangle \oplus \left\langle v _ {2} ^ {a}, v _ {2} ^ {b} \right\rangle \tag {37}
$$
Therefore  $\oplus$  also preserves order over  $\succ$ .
If  $\oplus$  is not commutative, the proof above should be repeated with the operands for every use of  $\oplus$  switched around.
Anti-monotonicity: If  $c_{a}$  and  $c_{b}$  are both anti-monotonic, then for any given solution  $v_{1} = \langle v_{1}^{a}, v_{1}^{b} \rangle$  and  $v_{2}$ , and  $v = \langle v^{a}, v^{b} \rangle = v_{1} \oplus v_{2}$ , and any given state  $s$  and branching decision  $f$ , such that  $s_{1} = t(s, f)$  and  $s_{2} = t(s, \bar{f})$ : if  $\neg c_{a}(v_{1}^{a}, s_{1})$  (or similarly for  $c_{b}$  and  $v_{2}$  and  $s_{2}$ ), then also  $\neg c_{a}(v^{a}, s)$ , and therefore  $\neg c(v, s)$ , thus  $c$  is also anti-monotonic.
Conclusion Since the combined optimization task  $o$  satisfies all necessary properties,  $o$  is also separable.
Figure 3: The result of subtracting the left solutions  $\{(1,3),(5,2)\}$  from the upper bound  $\{(0,8),(4,6),(8,3),(14,0)\}$ . Subtracting the solution  $(1,3)$  results in the blue Pareto front  $\{(0,5),(3,3),(7,0)\}$ . Subtracting the solution  $(5,2)$  results in the red Pareto front  $\{(0,4),(3,1),(9,0)\}$ . Combining these two Pareto fronts results in the green Pareto front  $\{(0,5),(3,3),(7,1),(9,0)\}$ .
B Pseudo-code and Implementation
This section gives further details on the implementation of STreeD. First, we explain how upper and lower bounding works. Second, we expand on how to search for sparse trees and how to tune the number of nodes. Third, we provide conditions for caching. Fourth, pseudo-code for STreeD is given. Finally, a special solver for trees of depth two is discussed.
Upper bounds A set of solutions ub is an upper bound to another set  $\Theta$  if for all solution  $v$  in  $\Theta$  no solution in ub exists that is equal or dominates it:
$$
\forall v \in \Theta : \neg \exists v ^ {\prime} \in \operatorname {u b}: v ^ {\prime} \succeq v \tag {38}
$$
An upper bound can be used to prune solutions that are dominated by it. The upper bound ub dominates a solution  $v$  if there exists a solution  $v' \in \mathrm{ub}$  that is equal to or dominates  $v$ :
$$
\mathrm {u b} \leq v \Leftrightarrow \exists v ^ {\prime} \in \mathrm {u b}: v ^ {\prime} \succeq v \tag {39}
$$
This upper bound is used to prune poor solutions earlier in the search. To signify this we introduce the following new notation:
$$
\operatorname {o p t} (\Theta , s, \mathrm {u b}) = \operatorname {o p t} \left(\{v \in \Theta \mid v \leq \mathrm {u b} \}, s\right) \tag {40}
$$
Subtracting In a branching node, when solutions  $\Theta_{1}$  are known for one subtree, these can be used to update the upper bounds for the other subtree, provided that an appropriate subtraction operator  $\ominus$  exists. For totally ordered optimization tasks, the upper bound for the other subtree can be simply computed by subtracting the solution from the current upper bound. However, for partially ordered objectives, the procedure is more complicated.
Consider the example shown in Fig. 3 where the goal is to minimize both dimensions, and the subtraction  $\ominus$  is defined as element-wise subtraction (but values below zero are set to zero). The idea is to find first for each solution  $v\in \Theta_{1}$  the upper bound  $\mathrm{ub}_v$  when  $v$  is subtracted from the upper bound ub (the blue and red plusses in Fig. 3).
$$
\mathrm {u b} _ {v} = \operatorname {n o n d o m} \left(\left\{u \ominus v \mid u \in \mathrm {u b} \right\}\right) \tag {41}
$$
The final new upper bound  $\mathrm{ub}_2$  is the Pareto front that covers precisely the outer edge of all upper bounds  $\mathrm{ub}_v$ , such that if any solution is dominated by all  $\mathrm{ub}_v$ , it is dominated by  $\mathrm{ub}_2$ .
To compute this new upper bound, we need to define some more functions. Let  $\prec$  decide if one solution is reverse Pareto dominated. Similarly, let  $\overline{\text{nomdom}}$  be the set of reverse nondominated solutions. Let the operator  $\triangle$  combine two solutions  $v_{1}$  and  $v_{2}$  such that  $v_{1} \triangle v_{2} \preceq v_{1}$  and also  $v_{1} \triangle v_{2} \preceq v_{2}$ . Similarly, let the operator  $\bigtriangledown$  combine two solutions  $v_{1}$  and  $v_{2}$  such that  $v_{1} \bigtriangledown v_{2} \succeq v_{1}$  and also  $v_{1} \bigtriangledown v_{2} \succeq v_{2}$ . E.g.,  $(0,5) \triangle (3,3) = (3,5)$ .
For the example domains considered in this paper, all of these operators  $(\ominus, \prec, \triangle, \text{and} \vee)$  can be defined. If  $\oplus$  is (element-wise) addition, then  $\ominus$  is (element-wise) subtraction, and  $\prec$  is defined like  $\succ$  but with the comparison reversed. In this case,  $\triangle$  and  $\bigtriangledown$  are defined as (element-wise) max and min respectively.
With help of the functions above, one can compute the reverse Pareto front of  $\mathrm{ub}_v$  (the blue and red crosses in Fig. 3).
$$
\operatorname {r e v e r s e} (\Theta) = \operatorname {n o n d o m} \left(\left\{v _ {1} \triangle v _ {2} \mid v _ {1}, v _ {2} \in \Theta \right\}\right) \tag {42}
$$
And similarly, to reverse back:
$$
\overline {{\operatorname {r e v e r s e}}} (\Theta) = \overline {{\operatorname {n o n d o m}}} \left(\left\{v _ {1} \bigtriangledown v _ {2} \mid v _ {1}, v _ {2} \in \Theta \right\}\right) \tag {43}
$$
The upper bounds  $\mathrm{ub}_v$  can be combined using nondom:
$$
\mathrm {u b} _ {2} ^ {*} = \overline {{\text {n o n d o m}}} \left(\bigcup_ {v \in \Theta_ {1}} \mathrm {u b} _ {v}\right) \tag {44}
$$
However, the set  $\mathrm{ub}_2^*$  is not always the best upper bound. E.g., in Fig. 3 it would not include (7, 1), and therefore would not consider the solution (8, 2) dominated, even though it is.
The quality of the upper bound can be improved by also considering the reverse Pareto fronts. The reverse Pareto fronts of the solutions  $v \in \Theta$  can be combined using nondom and then reversed back with reverse as follows:
$$
\mathrm {u b} _ {2} ^ {\prime} = \overline {{\text {r e v e r s e}}} \left(\overline {{\text {n o n d o m}}} \left(\bigcup_ {v \in \Theta_ {1}} \operatorname {r e v e r s e} \left(\mathrm {u b} _ {v}\right)\right)\right) \tag {45}
$$
The final upper bound for the other subtree (the green circles in Fig. 3) is obtained by combining the two sets with nondom:
$$
\mathrm {u b} _ {2} = \mathrm {u b} - \Theta_ {1} = \overline {{\text {n o n d o m}}} \left(\mathrm {u b} _ {2} ^ {*} \cup \mathrm {u b} _ {2} ^ {\prime}\right) \tag {46}
$$
Lower bounds The set  $\mathrm{lb}$  is a lower bound to  $\Theta$ , if for all solutions  $v$  in  $\Theta$  there is no solution in  $\mathrm{lb}$  which is dominated by  $v$ :
$$
\forall v \in \Theta : \neg \exists v ^ {\prime} \in \mathrm {l b}: v \succ v ^ {\prime} \tag {47}
$$
We compute lower bounds similarly as Demirović and Stuckey [19]. We use the notation  $\mathrm{LB}(s,d)$  for retrieving a lower bound from the cache or by computing it by using a similarity bound for a state  $s = \langle \mathcal{D},F\rangle$ . Any optimal solution in the cache is also a lower bound. Furthermore, if a tree search node is infeasible (no feasible solution below the upper bound ub exists), then the upper bound for this node becomes a lower bound that is stored in the cache.
The lower bound may also be computed by using a similarity bound, but this only applies when the optimization task