1 Introduction

Multi-objective optimization deals with problems where not only one but several objective functions are minimized simultaneously. If those problems have some continuous and also some integer variables, we denote them multi-objective mixed-integer optimization problems. This kind of optimization problems arises for various practical applications, such as allocation, supply-chain, and financial problems (e.g. Roozbahani et al. 2015; Singh and Goh 2018; Xidonas et al. 2009).

We propose a new numerical solution method for such problems in this paper. More precisely, for once continuously differentiable convex objective functions \(f_i :\mathbb {R}^{n+m} \rightarrow \mathbb {R}\), \(i \in [p]\) and once continuously differentiable convex constraint functions \(g_j :\mathbb {R}^{n+m} \rightarrow \mathbb {R}\), \(j \in [q]\) we consider the optimization problem

$$\begin{aligned} \min \limits _{x} \; f(x) \quad \text {s.t.} \quad g(x) \le 0_q, \; x \in X := X_C \times X_I \end{aligned}$$
(MOMICP)

where \([p]:= \{1,\ldots ,p\}, \, f = (f_1,\ldots ,f_p) :\mathbb {R}^{n+m} \rightarrow \mathbb {R}^{p}, \,{g = (g_1,\ldots ,g_q)}:\mathbb {R}^{n+m}\rightarrow \mathbb {R}^{q}\), and \(0_q \in \mathbb {R}^q\) denotes the all-zeros vector. We assume that \(X_C:= [l_C,u_C] \subseteq \mathbb {R}^n\) is a nonempty box with \(l_C,u_C \in \mathbb {R}^n\) and \(X_I:= [l_I,u_I] \cap \mathbb {Z}^m\) is a (finite) nonempty subset of \(\mathbb {Z}^m\) with \(l_I,u_I \in \mathbb {Z}^m\).

Since the objectives of multi-objective optimization problems are usually conflicting, the aim is to compute so-called efficient solutions in the decision space, which correspond to nondominated points in the criterion space. Efficient solutions are defined by their property that it is not possible to find another feasible point that improves any objective without deteriorating another, see also Ehrgott (2005). In general, there is an infinite number of nondominated points for (MOMICP).

Many strategies to solve purely continuous multi-objective optimization problems have been studied in the last decades. In contrast to linear problems, for nonlinear (purely continuous) multi-objective optimization problems there exists no method to compute the nondominated set exactly. Instead, only approximations given by a finite representation or a coverage (e.g. using sandwiching techniques) of the nondominated set are computed, see also the survey by Ruzika and Wiecek (2005).

For the mixed-integer setting several papers focus on linear optimization problems. For those, the nondominated set can be computed exactly. This is a major difference compared to multi-objective mixed-integer convex optimization problems where this is, in general, not possible. For example, the nondominated set of bi-objective mixed-integer linear optimization problems basically consists of line segments and isolated points. Thus, by computing the isolated points and the end points defining the line segments, one obtains an exact and finite representation of the complete nondominated set (which in general still contains infinitely many points). Such a finite representation that fully describes the nondominated set is, in general, not available for multi-objective mixed-integer convex optimization problems.

One of the first approaches for the special setting of bi-objective mixed-integer linear optimization problems was the Triangle Splitting Method presented in Boland et al. (2015). Besides that, algorithms for the bi-objective linear setting have been presented for example in Soylu and Yıldız (2016) and more recently in Perini et al. (2020) with the Boxed Line Method. Also for an arbitrary number of linear objectives, algorithms have been proposed in Özpeynirci and Köksalan (2010) as well as in Przybylski et al. (2019). However, the latter focus on finding only the so-called supported nondominated extreme points. An approach to find the exact nondominated set is the GoNDEF algorithm from Rasmi and Türkay (2019). For a survey of algorithms to solve multi-objective mixed-integer linear optimization problems, we refer to Halffmann et al. (2022). Once again, it is important to point out that all these algorithms rely heavily on the linear structure of the optimization problems. In particular, they make use of the fact that in the linear setting the nondominated set can be computed exactly since it can be completely represented by a finite number of points. This is not the case for general multi-objective mixed-integer convex optimization problems.

Within the last years, first algorithms to solve multi-objective mixed-integer nonlinear optimization problems have been published. One approach is to make use of scalarization-techniques, i.e., to solve the multi-objective optimization problem by solving several (parameterized) single-objective optimization problems. This is a very common approach from continuous multi-objective optimization and it is used in Burachik et al. (2022) to solve mixed-integer optimization problems as well. The downside of this approach is that a prohibitive amount of single-objective mixed-integer nonlinear optimization problems has to be solved. Moreover, it is not clear how many and which of these problems need to be solved in order to obtain a representation of the nondominated set of certain quality. Another downside of scalarization approaches is that the subproblems obtained by a scalarization of (MOMICP) are single-objective mixed-integer convex optimization problems, which still require a lot of computational effort to be solved fast and reliably.

Just recently, in Cabrera-Guerrero et al. (2022) the authors presented an approach to solve bi-objective mixed-integer convex optimization problems. That approach makes use of both the bi-objective and the mixed-integer structure of the problem. Also the quality of the computed approximation of the nondominated set can be controlled by that algorithm. What we have in common with the approach from Cabrera-Guerrero et al. (2022) is that we also work with the same class of subproblems that are obtained from (MOMICP) by fixing the integer variables. However, the approach from Cabrera-Guerrero et al. (2022) is only designed to solve bi-objective optimization problems and it cannot be extended, at least not directly, to solve general problems (MOMICP) with more than two objective functions. Moreover, in Cabrera-Guerrero et al. (2022) the authors assume that the set of feasible integer assignments is known, which is not needed for the algorithm presented in this paper.

Another approach to approximate the nondominated set of bi-objective mixed-integer convex optimization problems is presented in Diessel (2022). The main idea of that approach is to use line segments in the criterion space and refine those in order to obtain an approximation of the nondominated set. Also this approach works only for bi-objective instances, and so far it is not known whether or how it can be generalized for optimization problems (MOMICP) with three and more objective functions.

To the best of our knowledge, the only algorithms to solve arbitrary multi-objective mixed-integer convex optimization problems without using scalarization techniques and with a guaranteed quality of the computed approximation are the ones presented in De Santis et al. (2020) and Eichfelder et al. (2022). Both of these algorithms are based on a branch-and-bound approach in the decision space. The downside of such branch-and-bound approaches is that they are typically not well-suited for optimization problems with a larger number of decision variables. Another shortcoming of the method from De Santis et al. (2020) is that it can only use its full potential for multi-objective mixed-integer quadratic instances.

In this paper, we follow a completely different approach which relies on neither scalarization-first nor decision space based methods like branch-and-bound. Instead, we introduce a new method that works almost entirely in the criterion space and computes an enclosure of the nondominated set of (MOMICP) of prescribed quality within a finite number of iterations. What is more, our algorithm works not only for bi-objective but for general multi-objective optimization problems (MOMICP) with an arbitrary number of objective functions.

A key ingredient of our new method is to make use of the finiteness of the set \(X_I\) of integer assignments. More precisely, we decompose the multi-objective mixed-integer convex optimization problem (MOMICP) into several multi-objective (continuous) convex optimization problems, which we refer to as patches, by fixing the integer assignments. This allows us to compute an enclosure for the nondominated set of (MOMICP) as a combination of coverages of the nondominated sets of these patches. Such a decomposition technique is also used in Cabrera-Guerrero et al. (2022).

Since the nondominated sets of the patches can either contribute completely, partially, or not at all to the nondominated set of (MOMICP), we introduce a strategy to iteratively improve the coverages of the nondominated sets of those patches that contribute to the overall nondominated set and discard the other ones. We also present a technique to reduce the number of patches that need to be considered in total. In particular, this allows us to avoid full enumeration of all possible integer assignments. Our new algorithm alternates between two tasks: Computing integer assignments \(x_I \in X_I\) to obtain new patches and dynamically improving the coverages of the nondominated sets of those patches that have already been found. More precisely, it combines the outer approximation approach from mixed-integer optimization to compute new integer assignments with techniques from multi-objective continuous optimization to approximate the nondominated sets of the patches. For this reason, i.e., since we have that interplay of searching for new patches and dynamically improving patches from previous iterations, we call our algorithm a hybrid approach. To the best of our knowledge, this new strategy to dynamically improve the coverages of the patches and then combining them to obtain an enclosure of the nondominated set of (MOMICP) without having an explicit representation of the set \(X_I\) of integer assignments is the first of its kind.

The remaining paper is organized as follows. In Sect. 2, we introduce notations and definitions used throughout this paper. We briefly recall the concept of an enclosure for the nondominated set of (MOMICP) as well as a corresponding strategy to compute lower and upper bounds in Sect. 3. In Sect. 4, we give a formal definition of the patches and discuss their role within our algorithm. Our strategy to compute integer assignments (to obtain new patches) and to reduce the number of patches that our algorithm needs to consider is presented in Sect. 5. In Sect. 6, we combine all these techniques and present our new algorithm to compute an enclosure of the nondominated set of (MOMICP) of prescribed quality. Finally, we present numerical results on selected test instances in Sect. 7 where we also compare our results to those from De Santis et al. (2020) and Eichfelder et al. (2022).

2 Notations and definitions

In this paper, all relations, e.g., \(x \le x^\prime \) for \(x,x^\prime \in \mathbb {R}^n\), are meant to be read component-wise. We denote by \(e \in \mathbb {R}^p\) the all-ones vector in \(\mathbb {R}^p\). Further, for \(l,u \in \mathbb {R}^p\) we define the (closed) box \([l,u]:= (\{l\} + \mathbb {R}^p_+) \cap (\{u\} - \mathbb {R}^p_+)\) and the open box \((l,u):= (\{l\} + {{\,\textrm{int}\,}}(\mathbb {R}^p_+)) \cap (\{u\} - {{\,\textrm{int}\,}}(\mathbb {R}^p_+))\).

We write \(x = (x_C,x_I)\) for all \(x \in X\) to distinguish between the continuous and integer variables of our optimization problem (MOMICP). The feasible set of (MOMICP) is denoted by S and is assumed to be nonempty. Its projection on \(\mathbb {R}^m\) is defined by

$$\begin{aligned} S_I = \lbrace x_I \in \mathbb {Z}^m \mid \exists \; x_C \in \mathbb {R}^n :(x_C,x_I) \in S \rbrace . \end{aligned}$$

We call \(x_I \in S_I\) a feasible integer assignment. Since we will often fix the integer variables, we define for \(\hat{x}_I \in \mathbb {Z}^m\)

$$\begin{aligned} S_{\hat{x}_I} = \lbrace x \in S \mid x_I = \hat{x}_I \rbrace \text { and } X_{\hat{x}_I} = \lbrace x \in X \mid x_I = \hat{x}_I \rbrace . \end{aligned}$$

By our assumptions, all objective functions \(f_i, i \in [p]\) are continuous and the feasible set S is compact. As a result, we have that

$$\begin{aligned} \exists \; z,Z \in \mathbb {R}^p :f(S) \subseteq {{\,\textrm{int}\,}}(B) \text { with } B:=[z,Z]. \end{aligned}$$
(1)

We assume that such a box B, which we also refer to as initial box B, is known.

The objective functions of (MOMICP) are usually competing with each other. For this reason, in general, it is not possible to find a feasible point that minimizes all objectives at the same time. Hence, we use the concept of efficiency.

Definition 2.1

A point \(\bar{x} \in S\) is called an efficient solution of (MOMICP) if there exists no \(x \in S\) with

$$\begin{aligned} f_i(x)&\le f_i(\bar{x}) \text { for all } i \in [p],\\ f_j(x)&< f_j(\bar{x}) \text { for at least one } j \in [p]. \end{aligned}$$

It is called a weakly efficient solution of (MOMICP) if there exists no \(x \in S\) with

$$\begin{aligned} f_i(x) < f_i(\bar{x}) \text { for all } i \in [p]. \end{aligned}$$

We also need two concepts of dominance. Since we make use of lower and upper bound concepts, see Sect. 3, we need a dominance concept with respect to the relation \(\le \) and one with respect to \(\ge \).

Definition 2.2

Let \(y^1,y^2 \in \mathbb {R}^p\) and \(\preceq \, \in \{ \le , \ge \}\). Then \(y^2\) is dominated by \(y^1\) with respect to (w.r.t.) \(\preceq \) if

$$\begin{aligned} y^1 \ne y^2, \; y^1 \preceq y^2. \end{aligned}$$

For a set \(N \subseteq \mathbb {R}^p\) a vector \(y \in \mathbb {R}^p\) is dominated given N w.r.t. \(\preceq \) if

$$\begin{aligned} \exists \; \hat{y} \in N :\hat{y} \ne y, \; \hat{y} \preceq y. \end{aligned}$$

If y is not dominated given N w.r.t. \(\preceq \), it is called nondominated given N w.r.t. \(\preceq \). Analogously, for \(\prec \; \in \{ <, > \}\) we say \(y^2\) is strictly dominated by \(y^1\) w.r.t. \(\prec \) if

$$\begin{aligned} y^1 \prec y^2 \end{aligned}$$

and a vector \(y \in \mathbb {R}^m\) is strictly dominated given a set \(N \subseteq \mathbb {R}^m\) w.r.t. \(\prec \) if

$$\begin{aligned} \exists \; \hat{y} \in N :\hat{y} \prec y. \end{aligned}$$

If y is not strictly dominated given N w.r.t. \(\prec \), it is called weakly nondominated given N w.r.t. \(\prec \).

Usually the specification of the relation \(\preceq \)/\(\prec \) is known from the context. Thus, we do not explicitly mention it in most cases. As the images \(f(\bar{x})\) of efficient solutions \(\bar{x} \in S\) of (MOMICP) are nondominated given f(S) w.r.t. \(\le \), they are called nondominated points of (MOMICP). We denote by \(\mathcal {E}\) the set of efficient solutions (also efficient set) and by \(\mathcal {N}\) the set of nondominated points (also nondominated set) of (MOMICP), i.e., \(\mathcal {N}:= \lbrace f(x) \in \mathbb {R}^p \mid x \in \mathcal {E} \rbrace \). We point out that even if the objective and constraint functions are all assumed to be continuous and convex, the nondominated set of (MOMICP) can be a disconnected set due to the integrality constraints. For an illustration, we refer to the forthcoming Fig. 1 for a bi-objective example with \(\left|S_I \right| = 2\), where the nondominated set is highlighted in orange.

3 Enclosure

In general, there is an infinite number of nondominated points for (MOMICP). In contrast to the linear case, there exists no finite and at the same time exact representation of the complete nondominated set in the general convex setting. Hence, the aim of this paper is to compute an approximation of the nondominated set. More precisely, we will make use of a concept that allows to compute an approximation of the nondominated set of the overall problem (MOMICP) as a combination of approximations of the nondominated sets of patches. Thereby, a patch corresponds to (MOMICP) with a fixed integer assignment \(\hat{x}_I \in S_I\). We provide a formal definition of patches in the next section.

In general, there are two classes of approximation concepts in multi-objective optimization. The first is what we refer to as representation approaches. There, the goal is to compute a finite number of nondominated points to represent the overall nondominated set. The distance of these points is then often used as a quality criterion for the representation. However, due to gaps and potentially even isolated points in the nondominated set of (MOMICP), this can be hard to apply in the setting of multi-objective mixed-integer optimization.

We focus on the second class, where the goal is to compute a superset of the nondominated set, referred to as coverage approaches. A suitable concept for such a coverage is the enclosure as presented in Eichfelder et al. (2021). In particular, that concept respects the natural ordering since it is a box-based approach. This enables us to compute the overall coverage of the nondominated set \(\mathcal {N}\) of (MOMICP) as a combination of the coverages of the nondominated sets of the patches.

Definition 3.1

Let \(L,U \subseteq \mathbb {R}^p\) be two finite sets with

$$\begin{aligned} \mathcal {N}\subseteq L + \mathbb {R}^p_+ \text { and } \mathcal {N}\subseteq U - \mathbb {R}^p_+. \end{aligned}$$

Then L is called a lower bound set, U is called an upper bound set, and the set \(\mathcal {A}\) which is given as

$$\begin{aligned} \mathcal {A}= \mathcal {A}(L,U):= (L + \mathbb {R}^p_+) \cap (U - \mathbb {R}^p_+) = \bigcup _{l \in L} \; \bigcup _{\begin{array}{c} u \in U, \\ l \le u \end{array}} \; [l,u] \end{aligned}$$

is called the enclosure of the nondominated set \(\mathcal {N}\) of (MOMICP) given L and U.

Besides the enclosure itself, we also need a corresponding quality criterion which serves as a termination criterion for our algorithm. Therefore, we use a quality concept from Eichfelder et al. (2021) called the width of \(\mathcal {A}\). It is denoted by \(w(\mathcal {A})\) and equals

$$\begin{aligned} \sup \, \lbrace s(l,u) \in \mathbb {R}\mid l \in L, \; u \in U, \; l \le u \rbrace \end{aligned}$$
(2)

where \(s(l,u):= \min \lbrace u_i-l_i \mid i \in [p] \rbrace \) denotes the shortest edge length of a box [lu]. While in single-objective global optimization one is typically interested in the largest edge length of boxes in the decision space, it might seem surprising that here the shortest edge length (in the criterion space) is used. However, it turns out that working with exactly this quality measure is a natural extension from the width of the interval containing the optimal value in the single-objective case and yields to some desirable properties. It is shown in Eichfelder et al. (2021, Lemma 3.1) that for an enclosure \(\mathcal {A}\) with \(w(\mathcal {A}) < \varepsilon \) for some \(\varepsilon > 0\) we have that all \(y \in \mathcal {A}\cap f(S)\) are \(\varepsilon \)-nondominated points. For more details on the motivation and a discussion of this quality measure, we refer to Eichfelder et al. (2021), Eichfelder and Warnow (2021a).

Before we present a sketch of our algorithm to compute an enclosure, we first present a method to compute the lower and upper bound sets from Definition 3.1. More precisely, we use the concept of so-called Local Upper Bounds (LUBs) from Klamroth et al. (2015), which is related to the bound concept that appeared earlier in Ehrgott and Gandibleux (2007). The authors from Klamroth et al. (2015) call a set \(Y \subseteq \mathbb {R}^p\) stable if the elements of Y are not pairwise comparable, i.e., for all \(y^1,y^2 \in Y\) with \(y^1 \ne y^2\) there exists \(i,j \in [p]\) such that \(y^1_i < y^2_i\) and \(y^1_j > y^2_j\). In Klamroth et al. (2015), only the concept to compute an upper bound set is presented. We use the idea from Klamroth et al. (2015) to compute also a lower bound set. For this reason, we slightly extended the notation to be able to distinguish between these two cases.

Definition 3.2

Let \(B \subseteq \mathbb {R}^p\) denote the box from (1) with \(f(S) \subseteq {{\,\textrm{int}\,}}(B)\). Further, let \(N \subseteq f(S)\) be a finite and stable set. Then the lower search region for N is \(s(N):= \lbrace y \in {{\,\textrm{int}\,}}(B) \mid y^\prime \not \le y \text { for every } y^\prime \in N \rbrace \) and the lower search zone for some \(u \in \mathbb {R}^p\) is \(c(u):= \lbrace y \in {{\,\textrm{int}\,}}(B) \mid y < u \rbrace \). A set \(U=U(N)\) is called local upper bound set given N if

  1. 1.

    \(s(N) = \bigcup _{u \in U(N)} c(u)\),

  2. 2.

    \(c(u^1) \not \subseteq c(u^2) \text { for all } u^1,u^2 \in U(N),\, u^1 \ne u^2\).

Each point \(u \in U(N)\) is called a local upper bound (LUB).

As already mentioned, the same concept can be used to obtain so-called local lower bounds as follows.

Definition 3.3

Let \(B \subseteq \mathbb {R}^p\) denote the box from (1) with \(f(S) \subseteq {{\,\textrm{int}\,}}(B)\). Further, let \(N \subseteq {{\,\textrm{int}\,}}(B)\) be a finite and stable set. Then the upper search region for N is \(S(N):= \lbrace y \in {{\,\textrm{int}\,}}(B) \mid y^\prime \not \ge y \text { for every } y^\prime \in N \rbrace \) and the upper search zone for some \(l \in \mathbb {R}^p\) is \(C(l):= \lbrace y \in {{\,\textrm{int}\,}}(B) \mid y > l \rbrace \). A set \(L=L(N)\) is called local lower bound set given N if

  1. 1.

    \(S(N) = \bigcup _{l \in L(N)} C(l)\),

  2. 2.

    \(C(l^1) \not \subseteq C(l^2) \text { for all } l^1,l^2 \in L(N),\, l^1 \ne l^2\).

Each point \(l \in L(N)\) is called a local lower bound (LLB).

The local upper bound set and the local lower bound set from Definition 3.2 and Definition 3.3 are uniquely determined and finite, see Eichfelder et al. (2021). We provide an illustration of both concepts in Fig. 1.

Fig. 1
figure 1

Approximation \(\mathcal {A}(L,U)\) of \(\mathcal {N}\) with \(N = \{y^1,y^2,y^3\}\), local lower bound set \(L = L(N) = \{l^1,l^2,l^3,l^4\}\), and local upper bound set \(U = U(N) = \{u^1,u^2,u^3,u^4\}\)

The following result provides a relation between local lower/upper bounds and lower/upper bounds as used in Definition 3.1.

Lemma 3.4

Let \(N^1 \subseteq f(S)\) and \(N^2 \subseteq {{\,\textrm{int}\,}}(B) {\setminus } (f(S) + {{\,\textrm{int}\,}}(\mathbb {R}^p_+))\) be finite and stable. Then \(U(N^1)\) is an upper bound set and \(L(N^2)\) is a lower bound set, i.e., \(\mathcal {N}\subseteq U(N^1) - \mathbb {R}^p_+\) and \(\mathcal {N}\subseteq L(N^2) + \mathbb {R}^p_+\).

Proof

Let \(N^1 \subseteq f(S)\) be a finite and stable set. Then it was already shown in Eichfelder and Warnow (2021a, Lemma 3.3) that \(\mathcal {N}\subseteq U(N^1) - \mathbb {R}^p_+\).

Let \(N^2 \subseteq {{\,\textrm{int}\,}}(B) \setminus (f(S) + {{\,\textrm{int}\,}}(\mathbb {R}^p_+))\) be a finite and stable set. First, we show that it holds \(\mathcal {N}\subseteq {{\,\textrm{cl}\,}}(S(N^2))\). Let \(\bar{y} \in \mathcal {N}\subseteq f(S) \subseteq {{\,\textrm{int}\,}}(B)\) be a nondominated point. Assume that \(\bar{y} \not \in S(N^2)\). Then, by Definition 3.3, there exists \(y^\prime \in N^2\) with \(y^\prime \ge \bar{y}\). Since \(y^\prime \in N^2\) and \(\bar{y} \in f(S)\) it also holds that \(y^\prime \not > \bar{y}\). As a result, there exists an index \(i \in [p]\) such that \(y^\prime _i = \bar{y}_i\). Since \(y^\prime \in N^2 \subseteq {{\,\textrm{int}\,}}(B)\) there exists \(\varepsilon > 0\) such that \(y^\prime + \varepsilon e \in {{\,\textrm{int}\,}}(B)\). Also, B is a box and hence \({{\,\textrm{int}\,}}(B)\) is a convex set. Thus, for all \(\lambda \in [0,1]\) it holds that \(\bar{y} + \lambda ((y^\prime +\varepsilon e)-\bar{y}) \in {{\,\textrm{int}\,}}(B)\). This implies that for all \(k \in \mathbb {N}\) we have that \(y^k:= \bar{y} + \frac{1}{k} ((y^\prime +\varepsilon e)-\bar{y}) \in {{\,\textrm{int}\,}}(B)\). Moreover, since \(y^\prime \ge \bar{y}\) and \(\varepsilon e > 0_p\) we obtain that \(y^k > \bar{y}\). In particular, for all \(k \in \mathbb {N}\) it holds that \(y^k_i = \bar{y}_i + \frac{1}{k} \varepsilon = y^\prime _i + \frac{1}{k} \varepsilon \) and hence \(y^\prime \not \ge y^k\). Further, there exists no \(y^{\prime \prime } \in N^2\) with \(y^{\prime \prime } \ge y^k > \bar{y} \in f(S)\) since this contradicts the choice of \(N^2\). As a result, \(y^k \in S(N^2)\) for all \(k \in \mathbb {N}\) and \(\bar{y} = \lim _{k \rightarrow \infty } y^k \in {{\,\textrm{cl}\,}}(S(N^2))\). Finally, by Definition 3.3 and since \(L(N^2)\) is finite, we obtain that \(\mathcal {N}\subseteq {{\,\textrm{cl}\,}}(S(N^2)) = {{\,\textrm{cl}\,}}(\bigcup _{l \in L(N^2)} C(l)) = \bigcup _{l \in L(N^2)} {{\,\textrm{cl}\,}}(C(l)) \subseteq \bigcup _{l \in L(N^2)} \{l\}+\mathbb {R}^p_+ = L(N^2) + \mathbb {R}^p_+\). \(\square \)

It is also important to mention that for Definition 3.2 and Definition 3.3 one does not necessarily need to assume N to be stable, see Klamroth et al. (2015, Remark 2.2).

Remark 3.5

Let \(N^1 \subseteq f(S)\) be an arbitrary set and denote by \(\hat{N}^1:= \lbrace y \in N^1 \mid y~\text {is nondominated given } N^1 \text { w.r.t. } \le \rbrace \). Then it holds that \(s(N^1) = s(\hat{N}^1)\), which also implies \(U(N^1) = U(\hat{N}^1)\). Analogously, let \(N^2 \subseteq {{\,\textrm{int}\,}}(B) {\setminus } (f(S) + {{\,\textrm{int}\,}}(\mathbb {R}^p_+))\) be an arbitrary set and denote by \({\hat{N}^2:= \lbrace y \in N^2 \mid y \text { is nondominated given } N^2 \text { w.r.t. } \ge \rbrace }\). Then it holds that \(S(N^2) = S(\hat{N}^2)\), which also implies \(L(N^2) = L(\hat{N}^2)\).

In our new algorithm, the sets \(N^1\) and \(N^2\) from Remark 3.5 and hence the local lower and local upper bound sets are constructed iteratively. It is known from Klamroth et al. (2015) that in such a setting it is not necessary to recompute the whole local upper or local lower bound set each time those sets are updated. Instead, whenever a new point \(y \in \mathbb {R}^p\) is added to the set N from Definition 3.2 or Definition 3.3 only certain local upper or local lower bounds need to be updated. We denote these points \(y \in \mathbb {R}^p\) as update points. To update a local upper bound set, we use Klamroth et al. (2015, Algorithm 3), see Algorithm 1. While in Klamroth et al. (2015) only the concept of local upper bounds is considered, it is an easy task to apply the same technique to update the set of local lower bounds, see Algorithm 2. Within both algorithms we use the following notation from Klamroth et al. (2015).

For \(y \in \mathbb {R}^p, \alpha \in \mathbb {R}\) and an index \(i \in [p]\) we define

$$\begin{aligned} y_{-i} \,&:= (y_1, \ldots , y_{i-1}, y_{i+1},\ldots ,y_p)^\top \text { as well as }\\ (\alpha ,y_{-i}) \,&:= (y_1, \ldots , y_{i-1},\alpha ,y_{i+1},\ldots ,y_p)^\top . \end{aligned}$$
Algorithm 1
figure a

Updating a local upper bound set

Algorithm 2
figure b

Updating a local lower bound set

Next, we briefly present a sketch of our algorithm to compute an enclosure of the nondominated set \(\mathcal {N}\) of (MOMICP).

An upper bound set will be computed based on all images of feasible points that are generated within our algorithm. These will be weakly nondominated points of the patches. Since we expect the upper bounds to improve and get smaller, this also allows us to quickly discard certain patches (and hence certain integer assignments) that do not contribute to the nondominated set of (MOMICP). In particular, we will be able to detect if a patch is in some sense dominated by the upper bound set.

For the lower bound set, two strategies are applied simultaneously. The first strategy is to compute an individual lower bound set for every patch. We start with a single point that dominates all image points of the patch and then improve this lower bound set iteratively. The second strategy is to simultaneously compute a global lower bound set for the nondominated set of the original problem (MOMICP). We add here the word global to emphasize that this lower bound set corresponds to the overall problem (MOMICP) and to clearly distinguish between this second strategy to compute a lower bound set and the first strategy on the patch-level. This global lower bound set, in general, converges towards the upper bound set before all integer assignments have been computed. This allows us to avoid that we need to do some computations for all feasible integer assignments \(x_I \in S_I\) which can be very time consuming. In particular, without this second strategy we would need to compute at least one lower bound for all patches in order to compute the overall enclosure. This is also one of the key differences between our approach and the approach from Cabrera-Guerrero et al. (2022) for the bi-objective case. There the authors assume that the set \(S_I\) of feasible integer assignments is known and they have to perform at least some computations for each \(x_I \in S_I\), see Cabrera-Guerreroet al. (2022, Algorithm 1). The interplay of both strategies, i.e., computing a lower bound set for the nondominated set of the overall problem and improving the coverages of the patches, is also the reason why we call our algorithm a hybrid approach.

In the next section, we give a formal definition of the patches and describe their algorithmic treatment in more detail. This also includes the computation of the upper bound set and the individual lower bound sets. Since a patch always belongs to a feasible integer assignment, we need to compute such an assignment as a prerequisite to perform computations for the patches. We present a technique to do that in Sect. 5. We will also show that this step can be combined with the computation of a global lower bound set. Finally, in Sect. 6 we combine all these mechanisms to obtain our new algorithm to compute an enclosure of the nondominated set \(\mathcal {N}\) of (MOMICP).

4 Algorithmic treatment of the patches

As already mentioned, we obtain a patch of (MOMICP) by fixing the integer assignment \(x_I \in X_I\). Thus, for \(\hat{x}_I \in S_I\) we define the corresponding patch (problem) as

figure c

In multi-objective mixed-integer linear optimization, this is also referred to as slice problem, see for instance Soylu and Yıldız (2016). For a patch, we always need a feasible integer assignment \(\hat{x}_I \in S_I\). In general, the set of feasible integer assignments \(S_I\) is not known a priori and is hard or impossible to compute. In this section, we focus entirely on the algorithmic treatment of the patches, but we present a technique to compute feasible integer assignments in the next section.

Since it holds for all \(\hat{x}_I \in S_I\) and all feasible points \(x_C\) of (P(\(\hat{x}_I\))) that \(f(x_C,\hat{x}_I) \in f(S)\), image points of patches can be used to generate an upper bound set for (MOMICP), see also Lemma 3.4, Remark 3.5, and in particular the forthcoming Lemma 6.6 in which this statement is finally proved for the overall algorithm. We denote by \(\mathcal {N}_{\hat{x}_I}\) the nondominated set of (P(\(\hat{x}_I\))). Then for the lower bound set \(L_{\hat{x}_I}\) of (P(\(\hat{x}_I\))) we need that \(\mathcal {N}_{\hat{x}_I} \subseteq L_{\hat{x}_I} + \mathbb {R}^p_+\). Such a lower bound set can be computed using the concept of local lower bounds. Thus, we need a mechanism to compute update points for the upper bound set U and the lower bound set \(L_{\hat{x}_I}\). For this purpose, we use the following approach. The overall enclosure \(\mathcal {A}\) of the nondominated set \(\mathcal {N}\) of (MOMICP) can be interpreted as a combination of box coverages of the nondominated sets of certain patches (P(\(\hat{x}_I\))), i.e., coverages of the form \((L_{\hat{x}_I} + \mathbb {R}^p_+) \cap (U - \mathbb {R}^p_+)\). For this reason, we aim for such update points that quickly improve those coverages. Consider a patch (P(\(\hat{x}_I\))) for fixed \(\hat{x}_I \in S_I\). When searching for an update point, the algorithm loops through the lower bound set \(L_{\hat{x}_I}\). Since it holds \(\mathcal {N}_{\hat{x}_I} \subseteq L_{\hat{x}_I} + \mathbb {R}^p_+\), this also implies that the search covers the whole nondominated set of the patch. For each of the lower bounds \(l \in L_{\hat{x}_I}\) it computes an upper bound \(u \in U\) with maximal shortest edge length s(lu). We use this selection criterion since the width of the overall enclosure \(\mathcal {A}\) of \(\mathcal {N}\) is the supremum of such shortest edge lengths and hence it is a reasonable approach to update those boxes with the largest shortest edge length first. More precisely, given \(\hat{x}_I \in S_I\) and \(l,u \in \mathbb {R}^p\) with \(l < u\), the search for update points is performed by solving

figure d

By Göpfert et al. (2003, Proposition 2.3.4 and Theorem 2.3.1) we know that for all \(\hat{x}_I \in S_I\) and all \(l,u \in \mathbb {R}^p\) with \(l < u\) there exists an optimal solution \((\bar{x}_C,\bar{t})\) of (SUP(\(\hat{x}_I,l,u\))). In Pascoletti and Serafini (1984, Theorem 3.2), it is shown that for every optimal solution \((\bar{x}_C,\bar{t})\) of (SUP(\(\hat{x}_I,l,u\))) the point \(f(\bar{x}_C,\hat{x}_I) \in f(S)\) is a weakly nondominated point of (P(\(\hat{x}_I\))). In particular, for every optimal solution \((\bar{x}_C,\bar{t})\) of (SUP(\(\hat{x}_I,l,u\))) it holds that \(f(\bar{x}_C,\hat{x}_I) \in f(S)\) and \(l+\bar{t}(u-l) \not \in f(S_{\hat{x}_I})+{{\,\textrm{int}\,}}(\mathbb {R}^p_+)\). Hence, those points can be used to update U and \(L_{\hat{x}_I}\).

To keep track of the lower bounds for the different patches, we introduce a new data structure. We denote this structure by \(\mathcal {D}\) and refer to it as the integer data structure since it consists of data related to certain integer assignments. For each integer assignment \(\hat{x}_I \in S_I\) this data structure has an entry \(\mathcal {D}(\hat{x}_I)\) that consists of four substructures.

The first substructure is the set of local lower bounds of (P(\(\hat{x}_I\))), denoted by \(\mathcal {D}(\hat{x}_I).L\). The second one is a boolean value \(\mathcal {D}(\hat{x}_I).S\) that indicates whether the coverage of the nondominated set \(\mathcal {N}_{\hat{x}_I}\) needs further improvement. For example, this value is set to false in case it is recognized that \(\mathcal {N}_{\hat{x}_I}\) does not contribute to the nondominated set \(\mathcal {N}\) of (MOMICP). We call the integer assignment \(\hat{x}_I\) active if \(\mathcal {D}(\hat{x}_I).S\) is set to true and inactive otherwise. All weakly efficient points \(x \in S_{\hat{x}_I}\) of the subproblem (P(\(\hat{x}_I\))) computed when solving (SUP(\(\hat{x}_I,l,u\))) are saved in the set \(\mathcal {D}(\hat{x}_I).E\). Analogously, the fourth and last substructure \(\mathcal {D}(\hat{x}_I).N\) contains the weakly nondominated points \(y \in \mathbb {R}^p\) of the subproblem (P(\(\hat{x}_I\))) that are generated within the algorithm. We denote by \(\mathcal {D}.L, \mathcal {D}.E\) and \(\mathcal {D}.N\) the union of the sets for all integer assignments, e.g., \(\mathcal {D}.N:= \lbrace y \in \mathbb {R}^p \mid y \in \mathcal {D}(\hat{x}_I).N \text { for some } \hat{x}_I \in S_I \rbrace \).

In the following, we present the algorithms that initialize and update the integer data structure \(\mathcal {D}\). Any entry \(\mathcal {D}(\hat{x}_I)\) of the integer data structure is initialized by Algorithm 3. The lower bound \(\hat{z} \in \mathbb {R}^p\) in line 2 of Algorithm 3 can be computed using the ideal point \(\hat{z}^\prime \in \mathbb {R}^p\) of (P(\(\hat{x}_I\))) and a small offset \(\sigma > 0\), i.e., \(\hat{z}_i = \hat{z}^\prime _i-\sigma \) for all \(i \in [p]\). Depending on how exactly the lower bound \(\hat{z} \in \mathbb {R}^p\) is computed, it is also possible that some first weakly efficient points or weakly nondominated points of (P(\(\hat{x}_I\))) are computed. In that case, \(\mathcal {D}(\hat{x}_I).E\) and \(\mathcal {D}(\hat{x}_I).N\) are not necessarily initialized as empty sets in Algorithm 3.

Algorithm 3
figure e

Initialization of \(\mathcal {D}(\hat{x}_I)\) for a new integer assignment \(\hat{x}_I \in S_I\)

If the same integer assignment \(\hat{x}_I\) is visited again, then \(\mathcal {D}(\hat{x}_I)\) is updated. This procedure computes update points for U and \(L_{\hat{x}_I}\) as described above and is presented in Algorithm 4.

Algorithm 4
figure f

Updating \(\mathcal {D}(\hat{x}_I)\) for an integer assignment \(\hat{x}_I \in S_I\)

As explained in the previous section, our new algorithm applies two strategies to compute lower bounds simultaneously. The first strategy is to compute the lower bound set L for the enclosure \(\mathcal {A}\) of \(\mathcal {N}\) as a combination of the lower bound sets \(L_{\hat{x}_I}\) for different integer assignments \(\hat{x}_I \in S_I\). The proof of finiteness of our algorithm is largely based on this strategy. More precisely, by our assumptions there are only finitely many integer assignments \(\hat{x}_I \in S_I\). If for each of these feasible integer assignments \(\hat{x}_I \in S_I\) the number of computations related to the patch (P(\(\hat{x}_I\))) is finite, i.e., \(\mathcal {D}(\hat{x}_I).S = \text {false}\) after a finite number of calls of Algorithm 4, then the overall algorithm is finite as well, see Theorem 6.5.

The next theorem guarantees an improvement of the coverage of a patch (P(\(\hat{x}_I\))) with each call of Algorithm 4. Within the theorem we make use of the following notation. For \(\hat{x}_I \in S_I\), the corresponding lower bound set \(L_{\hat{x}_I} \ne \emptyset \), and the upper bound set \(U \ne \emptyset \) we denote the corresponding coverage of \(\mathcal {N}_{\hat{x}_I}\) by

$$\begin{aligned} C = \mathcal {C}(L_{\hat{x}_I},U):= (L_{\hat{x}_I} + \mathbb {R}^p_+) \cap (U - \mathbb {R}^p_+). \end{aligned}$$

Since \(\mathcal {C}\) is just a combination of boxes, its volume \({{\,\textrm{vol}\,}}(\mathcal {C})\) can be easily evaluated.

Theorem 4.1

Let \(\hat{x}_I \in S_I, \varepsilon > 0, U,\) and \(\mathcal {D}\) be the input parameters for Algorithm 4. Assume that \(\mathcal {D}(\hat{x}_I)\) is already initialized. Denote by \(L_{\hat{x}_I}^{\text {start}}:= \mathcal {D}(\hat{x}_I).L\) and \(U^{\text {start}}\) the lower and upper bound sets at the beginning of the current call of Algorithm 4 and by \(L_{\hat{x}_I}^{\text {end}}, U^{\text {end}}\) the sets afterwards. Additionally, assume that there exist \(l \in L_{\hat{x}_I}^{\text {start}}\) and \(u \in U^{\text {start}}\) with \(u \in (\{l + \varepsilon e\} + {{\,\textrm{int}\,}}(\mathbb {R}^p_+))\). Then, the volume of the corresponding coverage \(\mathcal {C}\) is reduced by at least \((\frac{\varepsilon }{2})^p\), i.e., \({{\,\textrm{vol}\,}}(\mathcal {C}(L_{\hat{x}_I}^{\text {end}},U^{\text {end}})) \le {{\,\textrm{vol}\,}}(\mathcal {C}(L_{\hat{x}_I}^{\text {start}},U^{\text {start}})) - (\frac{\varepsilon }{2})^p\).

Proof

In the following, we use the notation from Algorithm 4. By our assumptions there exist \(l \in L_{\hat{x}_I}^{\text {start}}, u \in U^{\text {start}}\) with \(u \in (\{l + \varepsilon e\} + {{\,\textrm{int}\,}}(\mathbb {R}^p_+))\), i.e., \(u_i-l_i > \varepsilon \) for all \(i \in [p]\). We can assume without loss of generality that these bounds correspond exactly to the assignment of l and u when line 7 of Algorithm 4 is reached for the first time.

First, we consider the case that \(\bar{t} \ge 1\) which implies that the lower bound set \(L_{\hat{x}_I}\) is updated by Algorithm 2 using \(\tilde{y} \in {{\,\textrm{int}\,}}(B)\) as the update point. As a result, the open box \((l,\tilde{y})\) is removed from \(\mathcal {C}\). We have that \(\tilde{y} \ge l + \bar{t}(u-l) - \sigma e \ge u - \sigma e, 0< \sigma < 0.5\,\varepsilon \), and \(u_i-l_i > \varepsilon \) for all \(i \in [p]\). This implies that

$$\begin{aligned} {{\,\textrm{vol}\,}}((l,\tilde{y})) = \prod _{i=1}^p (\tilde{y}_i-l_i) \ge \prod _{i=1}^p ((u_i-\sigma )-l_i) \ge \prod _{i=1}^p 0.5 \, \varepsilon = \left( \frac{\varepsilon }{2}\right) ^p. \end{aligned}$$

Consequently, we obtain that \({{\,\textrm{vol}\,}}(\mathcal {C}(L_{\hat{x}_I}^{\text {end}},U^{\text {end}})) \le {{\,\textrm{vol}\,}}(\mathcal {C}(L_{\hat{x}_I}^{\text {start}},U^{\text {start}})) - (\frac{\varepsilon }{2})^p\).

Next, we consider the case \(\bar{t} \in (0.5,1)\). In this case, we update the lower bound set \(\mathcal {D}(\hat{x}_I).L\) using Algorithm 2 with update point \(\tilde{y}:= l + \bar{t} (u-l) \ge 0.5(u+l)\). By Definition 3.3 this implies that the open box \((l,\tilde{y})\) is removed from the upper search region and in particular from \(\mathcal {C}\). Since we have that

$$\begin{aligned} {{\,\textrm{vol}\,}}((l,\tilde{y})) = \prod _{i=1}^p (\tilde{y}_i-l_i) \ge \prod _{i=1}^p (0.5(u_i+l_i)-l_i) \ge \prod _{i=1}^p 0.5 \, \varepsilon = \left( \frac{\varepsilon }{2}\right) ^p, \end{aligned}$$

we obtain that \({{\,\textrm{vol}\,}}(\mathcal {C}(L_{\hat{x}_I}^{\text {end}},U^{\text {end}})) \le {{\,\textrm{vol}\,}}(\mathcal {C}(L_{\hat{x}_I}^{\text {start}},U^{\text {start}})) - (\frac{\varepsilon }{2})^p\).

The final case to consider is \(\bar{t} \in [0,0.5]\). In that case, the upper bound set \(U = U^\text {start}\) is updated using Algorithm 1 with update point \(f(\bar{x}) \le l+\bar{t}(u-l) \le 0.5(u+l)\). By Definition 3.2 this implies that the open box \((f(\bar{x}),u)\) is removed from \(\mathcal {C}\) and with

$$\begin{aligned} {{\,\textrm{vol}\,}}((f(\bar{x}),u)) = \prod _{i=1}^p (u_i-f_i(\bar{x})) \ge \prod _{i=1}^p (u_i-0.5(u_i+l_i) \ge \prod _{i=1}^p 0.5 \, \varepsilon = \left( \frac{\varepsilon }{2}\right) ^p, \end{aligned}$$

this implies that \({{\,\textrm{vol}\,}}(\mathcal {C}(L_{\hat{x}_I}^{\text {end}},U^{\text {end}})) \le {{\,\textrm{vol}\,}}(\mathcal {C}(L_{\hat{x}_I}^{\text {start}},U^{\text {start}})) - (\frac{\varepsilon }{2})^p\). \(\square \)

5 Computing integer assignments and global lower bounds

In this section, we present a method to compute the feasible integer assignments \(\hat{x}_I \in S_I\) which are needed for the algorithmic treatment of the patches (P(\(\hat{x}_I\))).

But first, we introduce a method to compute a global lower bound set for the nondominated set \(\mathcal {N}\) of (MOMICP). To see that such a method to compute lower bounds is needed, assume that there was an efficient way to compute all feasible integer assignments, i.e., the set \(S_I\). There can be a large number of feasible integer assignments of which only a few yield nondominated sets \(\mathcal {N}_{\hat{x}_I}\) that contribute to the nondominated set of (MOMICP). However, to compute a global lower bound set L out of the lower bounds \(L_{\hat{x}_I}, \hat{x}_I \in S_I\), we would need to at least initialize \(\mathcal {D}(\hat{x}_I)\) for each \(\hat{x}_I \in S_I\) to ensure that we actually obtain a valid lower bound set. For example, let there be three feasible integer assignments \(x^1,x^2,x^3 \in S_I\). If \(\mathcal {D}(x^3)\) is not initialized then we do not know whether \(L = L_{x^1} \cup L_{x^2}\) is a valid lower bound set and hence, if \(\mathcal {A}(L,U)\) is a valid enclosure for the nondominated set \(\mathcal {N}\) of (MOMICP); see also Fig. 2.

Fig. 2
figure 2

Preliminary enclosure based on the results for the patches P(\(x^1\)) and P(\(x^2\)) and \(\mathcal {D}(x^3)\) not initialized

To overcome the problem of needing to initialize \(\mathcal {D}(\hat{x}_I)\) for all \(\hat{x}_I \in S_I\), we introduce a strategy to compute a global lower bound set. More precisely, we compute a lower bound set for a relaxation of (MOMICP) and then iteratively improve both the relaxation and the corresponding lower bound set. For the relaxation, we linearize the objective and constraint functions of (MOMICP) to obtain a multi-objective mixed-integer linear optimization problem. We use that for any convex continuously differentiable function \(h :\mathbb {R}^{n} \rightarrow \mathbb {R}\) and every \(\hat{x} \in \mathbb {R}^n\) it holds

$$\begin{aligned} h(x) \ge h(\hat{x})+\nabla h(\hat{x})^\top (x-\hat{x}) \text { for all } x \in \mathbb {R}^n. \end{aligned}$$
(3)

The right hand side of this inequality is an affine function that approximates h at the point \(\hat{x}\) and is called linearization of h with linearization point \(\hat{x}\). Also, for \(x = \hat{x}\) we have equality in (3), i.e., an exact approximation. Thus, let \(\emptyset \ne \mathcal {X}\subseteq \mathbb {R}^{n+m}\) be a (not necessarily finite) set of linearization points. Then we obtain a relaxed version of (MOMICP) by

figure g

Since we linearized both the objective and the constraint functions, the objective functions have been lifted to the constraints by introducing a new variable \(\eta \in \mathbb {R}^p\). This kind of relaxation is well known from single-objective mixed-integer convex optimization and can be found for example in the context of outer approximation, see Bonami et al. (2008), Fletcher and Leyffer (1994). To compute a global lower bound set, we use weakly nondominated points of (R(\(\mathcal {X}\))) as update points and make use of the following lemma.

Lemma 5.1

Let \(\mathcal {X}\) be a set of linearization points with \(\emptyset \ne \mathcal {X}\subseteq \mathbb {R}^{n+m}\) and denote by \((\bar{x},\bar{\eta })\) a weakly efficient solution of (R(\(\mathcal {X}\))). Then \(\bar{\eta } \not \in f(S) + {{\,\textrm{int}\,}}(\mathbb {R}^p_+)\).

Proof

Assume that \(\bar{\eta } \in f(S) + {{\,\textrm{int}\,}}(\mathbb {R}^p_+)\). Then there exist \(x^\prime \in S\) and \(k \in {{\,\textrm{int}\,}}(\mathbb {R}^p_+)\) with \(\bar{\eta } = f(x^\prime ) + k\). Hence, for all \(i \in [p], j \in [q]\) and for all \(\hat{x} \in \mathcal {X}\) it holds

$$\begin{aligned} \bar{\eta }_i - k_i = f_i(x^\prime )&\ge f_i(\hat{x}) + \nabla f_i(\hat{x})^\top (x^\prime - \hat{x}),\\ 0 \ge g_j(x^\prime )&\ge g_j(\hat{x}) + \nabla g_j(\hat{x})^\top (x^\prime - \hat{x}). \end{aligned}$$

Since \(k > 0_p\) this contradicts \((\bar{x},\bar{\eta })\) being a weakly efficient solution of (R(\(\mathcal {X}\))). \(\square \)

Thus, if we denote by \(N^2 \subseteq \mathbb {R}^p\) a set of weakly nondominated points \(\bar{\eta }\) of (R(\(\mathcal {X}\))) with \(\bar{\eta } \in {{\,\textrm{int}\,}}(B)\) (also for different choices of \(\mathcal {X}\)), then \(L(N^2)\) is a lower bound set for the nondominated set \(\mathcal {N}\) of (MOMICP) by Lemma 3.4 and Remark 3.5. We will state this formerly for the final outcome set L of our algorithm in Lemma 6.1.

Besides the computation of lower bounds, this particular relaxation approach has some more benefits in the context of our overall algorithm. First, the computations on the patch level (see Algorithm 4) automatically generate linearization points, namely all the points contained in \(\mathcal {D}.E\). Further, we can use (R(\(\mathcal {X}\))) to compute integer assignments. Let \(\mathcal {X}\) be a set of linearization points and \((x,\eta )\) be a feasible point for (R(\(\mathcal {X}\))). In particular, \(x_I \in X_I\) is an integer assignment of (MOMICP). To identify whether this integer assignment is feasible, i.e., \(x_I \in S_I\), or infeasible, i.e., \(x_I \not \in S_I\), we solve the convex feasibility problem

figure h

with \(\hat{x}_I = x_I\). If the optimal value \(\bar{\alpha }\) of (F(\(\hat{x}_I\))) is positive, then \(\hat{x}_I \not \in S_I\). If \(\bar{\alpha } \le 0\), then \(\hat{x}_I\) is a feasible integer assignment, i.e., \(\hat{x}_I \in S_I\).

First, we consider the case that \(\hat{x}_I \not \in S_I\). Denote by \((\bar{x}_C,\bar{\alpha })\) an optimal solution of (F(\(\hat{x}_I\))). Then we can ensure that the same integer assignment is not generated by (R(\(\mathcal {X}\))) again by including \((\bar{x}_C,\hat{x}_I)\) in the set \(\mathcal {X}\) of linearization points. This was already shown in (Fletcher and Leyffer 1994, Lemma 1) for a more general feasibility problem that includes (F(\(\hat{x}_I\))) as a special case. Hence, we include that lemma here adapted to our notation.

Lemma 5.2

Let \(\hat{x}_I \not \in S_I\) and \((\bar{x}_C,\bar{\alpha })\) be an optimal solution of (F(\(\hat{x}_I\))). Further, define \(\bar{x}:= (\bar{x}_C,\hat{x}_I)\). Then for every \(x \in X_{\hat{x}_I}\) there exists at least one index \(j \in [q]\) such that x violates the constraint

$$\begin{aligned} g_j(\bar{x})+\nabla g_j(\bar{x})^\top (x-\bar{x}) \le 0. \end{aligned}$$

Next, we discuss the feasible integer assignments \(\hat{x}_I \in S_I\). Such a feasible integer assignment can be generated by (R(\(\mathcal {X}\))) infinitely often, i.e., for an arbitrary choice of \(\mathcal {X}\) there always exists a feasible point \((x,\eta )\) for (R(\(\mathcal {X}\))) with \(x_I = \hat{x}_I\). This is mainly because (R(\(\mathcal {X}\))) is a relaxation of (MOMICP) and there always exists a feasible point \(x \in S\) for (MOMICP) with \(x_I = \hat{x}_I\).

When \(\hat{x}_I\) is generated by (R(\(\mathcal {X}\))), i.e., found as part of a weakly efficient solution of (R(X)), for the first time, then Algorithm 3 will be called to initialize the corresponding \(\mathcal {D}(\hat{x}_I)\). As long as \(\mathcal {D}(\hat{x}_I).S = \text {true}\), the corresponding patch (in particular the lower bounds) will be improved by Algorithm 4 each time this integer assignment is generated by (R(\(\mathcal {X}\))).

The challenging part is when \(\hat{x}_I\) is generated by (R(\(\mathcal {X}\))) but the corresponding patch is inactive, i.e., \(\mathcal {D}(\hat{x}_I).S = \text {false}\). In that situation, we need another mechanism to keep improving the enclosure or compute a new integer assignment. We handle this as follows: If there exists another active patch, i.e., some \(\hat{x}^\prime _I \in S_I\) with \(\mathcal {D}(\hat{x}^\prime _I).S = \text {true}\), then we improve that patch using Algorithm 4. If no more active integer assignments are available, then we need to compute a new integer assignment. Since this can be done in various ways, we consider this step as a black box, see Algorithm 5. We briefly describe a realization of that algorithm when presenting our numerical results in Sect. 7.

Algorithm 5
figure i

Search new integer assignment

For the computation of lower bounds, see Lemma 5.1, and for the computation of integer assignments, we need to compute weakly efficient solutions of (R(\(\mathcal {X}\))). By now, the possibilities to efficiently solve multi-objective mixed-integer linear problems are limited. While there exist some algorithms to solve bi-objective instances (e.g., Boland et al. 2015; Perini et al. 2020), the development of solvers for higher dimensional image spaces has just begun. Moreover, solvers for single-objective mixed-integer linear optimization problems like CPLEX (IBM 2023) or Gurobi (Gurobi Optimization LLC 2023) have become extremely fast. Since we only need to compute one integer assignment, i.e., one feasible point of (R(\(\mathcal {X}\))), at a time, we decided to compute weakly efficient solutions of (R(\(\mathcal {X}\))) by using a scalarization approach. More precisely, we follow the same approach as on the patch level. This means, we loop through the lower bound set L and for each \(l \in L\) select the upper bound \(u \in U\) with maximal s(lu), see Algorithm 6. Given \(l,u \in \mathbb {R}^p\) with \(l < u\) we then compute a weakly efficient solution of (R(\(\mathcal {X}\))) by solving the single-objective mixed-integer linear optimization problem

figure j

Again, we have by Göpfert et al. (2003, Proposition 2.3.4 and Theorem 2.3.1) that for all nonempty sets \(\mathcal {X}\) and all \(l,u \in \mathbb {R}^p\) with \(l < u\) there exists an optimal solution \((\bar{x},\bar{\eta },\bar{t})\) of (RSUP(\(\mathcal {X},l,u\))). By Pascoletti and Serafini (1984, Theorem 3.2) we also know that for every optimal solution \((\bar{x},\bar{\eta },\bar{t})\) of (RSUP(\(\mathcal {X},l,u\))) the point \((\bar{x},\hat{\eta })\) is a weakly efficient solution of (R(\(\mathcal {X}\))).

6 Main algorithm HyPaD

In the previous sections, we presented our method to compute upper bounds as well as two methods to compute lower bounds for the computation of an enclosure \(\mathcal {A}(L,U)\) of the nondominated set \(\mathcal {N}\) of (MOMICP). In this section, we merge all these mechanisms and present our new hybrid algorithm to compute that enclosure. We call it a hybrid algorithm since it is an ongoing interplay between improving the global lower bound set using the methods from Sect. 5 and iteratively improving specific patch level lower bound sets, see Sect. 4.

Algorithm 6
figure k

Hybrid patch decomposition algorithm for (MOMICP)

For a better overview, we have split the pseudocode of our algorithm into the part that represents the computation of integer assignments and global lower bounds, see Algorithm 6, and the part that represents the algorithmic treatment of the patches, see Algorithm 7. We start by briefly explaining Algorithm 6. As described in the previous section, that part of our algorithm solves (RSUP(\(\mathcal {X},l,u\))) with \(l \in L\) and \(u \in U\) to obtain a weakly efficient solution \((\bar{x},\bar{\eta })\) and in particular a weakly nondominated point \(\bar{\eta } \in \mathbb {R}^p\) of (R(\(\mathcal {X}\))). The weakly nondominated point \(\bar{\eta }\) is used to update the set L which is indeed a lower bound set.

Lemma 6.1

Assume that Algorithm 6 is not terminated by Algorithm 5. Then at any point in the algorithm the set L is a lower bound set in the sense of Definition 3.1.

Proof

Since Algorithm 6 is not terminated by Algorithm 5, the set L is only updated in Algorithm 6, line 13. We know by Eichfelder and Warnow (2021a, Lemma 3.7) that since L is only updated using Algorithm 2, it is a local lower bound set. We start with \(L = \{z\}\) and update this set using weakly nondominated points \(\bar{\eta }\) of (R(\(\mathcal {X}\))) as update points for Algorithm 2. Without loss of generality, we only consider those points \(\bar{\eta } \in \mathbb {R}^p\) with \(\bar{\eta } > z\) since for an update point \(\bar{\eta } \not > z\) the lower bound set L would not be updated by Algorithm 2. Further, by the construction of the upper bound set U (see Algorithm 1) we know that for all \(u \in U\) there exists \(x \in S\) with \(f(x) \le u, f(x) < Z\). This implies that for every optimal solution \((\bar{x},\bar{\eta },\bar{t})\) of (RSUP(\(\mathcal {X},l,u\))) we have \(\bar{\eta } < Z\). Thus, denote by \(\bar{N} \subseteq {{\,\textrm{int}\,}}(B)\) the set of all those update points \(\bar{\eta }\), i.e., we start with \(\bar{N} = \emptyset \) and then add the update points \(\bar{\eta } \in {{\,\textrm{int}\,}}(B)\) obtained by solving (RSUP(\(\mathcal {X},l,u\))) for different choices of \(\mathcal {X}, l, u\). By Lemma 5.1 it holds that \(\bar{N} \subseteq {{\,\textrm{int}\,}}(B) {\setminus } (f(S) + {{\,\textrm{int}\,}}(\mathbb {R}^p_+))\). Together with Lemma 3.4 and Remark 3.5 this implies that L is a lower bound set. \(\square \)

The case that Algorithm 6 is terminated by Algorithm 5 will be considered in Lemma 6.3. There, we will show that also in that case the output set L of Algorithm 6 is a lower bound set.

For the integer assignment \(\bar{x}_I\) obtained from an optimal solution \((\bar{x},\bar{\eta },\bar{t})\) of the subproblem (RSUP(\(\mathcal {X},l,u\))), see line 12 of Algorithm 6, we solve the corresponding feasibility problem (F(\(\hat{x}_I\))) with optimal solution \((\hat{x}_C,\hat{\alpha })\) to decide whether that integer assignment is feasible, i.e., \(\bar{x}_I \in S_I\), or not. The following result is then obtained using Lemma 5.2.

Corollary 6.2

Let \(\hat{x}_I \not \in S_I\) be an infeasible integer assignment. Then Algorithm 6 (line 12) computes at most once an optimal solution \((\bar{x},\bar{\eta },\bar{t})\) of (RSUP(\(\mathcal {X},l,u\))) with \(\bar{x}_I = \hat{x}_I\).

Next, we focus on feasible integer assignments \(\bar{x}_I \in S_I\). Denote by \((\hat{x}_C,\hat{\alpha })\) an optimal solution of the corresponding feasibility problem (F(\(\hat{x}_I\))). Then \(\hat{\alpha } \le 0\) and Algorithm 6 (line 16) calls Algorithm 7 to perform an improvement on the patch-level.

Algorithm 7
figure l

Improvement Step on Patch-Level

For a feasible integer assignment \(\hat{x}_I \in S_I\) there are exactly three possibilities concerning the algorithmic treatment of the corresponding patch (P(\(\hat{x}_I\))), see also Sect. 4. The first scenario is that this particular integer assignment was computed by Algorithm 6 for the first time. This means that the corresponding entry \(\mathcal {D}(\hat{x}_I)\) of the integer data structure is not yet initialized. Hence, Algorithm 7 calls Algorithm 3 for the initialization. The second case is that \(\hat{x}_I\) already appeared in the algorithm before and that the integer assignment is active, i.e., \(\mathcal {D}(\hat{x}_I)\) has already been initialized and it is \(\mathcal {D}(\hat{x}_I).S = \text {true}\). As a result, Algorithm 7 calls Algorithm 4 for further improvement, in particular with regard to the corresponding lower bound set \(L_{\hat{x}_I}\). The final case to consider is that \(\mathcal {D}(\hat{x}_I)\) is initialized but \(\mathcal {D}(\hat{x}_I).S = \text {false}\), i.e., the integer assignment is inactive. In that setting, Algorithm 7 implements exactly the approach that we already discussed in Sect. 5 to ensure further progress of the overall algorithm. First, Algorithm 7 checks if there exists another active integer assignment, i.e., some \(x^\prime _I \in S_I\) with \(\mathcal {D}(x^\prime _I)\) initialized and \(\mathcal {D}(x^\prime _I).S = \text {true}\). If this is the case, then Algorithm 4 is called to improve the corresponding patch for exactly one such integer assignment \(x^\prime _I \in S_I\). Otherwise, Algorithm 5 is called.

Algorithm 5 now searches for a new integer assignment \(\tilde{x}_I \in X_I\) such that there exists no \(x \in \mathcal {X}\) with \(x_I = \tilde{x}_I\) and \(\mathcal {D}(\tilde{x}_I)\) is not yet initialized. This leads to one of the following three situations. The first situation is that all integer assignments \(x_I \in X_I\) have already been computed. Then Algorithm 5 terminates Algorithm 6 and the global lower bound set L is computed using the lower bounds from the patches.

Lemma 6.3

Assume that Algorithm 6 is terminated by Algorithm 5. Then the set L computed in Algorithm 5, line 4 is a lower bound set in the sense of Definition 3.1.

Proof

Denote by \(\mathcal {N}\) the nondominated set of (MOMICP) and let \(\bar{y} \in \mathcal {N}\subseteq f(S)\) be some nondominated point. Then there exists \(\bar{x} = (\bar{x}_C,\bar{x}_I) \in S\) such that \(\bar{y} = f(\bar{x})\) and \(\mathcal {D}(\bar{x}_I)\) was initialized and updated until \(\mathcal {D}(\bar{x}_I).S\) was set to false in Algorithm 4, line 19. Thus, there exists \(l \in \mathcal {D}(\bar{x}_I).L\) with \(l \le \bar{y}\). The computation of L ensures that there exists an \(l^\prime \in L\) with \(l^\prime \le l \le \bar{y}\) and as a result, L is a lower bound set. \(\square \)

The second situation which can occur in Algorithm 5 is that a new integer assignment \(\tilde{x}_I \in X_I\) is computed and that this integer assignment is feasible, i.e., \(\tilde{x}_I \in S_I\). In this case, Algorithm 3 is called to initialize the corresponding patch with the corresponding entry \(\mathcal {D}(\tilde{x}_I)\) of the integer data structure. The final case is that Algorithm 5 computes an infeasible integer assignment \(\tilde{x}_I \not \in S_I\). In that case, we solve (F(\(\hat{x}_I\))) with optimal solution \((\bar{x}_C,\bar{\alpha })\) and \((\bar{x}_C,\tilde{x}_I) \in X\) is included in the set \(\mathcal {X}\) of linearization points to ensure that the same integer assignment is not considered again within Algorithm 6.

Before we discuss the overall correctness of Algorithm 6, i.e., that it really computes an enclosure \(\mathcal {A}\) of the nondominated set \(\mathcal {N}\) of (MOMICP), we need to ensure that it is finite. For that, we make use of our assumption that there are only finitely many integer assignments \(x_I \in X_I\) and the fact that each patch is only considered finitely many times by Algorithm 7.

Lemma 6.4

Let \(\hat{x}_I \in S_I\) be a feasible integer assignment with \(\mathcal {D}(\hat{x}_I)\) initialized. Then after finitely many calls of Algorithm 4 (with input \(\hat{x}_I\)) \(\mathcal {D}(\hat{x}_I).S\) is set to false.

Proof

Let \(\hat{x}_I \in S_I\) be a feasible integer assignment with \(\mathcal {D}(\hat{x}_I)\) initialized and \(\mathcal {D}(\hat{x}_I).S = \text {true}\). We know by Theorem 4.1 that after a single call of Algorithm 4 either the volume of the coverage \(\mathcal {C}\) of the nondominated set \(\mathcal {N}_{\hat{x}_I}\) of (P(\(\hat{x}_I\))) is reduced by at least \(\left( \frac{\varepsilon }{2} \right) ^p\) or \(\mathcal {D}(\hat{x}_I).S\) is set to false.

Hence, we only need to show that between two subsequent calls of Algorithm 4 the volume of \(\mathcal {C}= \mathcal {C}(\mathcal {D}(\hat{x}_I).L,U)\) does not increase. First of all, the set \(\mathcal {D}(\hat{x}_I).L\) of lower bounds does not change outside of Algorithm 4. Thus, we consider the development of the upper bound set U between two subsequent calls of Algorithm 4. Let \(U^1\) be the upper bound set at the end of the first call and \(U^2\) be the upper bound set at the beginning of the second one. The upper bound set (from Algorithm 6) is only updated in Algorithm 4, line 15, for different input parameters, especially for different integer assignments. In particular, it is always updated by Algorithm 1 that computes a new generation of upper bounds as a projection of the old generation. For our setting this means that for every \(u \in U^2\) there exists \(u^\prime \in U^1\) with \(u \le u^\prime \). As a result, we have that \({{\,\textrm{vol}\,}}(\mathcal {C}(\mathcal {D}(\hat{x}_I).L,U^2)) \le {{\,\textrm{vol}\,}}(\mathcal {C}(\mathcal {D}(\hat{x}_I).L,U^1))\).

This implies that after at most \(\big \lceil {{\,\textrm{vol}\,}}(B) / \left( \frac{\varepsilon }{2} \right) ^p \big \rceil \) calls of Algorithm 4 for \(\hat{x}_I\) there exist no more \(l \in \mathcal {D}(\hat{x}_I).L\) and \(u \in U\) with \((\{l+\varepsilon e\} + {{\,\textrm{int}\,}}(\mathbb {R}^p_+)) \cap U \ne \emptyset \) and \(\mathcal {D}(\hat{x}_I).S\) is set to false. \(\square \)

Finally, we can combine the results of Corollary 6.2 and Lemma 6.4 to show finiteness of Algorithm 6.

Theorem 6.5

Algorithm 6 is finite.

Proof

By Corollary 6.2 each infeasible integer assignment is computed at most once in Algorithm 6, line 12. Since \(X_I\) and the number of infeasible integer assignments is finite, this means that for all optimal solutions \((\bar{x},\bar{\eta },\bar{t})\) of (RSUP(\(\mathcal {X},l,u\))) (in different iterations) we have \(\bar{x}_I \not \in S_I\) only finitely many times.

Next, we consider the feasible integer assignments. With each iteration of the while loop where \(\hat{\alpha } \le 0\), Algorithm 7 is called. This algorithm initializes or updates \(\mathcal {D}(\hat{x}_I)\) for some \(\hat{x}_I \in S_I\). By Lemma 6.4 we know that for each feasible integer assignment this happens only finitely often until \(\mathcal {D}(\hat{x}_I).S\) is set to false. Moreover, in case no initialization or improvement is performed by Algorithm 7, Algorithm 5 is called to compute a new integer assignment \(\tilde{x}_I \in X_I\). Once again, since \(X_I\) is finite this is only possible finitely often as well.

As a result, after finitely many iterations all infeasible integer assignments have been computed and for all feasible integer assignments \(\hat{x}_I \in S_I\) the entry \(\mathcal {D}(\hat{x}_I).S\) is set to false. We obtain that at some point there exists no more \(\tilde{x}_I \in X_I\) such that there exists \(x \in \mathcal {X}\) with \(x_I = \tilde{x}_I\) and \(\mathcal {D}(\hat{x}_I)\) not initialized. So after a finite number of iterations either the condition \(w(\mathcal {A}(L,U)) > \varepsilon \) for the while loop in Algorithm 6 is no longer fulfilled or Algorithm 5 terminates the overall algorithm. Both scenarios imply that Algorithm 6 is finite. \(\square \)

Although the proof of Theorem 6.5 is based on the fact that the number of integer assignments is finite, i.e. \(\left|X_I \right| < \infty \), a central goal of our algorithm is to avoid a full enumeration of all these integer assignments. This is the reason why we included the second strategy to compute a lower bound set based on the optimal solutions of (RSUP(\(\mathcal {X},l,u\))). In general, the lower bound set computed by this second strategy converges towards the upper bounds with \(w(\mathcal {A}(L,U)) \le \varepsilon \) before all patches have been initialized and set inactive such that Algorithm 6 is terminated before all integer assignments have been computed.

So far we have shown in Theorem 6.5 that Algorithm 6 is finite and in Lemma 6.1 and Lemma 6.3 that the output set L is indeed a lower bound set. Thus, to show that Algorithm 6 computes an enclosure it only remains to show that the computed set U is an upper bound set.

Lemma 6.6

At any point of Algorithm 6, the set U is an upper bound set for the nondominated set \(\mathcal {N}\) of (MOMICP) in the sense of Definition 3.1.

Proof

After the initialization of Algorithm 6 it is \(U = \{Z\}\). Furthermore, U is only updated in Algorithm 4 using Algorithm 1 with update points \(\bar{y}:= f(\bar{x}) \in f(S)\). If we denote by \(N \subseteq f(S)\) the set of all these points, then \(U = U(N)\). In general, this set N is not stable, but we know by Remark 3.5 that for \(N^\prime := \lbrace y \in N \mid y \text { is nondominated given } N \text { w.r.t.}\le \rbrace \) it holds \(U(N^\prime ) = U(N)\). Finally, by Lemma 3.4 this implies that U is an upper bound set. \(\square \)

With all the results from this section we are now able to prove that Algorithm 6 works correctly and that the enclosure \(\mathcal {A}(L,U)\) corresponding to the sets L and U computed by the algorithm is of the predefined quality \(\varepsilon \).

Theorem 6.7

Let L and U be the output sets of Algorithm 6. Then L and U are lower and upper bound sets in the sense of Definition 3.1 and for the width of the enclosure \(\mathcal {A}(L,U) = (L + \mathbb {R}^p_+) \cap (U - \mathbb {R}^p_+)\) of the nondominated set \(\mathcal {N}\) of (MOMICP) it holds that \(w(\mathcal {A}(L,U)) \le \varepsilon \).

Proof

By Lemmas 6.1, 6.3, and 6.6 we have that the sets L and U computed by Algorithm 6 are lower and upper bound sets and hence define a corresponding enclosure \(\mathcal {A}(L,U)\).

To prove that \(w(\mathcal {A}(L,U)) \le \varepsilon \), we consider two cases based on the termination of Algorithm 6. The first case is that Algorithm 6 terminates because the condition \(w(\mathcal {A}(L,U)) > \varepsilon \) in the while loop is no longer satisfied. Then it obviously holds \(w(\mathcal {A}(L,U)) \le \varepsilon \).

The second case to consider is that L was computed using the lower bounds of the patches in Algorithm 5, line 4. Then, for every \(l \in L\) there exists an integer assignment \(\hat{x}_I \in S_I\) with \(l \in \mathcal {D}(\hat{x}_I).L\). At some point in the algorithm this integer assignment was set inactive and we denote by \(U^\prime \) the upper bound set at that point. Since an integer assignment can only be set inactive by Algorithm 4, we know that for all \(u^\prime \in U^\prime \) there existed an index \(i \in [p]\) with \(u^\prime _i - l_i \le \varepsilon \). While the upper bound set \(U^\prime \) might have been updated after the integer assignment was set inactive, updating it using Algorithm 1 ensures that upper bounds never get worse. This means that if \(U^1\) is the upper bound set before calling Algorithm 1 and \(U^2\) the set afterwards, then for all \(u^2 \in U^2\) there exists \(u^1 \in U^1\) with \(u^2 \le u^1\). Thus, for all \(u \in U\) with \(l \le u\) there exists \(u^\prime \in U^\prime \) and an index \(i \in [p]\) such that \(u_i-l_i \le u^\prime _i - l_i \le \varepsilon \), which implies \(w(\mathcal {A}(L,U)) \le \varepsilon \). \(\square \)

7 Numerical results

In this final section, we present our numerical results for selected test instances. In addition to that, we provide a detailed discussion on the implementation details of the HyPaD algorithm together with more than 30 test instances in Eichfelder and Warnow (2021b). We performed all numerical tests in MATLAB R2021a on a machine with Intel Core i9-10920X processor and 32GB of RAM. The average of the results of bench(5) is: LU = 0.2045, FFT = 0.2127, ODE = 0.3666, Sparse = 0.3919, 2-D = 0.1968, 3-D = 0.2290. The implementation of the HyPaD algorithm is publicly available on GitHub (Eichfelder and Warnow 2022).

The initial bounds \(z,Z \in \mathbb {R}^p\) are computed using interval arithmetic provided by INTLAB (Rump 1999). This also allows for a fair comparison of our results with the ones obtained by the MOMIBB algorithm from Eichfelder et al. (2022) since that algorithm uses the same initial bounds for its computation of an enclosure. The initial point \(\hat{x} \in X\) in Algorithm 6 is always computed as an optimal solution of a scalarization of the integer-relaxed version of (MOMICP), i.e., (MOMICP) but with \(x \in X_C \times [l_I,u_I] \subseteq \mathbb {R}^n \times \mathbb {R}^m\) instead of \(x \in X_C \times ([l_I,u_I] \cap \mathbb {Z}^m) \subseteq \mathbb {R}^n \times \mathbb {Z}^m\). In Eichfelder and Warnow (2021b), we present more details on the initialization phase of the algorithm. The offset parameter for Algorithm 4 is chosen as \(\sigma := 10^{-3}\, \varepsilon \). If not stated otherwise, the quality parameter was set to \(\varepsilon = 0.1\). For all test instances we used a time limit of 3600 s.

Algorithm 5 is realized by dividing the set of all integer assignments \(\mathcal {X}_I\) into a fixed number of 16 boxes and then searching for a new integer assignment within the box with the least number of already computed integer assignments. This procedure is presented more in-depth in Eichfelder and Warnow (2021b, Section 2.3), where it is also compared with some other possible approaches.

All of the single-objective mixed-integer linear problems within our algorithm are solved using GUROBI (Gurobi Optimization LLC 2023). All single-objective (purely continuous) convex problems are solved using fmincon. We also tested alternative solvers, for example IPOPT (Wächter and Biegler 2005) via OPTI (Currie 2019). However, this did not significantly improve the overall performance of our algorithm and hence, we decided to use fmincon. Another benefit of choosing fmincon is that this allows for a fair comparison of our results with those from De Santis et al. (2020) and Eichfelder et al. (2022).

All results in this paper for the MOMIBB algorithm from Eichfelder et al. (2022) have been computed using the same parameters as HyPaD, i.e., the same quality parameter \(\varepsilon > 0\), the same initial box \(B = [z,Z] \subseteq \mathbb {R}^p\) for the enclosure, the same solvers for the subproblems, and the same time limit of 3600 s. This allows a fair comparison of HyPaD and MOMIBB both qualitatively and quantitatively.

There are four different configurations of MOMIBB that have been presented in Eichfelder et al. (2022, Section 6) as MOMIBB-c0, MOMIBB-c1, MOMIBB-c2, and \(\hbox {MOMIBB}_{\textrm{direct}}\). The last two configurations can only be used in special cases including instances of (MOMICP) with convex quadratic objective and constraint functions. Whenever comparing HyPaD with MOMIBB in the remaining part of this section, the result for MOMIBB represents the best result (in terms of computation time) that was obtained by all configurations of MOMIBB that were applicable for the corresponding test instance.

All results in this paper for MOMIX and MOMIX light from De Santis et al. (2020) have been computed for \(\delta = 0.1\) as the corresponding quality parameter using the code from De Santis et al. (2021). We have also discussed in Eichfelder and Warnow (2021b) that a quantitative comparison of the results is only possible to some extent. This is due to the fact that the HyPaD algorithm works with a quality criterion in the criterion space (based on the parameter \(\varepsilon > 0\)) and the authors of De Santis et al. (2020) work with a quality criterion in the decision space (based on their parameter \(\delta > 0\)). Still, qualitative comparisons between HyPaD and MOMIX are possible.

Test instance 1 First, we consider a bi-objective test instance with quadratic constraint functions and a non-quadratic objective function from De Santis et al. (2020). Both, the number \(n=2\) of continuous and the number \(m=1\) of integer variables are fixed. The test instance is given as

$$\begin{aligned} \begin{aligned} \min \; (x_1+x_3,x_2+\exp (-x_3))^\top \quad \text {s.t.} \quad&x_1^2 + x_2^2 \le 1, \\&x_C \in [-2,2]^2, \\&x_I \in [-2,2] \cap \mathbb {Z}. \end{aligned} \end{aligned}$$
(T6)

The MOMIX algorithm from De Santis et al. (2020) involves solving single-objective subproblems that are basically of the same type as the original problem (MOMICP). For (T6) these would be single-objective mixed-integer non-quadratic convex quadratically constrained optimization problems. Since those cannot be solved by Gurobi, which is used as the solver for the single-objective mixed-integer subproblems in De Santis et al. (2020), the MOMIX algorithm cannot be applied to this problem and one needs to switch to MOMIX light. The latter is a modification which uses purely continuous subproblems and those can be solved by fmincon (even for the non-quadratic case).

Only with (br2), which is one of two available branching rules, MOMIX light computed a representation of the nondominated set of (T6), which took 1385.72 s. For (br1) it exceeded the time limit of 3600 s. HyPaD on the other hand computes an enclosure within only a few seconds. For \(\varepsilon = 0.1\) it computes an enclosure within 1.34 s and even for \(\varepsilon = 0.01\) it only needs 6.09 s. For a visual comparison of the results see Fig. 3.

Fig. 3
figure 3

Results for test instance 1

For both choices of \(\varepsilon \in \{0.1, 0.01\}\), Algorithm 6 is terminated by Algorithm 5, i.e., the enclosure of the overall nondominated set is computed using the lower bounds \(\mathcal {D}.L\) from the different patches and the global upper bound set U. In particular, this means that all integer assignments \(x_I \in X_I\) have been computed by our algorithm. This is a very typical behavior of HyPaD if the number of integer assignments, i.e., \(\left|X_I \right|,\) is quite small. For (T6) this is the case since we have \(\left|X_I \right| = 5\). Hence, HyPaD is a highly effective algorithm for such problems with a small number of possible integer assignments.

Another advantage of HyPaD is that the single-objective mixed-integer subproblems (RSUP(\(\mathcal {X},l,u\))) are always linear. Hence, these subproblems can always be solved using Gurobi. This makes HyPaD the better choice (compared to the methods from De Santis et al. (2020)) if one of the objective or constraint functions of (MOMICP) is non-quadratic.

The MOMIBB algorithm from Eichfelder et al. (2022) needs 15.33 s to solve (T6) for \(\varepsilon = 0.1\). This is roughly ten times slower than HyPaD, but also roughly ten times faster than MOMIX. Since MOMIBB also computes an enclosure and hence has a criterion space based termination criterion (the width of the enclosure), but besides that is a decision space based branch-and-bound algorithm, it is not surprising that its performance is in between HyPaD and MOMIX. A more detailed comparison of MOMIBB and HyPaD is provided for the next test instance.

Test instance 2 Next, we consider a scalable test instance with quadratic objective functions and a quadratic constraint function. Both the number \(n \in \mathbb {N}\) of continuous variables and the number \(m \in \mathbb {N}\) of integer variables must be even.

$$\begin{aligned} \begin{aligned} \min \; \begin{pmatrix} \sum \limits _{i=1}^{n/2}x_i+\sum \limits _{i=n+1}^{n+m/2}x_i^2-\sum \limits _{i=n+m/2+1}^{n+m}x_i \\ \sum \limits _{i=n/2+1}^{n}x_i - \sum \limits _{i=n+1}^{n+m/2}x_i+\sum \limits _{i=n+m/2+1}^{n+m}x_i^2 \end{pmatrix} \quad \text {s.t.} \quad&\begin{array}{l} \sum \limits _{i=1}^{n}x_i^2 \le 1,\\ x_C \in [-2,2]^n, \\ x_I \in [-2,2]^m \cap \mathbb {Z}^m.\end{array}\qquad \end{aligned} \end{aligned}$$
(H1)

The computational results for various choices of n and m are shown in Tables 1 and 2. For HyPaD we included the overall computation time t, the number of computed lower and upper bounds, the number of subproblems (RSUP(\(\mathcal {X},l,u\))) and (SUP(\(\hat{x}_I,l,u\))) as well as the exit flag which indicates whether Algorithm 6 was terminated by Algorithm 5 (flag = 0), by the condition in the main while loop (flag = 1) or by reaching the time limit (flag = -1). For MOMIBB we only included the best result (in terms of computation time) out of the four configurations that have been presented in Eichfelder et al. (2022, Section 6). In Table 1, we present the results for realizations of (H1) with \(n \in \{2,4\}\). These were the only realizations where MOMIBB was able to compute an enclosure within the time limit of 3600 s. In Table 2, we then present the results for all other realizations of (H1), for which MOMIBB was not able to compute an enclosure within the given time limit.

Table 1 Computational results of HyPaD compared to MOMIBB for (H1)
Table 2 Computational results of HyPaD for (H1)

For all choices of n and m (where the time limit was not reached) HyPaD performs significantly better than MOMIBB. In particular, HyPaD is able to solve even large instances of (H1) with up to \(n=256\) continuous variables. One possible explanation for this could be that while MOMIBB also computes an enclosure in the criterion space, it mostly is a decision space branch-and-bound approach. As such it is usually more influenced by the number of variables than our (purely) criterion space based approach.

Given the results from Table 2, it might look like HyPaD has a scalability issue with respect to the number of integer variables. This is not the case. The reason why only instances of (H1) with less than 14 integer variables can be solved within the time limit of 3600 s is that, as the number of integer variables increases, the span of the nondominated set of (H1) also increases. Thus, more boxes are needed to cover the nondominated set and consequently more computations have to be performed by HyPaD. For test instances where the nondominated set does not depend on the number of integer variables, there are no such scaling effects. For example, HyPaD is able to solve the test instance in Eichfelder et al. (2023, Example 4.8 (ii)) for up to \(m = 2^{15}\) integer variables within less than 250 s.

Test instance 3 With the following tri-objective test instance from De Santis et al. (2020) we illustrate the capability of our algorithm to handle optimization problems (MOMICP) with three and more objective functions.

$$\begin{aligned} \begin{aligned} \min \begin{pmatrix} x_1+x_4 \\ x_2-x_4 \\ x_3+x_4^2 \end{pmatrix} \quad \text {s.t.} \quad&\sum _{i=1}^{3} x_i^2 \le 1, \\&x_C \in [-2,2]^3, \\&x_I \in \{-2,-1,0,1,2\}. \end{aligned} \end{aligned}$$
(T5)

We present here the results for different choices of \(\varepsilon \) such that the reader gets a better idea of the impact of that parameter. For a visualization of the improvement comparing \(\varepsilon = 0.5\) and \(\varepsilon = 0.1\) see Fig. 4.

Fig. 4
figure 4

The enclosure computed for (T5) with \(\varepsilon = 0.5\) on the left and \(\varepsilon = 0.1\) on the right

While MOMIX (in the best of all four configurations) needs about 90 s to compute the result for \(\delta = 0.5\), the HyPaD algorithm needs only about 9 s to compute the result for \(\varepsilon = 0.1\). Again, the performance of MOMIBB, with a computation time of roughly 75 s needed for \(\varepsilon = 0.1\), is in between HyPaD and MOMIX.