# On new methods to construct lower bounds in simplicial branch and bound based on interval arithmetic

B. G.-Tóth<fnref n="1" /> · L. G. Casado<fnref n="2" /> · E. M. T. Hendrix<fnref n="3" />☐ · F. Messine<fnref n="4" />

Received: 1 December 2020 / Accepted: 8 May 2021 / Published online: 10 July 2021
© The Author(s) 2021

## Abstract

Branch and Bound (B&B) algorithms in Global Optimization are used to perform an exhaustive search over the feasible area. One choice is to use simplicial partition sets. Obtaining sharp and cheap bounds of the objective function over a simplex is very important in the construction of efficient Global Optimization B&B algorithms. Although enclosing a simplex in a box implies an overestimation, boxes are more natural when dealing with individual coordinate bounds, and bounding ranges with Interval Arithmetic (IA) is computationally cheap. This paper introduces several linear relaxations using gradient information and Affine Arithmetic and experimentally studies their efficiency compared to traditional lower bounds obtained by natural and centered IA forms and their adaption to simplices. A Global Optimization B&B algorithm with monotonicity test over a simplex is used to compare their efficiency over a set of low dimensional test problems with instances that either have a box constrained search region or where the feasible set is a simplex. Numerical results show that it is possible to obtain tight lower bounds over simplicial subsets.

**Keywords** Simplex · Branch and bound · Interval arithmetic · Affine arithmetic · Linear programming

This work has been funded by grant RTI2018-095993-B-I00 from the Spanish Ministry.

<figure><img src="image_1.png" /></figure>

E. M. T. Hendrix
eligius.hendrix@wur.nl

B. G.-Tóth
boglarka@inf.szte.hu

L. G. Casado
leo@ual.es

F. Messine
frederic.messine@laplace.univ-tlse.fr

<footnote n="1">¹ Department of Computational Optimization, University of Szeged, Szeged, Hungary</footnote>

<footnote n="2">² Informatics Department, University of Almería, CeiA3, Almería, Spain</footnote>

<footnote n="3">³ Universidad de Málaga and Wageningen University, Wageningen, Netherlands</footnote>

<footnote n="4">⁴ LAPLACE-ENSEEIHT, Toulouse-INP, University of Toulouse, Toulouse, France</footnote>
# 1 Introduction

A review of simplicial Branch and Bound (B&B) can be found in [15]. Recently, there is a renewed interest in generating tight bounds over simplicial partition sets. Karhbet and Kearfott [7] discuss the idea of using range computation over simplices based on Interval Arithmetic. In [12], focus is on using second derivative enclosures for generating bounds. These works do not take monotonicity considerations over the simplex into account as discussed by [6]. Our research question is how information on the bounds of first derivatives can be used to derive tight bounds and to create new monotonicity tests in simplicial B&B. To investigate this question, we derive bounds based on derivative information and implement them in a B&B algorithm to compare the different techniques.

The rest of this paper is organized as follows. Section 2 introduces the notation. Section 3 presents several approaches to obtain lower bounds of a function over a simplex. Section 4 deals with monotonicity over a simplex. Section 5 describes the Global Optimization B&B algorithm to compare lower bounding methods over a simplex. Section 6 compares the results of the bounding techniques numerically on a large number of instances. Finally, Sect. 7 presents our findings.

# 2 Preliminaries

Consider a function $f: \mathbb{R}^n \to \mathbb{R}$ which has to be minimized over a feasible set $D \subset \mathbb{R}^n$, which is either a box or a simplex, on which $f$ is differentiable:

$$ \min_{x \in D} f(x). $$

The simplicial B&B algorithm to be investigated uses simplicial partition sets $S$ and lower bounds of $\min_{x \in S} f(x)$.

**Notation 1** Let $\mathcal{V} = \{v_0, \dots, v_n\} \subset \mathbb{R}^n$ denote a set of $n + 1$ affinely independent vertices. For the component $i$ of vertex $j$, we use the notation $(v_j)_i$.

**Notation 2** An $n$-simplex $S$ is determined by the convex hull of $\mathcal{V}$, i.e. $S = \text{conv}(\mathcal{V})$

$$ S = \left\{ y = \sum_{j=0}^{n} \lambda_j v_j \mid \lambda_j \ge 0, j = 0, \dots, n, \sum_{j=0}^{n} \lambda_j = 1 \right\}. \quad (1) $$

**Notation 3** We denote intervals by boldface letters and their lower and upper bound by ‘underline’ and ‘overline’, respectively. The radius of an interval $\mathbf{x} = [\underline{\mathbf{x}}, \bar{\mathbf{x}}]$ is denoted by $\text{rad}(\mathbf{x}) = \frac{\bar{\mathbf{x}}-\mathbf{x}}{2}$ and its midpoint by $\text{mid}(\mathbf{x}) = \frac{\bar{\mathbf{x}}+\mathbf{x}}{2}$. For an interval vector (also called a box) these are taken component-wise. The width of a box $\mathbf{x} = (\mathbf{x}_1, \dots, \mathbf{x}_n)^T$ is to be understood as wide $(\mathbf{x}) = 2 \max_{i=1,\dots,n} \text{rad}(\mathbf{x}_i)$.

**Notation 4** The interval hull of a simplex $S$ is denoted by $\square S = \square \text{conv}(\mathcal{V})$, that is the smallest interval box enclosing the simplex $S$. Let $\mathbf{x} = \square S$, where

$$ \mathbf{x}_i = [\underline{x}_i, \bar{x}_i] = [\min_{v \in \mathcal{V}} (v)_i, \max_{v \in \mathcal{V}} (v)_i] \quad \forall i \in \{1, \dots, n\}. \quad (2) $$

**Remark 1** For cases where $\mathbf{x} = \square S \subseteq D$, $f$ is differentiable over $\mathbf{x}$. Notice that if $D$ is a box and $S \subset D$, automatically we have $\square S \subseteq D$. However, if $D$ is a simplex, then $f$ is not necessarily differentiable over $\mathbf{x} = \square S$.
**Notation 5** The boundary and interior of set S is denoted by $\partial S$ and int S, respectively, where $S = \partial S \cup \text{int } S$ and $\partial S \cap \text{int } S = \emptyset$.

# 3 Bounding techniques over a simplex

## 3.1 Extension of standard interval bounding techniques to simplices

Extensive investigation on Interval Arithmetic has lead to many ways to derive rigorous bounds, see for instance [5,8,13,17].

**Notation 6** Let $f$ denote the natural interval extension [13] of an expression $f$ with

$$f(\mathbf{x}) = [\underline{f}(\mathbf{x}), \overline{f}(\mathbf{x})] \supseteq [\min_{\mathbf{x} \in \mathbf{x}} f(\mathbf{x}), \max_{\mathbf{x} \in \mathbf{x}} f(\mathbf{x})], \forall \mathbf{x} \subseteq D.$$

**Remark 2** $\forall \mathbf{x} \in S \times \mathbf{x} = \square S, f(\mathbf{x}) \in f(\mathbf{x})$.

**Notation 7** Let $\nabla f(\mathbf{x})$ denote an enclosure of the gradient and $\nabla f_i(\mathbf{x}) = [\nabla \underline{f}_i(\mathbf{x}), \nabla \overline{f}_i(\mathbf{x})]$ the i-th component of the interval gradient. They can be computed using Interval Arithmetic<fnref n="1" /> and Automatic Differentiation<fnref n="2" /> [16].

**Remark 3** $\forall \mathbf{x} \in \mathbf{x}, \frac{\partial f}{\partial x_i}(\mathbf{x}) \in \nabla f_i(\mathbf{x})$. Then, $\forall \mathbf{x} \in S \times \mathbf{x} = \square S, \frac{\partial f}{\partial x_i}(\mathbf{x}) \in \nabla f_i(\mathbf{x})$.

**Notation 8** A centered form on a box $\mathbf{x}$ with center $c$ is denoted by $f_c(\mathbf{x})$. It is in fact the interval extension of the first-order Taylor expansion using $\nabla f(\mathbf{x})$:

$$f_c(\mathbf{x}) = f(c) + (\mathbf{x} - c)^T \nabla f(\mathbf{x}), \text{ with } c \in \mathbf{x}.$$

Usually $c$ is the midpoint (or center) of box $\mathbf{x}$. In that case, we refer to $f_{cb}(\mathbf{x})$ where $cb = \text{mid}(\mathbf{x})$. The lower bound $\underline{f}_c(\mathbf{x})$ can also be written as $\underline{f}(c) + (\mathbf{x} - c)^T \nabla f(\mathbf{x}) = \underline{f}(c) + (\mathbf{x} - c)^T \nabla f(\mathbf{x})$, where underline takes the lower bound of the formula computed by $\overline{A}$.

**Remark 4** $\forall \mathbf{x} \in S \times \mathbf{x} = \square S, f(\mathbf{x}) \in f_c(\mathbf{x})$. Thus, $f_c(\mathbf{x})$ provides lower and upper bounds of $f$ over $S$, even if $c \notin S$.

Baumann [3] proposed another base-point instead of the center $cb$ to improve the lower and upper bounds of the centered form.

**Notation 9** We denote the Baumann base-point for the optimal lower bound in the centered form on a box by $bb^-$. Component $i$ is given by

$$bb_i^- = \begin{cases} \frac{x_i \nabla \overline{f}_i(\mathbf{x}) - \bar{x}_i \nabla \underline{f}_i(\mathbf{x})}{\text{wid}(\nabla \underline{f}_i(\mathbf{x}))} & \text{if } 0 \in \nabla \underline{f}_i(\mathbf{x}) \\ \frac{x_i}{\bar{x}_i} & \text{if } \nabla \underline{f}_i(\mathbf{x}) > 0 \\ \frac{x_i}{\bar{x}_i} & \text{if } \nabla \overline{f}_i(\mathbf{x}) < 0. \end{cases}$$

Any centered form (with a base-point $y \in \mathbf{x}$) can be tightened based on the vertices of simplex $S$.

<footnote n="1">¹ cs.utep.edu.</footnote>

<footnote n="2">² autodiff.org.</footnote>
**Proposition 1** Let

$$ \underline{f}_y(S) = \underline{f}(y) + \min_{v \in \mathcal{V}} \{ (v-y)^T \nabla f(\mathbf{x}) \}, \quad y \in \mathbf{x}. \qquad (3) $$

Then $\underline{f}_y(S) \le \min_{x \in S} f(x)$.

**Proof** A first-order Taylor form provides a concave lower bounding function [3,25]. A concave function takes its minimum over a convex set at its extreme points. Consequently, the lower bounding function over the simplex takes its minimum at a vertex of the simplex. Thus, instead of computing the interval enclosure over $\mathbf{x}=\square S$, taking the minimum over the simplex vertices provides a valid lower bound. □

**Remark 5** We can use $y = cb$ or $y = bb^{-}$ in (3).

Now, it is interesting to see how the Baumann point $bb^{-}$ can be generalized to a simplicial base-point. For $bb^{-}$, the aim is to select the best base-point for the Taylor form, such that the lower bound is as high as possible. For a simplex, instead of using the limits of enclosing box $\mathbf{x}=\square S$, we use the simplex vertices.

The highest lower bound in (3) over a simplex is taken at the base-point

$$ \underset{y \in \mathbf{x}}{\operatorname{argmax}} \min_{v \in \mathcal{V}} \left( \underline{f}(y) + (v-y)^T \nabla \underline{f}(\mathbf{x}) \right) = \underset{y \in \mathbf{x}}{\operatorname{argmax}} \left( \underline{f}(y) + \min_{v \in \mathcal{V}} (v-y)^T \nabla \underline{f}(\mathbf{x}) \right). \qquad (4) $$

Obviously, optimizing (4) is a nonlinear problem as it includes the optimization of $f(y)$ varying $y$. Therefore, it is advisable to optimize only the second part.

**Definition 1** Let us define $bs^{-} = \underset{y \in \mathbf{x}}{\operatorname{argmax}} \min_{v \in \mathcal{V}} (v-y)^T \nabla f(\mathbf{x})$ as the Baumann point over the simplex. This point can be found by an interval linear program:

$$ \begin{array}{ll} \max_{y \in \mathbf{x}, z \in \mathbb{R}} & z \\ \text{s.t.} & z \le (v-y)^T \nabla f(\mathbf{x}), \quad \forall v \in \mathcal{V}. \end{array} \qquad (5) $$

Let $(z^*, y^*)$ be the optimum of (5). Then we take base point $bs^{-} = y^*$ with the corresponding lower bound $\underline{f}_{bs^{-}}(\mathbf{x}) = f(b s^{-}) + z^*$.

**Notation 10** $\nabla^w f(\mathbf{x}) \in \mathbb{R}^n$ denotes gradient bounds with components $\nabla^w f_i(\mathbf{x}) = \nabla \underline{f}_i(\mathbf{x})$ if $w_i = x_i$ and $\nabla^w f_i(\mathbf{x}) = \bar{\nabla} \bar{f}_i(\mathbf{x})$ if $w_i = \bar{x}_i$.

**Remark 6** In Notation 10, all possible variations of lower and upper bounds of the gradients are taken into account when considering all vertices $w$ of $\mathbf{x}$.

Writing (5) as a linear program requires $2^n$ constraints for each vertex $v \in \mathcal{V}$:

$$ \begin{array}{ll} \max_{y \in \mathbf{x}, z \in \mathbb{R}} & z \\ \text{s.t.} & z \le (v-y)^T \nabla^w f(\mathbf{x}), \quad \forall v \in \mathcal{V}, \quad \forall w \text{ vertex of } \mathbf{x}. \end{array} \qquad (6) $$

The constraints in (6) can be written as $2^n$ linear inequalities

$$ \begin{array}{ll} \max_{y \in \mathbf{x}, z \in \mathbb{R}} & z \\ \text{s.t.} & z + y^T \nabla^w f(\mathbf{x}) \le \min_{v \in \mathcal{V}} v^T \nabla^w f(\mathbf{x}), \quad \forall w \text{ vertex of } \mathbf{x}. \end{array} \qquad (7) $$
Note that we do not force $bs^{-}$ to be in simplex $S$, because it may happen that a point outside $S$ would give the best lower bound. In case we want to use $\bar{f}(bs^{-})$ to update the upper bound of the global minimum in a B&B algorithm, $bs^{-}$ has to be in the initial search region. In our experiments we force $bs^{-}$ to be in $S$ by adding $y \in S$ using simplex inclusion constraints (1) to (7) in a similar way as it is done in (10).

Notice that (5), (6) and (7) are equivalent descriptions of the same problem, thus providing the same optimum corresponding to the same bound.

## 3.2 Linear relaxation based lower bounds

Following earlier results in interval based B&B [14,20,21], we can now define other lower bounds for simplicial subsets.

### 3.2.1 Standard linear relaxation of $f$ over a box

Let $w$ be a vertex of $x = \square S$ and consider a first order Taylor expansion

$$ \underline{f}_w(x) = \underline{f}(w) + (x - w)^T \nabla^w \underline{f}(x) \leq f(x) \quad \forall x \in \mathbf{x}. \quad (8) $$

Since we have $2^n$ vertices of $x$, we obtain $2^n$ inequalities from Eq. (8), see [10] for more details. Consider the linear program

$$ \begin{array}{ll} \min_{x \in \mathbf{x}, z \in \mathbb{R}} & z \\ \text{s.t.} & z \ge \underline{f}(w) + (x - w)^T \nabla^w \underline{f}(x), \quad \forall w \text{ vertex of } \mathbf{x}. \end{array} \quad (9) $$

Let $(x^*, z^*)$ be the optimal solution of (9), then

$$ f(x) \ge z^*, \forall x \in \mathbf{x}, $$

such that $z^*$ is a lower bound of $f$ over $x$. $z^*$ is also a lower bound of $f$ over $S \subset \mathbf{x} = \square S$.

### 3.2.2 Linear relaxation of $f$ over a simplex

We now focus on the bounds of $f$ over simplex $S = \text{conv}(\mathcal{V})$. The earlier bound in (9) is valid for $f$ over $x = \square S$, such that it is also a bound over the simplex $S$. However, it is interesting to force $x \in \mathbf{x}$ to be inside $S$, like in (1). Introducing the corresponding linear equations into problem (9) provides linear program

$$ \begin{array}{ll} \min_{\substack{x \in \mathbf{x}, z \in \mathbb{R} \\ \lambda \in [0, 1]^{n+1}}} & z \\ \text{s.t.} & z \ge \underline{f}(w) + (x - w)^T \nabla^w \underline{f}(x), \quad \forall w \text{ vertex of } \mathbf{x} \\ & x = \sum_{j=0}^{n} \lambda_j v_j \\ & \sum_{j=0}^{n} \lambda_j = 1. \end{array} \quad (10) $$

Let $(x^*, z^*, \lambda^*)$ be the solution of (10). Then we have that

$$ f(x) \ge z^*, \forall x \in S $$
and therefore, $z^*$ is a lower bound of $f$ over $S$.

A straightforward idea is to consider the vertices of the simplex instead of the vertices of the enclosing box. Unfortunately, such a formulation leads to a Mixed Integer Programming problem, as the piece-wise linear lower bounding function is neither convex nor concave anymore.

### 3.3 Bounding technique using Affine Arithmetic

This section describes the use of Affine Arithmetic (see [2,4,9,11,18,22]) to generate a linear underestimation of function $f$ over $x=\square S$. We add the constraint that the solution has to be inside the simplex $S = \text{conv}(V)$, see (1). This provides a linear program.

First, we focus on the transformation of an interval vector into a vector of affine forms. Second, we describe how the computations are made using Affine Arithmetic to provide linear equations. Third, we sketch how the so-obtained linear equations are used to provide linear underestimations of $f$ over $x$ and then we provide the linear program to find a lower bound of $f$ over the simplex $S$. Fourth, we show a simple way to solve the linear program.

#### 3.3.1 Conversion into affine forms

The interval vector $x=\square S$ can be converted to an affine form vector, denoted by $\hat{x}$, as follows

$$x = \begin{pmatrix} \mathbf{x}_1 \\ \vdots \\ \mathbf{x}_i \\ \vdots \\ \mathbf{x}_n \end{pmatrix} = \begin{pmatrix} [\underline{x}_1, \bar{x}_1] \\ \vdots \\ [\underline{x}_i, \bar{x}_i] \\ \vdots \\ [\underline{x}_n, \bar{x}_n] \end{pmatrix} \rightarrow \hat{x} = \begin{pmatrix} \hat{x}_1 \\ \vdots \\ \hat{x}_i \\ \vdots \\ \hat{x}_n \end{pmatrix} = \begin{pmatrix} \text{mid}(\mathbf{x}_1) + \text{rad}(\mathbf{x}_1)\epsilon_1 \\ \vdots \\ \text{mid}(\mathbf{x}_i) + \text{rad}(\mathbf{x}_i)\epsilon_i \\ \vdots \\ \text{mid}(\mathbf{x}_n) + \text{rad}(\mathbf{x}_n)\epsilon_n \end{pmatrix}, \quad (11)$$

where $\epsilon_i \in [-1, 1]$ for all $i \in \{1, \dots, n\}$. The affine form $\hat{x}$ can be transformed back into an interval by changing $\epsilon_i$ to $[-1, 1]$. Moreover, for all $x \in x$, there is exactly one corresponding value for $\epsilon$ in the affine description,

$$x = T(x, \epsilon) = \text{mid}(x) + \text{rad}(x)\epsilon,$$

where $\epsilon_i = \frac{x_i - \text{mid}(\mathbf{x}_i)}{\text{rad}(\mathbf{x}_i)}$, $i = 1, \dots, n$.

#### 3.3.2 Affine arithmetic

By replacing all the occurrences of the variable $x_i$ by the corresponding affine form $\hat{x}_i$ in an expression of $f$, and by performing the computations using Affine Arithmetic, we obtain a resulting affine form, denoted by

$$\hat{f}(T(\mathbf{x}, \epsilon)) = r_0 + \sum_{i=1}^{n} r_i \epsilon_i + \sum_{k=n+1}^{N} r_k \epsilon_k, \quad (12)$$

where $\epsilon_j$ is in $[-1, 1]$ for all $j \in \{1, \dots, N\}$. Note that some error terms $r_k \epsilon_k$ are added for all $k \in \{n+1, \dots, N\}$, which come from non affine operations in $f$.
### 3.3.3 Linear underestimation of $f$ over $\mathbf{x}$

Using Affine Arithmetic, (12) underestimates $f$ over $\mathbf{x}$

$$f(x) = f(T(\mathbf{x}, \epsilon)) \geq \underline{f}(T(\mathbf{x}, \epsilon)) = r_0 + \sum_{i=1}^{n} r_i \epsilon_i - \sum_{k=n+1}^{N} |r_k|, \quad (13)$$

because all error terms are taken into account using their worst value.

**Remark 7** Equation (13) is a linear underestimation of $f$ over $\mathbf{x}$ using the new variables $\epsilon_i$.

### 3.3.4 Linear program to provide lower bounds

In order to compute a lower bound of $f$ over the simplex $S$ (and not only on the $\mathbf{x}=\square S$), we constrain the point $\mathbf{x}$ to be inside $S$ by adding (1). In this case, we describe $\mathbf{x}$ by its affine form $T(\mathbf{x}, \epsilon)$ and thus, we obtain the following linear program

$$\begin{array}{ll} \min & \sum_{i=1}^{n} r_i \epsilon_i \\ \epsilon \in [-1, 1]^n & \lambda \in [0, 1]^{n+1} \\ \text{s.t.} & T(\mathbf{x}, \epsilon) = \sum_{i=0}^{n} \lambda_i v_i \\ & \sum_{i=0}^{n} \lambda_i = 1. \end{array} \quad (14)$$

Denoting the exact solution of (14) by $(\epsilon^*, \lambda^*)$, we have that

$$f(x) = f(T(\mathbf{x}, \epsilon)) \geq \sum_{i=1}^{n} r_i \epsilon_i^* + r_0 - \sum_{k=n+1}^{N} |r_k|, \quad \forall x \in S \quad (15)$$

and therefore, this is a lower bound of $f$ over $S$.

Note that to solve the above linear program, we just need to evaluate $f$ at each vertex of $S$ and then take the minimum value of the linear underestimation (13). If $\text{rad}(\mathbf{x}_i) \neq 0$ (else $r_i = 0$), $\epsilon_i(v_j)$ is a transformation of component $i$ of vertex $v_j$ into variable $\epsilon$

$$\epsilon_i(v_j) = \begin{cases} \frac{(v_j)_i - \text{mid}(\mathbf{x}_i)}{\text{rad}(\mathbf{x}_i)}, & \text{if } \text{rad}(\mathbf{x}_i) > 0 \\ 0, & \text{if } \text{rad}(\mathbf{x}_i) = 0. \end{cases} \quad \forall i \in \{1, \dots, n\}, \text{ and } \forall v_j \in \mathcal{V}.$$

Then, the lower bound of (15) becomes

$$\min_{j \in \{0, \dots, n\}} \sum_{i=1}^{n} r_i \epsilon_i(v_j) + r_0 - \sum_{k=n+1}^{N} |r_k|. \quad (16)$$

Therefore, instead of solving linear program (14), we can determine (16) and this yields directly the lower bound of $f$ over $S$. The solution corresponds to the solution of linear program (14).
## 4 Monotonicity test

In this paper, we use a concise monotonicity test which excludes an interior partition set S if it does not contain a stationary point. To be more precise:

**Proposition 2** Let $S \subset \text{int}(D)$ be a simplex in the interior of the search area D. If $\exists i \in \{1, \dots, n\}$ with $0 \notin \nabla f_i(\square S)$ then S does not contain a global minimum point.

*Proof* The condition implies that

$$ \forall x \in S, \frac{\partial f}{\partial x_i}(x) \neq 0. $$

such that S cannot contain an interior minimum of D. Moreover, S does not touch the boundary, i.e. $S \cap \partial D = \emptyset$, such that neither it can contain a boundary optimum point. □

The test is not very strong, as initial partition sets typically touch the boundary. A slight relaxation is the following corollary, where a simplicial partition set has only vertices in common with the boundary.

**Corollary 1** Let $S \subset D$ be a partition set, where the number of boundary points is finite, i.e. $S \cap \partial D \subset \mathcal{V}$, and $0 \notin \nabla f(\square S)$. Then S can be eliminated from the search tree.

*Proof* The same reasoning as in the proof of Proposition 2 applies with respect to the interior of S. Now a minimum point could be attained in a vertex $v \in S \cap \partial D$. However, vertex $v$ is also part of another simplicial partition set which covers part of the boundary of D, such that we do not have to store S anymore. □

This corollary is not very strong, but it is relatively easy to check. For practical tests, Proposition 2 offers the conditions for removing an interior simplicial partition set S. We can also remove it, if just several vertices of S touch the boundary of D according to Corollary 1. Otherwise, we should store the facets of S which are completely in a face of the search region as new simplicial partition sets with less than $n+1$ vertices.

In our former investigation [6], we focused on bounds of the directional derivative in a direction $d$, denoted by $d^T \nabla f(S)$ and $d^T \nabla f(S)$. In this context, one can consider for instance an upper bound of the directional derivative

$$ \overline{d^T \nabla f(S)} = \sum_{i=1}^{n} \max\{d_i \overline{\nabla f_i}(\square S), d_i \overline{\nabla f_i}(\square S)\}. \quad (17) $$

Notice that a necessary condition for $\overline{d^T \nabla f(S)} \le 0$ according to (17) is that $f$ is monotone on $\square S$, i.e. $0 \notin \nabla f(\square S)$.

**Proposition 3** Let $\mathcal{V}$ be a vertex set, $S = \text{conv}(\mathcal{V})$, $w \in \mathcal{V}$, $\hat{V} = \mathcal{V} \setminus \{w\}$, facet $F = \text{conv}(\hat{V})$ and $d = \frac{1}{n} \sum_{v \in \hat{V}} v - w$. If $d^T \nabla f(S) \le 0$, then $F$ contains a minimum point of $\min_{x \in S} f(x)$.

*Proof* Consider the vertices of $\mathcal{V}$ ordered such that $w = v_0$. Let $x = \sum_{j=1}^n \lambda_j v_j + \lambda_0 w$ be a minimum point $x \notin F$. We construct a point $z$ on $F$ walking in direction $d$ according to $z = x + \lambda_0 d = \sum_{j=1}^n (\lambda_j + \frac{1}{n}) v_j$. Then we have that $f(z) \le f(x) + \lambda_0 \overline{d^T f^T(S)} \le f(x)$. Thus, minimum point $x$ either does not exist, or $z$ is also a minimum point of $\min_{x \in S} f(x)$ and it is located on facet $F$. □
**Corollary 2** Let $\mathcal{V}$ be a vertex set, $S = \text{conv}(\mathcal{V})$, $w \in \mathcal{V}$, $\hat{V} = \mathcal{V} \setminus \{w\}$, *facet F* = *conv*(《*V*》) and $d = \frac{1}{n} \sum_{v \in \hat{V}} v - w$. If $d^T \nabla f(S) < 0$, then *F* contains all minimum points of $\min_{x \in S} f(x)$, i.e $\text{argmin}_{x \in S} f(x) \subset F$.

The corresponding test allows us to perform a dimension reduction of $S$ by removing the vertex $w$. In case the conditions are not true, one can check each border facet if it can contain a minimum point. If we show it cannot, we do not have to deal further with the facet. In case no border facet can contain the minimum, it follows that $S$ can be disregarded.

**Corollary 3** Let $\mathcal{V}$ be a vertex set, $S = \text{conv}(\mathcal{V})$, $w \in \mathcal{V}$, $\hat{V} = \mathcal{V} \setminus \{w\}$, *facet F* = $\text{conv}(\hat{V})$ and $d = \frac{1}{n} \sum_{v \in \hat{V}} v - w$. If $d^T \nabla f(S) > 0$, then *F* cannot contain a minimum point of $\min_{x \in S} f(x)$.

# 5 Simplicial B&B algorithm (SBB)

Algorithm 1 uses an AVL tree$^3$ [1] $\Lambda$, a self-balancing binary search tree, for storing partition sets. Such a structure has a computational complexity of sorted insertion and extraction of an element of $O(\log_2 |\Lambda|)$. Evaluated and not rejected simplices are sorted in $\Lambda$ by non-decreasing order of the bounds on the objective using any of the methods from Sect. 3. This means $[x, \bar{x}] < [y, \bar{y}]$ when $x < y$ or when $x = y$ and $\bar{x} < \bar{y}$. Simplicial partition sets having the same bounds are stored in the same node of the AVL tree using a linked list.

All vertices of a simplex are also stored in an AVL tree. Vertices may be shared among several simplices, such that we avoid duplicate storage. Although Algorithm 1 describes vertices to be evaluated in order to update the incumbent $\tilde{f}$ (see Algorithm 1, lines 5 and 13), their evaluation depends on the actual lower bounding method. The simplex $S$ with the lowest value of $f(S)$ is extracted from $\Lambda$ (lines 8 and 19). The lower bound of $f(S)$ is used in the stopping criterion of the algorithm (line 9).

Evaluation of a simplex $S$ always includes computation of the natural inclusion $f(S) = f(\Box S)$ of the objective function and inclusion of the gradient $\nabla f(S) = \nabla f(\Box S)$ using Automatic Differentiation (see Algorithm 1, lines 4 and 16, and Algorithm 2 line 6). Other bounding methods can be applied afterwards in order to improve the calculated bounds in $f$.

Simplices with a lower bound greater than the incumbent $\tilde{f}$ are rejected. They are also rejected using Proposition 2 when they are in the relative interior of the search space $D$ and $0 \notin \nabla f_i(\Box S)$ (see Algorithm 1, lines 14 and 17, and Algorithm 2, line 7).

In case $f$ is monotone on $\Box S$ and $S \cap \partial D \neq \emptyset$, $S$ can be reduced to a number of facets by Corollary 3 (see calls to Algorithm 2 from Algorithm 1, lines 6 and 10). From computational perspective it is better to label the vertex *border* or *not-border*. A *border* vertex means that when it is removed from $S$, the remaining facet is on the boundary of $D$. If the search region is a simplex, $P$ contains just the initial simplex, and all initial facets are at the boundary, such that all vertices are labelled *border*. In case the search region is a box, $P$ contains the result of the combinatorial vertex triangulation of the box into $n!$ simplices [24,26].

This technical detail has not been included in Algorithm 1 for the sake of simplicity. The specific triangulation is not appealing for large values of $n$. We use this here because box constrained problems are used to compare methods. Each of the $n!$ initial simplices has two border facets. They are determined by removing the smallest and largest vertex (numbered in a binary system), see the grey nodes in Fig. 1. In the binary system, 0 is the lower bound and 1 is the upper bound of the given component of the box.

<footnote>$^3$ named after the inventors Adelson-Velsky and Landis</footnote>
**Algorithm 1 SBB(f, P, α)**

**Require:**

f: the n dimensional objective function.

P: initial simplicial partition of the search region D.

α: termination criterion.

1: $\Lambda = \emptyset$

▷ Storage structure

2: $\tilde{f} = \infty$

▷ Incumbent value

3: **for** $S \in P$ **do**

4: Evaluate $f(S), \nabla f(S)$
5: $\tilde{f} \leftarrow \min\{\tilde{f}, \min_{v_j \in S} \tilde{f}(v_j)\}

▷ + other lower bounds

6: **if** $f(S) \le \tilde{f}$ **and not** ReduceToFacets(f, S, Λ) **then**

7: $\Lambda \leftarrow S$

▷ Store S and its bounds in Λ

8: $S \leftarrow \Lambda$

▷ Retrieve S from Λ with smallest $f(S)$ value

9: **while** wid ($[f(S), \tilde{f}] > \alpha$ **do**

10: **if** ReduceToFacets(f, S, Λ) **then**

11: $\{S_1, S_2\} \leftarrow \text{Divide}(S)$

▷ Longest Edge Bisection

12: **if** $\tilde{f}$ (new vertex) < $\tilde{f}$ **then**

13: $\tilde{f} = \tilde{f}$ (new vertex)

14: $\Lambda = \text{CutOff}(\Lambda)$

▷ Remove $S \in \Lambda : \underline{f}(S) > \tilde{f}$

15: **for** each subset $S_j$ **do**

16: Evaluate $f(S_j), \nabla f(S_j)$

▷ + other lower bounds

17: **if** $\underline{f}(S_j) \le \tilde{f}$ **and not** (Monotone and $\nabla$ vertex labelled border) **then**

▷ See Proposition 2

18: $\Lambda \leftarrow S_j$

▷ Store $S_j$ and its bounds in Λ

19: $S \leftarrow \Lambda$

20: **return** $[\underline{f}(S), \tilde{f}]$

A simplicial partition set, which was neither rejected nor reduced, is divided using Longest Edge Bisection (LEB), see Algorithm 1, line 11. When several longest edges exist, the longest edge with a vertex with the lowest value of $f$ and the other vertex having the highest value of $\tilde{f}$ is selected. In case vertices are not evaluated, the first longest edge is selected.

**Remark 8** The interior of a new facet generated by LEB is always in the relative interior of the bisected simplex. This contributes to reduce the number of vertices labelled as *border* in the new sub-simplices.

Descendants of a partition set having all its vertices labelled as *not-border* have all facets in the interior of D, so labelling is no longer necessary.

**Algorithm 2 ReduceToFacets(f, S, Λ)**

1: Reduced=false

2: **if** Mon(f, S) and $S \cap \partial D \ne \emptyset$ **then**

▷ See Proposition 2

3: **for** each border facet F **do**

4: **if** not $d^T \nabla f(S) > 0$ **then**

▷ See Corollary 3

5: Reduced=true

6: Evaluate $f(F), \nabla f(F)$

▷ + other lower bounds

7: **if** $\underline{f}(F) \le \tilde{f}$ **and not** (Monotone and $\nabla$ vertex labelled border) **then**

▷ See Proposition 2

8: $\Lambda \leftarrow F$

▷ Store F and its bounds in Λ

9: **return** Reduced
<figure><img src="image_2.png" /><figcaption>Fig. 1 Combinatorial vertex triangulation of an hyper-rectangle. Vertices 000 and 111 are labelled *border* in all sub-simplices. Removing one of them leaves a facet that is completely on the boundary of *D*</figcaption></figure>

# 6 Numerical results

Algorithm 1 was run on an Asus UX301L NoteBook with Intel(R) Core(TM) i7-4558U CPU and 8GB of RAM running Fedora 32 Linux distribution. The algorithm was coded with g++ (gcc version 10.1.1) and it uses Kv-0.4.50 for Interval Arithmetic and Affine Arithmetic (AA). Kv uses boost libraries. Algorithms were compiled with -O3 -DNDEBUG -DKV_FASTROUND options and AA uses #define AFFINE_simple 2 and #define AFFINE_MULTI 2 in Kv. For the Linear Programming, we use PNL 1.10.4 with -DCMAKE_BUILD_TYPE = Release -DWITHlook = OFF, as a C++ wrapper to LPsolve 5.5.2.0.

Notice that Kv Affine Arithmetic is slow in execution speed: When the direction of rounding is fixed as "upward", the downward calculation is performed as "sign inversion", and it currently does not support division by affine variables containing zero. Additionally, the execution time for Interval Arithmetic can be reduced on processors supporting Advanced Vector Extensions SIMD (AVX-512) (see last table at kv-rounding web page), which is not our case. Moreover, the PNL library has support for MPI, which is not used here.

Table 1 describes the studied instances. Their detailed description can be found in [7] and the optimization web page.

The used termination accuracy is $\alpha = 10^{-6}$ and Interval Arithmetic is applied with Automatic Differentiation to obtain bounds of $f$ and $\nabla f$ on $\square S$. The following notation is used to describe the variants to calculate lower bounds:

* IA : Natural IA.

* +CFcb : IA + Centered form on a box (see Not. 8) using the center of $\square S$.

* +CFbb : IA + Centered form on a box (see Not. 8) using the Baumann point $bb^-$ on $\square S$ (see Not. 9).

* +CFcs : IA + Centered form on a simplex (see Prop. 1) using the centroid as the base-point and the gradient on $\square S$.

* +CFbs : IA + Centered form on a simplex (see Prop. 1) using base-point $y = bs^-$ (see Def. 1) and the gradient on $\square S$.
<table><caption>**Table 1** Test problems. The problems are box constrained apart from KE2-1 and KE2-2 with search regions {(-3,-1),(1,1),(1.5,-2)} and {(-2,0),(0,-3),(2,3)}, respectively. An asterisk at *n* indicates that this is the selected dimension for a varying dimension test instance</caption><thead><tr><th>Instance</th><th>Description</th><th>n</th></tr></thead><tbody><tr><td>KE2-1</td><td>Karhbet example 6 over simplex 1</td><td>2</td></tr><tr><td>KE2-2</td><td>Karhbet example 6 over simplex 2</td><td>2</td></tr><tr><td>GP2</td><td>Goldstein-Price</td><td>2</td></tr><tr><td>THCB2</td><td>Three Hump Camel Back</td><td>2</td></tr><tr><td>SHCB2</td><td>Six Hump Camel Back</td><td>2</td></tr><tr><td>G7</td><td>Griewank</td><td>7*</td></tr><tr><td>S4</td><td>Shekel 10</td><td>4</td></tr><tr><td>H3</td><td>Hartmann 3</td><td>3</td></tr><tr><td>H4</td><td>Hartmann 4</td><td>4</td></tr><tr><td>H6</td><td>Hartmann 6</td><td>6</td></tr><tr><td>L8</td><td>Levy</td><td>8*</td></tr><tr><td>SCH2</td><td>Schubert</td><td>2</td></tr><tr><td>MC2</td><td>McCormick</td><td>2</td></tr><tr><td>RB2</td><td>Rosenbrock</td><td>2*</td></tr><tr><td>MCH2</td><td>Michalewicz</td><td>2*</td></tr><tr><td>MCH5</td><td>Michalewicz</td><td>5*</td></tr><tr><td>ST2</td><td>Styblinski-Tang</td><td>2*</td></tr><tr><td>ST5</td><td>Styblinski-Tang</td><td>5*</td></tr><tr><td>DP2</td><td>Dixon-Price</td><td>2*</td></tr><tr><td>DP5</td><td>Dixon-Price</td><td>5*</td></tr></tbody></table>

+CFvs : IA + Centered form on a simplex (see Prop. 1) using base-point $y = \underset{v \in S}{\operatorname{argmax}} \{\bar{f}(v)\}$ and the gradient on $\square S$.

+AA : IA + Affine Arithmetic lower bound (16) over $\square S$.

+LR : IA + Linear Relaxation bound (9) on $\square S$.

+LRS : IA + Linear Relaxation bound (10) on $\square S$, forcing the solution on $S$.

Rejection tests like the ones on monotonicity, are checked after the bound calculations. This is not efficient, but it allows us to compare the calculated bounds.

Improvement of the best function value found $\tilde{f}$ is done by point evaluation. Together with the IA bound calculation we evaluate simplex vertices. When other lower bound methods are added to IA, the evaluation of simplex vertices can be disabled in order to save computation. However, this may imply another (worse) update of $\tilde{f}$ and a different course of the algorithm, due to Longest Edge Bisection (LEB) by the first longest edge, instead of the best LEB [19].

The following points are evaluated for each method. +CFc* methods (*=b or s) evaluate only the center and +CFb* evaluate only base-points $bb^-$ or $bs^-$ . Such points are not stored. Notice that base point $bb^-$ might be located outside the simplicial search region. +CFvs and +AA evaluate and store simplex vertices. +LR and +LRS evaluate and store box vertices when the search region is a box. Additionally, simplex vertices are evaluated when the search region is a simplex, because vertices of $\square S$ may be outside the search region and should not be used to improve $\tilde{f}$.

The +CF\*s (*=c,b or v) methods only update lower bounds. The other methods also update upper bounds, which may affect the partition set storage order.
<figure><img src="image_3.png" /><figcaption>**Fig. 2** Normalized number of simplex evaluations in log scale. A value of > 15m means time out of 15 minutes or execution error. The ranges of evaluated simplices per problem are as follow: RB2∈ [44, 66], KE2-2∈ [47, 60], DP2∈ [16, 112], MCH2∈ [128, 192], EX2-1∈ [186, 510], MC2∈ [434, 1, 052], ST2∈ [558, 1, 382], SHCB∈ [556, 1, 646], THCB∈ [626, 1, 986], H3∈ [2, 286, 4, 430], G7∈ [5, 040, 5, 314], S4∈ [3, 984, 5, 288], SCH2∈ [4, 862, 6, 834], L8∈ [40, 462, 40, 662], DP5∈ [97, 060, 188, 476], GP2∈ [2, 272, 167, 800], H4∈ [53, 368, 170, 622], MCH5∈ [189, 198, 210, 356], H6∈ [2, 641, 024, 4, 944, 040], and ST5∈ [2, 569, 082, 6, 358, 328]</figcaption></figure>

Figures 2 and 3 show the normalized (to the range [0,1]) number of simplex evaluations (NS) and execution time (T), respectively. The number of simplex evaluations can be considered as the number of iterations, as in each iteration one simplex is evaluated. The problems are sorted by NS in both figures. The data for the figures is taken from Table 2 to Table 21 in Appendix A. Reduction to border facets due to monotonicity does not occur in box constrained problems. It happens in the simplex constrained instances (see Corollary 3). The monotonicity test reduces the number of simplex evaluations significantly for all test problems. Without that test, the algorithm lasts more than the limit of 15 minutes for several problems. Therefore, we always apply the monotonicity test.

Going over the results of the test problems, problem G7 appears to be a special case, see Table 7. Apparently, adding methods to IA does not provide better lower bounds. For L8 only the +AA method improves the bound a few times and for RB2 only the LR* methods show tighter bounds, see Table 12.

A value of > 15m in Figs. 2 and 3 means that i) the algorithm reached the 15 minute time limit, or ii) there was a problem with the Linear Programming solver in methods +LR and +LRS or iii) a division by zero occurred. The latter only happens for the +AA method for problem L8, because the Kv library does not implement division by zero in Affine Arithmetic.

Focusing on the number of required simplex evaluations (NS), Fig. 2 shows that the +AA method requires the least evaluations for most of the test cases. The second best methods regarding the NS metric are those using LP (+LR* and +CFbs). The +LRS lower bounding
<figure><img src="image_4.png" /><figcaption>**Fig. 3** Normalized execution time (seconds) in log scale. A value of > 15m means time out of 15 minutes or execution error. The ranges of execution time per problem are as follow: RB2∈ [0.005, 0.014], EX2-2∈ [0.005, 0.010], DP2∈ [0.005, 0.019], MCH2∈ [0.006, 0.024], EX2-1∈ [0.005, 0.034], MC2∈ [0.005, 0.019], ST2∈ [0.006, 0.085], SHCB2∈ [0.006, 0.101], THCB2∈ [0.008, 0.1], H3∈ [0.032, 0.415], G7∈ [0.048, 6.69], S4∈ [0.056, 0.995], SCH2∈ [0.104, 0.696], L8∈ [0.566, 159.124], DP5∈ [0.526, 61.352], GP2∈ [0.051, 1.461], H4∈ [1.196, 19.844], MCH5∈ [3.611, 60.438], H6∈ [51.057, 187.538], and ST5∈ [58.476, 184.924]</figcaption></figure>

<table><caption>**Table 2** Results for KearEx6 on {(-3,-1),(1,1),(1.5,-2)} simplex. Global min. is interior. +CFcb and +CFcs show vertex evaluations due to reduction</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>510</td><td>165</td><td>12</td><td>165</td><td>0</td><td>0</td><td>0</td><td>0.019s</td></tr><tr><td>+CFcb</td><td>218</td><td>4</td><td>10</td><td>73</td><td>218</td><td>0</td><td>213</td><td>0.006s</td></tr><tr><td>+CFbb</td><td>200</td><td>67</td><td>9</td><td>67</td><td>200</td><td>0</td><td>199</td><td>0.007s</td></tr><tr><td>+CFcs</td><td>216</td><td>4</td><td>10</td><td>73</td><td>216</td><td>0</td><td>213</td><td><strong>0.005s</strong></td></tr><tr><td>+CFbs</td><td>204</td><td>0</td><td>8</td><td>69</td><td>204</td><td>0</td><td>204</td><td>0.034s</td></tr><tr><td>+CFvs</td><td>218</td><td>74</td><td>9</td><td>74</td><td>0</td><td>0</td><td>212</td><td>0.006s</td></tr><tr><td>+AA</td><td><strong>186</strong></td><td>63</td><td>8</td><td>63</td><td>0</td><td>0</td><td>186</td><td>0.007s</td></tr><tr><td>+LR</td><td>194</td><td>66</td><td>9</td><td>397</td><td>0</td><td>331</td><td>194</td><td>0.024s</td></tr><tr><td>+LRS</td><td>192</td><td>66</td><td>8</td><td>391</td><td>0</td><td>325</td><td>192</td><td>0.029s</td></tr></tbody></table>

requires less simplex evaluations than +LR for some cases, and +CFcb has the best NS values for only a few test cases.

For smooth functions, the algorithm converges to a region which is captured by a convex quadratic function. To study the limit convergence behaviour of the algorithm, we run all variants over the so-called Trid function from [23], which represents a convex quadratic function. The results can be found in Tables 22–24 (Appendix B). One can observe for this limit situation that the Linear Relaxation variants are relatively close models and require less simplex evaluations than other lower bounding methods. This means that, for all cases, the
<table><caption>**Table 3** Results for KearEx6 on ((-2,0),(0,-3),(2,3)) simplex. Global Min at border.+CFcb and +CFcs show vertex evaluations due to reduction</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>60</td><td>27</td><td>7</td><td>27</td><td>0</td><td>0</td><td>0</td><td>0.007s</td></tr><tr><td>+CFcb</td><td>59</td><td>8</td><td>5</td><td>27</td><td>59</td><td>0</td><td>51</td><td><strong>0.005s</strong></td></tr><tr><td>+CFbb</td><td>49</td><td>24</td><td>5</td><td>24</td><td>49</td><td>0</td><td>48</td><td><strong>0.005s</strong></td></tr><tr><td>+CFcs</td><td>57</td><td>8</td><td>5</td><td>26</td><td>57</td><td>0</td><td>53</td><td>0.007s</td></tr><tr><td>+CFbs</td><td>48</td><td>1</td><td>4</td><td>24</td><td>48</td><td>0</td><td>47</td><td>0.010s</td></tr><tr><td>+CFvs</td><td>60</td><td>27</td><td>6</td><td>27</td><td>0</td><td>0</td><td>52</td><td><strong>0.005s</strong></td></tr><tr><td>+AA</td><td>51</td><td>24</td><td>4</td><td>24</td><td>0</td><td>0</td><td>49</td><td><strong>0.005s</strong></td></tr><tr><td>+LR</td><td>49</td><td>24</td><td>4</td><td>86</td><td>0</td><td>62</td><td>48</td><td>0.010s</td></tr><tr><td>+LRS</td><td><strong>47</strong></td><td>23</td><td>3</td><td>81</td><td>0</td><td>58</td><td>46</td><td>0.010s</td></tr></tbody></table>

<table><caption>**Table 4** Results for Goldstein-Price on box [-2, 2]². (1) Unacceptable accuracy found (worse than required 5e-07). linprog fails</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>167,800</td><td>43,288</td><td>10,924</td><td>43,288</td><td>0</td><td>0</td><td>0</td><td>0.658s</td></tr><tr><td>+CFcb</td><td>17,442</td><td>0</td><td>1,407</td><td>4,589</td><td>17,442</td><td>0</td><td>15,838</td><td>0.076s</td></tr><tr><td>+CFbb</td><td>12,640</td><td>0</td><td>1,036</td><td>3,371</td><td>12,640</td><td>0</td><td>11,737</td><td>0.061s</td></tr><tr><td>+CFcs</td><td>15,352</td><td>0</td><td>1,153</td><td>4,046</td><td>15,352</td><td>0</td><td>13,995</td><td>0.071s</td></tr><tr><td>+CFbs</td><td>(1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>+CFvs</td><td>21,910</td><td>5,936</td><td>1,701</td><td>5,936</td><td>0</td><td>0</td><td>19,570</td><td>0.089s</td></tr><tr><td>+AA</td><td><strong>2,272</strong></td><td>683</td><td>177</td><td>683</td><td>0</td><td>0</td><td>2,165</td><td><strong>0.051s</strong></td></tr><tr><td>+LR</td><td>12,118</td><td>0</td><td>959</td><td>4,788</td><td>0</td><td>4,282</td><td>11,253</td><td>1.249s</td></tr><tr><td>+LRS</td><td>12,080</td><td>0</td><td>950</td><td>4,788</td><td>0</td><td>4,282</td><td>11,229</td><td>1.461s</td></tr></tbody></table>

<table><caption>**Table 5** Results for Three Hump Camel Back on box [-5, 5]²</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>1,986</td><td>581</td><td>132</td><td>581</td><td>0</td><td>0</td><td>0</td><td>0.013s</td></tr><tr><td>+CFcb</td><td>934</td><td>0</td><td>58</td><td>281</td><td>934</td><td>0</td><td>508</td><td><strong>0.008s</strong></td></tr><tr><td>+CFbb</td><td>802</td><td>0</td><td>52</td><td>245</td><td>802</td><td>0</td><td>558</td><td><strong>0.008s</strong></td></tr><tr><td>+CFcs</td><td>944</td><td>0</td><td>58</td><td>290</td><td>944</td><td>0</td><td>556</td><td><strong>0.008s</strong></td></tr><tr><td>+CFbs</td><td>798</td><td>0</td><td>50</td><td>245</td><td>798</td><td>0</td><td>564</td><td>0.098s</td></tr><tr><td>+CFvs</td><td>1,050</td><td>317</td><td>58</td><td>317</td><td>0</td><td>0</td><td>516</td><td><strong>0.008s</strong></td></tr><tr><td>+AA</td><td><strong>626</strong></td><td>183</td><td>32</td><td>183</td><td>0</td><td>0</td><td>494</td><td>0.012s</td></tr><tr><td>+LR</td><td>790</td><td>0</td><td>46</td><td>375</td><td>0</td><td>373</td><td>632</td><td>0.083s</td></tr><tr><td>+LRS</td><td>786</td><td>0</td><td>48</td><td>375</td><td>0</td><td>373</td><td>628</td><td>0.100s</td></tr></tbody></table>

+LR variants have an advantage in the final stages of the algorithm. It is worth to mention that, when the dimension increases, the required Linear Programming gets more time consuming and also the +AA variant starts to do better.

The execution time is a difficult performance indicator, as it depends on the used external subroutines. Figure 3 provides normalized values. In the first 9 test cases (ordered according to NS), the execution time is similar for most of the methods apart from those using LP
<table><caption>**Table 6** Results for Six Hump Camel Back on box [−3, 3] × [−2, 2]</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>1,646</td><td>535</td><td>108</td><td>535</td><td>0</td><td>0</td><td>0</td><td>0.009s</td></tr><tr><td>+CFcb</td><td>890</td><td>0</td><td>78</td><td>291</td><td>890</td><td>0</td><td>642</td><td>0.007s</td></tr><tr><td>+CFbb</td><td>802</td><td>0</td><td>64</td><td>267</td><td>802</td><td>0</td><td>664</td><td>0.009s</td></tr><tr><td>+CFcs</td><td>874</td><td>0</td><td>66</td><td>287</td><td>874</td><td>0</td><td>668</td><td><strong>0.006s</strong></td></tr><tr><td>+CFbs</td><td>786</td><td>0</td><td>66</td><td>261</td><td>786</td><td>0</td><td>656</td><td>0.101s</td></tr><tr><td>+CFvs</td><td>934</td><td>305</td><td>64</td><td>305</td><td>0</td><td>0</td><td>618</td><td>0.009s</td></tr><tr><td>+AA</td><td><strong>556</strong></td><td>198</td><td>41</td><td>198</td><td>0</td><td>0</td><td>522</td><td>0.012s</td></tr><tr><td>+LR</td><td>734</td><td>0</td><td>70</td><td>385</td><td>0</td><td>377</td><td>610</td><td>0.079s</td></tr><tr><td>+LRS</td><td>734</td><td>0</td><td>70</td><td>385</td><td>0</td><td>377</td><td>610</td><td>0.095s</td></tr></tbody></table>

<table><caption>**Table 7** Results for Griewank on box [−600, 600]$^7$. Notice that $7!=5,040$</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>5,042</td><td>129</td><td>5,041</td><td>129</td><td>0</td><td>0</td><td>0</td><td><strong>0.048s</strong></td></tr><tr><td>+CFcb</td><td><strong>5,040</strong></td><td>0</td><td>5,040</td><td>128</td><td>5,040</td><td>0</td><td>0</td><td>0.053s</td></tr><tr><td>+CFbb</td><td><strong>5,040</strong></td><td>5,040</td><td>128</td><td>5,040</td><td>0</td><td>0</td><td>0</td><td>0.057s</td></tr><tr><td>+CFcs</td><td>5,314</td><td>0</td><td>5,088</td><td>265</td><td>5,314</td><td>0</td><td>0</td><td>0.082s</td></tr><tr><td>+CFbs</td><td><strong>5,040</strong></td><td>0</td><td>5,040</td><td>128</td><td>5,040</td><td>0</td><td>0</td><td>6.551s</td></tr><tr><td>+CFvs</td><td>5,042</td><td>129</td><td>5,041</td><td>129</td><td>0</td><td>0</td><td>0</td><td>0.052s</td></tr><tr><td>+AA</td><td>5,042</td><td>129</td><td>5,041</td><td>129</td><td>0</td><td>0</td><td>0</td><td>0.157s</td></tr><tr><td>+LR</td><td>5,290</td><td>0</td><td>5,078</td><td>13,165</td><td>0</td><td>13,040</td><td>0</td><td>6.005s</td></tr><tr><td>+LRS</td><td>5,290</td><td>0</td><td>5,078</td><td>13,165</td><td>0</td><td>13,040</td><td>0</td><td>6.690s</td></tr></tbody></table>

<table><caption>**Table 8** Results for Shekel 10 on box [0, 10]$^4$. (1):affine: division by 0</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>5,288</td><td>470</td><td>345</td><td>470</td><td>0</td><td>0</td><td>0</td><td>0.076s</td></tr><tr><td>+CFcb</td><td>4,560</td><td>0</td><td>301</td><td>378</td><td>4,560</td><td>0</td><td>1,172</td><td>0.075s</td></tr><tr><td>+CFbb</td><td>4,504</td><td>0</td><td>76</td><td>367</td><td>4,504</td><td>0</td><td>1,244</td><td>0.068s</td></tr><tr><td>+CFcs</td><td>4,520</td><td>0</td><td>313</td><td>373</td><td>4,520</td><td>0</td><td>1,232</td><td>0.072s</td></tr><tr><td>+CFbs</td><td>4,456</td><td>0</td><td>76</td><td>361</td><td>4,456</td><td>0</td><td>1,300</td><td>0.970s</td></tr><tr><td>+CFvs</td><td><strong>3,984</strong></td><td>355</td><td>345</td><td>355</td><td>0</td><td>0</td><td>1,164</td><td><strong>0.056s</strong></td></tr><tr><td>+AA</td><td>(1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>+LR</td><td>4,466</td><td>0</td><td>383</td><td>9455</td><td>0</td><td>9323</td><td>1962</td><td>0.776s</td></tr><tr><td>+LRS</td><td>4,424</td><td>0</td><td>340</td><td>5,333</td><td>0</td><td>5,277</td><td>1,508</td><td>0.995s</td></tr></tbody></table>

(+LR* and +CFbs). In fact, methods using LP are in general the most time consuming due to the called routines, followed by +AA which avoids solving an LP due to (16). According to the Kv library documentation, Affine Arithmetic is slow and its implementation could be improved.
<table><caption>**Table 9** Results for Hartmann3 on box [0, 1]³</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>4,430</td><td>617</td><td>116</td><td>617</td><td>0</td><td>0</td><td>0</td><td>0.043s</td></tr><tr><td>+CFcb</td><td>2,690</td><td>0</td><td>100</td><td>378</td><td>2,690</td><td>0</td><td>1,815</td><td>0.037s</td></tr><tr><td>+CFbb</td><td>2,554</td><td>0</td><td>95</td><td>364</td><td>2,554</td><td>0</td><td>1,971</td><td>0.039s</td></tr><tr><td>+CFcs</td><td>2,684</td><td>0</td><td>98</td><td>378</td><td>2,684</td><td>0</td><td>1,895</td><td>0.041s</td></tr><tr><td>+CFbs</td><td>2,514</td><td>0</td><td>95</td><td>362</td><td>2,514</td><td>0</td><td>1,980</td><td>0.415s</td></tr><tr><td>+CFvs</td><td>2,714</td><td>383</td><td>116</td><td>383</td><td>0</td><td>0</td><td>1,702</td><td><strong>0.032s</strong></td></tr><tr><td>+AA</td><td><strong>2,286</strong></td><td>336</td><td>94</td><td>336</td><td>0</td><td>0</td><td>1,919</td><td>0.102s</td></tr><tr><td>+LR</td><td>2,434</td><td>0</td><td>95</td><td>880</td><td>0</td><td>870</td><td>1,851</td><td>0.293s</td></tr><tr><td>+LRS</td><td>2,434</td><td>0</td><td>95</td><td>880</td><td>0</td><td>870</td><td>1,856</td><td>0.396s</td></tr></tbody></table>

<table><caption>**Table 10** Results for Hartmann4 on box [0, 1]⁴</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>170,622</td><td>11,125</td><td>7,686</td><td>11,125</td><td>0</td><td>0</td><td>0</td><td>1.788s</td></tr><tr><td>+CFcb</td><td>119,942</td><td>0</td><td>7,022</td><td>9,211</td><td>119,942</td><td>0</td><td>69,387</td><td>1.709s</td></tr><tr><td>+CFbb</td><td>95,636</td><td>0</td><td>5,497</td><td>7,310</td><td>95,636</td><td>0</td><td>70,851</td><td>1.371s</td></tr><tr><td>+CFcs</td><td>102,678</td><td>0</td><td>5,393</td><td>7,745</td><td>102,678</td><td>0</td><td>69,827</td><td>1.501s</td></tr><tr><td>+CFbs</td><td>86,138</td><td>0</td><td>4,483</td><td>6,391</td><td>86,138</td><td>0</td><td>66,847</td><td>19.844s</td></tr><tr><td>+CFvs</td><td>110,130</td><td>7,002</td><td>6,535</td><td>7,002</td><td>0</td><td>0</td><td>64,093</td><td><strong>1.196s</strong></td></tr><tr><td>+AA</td><td><strong>53,368</strong></td><td>3,545</td><td>3,416</td><td>3,545</td><td>0</td><td>0</td><td>44,630</td><td>2.709</td></tr><tr><td>+LR</td><td>85,152</td><td>0</td><td>4,935</td><td>160,048</td><td>0</td><td>157,273</td><td>67,065</td><td>14.965s</td></tr><tr><td>+LRS</td><td>84,092</td><td>0</td><td>4,857</td><td>158,012</td><td>0</td><td>155,251</td><td>66,557</td><td>19.472s</td></tr></tbody></table>

<table><caption>**Table 11** Results for Hartmann6 on box [0, 1]⁶</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>4,944,040</td><td>51,671</td><td>112,878</td><td>51,671</td><td>0</td><td>0</td><td>0</td><td>1m14.548s</td></tr><tr><td>+CFcb</td><td>3,253,420</td><td>0</td><td>105,566</td><td>39,135</td><td>3,253,420</td><td>0</td><td>1,495,023</td><td>1m2.928s</td></tr><tr><td>+CFbb</td><td>3,155,816</td><td>0</td><td>105,421</td><td>37,652</td><td>3,155,816</td><td>0</td><td>1,739,241</td><td>1m1.153s</td></tr><tr><td>+CFcs</td><td>3,170,950</td><td>0</td><td>105,794</td><td>37,882</td><td>3,170,950</td><td>0</td><td>1,635,979</td><td>1m3.736s</td></tr><tr><td>+CFbs</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&gt;15m.</td></tr><tr><td>+CFvs</td><td>3,288,994</td><td>32,677</td><td>112,890</td><td>32,677</td><td>0</td><td>0</td><td>1,742,240</td><td><strong>51.057s</strong></td></tr><tr><td>+AA</td><td><strong>2,641,024</strong></td><td>26,308</td><td>106,304</td><td>26,308</td><td>0</td><td>0</td><td>1,690,829</td><td>3m7.538s</td></tr><tr><td>+LR</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&gt;15m.</td></tr><tr><td>+LRS</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&gt;15m.</td></tr></tbody></table>

The +CFvs method requires the least execution time for most of the instances. Comparing +CFvs with other +CF* methods, the centered form used in +CFvs has to evaluate one sum term less and the base-point vertex can already have been evaluated and stored. On average, +CFbb is the best method, but this is because it is the best for the ST5 test problem, which is one of the most time consuming instances.
<table><caption>**Table 12** Results for Levy 8 on [−10, 10]⁸ box. (1)Unacceptable accuracy found (worse than required 5e-07). linprog fails</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>40,662</td><td>381</td><td>40,353</td><td>381</td><td>0</td><td>0</td><td>0</td><td><strong>0.640s</strong></td></tr><tr><td>+CFcb</td><td>40,526</td><td>0</td><td>40,352</td><td>359</td><td>40,526</td><td>0</td><td>0</td><td>0.924s</td></tr><tr><td>+CFbb</td><td><strong>40,462</strong></td><td>0</td><td>40,351</td><td>327</td><td>40,462</td><td>0</td><td>0</td><td>0.958s</td></tr><tr><td>+CFcs</td><td>40,536</td><td>0</td><td>40,352</td><td>364</td><td>40,536</td><td>0</td><td>0</td><td>0.990s</td></tr><tr><td>+CFbs</td><td>40,488</td><td>0</td><td>40,352</td><td>340</td><td>40,488</td><td>0</td><td>0</td><td>2m39.124s</td></tr><tr><td>+CFvs</td><td>40,662</td><td>381</td><td>40,353</td><td>381</td><td>0</td><td>0</td><td>0</td><td>0.666s</td></tr><tr><td>+AA</td><td>40,662</td><td>381</td><td>40,353</td><td>381</td><td>0</td><td>0</td><td>3</td><td>3.150s</td></tr><tr><td>+LR</td><td>(1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>+LRS</td><td>40,538</td><td>0</td><td>40,355</td><td>27,037</td><td>0</td><td>26,928</td><td>0</td><td>2m34.620s</td></tr></tbody></table>

<table><caption>**Table 13** Results for Schubert on box [−10, 10]²</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>6,834</td><td>2,297</td><td>1,076</td><td>2,297</td><td>0</td><td>0</td><td>0</td><td>0.138s</td></tr><tr><td>+CFcb</td><td>5,106</td><td>0</td><td>655</td><td>1,649</td><td>5,106</td><td>0</td><td>1,742</td><td>0.129s</td></tr><tr><td>+CFbb</td><td>4,950</td><td>0</td><td>639</td><td>1,595</td><td>4,950</td><td>0</td><td>1,756</td><td>0.127s</td></tr><tr><td>+CFcs</td><td>5,106</td><td>0</td><td>599</td><td>1,649</td><td>5,106</td><td>0</td><td>1,806</td><td>0.134s</td></tr><tr><td>+CFbs</td><td>4,942</td><td>0</td><td>655</td><td>1,597</td><td>4,942</td><td>0</td><td>1,770</td><td>0.696s</td></tr><tr><td>+CFvs</td><td>5,070</td><td>1,649</td><td>1,076</td><td>1,649</td><td>0</td><td>0</td><td>1,726</td><td><strong>0.104s</strong></td></tr><tr><td>+AA</td><td>5,106</td><td>1,649</td><td>1,076</td><td>1,649</td><td>0</td><td>0</td><td>1,788</td><td>0.230s</td></tr><tr><td>+LR</td><td><strong>4,862</strong></td><td>0</td><td>1,076</td><td>2,553</td><td>0</td><td>2,450</td><td>1,752</td><td>0.566s</td></tr><tr><td>+LRS</td><td><strong>4,862</strong></td><td>0</td><td>1,076</td><td>2,553</td><td>0</td><td>2,450</td><td>1,758</td><td>0.649s</td></tr></tbody></table>

<table><caption>**Table 14** Results for McCormick on box [−1.5, 4] × [−3, 4]</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>1,052</td><td>329</td><td>24</td><td>329</td><td>0</td><td>0</td><td>0</td><td>0.010s</td></tr><tr><td>+CFcb</td><td>558</td><td>0</td><td>22</td><td>178</td><td>558</td><td>0</td><td>487</td><td>0.009s</td></tr><tr><td>+CFbb</td><td>482</td><td>0</td><td>20</td><td>149</td><td>482</td><td>0</td><td>451</td><td>0.007s</td></tr><tr><td>+CFcs</td><td>526</td><td>0</td><td>19</td><td>165</td><td>526</td><td>0</td><td>473</td><td>0.010s</td></tr><tr><td>+CFbs</td><td>470</td><td>0</td><td>19</td><td>145</td><td>470</td><td>0</td><td>442</td><td>0.065s</td></tr><tr><td>+CFvs</td><td>548</td><td>177</td><td>21</td><td>177</td><td>0</td><td>0</td><td>477</td><td>0.009s</td></tr><tr><td>+AA</td><td>442</td><td>141</td><td>18</td><td>141</td><td>0</td><td>0</td><td>427</td><td>0.009s</td></tr><tr><td>+LR</td><td>444</td><td>0</td><td>21</td><td>239</td><td>0</td><td>228</td><td>424</td><td>0.048s</td></tr><tr><td>+LRS</td><td><strong>434</strong></td><td>0</td><td>19</td><td>239</td><td>0</td><td>228</td><td>414</td><td><strong>0.062s</strong></td></tr></tbody></table>
<table><caption>**Table 15** Results for Rosenbrock on box [−5, 10]²</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>52</td><td>29</td><td>16</td><td>29</td><td>0</td><td>0</td><td>0</td><td><strong>0.005s</strong></td></tr><tr><td>+CFcb</td><td><strong>50</strong></td><td>0</td><td>15</td><td>28</td><td>50</td><td>0</td><td>0</td><td>0.006s</td></tr><tr><td>+CFbb</td><td>44</td><td>0</td><td>12</td><td>25</td><td>44</td><td>0</td><td>0</td><td>0.006s</td></tr><tr><td>+CFcs</td><td>66</td><td>0</td><td>21</td><td>36</td><td>66</td><td>0</td><td>0</td><td>0.006s</td></tr><tr><td>+CFbs</td><td>54</td><td>0</td><td>16</td><td>30</td><td>54</td><td>0</td><td>0</td><td>0.014s</td></tr><tr><td>+CFvs</td><td>52</td><td>29</td><td>16</td><td>29</td><td>0</td><td>0</td><td>0</td><td>0.007s</td></tr><tr><td>+AA</td><td>52</td><td>29</td><td>16</td><td>29</td><td>0</td><td>0</td><td>0</td><td>0.007s</td></tr><tr><td>+LR</td><td>54</td><td>0</td><td>17</td><td>69</td><td>0</td><td>69</td><td>3</td><td>0.012s</td></tr><tr><td>+LRS</td><td>54</td><td>0</td><td>17</td><td>69</td><td>0</td><td>69</td><td>3</td><td>0.012s</td></tr></tbody></table>

<table><caption>**Table 16** Results for Michalewicz on box [0, 3.1416]²</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>192</td><td>74</td><td>9</td><td>74</td><td>0</td><td>0</td><td>0</td><td>0.008s</td></tr><tr><td>+CFcb</td><td>144</td><td>0</td><td>9</td><td>56</td><td>144</td><td>0</td><td>66</td><td>0.008s</td></tr><tr><td>+CFbb</td><td>136</td><td>0</td><td>4</td><td>53</td><td>136</td><td>0</td><td>78</td><td><strong>0.006s</strong></td></tr><tr><td>+CFcs</td><td>144</td><td>0</td><td>12</td><td>56</td><td>144</td><td>0</td><td>67</td><td><strong>0.006s</strong></td></tr><tr><td>+CFbs</td><td>136</td><td>0</td><td>6</td><td>53</td><td>136</td><td>0</td><td>75</td><td>0.024s</td></tr><tr><td>+CFvs</td><td>144</td><td>56</td><td>9</td><td>56</td><td>0</td><td>0</td><td>63</td><td>0.007s</td></tr><tr><td>+AA</td><td>144</td><td>56</td><td>9</td><td>56</td><td>0</td><td>0</td><td>66</td><td>0.013s</td></tr><tr><td>+LR</td><td><strong>128</strong></td><td>0</td><td>9</td><td>81</td><td>0</td><td>81</td><td>70</td><td>0.019s</td></tr><tr><td>+LRS</td><td><strong>128</strong></td><td>0</td><td>9</td><td>81</td><td>0</td><td>81</td><td>70</td><td>0.023s</td></tr></tbody></table>

<table><caption>**Table 17** Results for Michalewicz on box [0, 3.1416]⁵. (1) matrix contains zero-valued coefficients. (2) Unacceptable accuracy found (worse than required 5e-07). linprog fails</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>210,356</td><td>6,964</td><td>14,087</td><td>6,964</td><td>0</td><td>0</td><td>0</td><td>3.870s</td></tr><tr><td>+CFcb</td><td>202,790</td><td>0</td><td>12,031</td><td>7,236</td><td>202,790</td><td>0</td><td>25,216</td><td>5.329s</td></tr><tr><td>+CFbb</td><td>201,320</td><td>0</td><td>8,935</td><td>7,172</td><td>201,320</td><td>0</td><td>30,857</td><td>5.098s</td></tr><tr><td>+CFcs</td><td>202,200</td><td>0</td><td>9,304</td><td>7,203</td><td>202,200</td><td>0</td><td>27,757</td><td>5.389s</td></tr><tr><td>+CFbs</td><td>(1,2)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>+CFvs</td><td>189,274</td><td>6,153</td><td>14,087</td><td>6,153</td><td>0</td><td>0</td><td>26,046</td><td><strong>3.611s</strong></td></tr><tr><td>+AA</td><td><strong>189,198</strong></td><td>6,150</td><td>14,087</td><td>6,150</td><td>0</td><td>0</td><td>26,217</td><td>19.981s</td></tr><tr><td>+LR(1)</td><td>200,016</td><td>0</td><td>12,791</td><td>1,001,262</td><td>0</td><td>996,620</td><td>34,764</td><td>1m0.438</td></tr><tr><td>+LRS</td><td>(1,2)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

## 7 Conclusions

In simplicial branch and bound methods, the determination of the lower bound is of great importance. The Interval Arithmetic lower bound on a simplex interval hull can be tightened by additional calculations at a given cost. Several methods have been described and investigated. We have used the centered form with several base-points over a simplex and the interval hull of a simplex. The use of Affine Arithmetic and a Linear Relaxation over the
<table><caption>**Table 18** Results for Styblinski-Tang on [-5, 5]<sup>2</sup> box</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>1,382</td><td>444</td><td>62</td><td>444</td><td>0</td><td>0</td><td>0</td><td>0.012s</td></tr><tr><td>+CFcb</td><td>750</td><td>0</td><td>54</td><td>246</td><td>750</td><td>0</td><td>642</td><td>0.008s</td></tr><tr><td>+CFbb</td><td>654</td><td>0</td><td>42</td><td>216</td><td>654</td><td>0</td><td>608</td><td>0.007s</td></tr><tr><td>+CFcs</td><td>722</td><td>0</td><td>48</td><td>242</td><td>722</td><td>0</td><td>632</td><td>0.007s</td></tr><tr><td>+CFbs</td><td>642</td><td>0</td><td>38</td><td>214</td><td>642</td><td>0</td><td>604</td><td>0.085s</td></tr><tr><td>+CFvs</td><td>794</td><td>263</td><td>56</td><td>263</td><td>0</td><td>0</td><td>608</td><td><strong>0.006s</strong></td></tr><tr><td>+AA</td><td><strong>558</strong></td><td>182</td><td>36</td><td>182</td><td>0</td><td>0</td><td>552</td><td>0.011s</td></tr><tr><td>+LR</td><td>622</td><td>0</td><td>41</td><td>305</td><td>0</td><td>292</td><td>584</td><td>0.063s</td></tr><tr><td>+LRS</td><td>622</td><td>0</td><td>41</td><td>305</td><td>0</td><td>292</td><td>584</td><td>0.083s</td></tr></tbody></table>

interval hull and over the simplex has also been presented. Moreover, we introduced several theoretical results about monotonicity that can be applied to construct new rejection tests.

Results on a set of well known low dimensional test instances show that Affine Arithmetic is a promising method to get lower bounds over a simplex. It requires the smallest number of simplex evaluations in many problems. However, its computational time is larger than that of several other methods. In general, methods using a Linear Programming solver suffer the same drawback requiring more time. We found that the monotonicity tests were essential for the reduction of computing time.
<table><caption>Table 19 Results for Styblinski-Tang on box [−5, 5]⁵</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>36,358,328</td><td>843,581</td><td>1,738,800</td><td>843,581</td><td>0</td><td>0</td><td>0</td><td>3m04.924s</td></tr><tr><td>+CFcb</td><td>17,136,600</td><td>0</td><td>1,472,281</td><td>481,742</td><td>17,136,600</td><td>0</td><td>14,866,440</td><td>1m40.292s</td></tr><tr><td>+CFbb</td><td>9,976,680</td><td>0</td><td>1,153,440</td><td>223,784</td><td>9,976,680</td><td>0</td><td>9,727,920</td><td><strong>58.476s</strong></td></tr><tr><td>+CFcs</td><td>11,479,080</td><td>0</td><td>1,033,320</td><td>293,839</td><td>11,479,080</td><td>0</td><td>10,616,760</td><td>1m12.900s</td></tr><tr><td>+CFbs</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&gt; 15m</td></tr><tr><td>+CFvs</td><td>16,777,800</td><td>341,005</td><td>1,309,801</td><td>341,005</td><td>0</td><td>0</td><td>13,589,880</td><td>1m29.063s</td></tr><tr><td>+AA</td><td><strong>2,569,082</strong></td><td>43,398</td><td>266,040</td><td>43,398</td><td>0</td><td>0</td><td>2,568,122</td><td>1m3.954s</td></tr><tr><td>+LR</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&gt; 15m</td></tr><tr><td>+LRS</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&gt; 15m</td></tr></tbody></table>
<table><caption>**Table 20** Results for Dixon-Price on box [−10, 10]²</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>112</td><td>50</td><td>18</td><td>50</td><td>0</td><td>0</td><td>0</td><td>0.010s</td></tr><tr><td>+CFcb</td><td>100</td><td>0</td><td>16</td><td>44</td><td>100</td><td>0</td><td>0</td><td><strong>0.005s</strong></td></tr><tr><td>+CFbb</td><td><strong>16</strong></td><td>0</td><td>5</td><td>11</td><td>16</td><td>0</td><td>2</td><td>0.006s</td></tr><tr><td>+CFcs</td><td>102</td><td>0</td><td>14</td><td>45</td><td>102</td><td>0</td><td>0</td><td>0.007s</td></tr><tr><td>+CFbs</td><td>106</td><td>0</td><td>15</td><td>47</td><td>106</td><td>0</td><td>11</td><td>0.019s</td></tr><tr><td>+CFvs</td><td>112</td><td>50</td><td>18</td><td>50</td><td>0</td><td>0</td><td>0</td><td>0.006s</td></tr><tr><td>+AA</td><td>90</td><td>40</td><td>18</td><td>40</td><td>0</td><td>0</td><td>10</td><td>0.007s</td></tr><tr><td>+LR</td><td>104</td><td>0</td><td>18</td><td>73</td><td>0</td><td>71</td><td>12</td><td>0.015s</td></tr><tr><td>+LRS</td><td>104</td><td>0</td><td>18</td><td>73</td><td>0</td><td>71</td><td>13</td><td>0.018s</td></tr></tbody></table>

<table><caption>**Table 21** Results for Dixon-Price on box [−10, 10]⁵</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>153,392</td><td>4,250</td><td>6,395</td><td>4,250</td><td>0</td><td>0</td><td>0</td><td><strong>0.526s</strong></td></tr><tr><td>+CFcb</td><td>188,476</td><td>0</td><td>7,190</td><td>5,305</td><td>188,476</td><td>0</td><td>0</td><td>0.725s</td></tr><tr><td>+CFbb</td><td>188,362</td><td>0</td><td>2,314</td><td>5,279</td><td>188,362</td><td>0</td><td>360</td><td>0.714s</td></tr><tr><td>+CFcs</td><td>188,420</td><td>0</td><td>7,257</td><td>5,300</td><td>188,420</td><td>0</td><td>17</td><td>0.794s</td></tr><tr><td>+CFbs</td><td>188,376</td><td>0</td><td>7,180</td><td>5,286</td><td>188,376</td><td>0</td><td>1,664</td><td>58.210s</td></tr><tr><td>+CFvs</td><td>153,392</td><td>4,250</td><td>6,395</td><td>4,250</td><td>0</td><td>0</td><td>12</td><td>0.578s</td></tr><tr><td>+AA</td><td><strong>97,060</strong></td><td>2,917</td><td>5,676</td><td>2,917</td><td>0</td><td>0</td><td>22,387</td><td>1.461s</td></tr><tr><td>+LR</td><td>188,384</td><td>0</td><td>2,648</td><td>474,561</td><td>0</td><td>471,384</td><td>799</td><td>48.791s</td></tr><tr><td>+LRS</td><td>188,384</td><td>0</td><td>2,648</td><td>47,4561</td><td>0</td><td>471,384</td><td>8,226</td><td>1m1.352s</td></tr></tbody></table>

<table><caption>**Table 22** Results for Trid on box [−4, 4]²</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>1,122</td><td>334</td><td>20</td><td>334</td><td>0</td><td>0</td><td>0</td><td>0.008s</td></tr><tr><td>+CFcb</td><td>578</td><td>0</td><td>20</td><td>174</td><td>578</td><td>0</td><td>532</td><td><strong>0.005s</strong></td></tr><tr><td>+CFbb</td><td>298</td><td>0</td><td>14</td><td>125</td><td>298</td><td>0</td><td>278</td><td>0.007s</td></tr><tr><td>+CFcs</td><td>570</td><td>0</td><td>20</td><td>170</td><td>570</td><td>0</td><td>534</td><td>0.006s</td></tr><tr><td>+CFbs</td><td>298</td><td>0</td><td>16</td><td>125</td><td>298</td><td>0</td><td>283</td><td>0.045s</td></tr><tr><td>+CFvs</td><td>574</td><td>175</td><td>18</td><td>175</td><td>0</td><td>0</td><td>528</td><td>0.006s</td></tr><tr><td>+AA</td><td>386</td><td>105</td><td>10</td><td>105</td><td>0</td><td>0</td><td>372</td><td>0.008s</td></tr><tr><td>+LR</td><td><strong>282</strong></td><td>0</td><td>18</td><td>129</td><td>0</td><td>128</td><td>266</td><td>0.030s</td></tr><tr><td>+LRS</td><td><strong>282</strong></td><td>0</td><td>18</td><td>129</td><td>0</td><td>128</td><td>268</td><td>0.043s</td></tr></tbody></table>

The method requiring least computing time in several test problems is the one based on the center form on a simplex using the vertex of a simplex with the highest function value as a base-point. The vertex can already have been evaluated and stored and the centered form requires one less additional term evaluation.
<table><caption>**Table 23** Results for Trid on box [−9, 9]³</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>9,862</td><td>1,421</td><td>114</td><td>1,421</td><td>0</td><td>0</td><td>0</td><td>0.024s</td></tr><tr><td>+CFcb</td><td>4,930</td><td>0</td><td>98</td><td>715</td><td>4,930</td><td>0</td><td>4,466</td><td>0.016s</td></tr><tr><td>+CFbb</td><td>4,106</td><td>0</td><td>96</td><td>597</td><td>4,106</td><td>0</td><td>3,916</td><td><strong>0.015s</strong></td></tr><tr><td>+CFcs</td><td>4,690</td><td>0</td><td>102</td><td>683</td><td>4,690</td><td>0</td><td>4,332</td><td>0.017s</td></tr><tr><td>+CFbs</td><td>3,860</td><td>0</td><td>86</td><td>556</td><td>3,860</td><td>0</td><td>3,738</td><td>0.571s</td></tr><tr><td>+CFvs</td><td>4,926</td><td>721</td><td>116</td><td>721</td><td>0</td><td>0</td><td>4,468</td><td>0.016s</td></tr><tr><td>+AA</td><td>3,526</td><td>533</td><td>84</td><td>533</td><td>0</td><td>0</td><td>3,428</td><td>0.033s</td></tr><tr><td>+LR</td><td>3,658</td><td>0</td><td>96</td><td>1,486</td><td>0</td><td>1,458</td><td>3,584</td><td>0.412s</td></tr><tr><td>+LRS</td><td><strong>3,510</strong></td><td>0</td><td>102</td><td>1,478</td><td>0</td><td>1,450</td><td>3,450</td><td>0.515s</td></tr></tbody></table>

This means that it is preferable to evaluate cheap lower bounds that reuse previous information over more simplices than expensive lower bounds over less simplices for low dimensional instances.

**Acknowledgements** This research is supported by the Spanish Ministry (RTI2018-095993-B-I00), in part financed by the European Regional Development Fund (ERDF).

## Declarations

**Conflicts of interest** The authors declare that they have no conflict of interest.

**Open Access** This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

## A Extended numerical results

In Tables 2 to 21 the following notation is used.

NS : number of simplex evaluations,

NSV : number of simplex vertex evaluations,

MTS : maximum number of simplices stored in the AVL tree,

MTP : maximum number of points stored in the AVL tree,

NNV : number of non simplex vertex evaluations. They can be *cb*, *bb*⁻, *cs* or *bs*⁻.

NBV : number of □S vertex evaluations,

NI : number of times the natural inclusion lower bound is improved by another lower bounding method,

T : wall clock time. Differences smaller than 0.005s are not significant.
<table><caption>**Table 24** Results for Trid on box [−25, 25]$^5$. (1): Unacceptable accuracy found (worse than required 5e-07). linprog fails</caption><thead><tr><th>LB</th><th>NS</th><th>NSV</th><th>MTS</th><th>MTP</th><th>NNV</th><th>NBV</th><th>NI</th><th>T</th></tr></thead><tbody><tr><td>IA</td><td>10,891,264</td><td>289,293</td><td>46,300</td><td>289,293</td><td>0</td><td>0</td><td>0</td><td>42.946s</td></tr><tr><td>+CFcb</td><td>5,018,560</td><td>0</td><td>57,116</td><td>141,508</td><td>5,018,560</td><td>0</td><td>4,837,484</td><td>22.528s</td></tr><tr><td>+CFbb</td><td>3,929,044</td><td>0</td><td>64,524</td><td>106,795</td><td>3,929,044</td><td>0</td><td>3,878,012</td><td><strong>18.440s</strong></td></tr><tr><td>+CFcs</td><td>4,070,716</td><td>0</td><td>57,112</td><td>109,902</td><td>4,070,716</td><td>0</td><td>4,003,534</td><td>21.166s</td></tr><tr><td>+CFbs</td><td>(1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>+CFvs</td><td>4,357,124</td><td>107,706</td><td>57,256</td><td>107,706</td><td>0</td><td>0</td><td>4,247,010</td><td>19.388s</td></tr><tr><td>+AA</td><td><strong>1,995,960</strong></td><td>47,597</td><td>38,994</td><td>47,597</td><td>0</td><td>0</td><td>1,991,164</td><td>28.440s</td></tr><tr><td>+LR</td><td>3,080,752</td><td>0</td><td>53,436</td><td>18,208,468</td><td>0</td><td>18,160,614</td><td>3,075,286</td><td>14m20.630s</td></tr><tr><td>+LRS</td><td>(1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

<figure><img src="image_5.png" /></figure>
## B Methods on a convex quadratic function

The Trid problem from optimization is a convex quadratic function. According to Some Hard Global Optimization Test Problems: This is a simple discretized variational problem, convex, quadratic, with a unique local minimizer and a tridiagonal Hessian. The scaling behaviour for increasing $n$ (search region is $[-n^2, n^2]$) gives an idea on the efficiency of localizing minima once the region of attraction (which here is everything) is found; most local methods only need $O(n^2)$ function evaluations, or only $O(n)$ (function+gradient) evaluations. A global optimization code that has difficulties with solving this problem for $n=100$, say, is of limited worth only. The strong coupling between the variables causes difficulties for genetic algorithms. The problem is typical for many problems from control theory, though the latter are usually nonquadratic and often nonconvex.

## References

1. Adelson-Velsky, G.M., Landis, E.M.: An algorithm for the organization of information. Proceed. USSR Acad. Sci. (in Russian) **146**, 263–266 (1962)

2. Andrade, A., Comba, J., Stolfi, J.: Affine arithmetic. International Conf. on Interval and Computer-Algebraic Methods in Science and Engineering (INTERVAL/94) (1994)

3. Baumann, E.: Optimal centered forms. BIT Num. Math. **28**(1), 80–87 (1988). https://doi.org/10.1007/BF01934696

4. de Figueiredo, L., Stolfi, J.: Affine arithmetic: concepts and applications. Num. Alg. **37**(1–4), 147–158 (2004). https://doi.org/10.1023/B:NUMA.0000049462.70970.b6

5. Hansen, E., Walster, W.: Global Optimization Using Interval Analysis, 2ème edn. Marcel Dekker Inc., New York (2004)

6. Hendrix, E.M.T., Salmerón, J.M.G., Casado, L.G.: On function monotonicity in simplicial branch and bound. AIP Conf. Proceed. (2019). https://doi.org/10.1063/1.5089974

7. Karhbet, S.D., Kearfott, R.B.: Range bounds of functions over simplices, for branch and bound algorithms. Reliable Computing **25**, 53–73 (2017). https://interval.louisiana.edu/reliable-computing-journal/volume-25/reliable-computing-25-pp-053-073.pdf

8. Kearfott, R.B.: Rigorous Global Search: Continuous Problems. Kluwer Academic Publishers, Newyork (1996)

9. Messine, F.: Extensions of affine arithmetic: application to unconstrained global optimization. J. Univ. Comput. Sci. **8**(11), 992–1015 (2002). https://doi.org/10.3217/jucs-008-11-0992

10. Messine, F., Lagouanelle, J.L.: Enclosure methods for multivariate differentiable functions and application to global optimization. J. Univ. Comput. Sci. **4**(6), 589–603 (1998). https://doi.org/10.3217/jucs-004-06-0589

11. Messine, F., Touhami, A.: A general reliable quadratic form: an extension of affine arithmetic. Reliab. Comput. **12**(3), 171–192 (2006). https://doi.org/10.1007/s11155-006-7217-4

12. Mohand, O.: Tighter bound functions for nonconvex functions over simplexes. RAIRO Oper. Res. **55**, S2373–S2381 (2021). https://doi.org/10.1051/ro/2020088

13. Moore, R.: Interval Analysis. Prentice-Hall Inc., Englewood Cliffs (1966)

14. Ninin, J., Messine, F., Hansen, P.: A reliable affine relaxation method for global optimization. 4OR **13**(3), 247–277 (2014). https://doi.org/10.1007/s10288-014-0269-0

15. Paulavičius, R., Žilinskas, J.: Simplicial Global Optimization. Springer, New York (2014)

16. Rall, L.B.: Automatic differentiation: Techniques and applications. Lecture Notes in Computer Science, vol. 120. Springer, Newyork (1981)

17. Ratschek, H., Rokne, J.: Computer Methods for the Range of Functions. Ellis Horwood Ltd, Chichester (1984)

18. Rump, S.M., Kashiwagi, M.: Implementation and improvements of affine arithmetic. Nonlin. Theory Appl. **6**(3), 341–359 (2015). https://doi.org/10.1587/nolta.6.341

19. Salmerón, J.M.G., Aparicio, G., Casado, L.G., García, I., Hendrix, E.M.T., Toth, B.G.: Generating a smallest binary tree by proper selection of the longest edges to bisect in a unit simplex refinement. J. Comb. Optim. (2015). https://doi.org/10.1007/s10878-015-9970-y
20. Sherali, H., Adams, W.: A Reformulation-Linearization Technique for Solving Discrete and Continuous Nonconvex Problems. Kluwer Academis Publishers, Dordrecht (1999)

21. Sherali, H., Liberti, L.: Reformulation-Linearization Technique for Global Optimization. In: Encyclopedia of Optimization, Springer, New York (2009)

22. Stolfi, J., de Figueiredo, L.: Self-Validated Numerical Methods and Applications. Monograph for 21st Brazilian Mathematics Colloquium. IMPA/CNPq (1997)

23. Surjanovic, S., Bingham, D.: Virtual library of simulation experiments: Test functions and datasets (2013). http://www.sfu.ca/~ssurjano

24. Todd, M.J.: The Computation of Fixed Points and Applications. Springer, Heidelberg (1976)

25. Tóth, B., Casado, L.G.: Multi-dimensional pruning from the Baumann point in an Interval Global Optimization Algorithm. J. Glob. Optim. 38(2), 215–236 (2007). https://doi.org/10.1007/s10898-006-9072-6

26. Žilinskas, J.: Branch and bound with simplicial partitions for global optimization. Math. Modell. Anal. 13(1), 145–159 (2008). https://doi.org/10.3846/1392-6292.2008.13.145-159

**Publisher's Note** Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.