1 Introduction

When dealing with unknown future events, optimization with incomplete information typically considers the competitive factor of an online algorithm as its performance measure; the objective becomes to develop a single strategy that performs reasonably well against the worst case. This focus on just one option is more restrictive than hedging strategies in a wide variety of other scientific and application fields; these typically make use of several parallel choices, thereby increasing the chance that one of them will yield satisfactory results. Examples include scenarios from biology, where a large and diverse progeny increases the odds of surviving offspring; finance and insurance, where a suitable combination of investment strategies is employed to balance a portfolio against extreme losses; and engineering, where redundancy is used to protect against catastrophic failure, either on individual components (such as parts in a machine) or on whole systems (such as automata in a robot swarm or spacecraft in a group of satellites), for which it suffices that just one machine delivers a good outcome.

In this paper, we consider such parallel online strategies: Instead of making a single sequence of decisions, we consider k parallel processes for some fixed integer k, which we call a k-copy algorithm; the objective is to make the best of these k outcomes as good as possible, even in the worst case. We demonstrate the potential of this approach for the well-studied Bin Packing Problem, for which it is known that no single deterministic online algorithm can achieve a competitive factor below 1.5401.

1.1 Our Results

We define a family of k-copy algorithms for the online Bin Packing Problem, called Predictive Harmonic\(_3\) (PH3), whose asymptotic competitive ratio converges to 1.5 for large k. We show that \(k=6\) suffices to guarantee a factor of 1.5714, which is better than 1.57829, the performance of the best known 1-copy algorithm Advanced Harmonic [3]. Moreover, \(k=11\) suffices to achieve a competitive ratio of 1.5406 beating the known lower bound of 1.54278 for a 1-copy algorithm [4]. In the context of online optimization with advice, our approach implies that 4 bits suffice to achieve less than 1.5401, which is considerably less than the previous bound of 16 bits of RedBlue by Angelopoulos et al. [2]; in fact, for \(k=16\) (corresponding to four bits of advice) PH3 achieves a ratio of 1.5305, compared to 3.3750 for RedBlue, while \(k=65,536\) (corresponding to 16 bits of advice) yields a factor of 1.5001 for PH3, but 1.5293 for RedBlue. As a last step, we give an analytic proof that the competitive ratio of our algorithm can be bounded from above by \(\frac{3}{2} + \frac{3\cdot 4^{1/k}-3}{6\cdot 4^{1/k}+2}\) , which converges to \(\frac{3}{2}\) for large k.

1.2 Related Work on Online Bin Packing

There is a wide range of online algorithms for bin packing. The Next Fit algorithm [9] achieves a competitive ratio of 2, whereas “Almost Any Fit” algorithms [12] like First Fit or Best Fit achieve competitive ratios of 1.7.

An important online bin packing algorithm is Harmonic \(^\text {M}\), in which items are packed into M different bin types containing only items of size in \((\nicefrac 1 {i+1}, \nicefrac 1{i}]\) for i from 1 to \(M-1\) or of size in \([0, \nicefrac 1 M]\). Harmonic \(^\text {M}\) was introduced by Lee and Lee [15], and achieves a competitive ratio of less than 1.692 for \(M \rightarrow \infty \). Based on Harmonic \(^\text {M}\), Son Of Harmonic by Heydrich and van Stee [11] achieves a competitive ratio of 1.5816. The currently best known algorithm is Advanced Harmonic, which achieves a competitive ratio of 1.57829 [3].

For lower bounds, Yao [20] established a value of 3/2 that was later improved to 1.536, independently by Brown [8] and by Liang [16]. Using a generalization of their methods, van Vliet [19] proved a lower bound of 1.5401. Balogh et al. [4] improved the lower bound to 1.54278.

1.3 Related Work on Online Bin Packing with Advice

In the context of online algorithms with advice, Boyar et al. [7] showed that an online algorithm with \(n\lceil \log (OPT(I)) \rceil \) bits of advice is sufficient and that at least \((n - 2 OPT(I))\cdot \log (OPT(I))\) bits of advice are necessary to achieve optimality. In the same paper, they presented an online bin packing algorithm, namely ReserveCritical, with \(O(\log (n)) + o(\log (n))\) bits of advice that is 1.5-competitive and an algorithm with \(2n+o(n)\) bits of advice that is \(\frac{4}{3}\)-competitive. Zhao and Shen [21] developed an algorithm using \(3n+o(n)\) bits of advice achieving a competitive ratio of \(\frac{5}{4}\textsc {opt} + 2\). Renault et al. [18] developed an \((1+\varepsilon )\)-competitive algorithm using \(O(\frac{1}{\varepsilon }\log \frac{1}{\varepsilon })\) bits of advice per request.

Based on ReserveCritical, Angelopoulos et al. [2] developed the algorithm RedBlue with constant advice that is 1.5-competitive. Their second algorithm achieves a competitive ratio of \(1.47012+\varepsilon \) with finite advice that is exponentially dependent of \(\varepsilon \). However, to beat the competitive ratio of 1.5 already an enormous amount of advice is needed, which makes the algorithm impractical.

In terms of lower bounds, Boyar et al. [7] proved that no competitive ratio better than 9/8 can be reached by any algorithm that uses sub-linear advice. Angelopoulos et al. [2] improved this bound to 7/6.

1.4 Related Work on Parallel Online Algorithms

Parallel algorithms have already been considered in the field of online algorithms with advice. Boyar et al. [6] presented an algorithm for the online list update problem, making use of 2 bits of advice to choose one out of three algorithms. This algorithm achieves a competitive ratio of 5/3, beating the lower bound for conventional online algorithms of 2. A practical application of this algorithm was shown by Kamali and Ortiz [14], who applied it in the Burrows–Wheeler transform compression. More work on parallel online algorithms include parallel scheduling [1], finding independent sets [10] and the “multiple-cow” version of the linear search problem [17].

While online algorithms with advice mostly focus on the amount of advice to allow classification of online algorithms and problems, k-copy online algorithms focus on small finite values for k and thus small finite amounts of advice, with more emphasis on practical application. The perspective on different algorithms running in parallel instead of abstract arbitrary information facilitates finer optimization in some cases.

Also, when considering online algorithms with advice, the number of algorithms can only be doubled by increasing the amount of advice by one bit. The perspective of k-copy algorithms allows arbitrary \(k \in \mathbb {N}\) for the number of algorithms.

2 Preliminaries

2.1 k-Copy Online Algorithms

In this paper, we consider k online algorithms \(A_1,\dots , A_k\), each of them processing the same input list I in parallel. We call the set \(\mathcal {A}:=\{A_1,\dots ,A_k\}\) a k-copy online algorithm.

For an input list I and an online algorithm A, let A(I) denote the number of bins used by A and \(\textsc {opt}(I)\) denote the number of bins used in an optimal offline solution. The absolute competitive ratio \(R_{\mathcal {A}}\) for a k-copy online algorithm \(\mathcal A\) is defined as

$$\begin{aligned} R_\mathcal A = \sup _I \left\{ \frac{\min _{A \in \mathcal {A}} A(I)}{\textsc {opt}(I)}\right\} . \end{aligned}$$

The asymptotic competitive ratio \(R_\mathcal {A}^\infty \) for algorithm \(\mathcal A\) is defined as

$$\begin{aligned} R_\mathcal A^\infty = \lim _{n \rightarrow \infty } \sup _I \left\{ \frac{\min _{A \in \mathcal {A}} A(I)}{\textsc {opt}(I)} \ \mid \textsc {opt}(I) = n \right\} \end{aligned}$$

As already stated by Boyar et al. [5], any k-copy online algorithm can be converted into an online algorithm with advice, and vice versa.

Lemma 1

Any k-copy online algorithm can be converted into an online algorithm with \(l=\lceil \log _2(k) \rceil \) bits of advice that achieves the same competitive ratio. Conversely, any online algorithm with \(l \in \mathbb {N}\) bits of advice can be converted into a k-copy online algorithm without advice with \(k=2^l\) that achieves the same competitive ratio.

Proof

Let \(\mathcal {A} = \{ A_1, A_2, \dots , A_k \}\) be a k-copy algorithm. Construct the online algorithm \(A'\) that gets a value \(i \in \{ 1, 2, \dots , k \}\) as advice, specifying the index i of the algorithm \(A_i \in \mathcal {A}\) that performs best on the given input sequence. The value i can be encoded using \(\lceil \log _2(k) \rceil \) bits. \(A'\) then behaves like \(A_i\) and thus achieves the same competitive ratio as \(\mathcal {A}\).

Let A be an online algorithm that gets \(l \in \mathbb {N}\) bits of advice. Construct the online k-copy algorithm \(\mathcal {A}'\) with \(k = 2^l\) algorithms \(A_i, i \in \{ 1, 2, \dots , k \}\). For each \(i \in \{ 1, 2, \dots , k \}\), the algorithm \(A_i\) behaves like A given i encoded in binary as advice. As the values \(i \in \{ 1, 2, \dots , k \}\) cover every possible configuration of the advice bits, for any advice given to A, there is an algorithm \(A_i \in \mathcal {A}'\), that assumes this advice. Accordingly, there is an algorithm \(A_i \in \mathcal {A}'\), that performs as well as A, i.e., the best algorithm \(A_j \in \mathcal {A}\) that performs at least as well as A. Thus, \(\mathcal {A}'\) performs at least as well as A. \(\square \)

2.2 Bin Packing

In the online version of bin packing, we are given a list of items \(I:=\langle a_1,\dots , a_n\rangle \) with \(a_i \in (0,1]\) for \(i\in \{1,\dots ,n\}\). These items must be packed by an algorithm, one at a time, without any information on subsequent items and without the possibility to change previous decisions. The goal is to pack all items into a minimum number of bins with unit capacity.

Definition 1

(Item size) Let \(S=\left[ 0,\frac{1}{3}\right] \), \(M=\left( \frac{1}{3},\frac{1}{2}\right] \), \(L=\left( \frac{1}{2},\frac{2}{3}\right) \) and \(XL=\left[ \frac{2}{3},1\right] \). We call items in S small, items in M medium, items in L large and items in XL extra large. For a list \(I = \langle a_1, a_2, \dots a_n \rangle \), the set of items \(Set(I) \cap XL\) is noted as \(I_{XL}\) for improved readability. The subsets \(I_L\), \(I_M\) and \(I_S\) are used analogously.

Definition 2

(Size function) Let S be a set (or list) of items. Then, \({\text {size}}(S) := \sum _{i \in S}i\). For a bin b, we refer to \({\text {size}}(b)\) as the size of the bin, i.e., the sum of items already packed in b.

Definition 3

(Sub-bins) Given a bin b, it can be split into two parts \(b_{1}\) and \(b_{2}\), such that the sum of their capacities is equal to the capacity of b. We refer to \(b_{1}\) and \(b_{2}\) as sub-bins. We call a sub-bin with capacity C a C-sub-bin.

As sub-bins are not packed with an amount larger than their capacity, each sub-bin can be packed independently from the other.

3 Predictive Harmonic\(_3\)

In this section, we introduce the algorithm Predictive Harmonic\(_3\) (PH3). Although developed independently, it bears many similarities to ReserveCritical and RedBlue. PH3 uses the same classifications as the other two algorithms and tries to pack all large items with small items, such that the corresponding bins are packed to a level of at least 2/3. However, in contrast to RedBlue, the information needed by PH3 does not depend on the result of ReserveCritical, but only on the number and size of certain item types, and can be calculated in linear time.

The main idea of PH3 is to guess the ratio of how many small items must be packed with large items to obtain a packing density of 2/3. Having multiple instances of PH3, every instance can guess a different ratio to get close to a competitive ratio of 1.5 (see Sect. 4).

Before we describe our algorithm in detail, we will give an overview of notation that will be used throughout this section.

Definition 4

Let \(r_L, r_L^* \in [0,1]\). \(r_L\) is an input parameter that describes the ratio of the size of small items packed with large items to the total size of small items. For \(r_L = 0\), small items are never packed with large items. For \(r_L = 1\), every small item must be packed with large items. \(r_L^*\) is the best possible value for \(r_L\) to achieve an asymptotic competitive ratio of 3/2. Their difference \(r_L -r_L^*\) is defined by \(\delta \).

Definition 5

Bins containing an XL item and possibly smaller items are called XL-bins. Analogously define L-, M-, and S-bins. The set of XL-, L-, M-, and S-bins are defined as \(B_{XL}, B_L, B_M,\) and \(B_S\), respectively.

Further, our algorithm will use a slight variation of Next Fit [9] as a subroutine. In Next Fit (NF), an item is always packed into the current open bin if it fits. If the item does not fit into the bin, the bin is closed and a new bin is opened, in which we can pack the item. In our algorithm, we may have several open (sub-)bins. In this case, we try to pack the item into the first open bin. If it does not fit, we close the bin and consider the next open bin. If there are none, we create a new bin.

figure a

3.1 Competitive Ratio

Before we proceed to prove the asymptotic competitive ratio, we recall some lower bounds for an optimal offline solution.

Lemma 2

(Lower bounds on opt) For any input sequence I in online bin packing, the following lower bounds on opt hold:

  1. 1.

    opt \(\ge |I_{XL}| + |I_L| \ge |I_L|\)

  2. 2.

    opt \(\ge |I_{XL}| + \frac{|I_M|+|I_L|}{2}\)

  3. 3.

    opt \(\ge {\text {size}}(I)\)

Proof

  1. 1.

    As any two items \(a,a' \in XL \cup L\) with \(a \ne a'\) fulfill \(a+a' > 1\), opt has to put each of these items in a different bin. Thus, opt \(\ge |I_{XL}|+|I_L|\).

  2. 2.

    First, note that no item \(a \in M \cup L\) can be packed with an item \(a' \in XL\). Also, no more than two items \(a, a' \in M \cup L\) can be packed in the same bin, as each of these items is greater than 1/3. Thus,

    $$\begin{aligned} \textsc {opt}&\ge |I_{XL}|+\frac{|I_M|+|I_L|}{2} \end{aligned}$$
  3. 3.

    As opt has to pack the items into unit-sized bins, the number of bins must be at least the items total size \(\sum _{a \in I}a = {\text {size}}(I)\).

\(\square \)

Using these bounds and performing a case analysis, we can prove the following theorem. The proof idea is based on the fact that we could have chosen the best value of \(r_L\). We know that at least 1/2 of each 1/3-sub-bin must be filled to guarantee a packing density of 2/3. Therefore, for \(|I_L|\) bins, we have to fill up a total capacity of \(\frac{|I_L|}{6}\) with small items. If \(|I_L| \ge 6{\text {size}}(I_S)\), then all small items fit into bins with large items, therefore the algorithm should pack every small item into a large bin, i.e., \(r_L = 1\). Both cases imply the best value of \(r_L\), namely \(r_L^* :=min\left\{ \frac{|I_L|}{6\;{\text {size}}(I_S)}, 1 \right\} \).

Theorem 1

Let \(r_L^* = min\left\{ \frac{|I_L|}{6\;{\text {size}}(I_S)}, 1 \right\} \) and \(\delta = r_L - r_L^*\). PH3 achieves the asymptotic competitive ratio

$$\begin{aligned} R_{PH3}^\infty \le {\left\{ \begin{array}{ll} \dfrac{3}{2} + min\left\{ \dfrac{1}{4r_L^*}, \dfrac{3}{6 r_L^* + 2}\right\} (-\delta ) &{}{\text { for }}\; \delta \le 0 \\ \dfrac{3}{2} + min\left\{ \dfrac{3}{4r_L^*}, \dfrac{9}{6 r_L^* + 2}\right\} \delta &{}{\text { for }}\; \delta \ge 0. \end{array}\right. } \end{aligned}$$

To prove this theorem, we first prove a series of lemmas, whose combination prove the theorem.

Lemma 3

\(|B_{XL}|\le \frac{3}{2} \; {\text {size}}(I_{XL})\) and \(|B_M|\le \frac{3}{2} {\text {size}}(I_M) + \frac{1}{2}\)

Proof

As each extra large item \(a \in I_{XL}\) is packed into a separate XL-bin and each such item satisfies \(a \ge 2/3\), we get

$$\begin{aligned} |B_{XL}| = |I_{XL}| \le \frac{3}{2} \; {\text {size}}(I_{XL}). \end{aligned}$$

Two medium items are packed into each M-bin, except for the last one if the number of M-items is odd. Each M-item \(a \in I_M\) fulfills \(a > 1/3\), thus

$$\begin{aligned} |B_M|=\left\lceil \frac{|I_M|}{2}\right\rceil \le \frac{|I_M|+1}{2} < \frac{3}{2} {\text {size}}(I_M) + \frac{1}{2}. \end{aligned}$$

\(\square \)

Lemma 4

Let \(\delta = r_L- r_L^*\). Then,

$$\begin{aligned} |B_S| \le {\left\{ \begin{array}{ll} \frac{3}{2}\; (1-\delta )\; {\text {size}}(I_S) - \frac{1}{4}\; |I_L| + 1,&{} \text {for } r = \frac{|I_L|}{6\;{\text {size}}(I_S)} < 1\\ \frac{ \textsc {opt}}{4}(-\delta ) + 1,&{} \text {for } r = 1. \end{array}\right. } \end{aligned}$$

Proof

PH3 will only open a new S-bin, if the current item \(a \in I_S\) is supposed to be packed into an S-bin and does not fit into the currently open bin. As \(\forall a \in I_S : i \le 1/3\), any S-bin \(b \in B_S\) except the last one has to fulfill \({\text {size}}(b) > 2/3\), otherwise another item \(a \in I_S\) would fit. A fraction of \((1 - r_L)\) of the size of small items plus at most one item is packed into S-bins. If a bin \(b \in B_S\) with \({\text {size}}(b) < 2/3\) exists, this additional item can be packed there, otherwise it is packed into an additional bin. In either case, there is at most one bin \(b \in B_S\) with \({\text {size}}(b) < 2/3\). Then, for \(r = \frac{|I_L|}{6\;{\text {size}}(I_S)} < 1\), we obtain the following.

$$\begin{aligned} |B_S|&\le \frac{3}{2} \; (1-r_L) \; {\text {size}}(I_S) + 1\\&= \frac{3}{2}\; (1-\delta )\; {\text {size}}(I_S) - \frac{3}{2} \; r_L^* {\text {size}}(I_S) + 1\\&= \frac{3}{2}\; (1-\delta )\; {\text {size}}(I_S) - \frac{3}{2}\cdot \frac{|I_L|}{6 \; {\text {size}}(I_S)}\; {\text {size}}(I_S) + 1\\&= \frac{3}{2}\; (1-\delta )\; {\text {size}}(I_S) - \frac{1}{4}\; |I_L| + 1 \end{aligned}$$

For \(r = 1\), we obtain the following.

$$\begin{aligned} |B_S|&\le \frac{3}{2} (1-r_L) {\text {size}}(I_S) + 1\\&= \frac{3}{2} (-\delta ) {\text {size}}(I_S) + 1\\&\le \frac{3}{2} (-\delta ) \frac{|I_L|}{6} + 1\\&= \frac{|I_L|}{4}(-\delta ) + 1\\&\le \frac{ \textsc {opt}}{4}(-\delta ) + 1 \end{aligned}$$

\(\square \)

Lemma 5

\(|B_L| \le |I_L| + \max \{0, 6 \; \delta \; {\text {size}}(I_S) + 3\}\), where \(\delta = r_L- r_L^*\).

Proof

For \(B_L\), consider the subsets \(B_{LL} = \{ b \in B_L \mid \, b\) contains a large item\(\}\) and \(B_{LS} = \{ b \in B_L \mid \, b \text { contains a small item}\}\). As both small and large items are packed into L-bins by increasing index, either \(B_{LS} \subseteq B_{LL}=B_L\) or \(B_{LL} \subseteq B_{LS}=B_L\) holds. Thus, \(|B_L| = \max \{|B_{LL}|, |B_{LS}|\}\).

No two large items are packed into the same bin, so

$$\begin{aligned} |B_{LL}|=|I_L|. \end{aligned}$$
(1)

Let \(I_S'\) be the set of small items packed into L-bins. As small items are smaller than 1/3 and are only packed into L-bins if less than a part \(r_L\) of the small items packed so far has been packed into L-bins, \({\text {size}}(I_S') < r_L \; {\text {size}}(I_S) + 1/3\). The set \(I_S'\) is packed into the 1/3-sub-bins by a NF-algorithm. Thus each L-bin is filled by at least 1/6 by small items implying that there are at most \(6\;{\text {size}}(I_S')+1\) many L-bins.

$$\begin{aligned} |B_{LS}|&\le 6 \; {\text {size}}(I_S') + 1 \nonumber \\&< 6 \; r_L \; {\text {size}}(I_S) + 3 \nonumber \\&= 6 \; (r_L^* + \delta ) {\text {size}}(I_S) + 3 \nonumber \\&\le 6 \; \left( \frac{|I_L|}{6 \; {\text {size}}(I_S)} + \delta \right) {\text {size}}(I_S) + 3 \nonumber \\&= |I_L| + 6 \; \delta \; {\text {size}}(I_S) +3 \end{aligned}$$
(2)

And therefore, we obtain using Eqs. (1) and (2)

$$\begin{aligned} |B_L|&= \max \{|B_{LL}|, |B_{LS}|\}\\&\le \max \{|I_L|, |I_L| + 6 \; \delta \; {\text {size}}(I_S) +3\}\\&= |I_L| + \max \{0, 6 \; \delta \; {\text {size}}(I_S) + 3\}. \end{aligned}$$

\(\square \)

Lemma 6

Let \(\Delta := \max \left\{ \frac{3}{2} - \frac{3}{2} \delta \; {\text {size}}(I_S), \frac{9}{2} + \frac{9}{2} \delta \; {\text {size}}(I_S)\right\} \) and \(\delta = r_L- r_L^*\). Then

$$\begin{aligned} |B_L| + |B_S| \le \frac{3}{2} ({\text {size}}(I_S) + {\text {size}}(I_L)) + \Delta -\frac{1}{2}. \end{aligned}$$

Proof

Combining the bounds for \(|B_S|\) (Lemma 4) and \(|B_L|\) (Lemma 5) yields

$$\begin{aligned} |B_S| + |B_L|&\le \underbrace{\frac{3}{2} (1-\delta )\; {\text {size}}(I_S) - \frac{1}{4}\; |I_L| + 1}_{\ge |B_S|} + \underbrace{|I_L| + \max \{0, 6 \; \delta \; {\text {size}}(I_S) + 3\}}_{\ge |B_L|}\\&= \frac{3}{2} (1-\delta )\; {\text {size}}(I_S) + \frac{3}{4}\; |I_L| + 1 + \max \{0, 6 \; \delta \; {\text {size}}(I_S) + 3\}. \end{aligned}$$

Each large item \(a \in I_L\) is greater than 1/2. Therefore \(\frac{3}{4} |I_L| < \frac{3}{2} \; {\text {size}}(I_L)\). By using \(\Delta := \max \left\{ \frac{3}{2} - \frac{3}{2} \delta \; {\text {size}}(I_S), \frac{9}{2} + \frac{9}{2} \delta \; {\text {size}}(I_S)\right\} \) we obtain the following. \(|B_S| + |B_L|\)

$$\begin{aligned}&< \frac{3}{2} ({\text {size}}(I_S) + {\text {size}}(I_L)) -\frac{3}{2} \delta \; {\text {size}}(I_S) + 1 + \max \{0, 6 \; \delta \; {\text {size}}(I_S) + 3\}\\&= \frac{3}{2} ({\text {size}}(I_S) + {\text {size}}(I_L)) + \Delta -\frac{1}{2} \end{aligned}$$

\(\square \)

Lemma 7

If \(r_L^* = \frac{|I_L|}{6\;{\text {size}}(I_S)} < 1\) then the following two inequalities hold.

  1. 1.

    \({\text {size}}(I_S)\le \frac{\textsc {opt}}{6r_L^*}\)

  2. 2.

    \({\text {size}}(I_S)\le \frac{\textsc {opt}}{3r_L^* +1}\)

Proof

By solving \(r_L^* = \frac{|I_L|}{6\;{\text {size}}(I_S)}\) for \({\text {size}}(I_S)\), we obtain \({\text {size}}(I_S) = \frac{|I_L|}{6 r_L^*}\).

The first inequality is then obtained by using \(|I_L| \le \) opt (see inequality 1 of Lemma 2).

$$\begin{aligned} {\text {size}}(I_S) = \frac{|I_L|}{6 r_L^*} \le \frac{ \textsc {opt}}{6r_L^*}. \end{aligned}$$

To prove inequality 2, recall that each item \(i \in I_L\) is larger than 1/2, and thus \(|I_L| < 2 {\text {size}}(I_L)\).

$$\begin{aligned} {\text {size}}(I_S)&= \frac{|I_L|}{6 r_L^*} \le \frac{{\text {size}}(I_L)}{3 r_L^*}\\ \Leftrightarrow {{\text {size}}(I_S)+\frac{{\text {size}}(I_S)}{3 r_L^*}}&\ {\le \frac{{\text {size}}(I_L)}{3 r_L^*}+\frac{{\text {size}}(I_S)}{3 r_L^*}}\\ \Leftrightarrow \left( 1+\frac{1}{3 r_L^*}\right) {\text {size}}(I_S)&\le \frac{{\text {size}}(I_L)+{\text {size}}(I_S)}{3 r_L^*}\\ \Leftrightarrow {\text {size}}(I_S)&\le \frac{{\text {size}}(I_L)+{\text {size}}(I_S)}{3 r_L^*+ 1} \end{aligned}$$

According to Lemma 2, opt \(\ge {\text {size}}(I)\), and therefore also \( \textsc {opt} \ge {\text {size}}(I_S)+{\text {size}}(I_L)\). Using this fact, we obtain \({\text {size}}(I_S) \le \frac{{\text {size}}(I_L)+{\text {size}}(I_S)}{3 r_L^*+ 1} \le \frac{\textsc {opt}}{3 r_L^*+ 1}\). \(\square \)

Lemma 8

Let \(\delta = r_L - r_L^*\). If \(r_L^* = \frac{|I_L|}{6\;{\text {size}}(I_S)} < 1\) then PH3 achieves an asymptotic competitive ratio of

$$\begin{aligned} R_{PH3}^\infty \le {\left\{ \begin{array}{ll} \dfrac{3}{2} + min\left\{ \dfrac{1}{4r_L^*}, \dfrac{3}{6 r_L^* + 2}\right\} (-\delta ) &{}{\text { for }}\; \delta \le 0 \\ \dfrac{3}{2} + min\left\{ \dfrac{3}{4r_L^*}, \dfrac{9}{6 r_L^* + 2}\right\} \delta &{}{\text { for }}\; \delta \ge 0. \end{array}\right. } \end{aligned}$$

Proof

Let \(PH_3\) denote the number of bins used by PH3. Then \(PH_3 = |B_{XL}| + |B_M| + |B_S| + |B_L|\). Using the bounds for \(|B_{XL}|\), \(|B_{M}|\), and \(|B_{L}| + |B_S|\) from Lemmas 3 and 6, we obtain

$$\begin{aligned} PH_3&= |B_{XL}| + |B_M| + |B_S| + |B_L|\\&< \underbrace{\frac{3}{2} \; {\text {size}}(I_{XL})}_{\ge |B_{XL}|} + \underbrace{\frac{3}{2} {\text {size}}(I_M)+\frac{1}{2}}_{> |B_M|} + \underbrace{\frac{3}{2} ({\text {size}}(I_S) + {\text {size}}(I_L)) + \Delta - \frac{1}{2}}_{\ge |B_S| + |B_L|}\\&= \frac{3}{2} ({\text {size}}(I_{XL}) + {\text {size}}(I_M) + {\text {size}}(I_S) + {\text {size}}(I_L)) + \Delta \\&= \frac{3}{2} {\text {size}}(I) + \Delta . \end{aligned}$$

Because of Lemma 2, we have \( \textsc {opt} \ge {\text {size}}(I)\) and hence \(PH_3 < \frac{3}{2} \textsc {opt} + \Delta \). With that we obtain the following asymptotic competitive ratio:

$$\begin{aligned} \lim _{ \textsc {opt} \rightarrow \infty } \frac{PH_3}{ \textsc {opt}}&\le \lim _{ \textsc {opt} \rightarrow \infty } \frac{3}{2} + \frac{\Delta }{ \textsc {opt}}\\&= \lim _{ \textsc {opt} \rightarrow \infty } \frac{3}{2} + \frac{max\left\{ \frac{3}{2} - \frac{3}{2} \delta \; {\text {size}}(I_S), \frac{9}{2} + \frac{9}{2} \delta \; {\text {size}}(I_S)\right\} }{ \textsc {opt}}\\&= \lim _{ \textsc {opt} \rightarrow \infty } \frac{3}{2} + \max \left\{ -\frac{3}{2} \delta ,\frac{9}{2} \delta \right\} \; \frac{{\text {size}}(I_S)}{ \textsc {opt}} \end{aligned}$$

From Lemma 7, we can bound \(\frac{{\text {size}}(I_S)}{\textsc {opt}}\) by taking the minimum of both inequalities. This results in an asymptotic upper bound on \(\Delta \) in comparison to opt:

This results in a competitive ratio dependent on \(\delta \), proving Theorem 1 for \(r_L^*=\frac{|I_L|}{6 \; {\text {size}}(I_S)}\):

$$\begin{aligned} R_{PH3}^\infty&= \lim _{ \textsc {opt} \rightarrow \infty } \frac{PH_3}{ \textsc {opt}} \\&\le \lim _{ \textsc {opt} \rightarrow \infty } \frac{3}{2} + \frac{\Delta }{ \textsc {opt}} \\&= {\left\{ \begin{array}{ll} \dfrac{3}{2} + min\left\{ \dfrac{1}{4r_L^*}, \dfrac{3}{6 r_L^* + 2}\right\} (-\delta ) &{}{\text { for }}\; \delta \le 0 \\ \dfrac{3}{2} + min\left\{ \dfrac{3}{4r_L^*}, \dfrac{9}{6 r_L^* + 2}\right\} \delta &{}{\text { for }}\; \delta \ge 0. \end{array}\right. } \end{aligned}$$

\(\square \)

Lemma 9

Let \(\delta = r_L - r_L^*\). If \(r_L^* = 1\) then PH3 achieves an asymptotic competitive ratio of

$$\begin{aligned} R_{PH3}^\infty \le \dfrac{3}{2} + min\left\{ \dfrac{1}{4r_L^*}, \dfrac{3}{6 r_L^* + 2}\right\} (-\delta ) = \dfrac{3}{2} - \frac{\delta }{4} \end{aligned}$$

Proof

Because \(\delta = r_L - r_L^* = r_L -1\) and \(r_L \in [0,1]\), we have \(\delta \le 0\). Furthermore, \({\text {size}}(I_S)\) must be less or equal to \(|I_L|/6\), as otherwise \(r_L^*\) would be less than 1.

By Lemma 5 we have \(|B_L| \le |I_L| + \max \{0,6\; \delta \; {\text {size}}(I_S) + 3\}\). Because \(\delta \le 0\), we obtain \(|B_L| \le {|I_L| + \max \{0, 0 +3\} = } |I_L| + 3\). From Lemma 4 we already know that \(|B_S| \le \frac{ \textsc {opt}}{4}(-\delta ) + 1\).

Combining these two bounds with known bounds for \(|B_{XL}|\) and \(|B_M|\) from Lemma 3 yields an upper bound on the number of bins \(PH_3\).

$$\begin{aligned} PH_3&\le \underbrace{|I_{XL}|}_{=|B_{XL}|} + \underbrace{\frac{|I_M|+1}{2}}_{\ge |B_M|} + \underbrace{|I_L| + 3}_{\ge |B_L|} + \underbrace{\frac{ \textsc {opt}}{4}(-\delta ) + 1}_{\ge |B_S|}\\&= |I_{XL}| + |I_L| + \frac{|I_M|}{2} + \frac{ \textsc {opt}}{4}(-\delta ) + \frac{9}{2} \end{aligned}$$

For \(|I_L| \ge |I_M|\) an estimate against opt can be formulated as follows using inequality 1 from Lemma 2.

$$\begin{aligned} PH_3&\le \underbrace{|I_{XL}| + |I_L|}_{\le \textsc {opt}} + \underbrace{\frac{|I_L|}{2}}_{\le \textsc {opt}/2} + \frac{ \textsc {opt}}{4}(-\delta ) + \frac{9}{2}\\&\le \left( \frac{3}{2} + \frac{1}{4} (-\delta ) \right) \textsc {opt} + \frac{9}{2} \end{aligned}$$

For \(|I_L| < |I_M|\), \(PH_3\) can be estimated against opt using inequality 2 from Lemma 2.

$$\begin{aligned} PH_3&\le |I_{XL}| + \frac{4 |I_L| + 2 |I_M|}{4} + \frac{ \textsc {opt}}{4}(-\delta ) + \frac{9}{2}\\&< \underbrace{|I_{XL}| + \frac{3 |I_L| + 3 |I_M|}{4}}_{\le 3/2 \; \textsc {opt}} + \frac{ \textsc {opt}}{4}(-\delta ) + \frac{9}{2}\\&\le \left( \frac{3}{2} + \frac{1}{4}(-\delta )\right) \textsc {opt} + \frac{9}{2} \end{aligned}$$

This bound leads straight to the competitive ratio.

$$\begin{aligned} \Rightarrow \lim _{ \textsc {opt} \rightarrow \infty } \frac{PH_3}{ \textsc {opt}}&\le \lim _{ \textsc {opt} \rightarrow \infty } \left( \frac{3}{2} + \frac{1}{4} (-\delta ) \right) + \frac{9}{2 \; \textsc {opt}}\\&= \frac{3}{2} - \frac{\delta }{4} \end{aligned}$$

\(\square \)

By combining Lemmas 8 and 9, we obtain Theorem 1.

3.2 Tightness

Theorem 2

For any \(r_L, r_L^* \in [0,1]\), the asymptotic competitive ratio given in Theorem 1 is tight.

Proof

Let \(\langle a_1, a_2, \dots a_k \rangle \mathop {\times }n\) with \(n \in \mathbb {N}\) denote n repetitions of the sequence \(\langle a_1, a_2, \dots a_k \rangle \).

Let \(N \in \mathbb {N}\) and \(\varepsilon = 1 / (12 N + 15)\).

Let I be a sequence consisting of the concatenated subsequences \(I_S\), \(I_M\) and \(I_L\). Let \(I_S\) be a sequence consisting of the two interleaved subsequences \(I_{SL}\) and \(I_{LL}\).

Let

$$\begin{aligned} I_L&= \left( \frac{1}{2} + \frac{\varepsilon }{2}\right) \mathop {\times }n_L \text { with } n_L = \lceil 4 r_L^* N \rceil \\ I_M&= \left( \frac{1}{3} + \frac{\varepsilon }{2}\right) \mathop {\times }n_M \text { with } n_M = {\left\{ \begin{array}{ll} 0 &{}{\text { for }}\; r_L^* \le 1/3 \\ \lfloor (6 r_L^* - 2) N \rfloor &{}{\text { for }}\; r_L^* \ge 1/3 \end{array}\right. } \\ I_{SS}&= \left( \frac{1}{3} - 2 \varepsilon , \frac{1}{6} - \varepsilon , \frac{1}{6} - \varepsilon , 12 \varepsilon \right) \mathop {\times }n_{SS} \text { with } n_{SS} = \lceil n_{SS}' \rceil = \lceil (1 - r_L) N \rceil \\ I_{SL}&= \left( \frac{1}{6} - \varepsilon , 3 \varepsilon \right) \mathop {\times }n_{SL} \text { with } n_{SL} = \lceil n_{SL}' \rceil = \lceil 4 r_L N \rceil \end{aligned}$$

Let \(I_S\) be interleaved in such a way that whenever PH3 would pack the next item in an L-bin, the next item in \(I_S\) is the next item in \(I_{SL}\), otherwise it is the next item in \(I_{SS}\). If the corresponding subsequence contains no more items, the next item is taken from the other one.

Note that the size of small items packed into each S-bin is exactly four times the size of small items packed into each L-bin. As \(n_{SL} \ge n_{SL}'\) and \(n_{SS} \ge n_{SS}'\) and

$$\begin{aligned} \frac{{\text {size}}(I_{SL})}{{\text {size}}(I_S)} \approx&\frac{n_{SL}'}{n_{SL}' + 4 n_{SS}'} = r_L. \end{aligned}$$

PH3 will pack at least \(n_{SS}\) S-bins and \(n_{SL}\) L-bins. The last S-bin packed by PH3 may contain items from \(I_{SS}\) and the last L-bin might contain items from \(I_{SL}\), depending on the differences \(n_{SS} - n'_{SS}\) and \(n_{SL} - n'_{SL}\). For the sake of simplicity, the up to two possible additional bins packed with small items are ignored, as they do not have impact on the asymptotic competitive ratio due to the infinite length of the input sequences considered.

Fig. 1
figure 1

The main types of bins packed by PH3. Dependent on \(r_L\) and \(r_L^*\), type (a) L-bins and type (b) or type (c) L-bins are packed

When packing S-bins, PH3 packs the items \(1/3 - 2 \varepsilon \), \(1/6 - \varepsilon \), \(1/6 - \varepsilon \), \(12 \varepsilon \). The next item with size \(1/3 - 2 \varepsilon \) does no longer fit and a new bin is opened. As the subsequence packed into each S-bin is repeated \(n_{SS}\) times, \(|B_S| = n_{SS}\).

As items of size \(1/3 + \varepsilon /2\) are packed by twos in M-bins, \(|B_M| = \lceil n_M / 2 \rceil \).

When packing the 1/3-sub-bins of the L-bins, PH3 packs one item of size \(1/6 - \varepsilon \), then one item of size \(3 \varepsilon \). The next item has size \(1/6 - \varepsilon \). As \(1/6 - \varepsilon + 3 \varepsilon + 1/6 - \varepsilon > 1/3\), a new bin will be opened. Accordingly, each L-bin \(b \in B_L\) that is packed with small items will contain exactly the items \(1/6 - \varepsilon \) and \(3 \varepsilon \). As these two items occur \(n_{SL}\) times each in \(I_{SL}\), the number of these bins is \(n_{SL}\).

The items of size \(1/2 + \varepsilon /2\) are large and thus packed into the 2/3-sub-bins of L-bins individually. As there are \(n_L\) such items, the number of L-bins that contain a large item is \(n_L\) as well.

The total number of L-bins is the maximum of the number of L-bins that contain small items and L-bins that contain large items: \(|B_L| = \max \{n_{SL}, n_L\}\).

As the input sequence contains no extra large items, \(|B_{XL}| = 0\).

The packing of the bins is illustrated in Fig. 1. Overall, PH3 needs the following number of bins.

$$\begin{aligned} PH_3&= |B_{XL}| + |B_L| + |B_M| + |B_L|\\&= 0 + \max \{n_{SL}, n_L\} + \left\lceil \frac{n_M}{2} \right\rceil + n_{SS}\\&\ge \max \{4 r_L N, 4 r_L^* N\} + \frac{n_M}{2} + n_{SS} \\&\ge \max \{r_L, r_L^*\} 4 N + \frac{n_M}{2} + (1 - r_L) N \\&= 3 r_L^* N + \max \{\delta , 0\} 4 N + \frac{n_M}{2} + N - \delta N \end{aligned}$$

To get an upper bound on opt, consider the algorithm FFD. FFD is an offline bin packing algorithm that sorts the items in decreasing order and puts each item in the first bin that has enough space left to fit the item [13].

Fig. 2
figure 2

The main types of bins packed by FFD

FFD will first pack each large item in a separate bin, opening \(n_L\) bins.

The medium items are packed one each in the first \(n_M\) bins alongside the large items. Note that there are \(n_L = 4 r_L^* N\) large items and \(n_M = \lfloor (6 r_L^* - 2) N \rfloor \) medium items. As \(r_L^* \le 1\), \(n_L \ge n_M\) and thus each medium item can be packed with a large item. Let \(B_L\) the set of bins containing only a large item and \(B_M\) the set of bins containing a large and a medium item. Note that \(|B_M| = n_M\) and \(|B_L| = n_L - n_M\).

Items of size \(1/3 - 2 \varepsilon \) are packed into the bins \(B_L\) one each. If there are more such items than there are bins in \(B_L\), the remaining items are packed by threes.

Afterwards, the items of size \(1/6 - \varepsilon \) are packed into the bins \(B_M\) and \(B_L\), items that do not fit are packed into additional bins.

Each bin in \(B_M\) then contains, besides to the large and the medium item, exactly one item of size \(1/6 - \varepsilon \).

Each bin \(b \in B_L\) is packed either with the items \(\{1/2 + \varepsilon /2, 1/3 - 2 \varepsilon , 1/6 - \varepsilon \}\) or the items \(\{1/2 + \varepsilon /2, 1/6 - \varepsilon , 1/6 - \varepsilon , 1/6 - \varepsilon \}\). In either case, the size of the packed small items is \({\text {size}}(b \cap S) = 1/2 - 3 \varepsilon \).

Let \(size_S\) denote the total size of all items of size \(1/3 - 2 \varepsilon \) and \(1/6 - \varepsilon \). Let \(size_S'\) denote the total size those items of size \(1/3 - 2 \varepsilon \) and \(1/6 - \varepsilon \) that are packed into additional bins.

$$\begin{aligned} size_S'&= size_S - |B_L| \left( \frac{1}{2} - 3 \varepsilon \right) - |B_M| \left( \frac{1}{6} - \varepsilon \right) \\&= n_{SS} \left( \frac{1}{3} - 2 \varepsilon \right) + (n_{SL} + 2 n_{SS} - n_M) \left( \frac{1}{6} - \varepsilon \right) - (n_L - n_M) \left( \frac{1}{2} - 3 \varepsilon \right) \\&= (n_{SL} + 4 n_{SS} - 3 n_L + 2 n_M) \left( \frac{1}{6} - \varepsilon \right) \end{aligned}$$

When packing the items of size \(1/3 - 2 \varepsilon \) and \(1/6 - \varepsilon \) in additional bins, FFD packs three items of size \(1/3 - 2 \varepsilon \) or six items of size \(1/6 - \varepsilon \) in each bin except one bin, which may contain items of both sizes, and the last bin, which may contain fewer items. Each of these bins, except for the last bin, has size \(1 - 6 \varepsilon \). Let \(B_S\) denote the set of these bins.

$$\begin{aligned} B_S&= \left\lceil \frac{size_S'}{1 - 6 \varepsilon } \right\rceil \nonumber \\&= \left\lceil \frac{1}{1 - 6 \varepsilon } \left( \frac{1}{6} - \varepsilon \right) (n_{SL} + 4 n_{SS} - 3 n_L + 2 n_M) \right\rceil \nonumber \\&\le \frac{n_{SL} + 4 n_{SS} - 3 n_L + 2 n_M + 6}{6} \end{aligned}$$
(3)

For packing the items of size \(12 \varepsilon \) and the items of size \(3 \varepsilon \), at most one additional bin is used, as

$$\begin{aligned} n_{SS} (12 \varepsilon ) + n_{SL} (3 \varepsilon )&\le (12 n_{SS}' + 12) \varepsilon + (3 n_{SL}' + 3) \varepsilon \\&= (12 - 12 r_L) N \varepsilon + 12 r_L N \varepsilon + 15 \varepsilon \\&= (12 N + 15) \varepsilon \\&= 1 \end{aligned}$$

Figure 2 shows a visualization of the main types of bins packed by FFD before items of size \(12 \varepsilon \) or smaller are packed. As FFD provides a feasible solution to the offline bin packing problem, this also yields a upper bound on the optimal solution opt. Thus, \(\textsc {opt} \le FFD \le |B_L| + |B_M| + |B_S| + 1\). Using Equation (3), we obtain:

$$\begin{aligned} \textsc {opt}&\le n_L + \frac{n_{SL} + 4 n_{SS} - 3 n_L + 2 n_M + 6}{6} + 1\\&= \frac{3 n_L + n_{SL} + 4 n_{SS} + 2 n_M + 12}{6}\\&= \frac{3 \lceil 4 r_L^* N \rceil + \lceil 4 r_L N \rceil + 4 \lceil (1 - r_L) N \rceil + 2 n_M + 12}{6} \\&\le \frac{12 r_L^* N + 4 r_L N + 4 (1 - r_L) N + 2 n_M + 20}{6} \\&= \frac{(12 r_L^* + 4) N + 2 n_M + 20}{6} \end{aligned}$$

Consider \(r_L^* \ge 1/3\).

$$\begin{aligned} n_M&= \lfloor (6 r_L^* - 2) N \rfloor \\ \textsc {opt}&\le \frac{(12 r_L^* + 4) N + 2 \lfloor (6 r_L^* -2) N \rfloor + 20}{6}\\&\le \frac{24 r_L^* N + 20}{6} < 4 r_L^* N + 4\\ PH_3&\ge 3 r_L^* N + \max \{\delta , 0\} 4 N + \frac{\lfloor (6 r_L^* - 2) N \rfloor }{2} + N - \delta N \\&\ge 3 r_L^* N + \max \{\delta , 0\} 4 N + (3 r_L^* - 1) N + N - \delta N - 1\\&= 6 r_L^* N + \max \{\delta , 0\} 4 N - \delta N - 1 \end{aligned}$$

Note that for \(r_L^* \ge 1/3\), the following two equations hold.

$$\begin{aligned} min\left\{ \dfrac{1}{4r_L^*}, \dfrac{3}{6 r_L^* + 2}\right\}&=\dfrac{1}{4r_L^*}\\ min\left\{ \dfrac{3}{4r_L^*}, \dfrac{9}{6 r_L^* + 2}\right\}&=\dfrac{3}{4r_L^*} \end{aligned}$$

Note that for \( \textsc {opt} \rightarrow \infty \), \(N \rightarrow \infty \) also holds. Thus, for \(N \rightarrow \infty \), a lower bound on the competitive ratio for \(r_L^* \ge 1/3\) can be given.

$$\begin{aligned} \lim _{ \textsc {opt} \rightarrow \infty } \frac{PH_3}{ \textsc {opt}}\ge & {} \lim _{N \rightarrow \infty } \frac{6 r_L^* N + \max \{\delta , 0\} 4 N - \delta N - 1}{4 r_L^* N + 4}\\= & {} \frac{3}{2} + \frac{4 \max \{\delta , 0\} - \delta }{4 r_L^*}\\= & {} {\left\{ \begin{array}{ll} \dfrac{3}{2} + \dfrac{3}{4 r_L^*} \delta &{}{\text { for }}\; \delta \ge 0 \\ \dfrac{3}{2} + \dfrac{1}{4 r_L^*} (- \delta ) &{}{\text { for }}\; \delta \le 0 \\ \end{array}\right. }\\= & {} R_{PH3}^\infty {\text { for }}\; r_L^* \ge 1/3 \end{aligned}$$

Now consider \(r_L^* \le 1/3\).

$$\begin{aligned} n_M&= 0\\ \textsc {opt}&\le \frac{(12 r_L^* + 4) N + 20}{6}\\ PH_3&\ge 3 r_L^* N + \max \{\delta , 0\} 4 N + N - \delta N \end{aligned}$$

Note that for \(r_L^* \le 1/3\), the following two equations hold.

$$\begin{aligned} min\left\{ \dfrac{1}{4r_L^*}, \dfrac{3}{6 r_L^* + 2}\right\}&=\dfrac{3}{6r_L^* + 2}\\ min\left\{ \dfrac{3}{4r_L^*}, \dfrac{9}{6 r_L^* + 2}\right\}&=\dfrac{9}{6r_L^* + 2} \end{aligned}$$

As above, for \(N \rightarrow \infty \), a lower bound on the competitive ratio for \(r_L^* \le 1/3\) can be given

$$\begin{aligned} \lim _{ \textsc {opt} \rightarrow \infty } \frac{PH_3}{ \textsc {opt}}&\ge \lim _{N \rightarrow \infty } 6\frac{3 r_L^* N + \max \{\delta , 0\} 4 N + N - \delta N}{(12 r_L^* + 4) N + 20}\\&= \frac{9 r_L^* + 12 \max \{\delta , 0\} + 3 - 3 \delta }{6 r_L^* + 2}\\&= \frac{3}{2} + \frac{12 \max \{\delta , 0\}- 3 \delta }{6 r_L^* + 2}\\&={\left\{ \begin{array}{ll} \dfrac{3}{2} + \dfrac{9}{6 r_L^* + 2} \delta &{}{\text { for }}\; \delta \ge 0 \\ \dfrac{3}{2} + \dfrac{3}{6 r_L^* + 2} (- \delta ) &{}{\text { for }}\; \delta \le 0 \\ \end{array}\right. }\\&=R_{PH3}^\infty {\text { for }}\; r_L^* \le 1/3 \end{aligned}$$

\(\square \)

4 Parallel Predictive Harmonic \(_3\)

Now we consider PH3 in the context of k-copy algorithms.

4.1 Competitive Ratio for PH3 as 1-Copy Online Algorithm

To optimize the performance for PH3 as a 1-copy algorithm, we determine the optimal value for \(r_L\) with respect to minimizing the asymptotic competitive ratio over all \(r_L^* \in [0,1]\).

Lemma 10

(Monotonicity of competitive ratio of PH3) For any fixed \(r_L\in [0,1]\), the competitive factor is monotonically decreasing for \(r_L^*\in [0,r_L]\) and monotonically increasing for \(r_L^*\in [r_L,1]\). In other words, for \(\delta := r_L - r^*_L\), the competitive factor is monotonically increasing in \(-\delta \) for \(\delta \le 0\) and in \(\delta \) for \(\delta \ge 0\).

Proof

Assume \(r_L\) to be fixed. We define functions \(r_{+,<}, r_{-,<}, r_{+,>}, r_{-,>}\) of \(r_L^*\). The subscripts \(<,>\) describe whether the function is defined for \(r_L^* \le \nicefrac {1}{3}\) or \(r_L^* \ge \nicefrac {1}{3}\). The subscripts \(+,-\) describe whether \(\delta \) is positive or negative. Let \(r_{+,<}, r_{-,<}: [0,\nicefrac {1}{3}] \rightarrow \mathbb {R}\) and \(r_{+,>}, r_{-,>}: [\nicefrac {1}{3},1] \rightarrow \mathbb {R}\) with

$$\begin{aligned} r_{-,<}(r_L^*)&= \frac{3}{2} + \frac{3}{6 r_L^* + 2} \cdot (-\delta )&= R_{PH3}^\infty {\text { for }}\; \delta \le 0, r_L^* \le \frac{1}{3}\\ r_{-,>}(r_L^*)&= \frac{3}{2} + \frac{1}{4 r_L^*} \cdot (-\delta )&= R_{PH3}^\infty {\text { for }}\; \delta \le 0, r_L^* \ge \frac{1}{3}\\ r_{+,<}(r_L^*)&= \frac{3}{2} + \frac{9}{6 r_L^* + 2} \cdot \delta&= R_{PH3}^\infty {\text { for }}\; \delta \ge 0, r_L^* \le \frac{1}{3}\\ r_{+,>}(r_L^*)&= \frac{3}{2} + \frac{3}{4 r_L^*} \cdot \delta&= R_{PH3}^\infty {\text { for }}\; \delta \ge 0, r_L^* \ge \frac{1}{3}\\ \end{aligned}$$

Consider the derivative of \(r_{-,<}\) and \(r_{-,>}\).

$$\begin{aligned} \frac{\partial }{\partial r_L^*} r_{-,<}(r_L^*)&= \frac{\partial }{\partial r_L^*} \left( \frac{3}{2} + \frac{3}{6 r_L^* + 2} (-\delta )\right) \\&= \frac{\partial }{\partial r_L^*} \left( \frac{3 (r_L^* - r_L)}{6 r_L^* + 2} \right) \\&= \frac{18 r_L + 6}{(6 r_L^* + 2)^2} \ge 0 {\text { for }}\; 0 \le r_L \le r_L^* \le \frac{1}{3}\\ \frac{\partial }{\partial r_L^*} r_{-,>}(r_L^*)&= \frac{\partial }{\partial r_L^*} \left( \frac{3}{2} + \frac{1}{4r_L^*} (-\delta )\right) \\&= \frac{\partial }{\partial r_L^*} \left( \frac{r_L^* - r_L}{4 r_L^*} \right) \\&= \frac{r_L}{4 (r_L^*)^2} \ge 0 {\text { for }}\; 0 \le r_L \le r_L^* \text { and } \frac{1}{3} \le r_L^* \le 1 \end{aligned}$$

As the derivatives of \(r_{-,<}\) and \(r_{-,>}\) are both non-negative in their respective domains, they are both monotonically increasing. Because \(r_{-,<}(\frac{1}{3}) = r_{-,>}(\frac{1}{3})\), we conclude that the competitive ratio is monotonically increasing for \(r_L^*\in [r_L,1]\).

Now consider the derivative of \(r_{+,<}\) and \(r_{+,>}\).

$$\begin{aligned} \frac{\partial }{\partial r_L^*} r_{+,<}(r_L^*)&= \frac{\partial }{\partial r_L^*} \left( \frac{3}{2} + \frac{9}{6 r_L^* + 2} \delta \right) \\&= \frac{\partial }{\partial r_L^*} \left( \frac{9 (r_L - r_L^*)}{6 r_L^* + 2} \right) \\&= \frac{-54 r_L - 18}{(6 r_L^* + 2)^2} \le 0 {\text { for }}\; r_L^* \le r_L \le 1 \text { and } 0 \le r_L^* \le \frac{1}{3}\\ \frac{\partial }{\partial r_L^*} r_{+,>}(r_L^*)&= \frac{\partial }{\partial r_L^*} \left( \frac{3}{2} + \frac{3}{4r_L^*} \delta \right) \\&= \frac{\partial }{\partial r_L^*} \left( \frac{3 (r_L - r_L^*)}{4 r_L^*} \right) \\&= \frac{-3 r_L}{4 (r_L^*)^2} \le 0 {\text { for }}\; \frac{1}{3} \le r_L^* \le r_L \le 1 \end{aligned}$$

As the derivatives of \(r_{+,<}\) and \(r_{+,>}\) are both non-positive in their respective domains, they are both monotonically decreasing. Because \(r_{+,<}(\frac{1}{3})=r_{+,>}(\frac{1}{3})\), we conclude that the competitive ratio is monotonically decreasing for \(r_L^*\in [0,r_L]\). \(\square \)

Suppose that we know in advance that \(r_L^*\) lies within an interval [ab]; we know that this is the case for \(a = 0\) and \(b = 1\). Because of Lemma 10, the competitive ratio does not decrease with \(r_L^*\) increasing for \(\delta \le 0\). Thus, as an upper bound on the competitive ratio for \(\delta \le 0\), only the competitive ratio for \(r_L^* = b\) has to be considered.

$$\begin{aligned} R_{PH3}^\infty&\le \frac{3}{2} + \frac{1}{4} (-\delta ) {\text { for }}\; \delta \le 0\\&= \frac{3}{2} + \frac{1}{4} (b - r_L). \end{aligned}$$

For \(\delta \ge 0\), the competitive ratio does not decrease with \(r_L^*\) decreasing. In this case, the competitive ratio for \(r_L^* = a\) is an upper bound on the competitive ratio.

$$\begin{aligned} R_{PH3}^\infty&\le \frac{3}{2} + \frac{9}{2} \delta {\text { for }}\; \delta \ge 0\\&= \frac{3}{2} + \frac{9}{2} (r_L - a). \end{aligned}$$

The maximum of these values is an upper bound on the overall competitive ratio; at the same time, these values are lower bounds on the overall competitive ratio. Given these bounds, we can formulate the following linear program to minimize the competitive ratio:

$$\begin{aligned} \mathop {\text {Minimize }} R_{PH3}^\infty&\\ \mathop {\text {Subject to }} R_{PH3}^\infty&\ge \frac{3}{2} + \frac{1}{4}(b-r_L)\\ R_{PH3}^\infty&\ge \frac{3}{2} + \frac{9}{2}(r_L-a)\\ r_L&\ge a\\ r_L&\le b\\ \end{aligned}$$

Let \(\rho (a,b)\) denote the value of \(r_L\) in an optimal solution of this linear program for given ab, and let \(\sigma (a,b)\) denote the corresponding value of \(R_{PH3}^\infty \). Basically, \(\rho (a,b)\) describes how we should choose \(r_L\) to minimize our competitive ratio for any given interval [ab] for which we know that it contains \(r_L^*\). We summarize.

Corollary 1

If \(r_L^*\) is constrained to be in a given interval [ab], PH3 with \(r_L = \rho (a,b)\) achieves asymptotic competitive ratio \(\sigma (a,b)\).

We have \(\rho (0,1) = \nicefrac {1}{19}\) and \(\sigma (0,1) = \nicefrac {33}{19} < 1.7369\), which is an upper bound on the competitive ratio of PH3 with \(r_L = \nicefrac {1}{19}\). Figure 3 shows the asymptotic competitive ratio of PH3 over \(r_L^*\) for \(r_L = \nicefrac {1}{19}\).

Fig. 3
figure 3

Competitive ratio of the optimal 1-copy PH3 algorithm dependent on \(r_L^*\) for a fixed \(r_L\)

Compared to other known algorithms for online bin packing, PH3 is not a good choice for worst-case behavior. Among the classical algorithms, only NF and WF, both of which are 2-competitive, are worse than PH3. Any AAF algorithm achieves an asymptotic competitive ratio \(R_{AAF}^\infty = 1.7\) [9] and thus performs slightly better than PH3. The best-performing online algorithm for bin packing currently known, Son Of Harmonic, is 1.5816-competitive and thus clearly superior to PH3 [11].

However, if we know in advance that \(r_L^*\) is restricted to some interval \(I_r = [a,b] \subset [0,1]\), Corollary 1 can be used to prove a better competitive ratio.

4.2 Competitive Ratio for PH3 as k-Copy Online Algorithm

Corollary 1 can be used to create a set of \(k \in \mathbb {N}\) algorithms achieving a better competitive ratio. For this purpose, the interval [0, 1] is split into k sub-intervals \(I_1, \dots , I_k \subset [0,1]\) with \(\cup _{i \in \{1, \dots , k\}} I_i = [0,1]\). Each interval \(I_i\) is covered by one instance of the algorithm PH3 \(A_i\), such that \(A_i\) achieves a targeted competitive ratio \(R \in (3/2, 33/19)\) for \(r_L^* \in I_i\).

R is restricted to (3/2, 33/19), because any competitive ratio above or equal to 33/19 can be achieved with the instance of PH3 shown above, and k-copy PH3 cannot achieve a competitive ratio of 3/2 or less with finitely many algorithms.

To calculate the number k of algorithms needed to achieve a given competitive ratio R, the following iterative approach can be used.

Let \(\mathcal {A}\) be a set of algorithms. Initially, \(\mathcal A := \emptyset \). We initialize our iterative approach with \(i=0\) and set \(r_{max}^0=0\). Then, while \(r_{max}^i < 1\), we increase i by one and we compute three values \(r_{min}^{i}\), \(r_L^{i}\) and \(r_{max}^i\). With these three values we can define algorithm \(A_i\) for which \(r_L^i\) denotes the value of \(r_L\), \(r^i_{min}\) denotes the minimal and \(r^i_{max}\) denotes the maximal value for \(r_L^*\) for which \(A_i\) is still R-competitive. By Lemma 10, \(A_i\) will be R-competitive for the interval \([r^i_{min}, r^i_{max}]\). All three values are computed as follows. We set \(r^i_{min}=r^{i-1}_{max}\). Given \(r^i_{min}\), \(r_L^i\) can be computed:

If \(r^i_{min} \le 1/3\), we have \(R=\frac{3}{2} + \frac{9}{2+6 r^i_{min}} (r_L^i - r^i_{min})\). Solving this equation for \(r_L^i\) we get \(r_L^i = r^i_{min} + \left( R - \frac{3}{2}\right) \left( \frac{2+6 r^i_{min}}{9}\right) \). If \(r^i_{min} \ge 1/3\), we have \(R = \frac{3}{2} + \frac{3}{4 r^i_{min}} (r_L^i - r^i_{min})\). Solving this equation for \(r_L^i\) yields \(r_L^i = r^i_{min} + \left( R - \frac{3}{2}\right) \left( \frac{4 r^i_{min}}{3}\right) \).

Having \(r_L^i\), we can compute \(r_{max}^i\). Because the competitive ratio is the minimum of two values (see Theorem 1), we get two candidates \(r^i_{max,1}\) and \(r^i_{max,2}\) for \(r_{max}^i\). We can take the maximum of those two candidates, i.e., \(r_{max}^i = \max ( r^i_{max,1}, r^i_{max,2})\), because it is sufficient to be R-competitive in one case. In the first case (\(\frac{3}{6r_L^*+2} < \frac{1}{4r_L^*}\)) we obtain \(r_{max, 1}^i = \frac{3 r_L^i - 3 + 2R}{12 -6 R}\) and in the second case we get \(r_{max, 2}^i = \frac{r_L^i}{7 -4 R}\).

Now consider the case when \(r_{max}^i \ge 1\). Because each algorithm \(A_\ell \) with \(1\le \ell \le i\) is R-competitive for the interval \([r^\ell _{min},r^\ell _{max}]=[r^{\ell -1}_{max},r^{\ell }_{max}]\) with \(r^0_{min} = 0\), there is an algorithm \(A_m\) for any \(r_L^*\in [0,1]\) that is R-competitive. Therefore, we have an i-copy online algorithm for bin packing achieving the competitive factor R.

Fig. 4
figure 4

6-copy PH3 beats the best 1-copy online algorithm known to date, achieving an asymptotic competitive ratio \(R_{PH3}^\infty < 1.5815\)

Following this method, we see that \(k=6\) algorithms are sufficient to guarantee a competitive ratio \(R=1.5815\). This beats the currently best 1-copy online algorithm Son Of Harmonic with a competitive ratio of 1.5816. Figure 4 shows the competitive ratio achieved by the individual algorithms over \(r_L^* \in [0,1]\) for \(R=1.5815\). Note that 1.5815 is not the best competitive ratio achievable by 6-copy PH3, as shown below in Fig. 5. Using \(k=12\) algorithms, a competitive ratio \(R=1.5402 < 1.5403\) can be achieved, beating the highest known lower bound for 1-copy online algorithms.

To compute the best competitive ratio achievable by \(k \in \mathbb {N}\) algorithms, we use binary search on R starting in the interval [3/2, 33/19] and test in each iteration if we can guarantee R-competitiveness with at most k algorithms. Figure 5 shows the best competitive ratios achievable by k-copy PH3.

Fig. 5
figure 5

k-copy PH3 performance dependent on k

4.3 Comparison to Related Algorithms

Because k-copy online algorithms can be translated to an online algorithm with advice and vice versa (see Lemma 1), it is natural to compare these two variants; note that k-copy allows a more precise analysis on the competitive ratio. In this subsection we compare our algorithm to the best known online algorithm with constant advice, namely RedBlue introduced by Angelopoulos et al. [2]. Their second algorithm is 1.47012-competitive (and thus beats our algorithm), but the amount of advice needed by this algorithm is quite large, and is thus only of theoretical interest. As the focus of k-copy algorithms is to provide good solutions for small k, it is reasonable to only compare k-copy PH3 to RedBlue. Moreover, we can quantify the rate of convergence towards the asymptotic value: As we demonstrate below, RedBlue has a rate of \(\frac{1}{\sqrt{2}}\), while our approach achieves a rate of \(\frac{1}{2}\). Thus, our methods improves at a quadratically faster pace.

Table 1 Comparison of the performance of k-copy PH3 and RedBlue. The rightmost column shows an upper bound of \(R_{PH3}^\infty \) according to Sect. 5. Values for \(R_{PH3}^\infty \) are computed with a precision of \(10^{-4}\). All values are then rounded up to the fourth decimal place

Table 1 shows a comparison between RedBlue and k-copy PH3 for small amounts of advice. The competitive ratios given are rounded up to the fourth decimal place. The competitive ratios for RedBlue are computed using the upper bound on the competitive ratio \(1.5 + 15/(2^{\ell /2+1})\). The competitive ratios for k-copy PH3 are calculated using binary search as described above.

Table 1 clearly shows the advantage of k-copy PH3 over RedBlue for few bits of advice. With as few as 5 bits of advice, or \(k = 32\), k-copy PH3 achieves a better competitive ratio than RedBlue with 16 bits of advice, which corresponds to \(k=65536\) algorithms when used as k-copy algorithm. It can also be seen (and later checked by numerical methods using the bounds from Theorem 3) that our asymptotic competitive ratio converges with a rate \(\frac{1}{2}\). On the other hand, RedBlue converges with rate

$$\begin{aligned} \lim _{\ell \rightarrow \infty }\frac{R_{{\textsc {RedBlue}}}^\infty (\ell +1)-\frac{3}{2}}{R_{{\textsc {RedBlue}}}^\infty (\ell )-\frac{3}{2}} = \frac{1}{\sqrt{2}}, \end{aligned}$$

where \(R_{{\textsc {RedBlue}}}^\infty (\ell )\) is the asymptotic competitive ratio of RedBlue using \(\ell \) bits of advice.

Although RedBlue and k-copy PH3 work in a similar way, k-copy PH3 achieves a better competitive ratio due to the more precise analysis of the intervals for \(r_L^*\), in which each algorithm achieves the competitive ratio. By avoiding overlaps in these intervals, fewer algorithms are needed.

On the other hand, RedBlue simply splits an interval for its parameter \(\beta \) evenly into \(2^{\ell /2}\) intervals; translated into a k-copy setting, this leads to overlaps in the intervals covered by each algorithm.

5 Non-Recursive Upper Bound for \(\mathbf {k}\)-Copy PH3

In this section we provide an analytic proof that the competitive ratio of k-copy PH3 can be upper bounded by \(\frac{3}{2} + \frac{3\cdot 4^{1/k}-3}{6\cdot 4^{1/k}+2}\) for k algorithms. To this end, we start by calculating the number of algorithms needed to cover the interval \([0,\frac{1}{3}]\) and \([\frac{1}{3}, 1]\). We call these \(k_{\le \frac{1}{3}}\) and \(k_{\ge \frac{1}{3}}\), respectively.

Lemma 11

Let \(R\in (\frac{3}{2}, \frac{33}{19}]\). Then, \(k_{\le \frac{1}{3}} \ge \frac{1}{\log _2\left( \frac{R}{6-3R}\right) }\).

Proof

With the construction of the algorithms above we have

$$\begin{aligned} r_{max}^i = \frac{3r_L^i-3+2R}{12-6R}&= \frac{3\cdot \left( r_{\max }^{i-1}+(R-\frac{3}{2})(\frac{2+6_{\max }^{i-1}}{9})\right) }{12-6R}\\&=\frac{2R+6Rr_{\max }^{i-1}-12+6R}{6\cdot (6-3R)}\\&=\frac{1}{3} \left( \frac{1+3r_{\max }^{i-1}}{6-3R}R-1\right) \end{aligned}$$

From this, we can prove that \(r_{\max }^n = \frac{1}{3}\left( \left( \frac{R}{6-3R}\right) ^n-1\right) \). For \(n=0\) this is true, as we start with \(r_{\max }^0 = 0\). Now, suppose this equation is true for some \(n\in \mathbb N\). We show that it is still true for \(n+1\).

$$\begin{aligned} r_{\max }^{n+1}&=\frac{1}{3} \left( \frac{1+3r_{\max }^n}{6-3R}R-1\right) \\&=\frac{1}{3} \left( \frac{\left( \frac{R}{6-3R}\right) ^n}{6-3R}R-1\right) \\&= \frac{1}{3}\left( \left( \frac{R}{6-3R}\right) ^{n+1}-1\right) \end{aligned}$$

To cover the \([0,\frac{1}{3}]\) interval with \(n:=k_{\le \frac{1}{3}}\) algorithms, \(r_{\max }^n\) must be at least \(\frac{1}{3} \). Therefore,

$$\begin{aligned} r_{\max }^n \ge \frac{1}{3}&\Leftrightarrow \frac{1}{3}\left( \left( \frac{R}{6-3R}\right) ^n-1\right) \ge \frac{1}{3}\\&\Leftrightarrow \left( \frac{R}{6-3R}\right) ^n-1 \ge 1\\&\Leftrightarrow n \ge \log _{\frac{R}{6-3R}}(2)\\&\Leftrightarrow n\ge \frac{1}{\log _2\left( \frac{R}{6-3R}\right) } \end{aligned}$$

\(\square \)

Lemma 12

Let \(R\in (\frac{3}{2}, \frac{33}{19}]\). Then, \(k_{\ge \frac{1}{3}} \ge \frac{1}{\log _3\left( \frac{4}{7-4R}-1\right) -1}\).

Proof

Similar to Lemma 11, we have

$$\begin{aligned} r_{\max }^i = \frac{r_L^i}{7-4R}&= \frac{r_{\max }^{i-1}+(R-\frac{3}{2})(\frac{4r_{\max }^{i-1}}{3})}{7-4R}\\&=\frac{1+\frac{4R}{3}-2}{7-4R}r_{\max }^{i-1}\\&= \frac{4R -3}{3(7-4R)}r_{\max }^{i-1}\\&= \frac{1}{3} \left( \frac{4}{7-4R}-1\right) r_{\max }^{i-1} \end{aligned}$$

With \(r_{\max }^{0} = \frac{1}{3}\) we have \(r_{\max }^{n} = \left( \frac{1}{3}\right) ^{n+1}\left( \frac{4}{7-4R}-1\right) ^n\). To cover the \([\frac{1}{3},1]\) interval with \(n:=k_{\ge \frac{1}{3}}\) algorithms, \(r_{\max }^n\) must be at least 1.

$$\begin{aligned} r_{\max }^{n} \ge 1&\Leftrightarrow \left( \frac{1}{3}\right) ^{n+1}\left( \frac{4}{7-4R}-1\right) ^n \ge 1\\&\Leftrightarrow (n+1)\log _3\left( \frac{1}{3}\right) +n\log _3\left( \frac{4}{7-4R}-1\right) \ge 0\\&\Leftrightarrow n\left( \log _3\left( \frac{4}{7-4R}-1\right) -1\right) \ge 1\\&\Leftrightarrow n\ge \frac{1}{\log _3\left( \frac{4}{7-4R}-1\right) -1} \end{aligned}$$

\(\square \)

Lemma 13

For \(R\in (\frac{3}{2}, \frac{33}{19}]\) we have \(k_{\le \frac{1}{3}} \ge k_{\ge \frac{1}{3}} \).

Proof

Let \(A(R) := {\log _2\left( \frac{R}{6-3R}\right) }\) and \(B(R):= {\log _3\left( \frac{4}{7-4R}-1\right) -1}\). Then, \(k_{\le \frac{1}{3}} \ge k_{\ge \frac{1}{3}}\) is true if and only if \(A(R) \le B(R)\). We show in the following that both functions are monotonically increasing for \(R\in [\frac{1}{3}, \frac{33}{19}]\) and that B increases faster than A in this interval.

Because \(A(R)={\log _2\left( \frac{2}{6-3R}-\frac{1}{3}\right) }\), we can directly see that both, A and B, are monotonically increasing for \(R\in [\frac{1}{3}, \frac{33}{19}]\). Now, consider \(A'(R)= \frac{2}{2R\log 2-R^2\log 2}\) and \(B'(R)= \frac{16}{(7-4R)(4R-3)\log 3}\). Then,

$$\begin{aligned} A'(R)\le B'(R) \Leftrightarrow \frac{8\log 2}{\log 3} \frac{2R-R^2}{(7-4R)(4R-3)}\ge 1 \end{aligned}$$

Consider the derivative of \(\frac{2R-R^2}{(7-4R)(4R-3)}\), i.e., \(\frac{42R-8R^2-42}{((7-4R)(4R-3))^2}\). This function is positive whenever the numerator is positive. Because the numerator is a negative parabola with roots at approximately 1.34 and 3.9, the function is positive in the interval \([\frac{3}{2}, \frac{33}{19}]\). Therefore, \(\frac{A'(R)}{B'(R)}\) is monotonically increasing. For \(R=\frac{3}{2}\), this quotient is equal to \(\frac{\log 4}{\log 3}> 1\), i.e., B grows faster than A.

Because \(A(\frac{3}{2}) = 0 = B(\frac{3}{2})\) and \(A'(R)\le B'(R)\) for all \(R\in [\frac{3}{2}, \frac{33}{19}]\), it follows that \(A(R) \le B(R)\) for all \(R\in [\frac{3}{2}, \frac{33}{19}]\) and therefore \(k_{\le \frac{1}{3}} \ge k_{\ge \frac{1}{3}} \). \(\square \)

Theorem 3

PH3 with k algorithms has a competitive factor of at most \(\frac{3}{2} + \frac{3\cdot 4^{1/k}-3}{6\cdot 4^{1/k}+2}\) .

Proof

From previous lemmas we conclude:

$$\begin{aligned} k\le k_{\le \frac{1}{3}}+k_{\ge \frac{1}{3}} \le 2k_{\le \frac{1}{3}} = \frac{2}{\log _2\left( \frac{R}{6-3R}\right) } \end{aligned}$$

Solving this for R yields

$$\begin{aligned} R\le 2-\frac{2}{1+3\cdot 4^{1/k}} = \frac{3}{2} + \underbrace{\frac{3\cdot 4^{1/k}-3}{6\cdot 4^{1/k}+2}}_{\rightarrow 0,\ k\rightarrow \infty } \end{aligned}$$

\(\square \)

6 Conclusion

We have studied the concept of parallel online algorithms for the Bin Packing Problem. We developed a k-copy online algorithm named PH3 and showed that PH3 has an asymptotic competitive ratio of at most \(\frac{3}{2} + \frac{3\cdot 4^{1/k}-3}{6\cdot 4^{1/k}+2}\) , which converges to \(\frac{3}{2}\) for large k; in particular, \(k=11\) suffices to break through the lower bound for a single online algorithm. We also considered the relationship to online algorithms with advice and achieved a considerable improvement compared to a previous algorithm.

There are various directions for future work. We saw that PH3 is \((1.5+\varepsilon )\)-competitive if \(\frac{|I_L|}{6{\text {size}}(I_S)}\le ~1\), i.e., when there is a surplus of small items. If there are too few small items, PH3 is asymptotically \((1.5+\varepsilon )\)-competitive. Can we make better use of the second case for an improvement? Can we guarantee an absolute competitive ratio of \(1.5(+\varepsilon )\)? We also believe that the concept of k-copy algorithms is useful for a wide range of other problems.