**1. Introduction**

Tang and Gong [1] first raised and studied the problem of transportation and batching scheduling (TBS). This model, which combines transportation and scheduling together, is motivated by a production environment in which a set of semi-finished jobs are transported from a holding area to a manufacturing facility for further processing by the available transporters and is used in many manufacturing systems. This is particularly true in the iron and steel industry.

Formally, we can describe the TBS problem in the following way. We are given a set of jobs, a set of vehicles (transporters), and a single batching machine that can handle batch jobs at the same time. Initially, all jobs and all vehicles are located at a holding area and available from time zero onward. When the production process begins, all jobs have to be transported by the vehicles to the batching machine and further processing is then carried out, where each vehicle can deliver one job at a time. The transportation time of a job is job-dependent, the empty moving times of the vehicles from the batching machine back to the holding area are identical, and the processing times of the batches on the batching machine are identical. The following notations are used in this scheduling model.


The goal of the TBS problem is to find a feasible schedule that minimizes the scheduling cost plus the processing cost. We will denote this problem by (*m*, *c*)|*τ*| *f* + *α*(*b*), where "(*m*, *c*)" means that we have *m* vehicles in the transportation stage and the batching machine has a capacity *c* for forming a batch and "*τ*" indicates the vehicle return time.

Production–transportation problems, which have some similarities as the TBS problems, have also been extensively studied in the literature. Hall and Potts [2] introduced and studied various single-machine and parallel-machine scheduling problems in which the various cost functions being considered are based on the delivery times and delivery cost. Chen [3] surveyed the existing models of integrated production and outbound distribution scheduling (IPODS) and presented a unified model representation method. The author also classified the existing models into several different classes and provided an overview for the optimality properties, computational tractability, and solution algorithms. As mentioned by Tang and Gong [1], the TBS problem differs from the IPODS problem. In fact, in the TBS setting, apart from the schedule of the semi-finished jobs in the transportation stage, we also consider the schedule of these jobs on the batching machine in the production stage.

Recall that a combinatorial optimization problem is binary (unary) NP-hard if it is NP-hard in the binary (unary) encoding.

Tang and Gong [1] studied the TBS problem which aims to minimize the sum of the total completion time of the jobs and the processing cost of the batching machine. For this problem, the authors proved the binary NP-hardness and further established a pseudo-polynomial-time algorithm and an FPTAS for any fixed *m*.

For the more "classic" scheduling objectives that exclude the processing cost, Zhu et al. [4] showed that the complexity result in Tang and Gong [1] is still valid, that is, the TBS problem with fixed *m* for minimizing the total completion time of the jobs is binary NP-hard. When *m* is arbitrary, Zhu et al. [4] showed that the TBS problem for minimizing the total completion time of the jobs is unary NP-hard. Moreover, they proved that the TBS problem for minimizing the sum of the total weighted completion time of the jobs and the processing cost of the batching machine is unary NP-hard even if *m* = 1 and *c* = 3. The computational complexity of the TBS problem with *m* = 1 for just minimizing the total weighted completion time of the jobs was posed as an open problem in Zhu et al. [4]. It should be noticed that, in the case where *τ* = 0, i.e., the vehicle return time is given by 0, the model of transportation times in the TBS problems can be considered as a special case of setup times studied in Allahverdi [5] and Ciavotta et al., [6]

In this paper, we consider the TBS problem (1, *c*)|*τ*| ∑ *wjCj*, in which we have one single vehicle in the transportation stage, the scheduling criterion is to minimize the total weighted completion time of the jobs, and the processing cost is given by 0.

Note that when *c* = 1 and *τ* = 0, problem (1, *c*)|*τ*| ∑ *wjCj* degenerates to the classical two-machine flow-shop scheduling problem *F*2|*p*2*<sup>j</sup>* = *p*| ∑ *wjCj*. Recently, Wei and Yuan [7] showed that problem *F*2|*p*2*<sup>j</sup>* = *p*| ∑ *wjCj* is unary NP-hard and admits a 2-approximation algorithm. More research of problem *F*2|| ∑ *wjCj* can be found in Choi et al. [8] and Hoogeveen and Kawaguchi [9].

The unary NP-hardness of problem *F*2|*p*2*<sup>j</sup>* = *p*| ∑ *wjCj*, established in the work by the authors of [7], implies that problem (1, 1)|*τ* = 0| ∑ *wjCj* is unary NP-hard. However, in general, the computational complexity of problem (1, *c*)|*τ*| ∑ *wjCj* for *c* ≥ 2 is unaddressed.

In this paper, first, we show that for every *c* ≥ 3 (including the possibility *c* = *n*), problem (1, *c*)|*τ* = 0| ∑ *wjCj* is unary NP-hard. Then, for the general problem (1, *c*)|*τ*| ∑ *wjCj* with the batch capacity *c* ≥ 2, we present a polynomial-time approximation algorithm, which has a worst-case performance ratio of less than 3. The complexity of problem (1, 2)|*τ*| ∑ *wjCj* is still open.

#### **2. Unary NP-Hardness Proof**

To show the unary NP-hardness of problem (1, *c*)|*τ* = 0| ∑ *wjCj* with *c* ≥ 3, we will use the following decision problem "3-Partition" as the source problem. As outlined by Garey and Johnson [10], a 3-partition is unary NP-complete.

**3-Partition:** In an instance of the problem, we are given a set {*a*1, *a*2, ... , *a*3*t*, *B*} of 3*t* + 1 positive integers satisfying <sup>1</sup> <sup>4</sup>*<sup>B</sup>* <sup>&</sup>lt; *aj* <sup>&</sup>lt; <sup>1</sup> <sup>2</sup>*<sup>B</sup>* for *<sup>j</sup>* <sup>=</sup> 1, 2, ... , 3*<sup>t</sup>* and <sup>∑</sup>3*<sup>t</sup> <sup>j</sup>*=<sup>1</sup> *aj* = *tB*. The decision asks, is there a partition of the index set *<sup>I</sup>* = {1, 2, ... , 3*t*} into *<sup>t</sup>* parts *<sup>I</sup>*1, *<sup>I</sup>*2, ... , *It* such that |*Ii*| = 3 and <sup>∑</sup>*j*∈*Ii aj* = *<sup>B</sup>* for all *i* = 1, 2, . . . , *t*?

The following useful lemma states a basic algebraic result.

**Lemma 1.** *Let x*1, *x*2, ... , *xk be k positive numbers. Then* ∑*<sup>k</sup> <sup>i</sup>*=<sup>1</sup> *x*<sup>2</sup> *<sup>i</sup>* ≥ *k* · *x*1+*x*2+···+*xk k* 2 *, and moreover the equality holds if and only if x*<sup>1</sup> <sup>=</sup> *<sup>x</sup>*<sup>2</sup> <sup>=</sup> ··· <sup>=</sup> *xk* <sup>=</sup> *<sup>x</sup>*1+*x*2+···+*xk <sup>k</sup> .*

**Theorem 1.** *For every c* ≥ 3*, problem* (1, *c*)|*τ* = 0| ∑ *wjCj is unary NP-hard.*

**Proof.** For a given instance (*a*1, *a*2,..., *a*3*t*; *B*) of 3-Partition, we first define

$$
\Delta = t^2 B^2 + 1 = O(t^2 B^2) \tag{1}
$$

and

$$M = t(t+3)(3\Delta + B)^2 = O(t^6 B^4). \tag{2}$$

Then we construct a scheduling instance of problem (1, *c*)|*τ* = 0| ∑ *wjCj* as follows.

	- (i) *J*0, called the 0-job, has a transportation time *τ*<sup>0</sup> = 0 and a weights *w*<sup>0</sup> = *M*, and
	- (ii) *J*1, *J*2, ... , *J*3*t*, called partition jobs, have transportation times *τ<sup>j</sup>* = Δ + *aj* and weights *wj* = Δ + *aj* for *j* = 1, 2, . . . , 3*t*.

$$Q = M(3\Delta + B) + \frac{1}{2}t(t+3)(3\Delta + B)^2 = Mp + \frac{1}{2}t(t+3)p^2. \tag{3}$$

The above scheduling instance has 6*t* + 6 parameters: *τj*, *wj* (*j* = 0, 1, ... , 3*t*), *τ*, *p*, *c*, and *Q*, with *Q* being the largest one. Since *M* = *O*(*t* <sup>6</sup>*B*4) and *p* = *O*(*t* <sup>2</sup>*B*2), from Equation (3), we have *Q* = *Mp* + <sup>1</sup> <sup>2</sup> *<sup>t</sup>*(*<sup>t</sup>* <sup>+</sup> <sup>3</sup>)*p*<sup>2</sup> <sup>=</sup> *<sup>O</sup>*(*<sup>t</sup>* <sup>8</sup>*B*6). This implies that the size of the above scheduling instance under the unary encoding is upper bounded by *O*(*t* <sup>9</sup>*B*6). Note that the size of the 3-partition instance under the unary encoding is given by *O*(*tB*). Then, our scheduling instance can be constructed from the 3-partition instance in a polynomial time under the unary encoding. From the general principle of NP-hardness proof, we need to show in the following that the 3-Partition instance has a solution if and only if the scheduling instance has a feasible schedule *π* such that ∑ *wjCj*(*π*) ≤ *Q*.

Let us first suppose that the 3-Partition instance has a solution, which means that there is a partition of the index set *<sup>I</sup>* = {1, 2, ... , 3*t*} into *<sup>t</sup>* parts *<sup>I</sup>*1, *<sup>I</sup>*2, ... , *It* such that |*Ii*| = 3 and <sup>∑</sup>*j*∈*Ii aj* = *<sup>B</sup>* for all *i* = 1, 2, ... , *t*. Let J<sup>0</sup> = {*J*0} and J*<sup>i</sup>* = {*Jj* : *j* ∈ *Ii*} for all *i* = 1, 2, ... , *t*. We define a schedule *π* for the scheduling instance in the following way.

• The vehicle consecutively transports the 3*t* + 1 jobs in the order

$$\mathcal{I}\_0 \prec \mathcal{I}\_1 \prec \cdots \prec \mathcal{I}\_t \tag{4}$$

one by one, where the transportation order of the three jobs in each J*i*, *i* = 1, 2, ... , *t*, does not matter.

• The batching machine takes each J*i*, *i* = 0, 1, 2, ... , *t*, as a single batch and processes the *<sup>t</sup>* + <sup>1</sup> batches in the order described in Equation (4) as they are transported. Then we have totally *t* + 1 processing batches.

Note that the transportation time of the 0-job in J<sup>0</sup> is 0, and the total transportation time of the three partition-jobs in J*i*, *<sup>i</sup>* ∈ {1, 2, ... , *<sup>t</sup>*}, is given by <sup>∑</sup>*Jj*∈J*<sup>i</sup> <sup>τ</sup><sup>j</sup>* = <sup>∑</sup>*j*∈*Ii* (Δ + *ai*) = 3Δ + *B*. From *p* = 3Δ + *B*, the completion times of the *t* + 1 batches J<sup>0</sup> ≺ J<sup>1</sup> ≺···≺J*<sup>t</sup>* are given by *p*, 2*p*, ... ,(*t* + 1)*p*, respectively. Moreover, the weight of the 0-job in J<sup>0</sup> is *M* and the total weight of the three partition-jobs in J*i*, *<sup>i</sup>* ∈ {1, 2, . . . , *<sup>t</sup>*}, is given by <sup>∑</sup>*Jj*∈J*<sup>i</sup> wj* = <sup>∑</sup>*j*∈*Ii* (Δ + *ai*) = 3Δ + *B* = *p*. Then we have

$$\sum w\_j \mathbb{C}\_j(\pi) = M \cdot p + p^2 \cdot (2 + 3 + \dots + (t+1)) = Mp + \frac{1}{2}t(t+3)p^2 \dots$$

From Equation (3), we have *Q* = *Mp* + <sup>1</sup> <sup>2</sup> *<sup>t</sup>*(*<sup>t</sup>* + <sup>3</sup>)*p*2, which leads to the relation <sup>∑</sup> *wjCj*(*π*) = *<sup>Q</sup>*. Therefore, *π* is a required schedule. This proves the necessity.

We next prove the sufficiency. To this end, we suppose that *π* is a feasible schedule of the scheduling instance, such that <sup>∑</sup> *wjCj*(*π*) <sup>≤</sup> *<sup>Q</sup>*. Recall that *<sup>Q</sup>* <sup>=</sup> *Mp* <sup>+</sup> <sup>1</sup> <sup>2</sup> *<sup>t</sup>*(*<sup>t</sup>* <sup>+</sup> <sup>3</sup>)*p*2. Let <sup>B</sup>0, <sup>B</sup>1, ... , <sup>B</sup>*<sup>K</sup>* be the batch sequence processed by the batching machine in *π* in this order.

If the 0-job *J*<sup>0</sup> completes after time *p*, we have ∑ *wjCj*(*π*) > *w*0*C*0(*π*) ≥ *M*(*p* + 1) = *Mp* + *M*. From the definition of *M* in Equation (2), we have *M* = *t*(*t* + 3)(3Δ + *B*)<sup>2</sup> = *t*(*t* + 3)*p*2. Thus, ∑ *wjCj*(*π*) > *Mp* + *t*(*t* + 3)*p*<sup>2</sup> > *Q*, contradicting the choice of *π*. Consequently, we have

$$\mathbb{C}\_0(\pi) = p, \; \mathcal{B}\_0 = \{l\_0\}, \; \text{and} \; w\_0 \mathbb{C}\_0(\pi) = Mp. \tag{5}$$

From Equation (5) and from the fact that <sup>∑</sup> *wjCj*(*π*) <sup>≤</sup> *<sup>Q</sup>* <sup>=</sup> *Mp* <sup>+</sup> <sup>1</sup> <sup>2</sup> *<sup>t</sup>*(*<sup>t</sup>* + <sup>3</sup>)*p*2, we have

$$\sum\_{j=1}^{3t} w\_j \mathbb{C}\_j(\pi) \le \frac{1}{2} t(t+3)p^2. \tag{6}$$

From the above discussion, we know that the 3*t* partition-jobs *J*1, *J*2, ... , *J*3*<sup>t</sup>* are distributed into the *K* batches B*i*, *i* = 1, 2, . . . , *K*. Then we define

$$I\_{\mathbf{i}} = \{ j : I\_{\mathbf{j}} \in \mathcal{B}\_{\mathbf{i}} \} \text{ and } A\_{\mathbf{i}} = \sum\_{\mathbf{j} \in I\_{\mathbf{i}}} a\_{\mathbf{j}\prime} \text{ } \mathbf{i} = 1, 2, \dots, \mathbf{K}. \tag{7}$$

For each *<sup>i</sup>* ∈ {1, 2, ... , *<sup>K</sup>*}, we define *<sup>w</sup>*(*i*) <sup>=</sup> <sup>∑</sup>*j*∈*Ii wj* and *<sup>τ</sup>*(*i*) <sup>=</sup> <sup>∑</sup>*j*∈*Ii <sup>τ</sup>j*. Since *wj* <sup>=</sup> *<sup>τ</sup><sup>j</sup>* <sup>=</sup> <sup>Δ</sup> <sup>+</sup> *aj* for *j* ∈ {1, 2, . . . , 3*t*}, we have

$$w^{(i)} = \mathbf{r}^{(i)} = |I\_i|\Delta + A\_{i\prime} \text{ i } = 1, 2, \dots, \text{K}. \tag{8}$$

Since each batch B*<sup>i</sup>* cannot be processed before all the jobs in B<sup>1</sup> ∪ B<sup>2</sup> ∪···∪B*<sup>i</sup>* are transported, we have

$$\mathbb{C}\_{\mathcal{B}\_i}(\pi) \ge \tau^{(1)} + \tau^{(2)} + \dots + \tau^{(i)} + p, \; i = 1, 2, \dots, K. \tag{9}$$

Since the batches are processed in the order B<sup>0</sup> ≺ B<sup>1</sup> ≺···≺B*<sup>K</sup>* on the batching machine in *π*, we further have

$$\mathcal{C}\_{\mathcal{B}\_i}(\pi) \ge (i+1)p, \ i = 1,2,\ldots,K. \tag{10}$$

Note that ∑*<sup>K</sup> <sup>i</sup>*=<sup>1</sup> *<sup>τ</sup>*(*i*) = <sup>∑</sup>3*<sup>t</sup> <sup>j</sup>*=<sup>1</sup> *<sup>τ</sup><sup>j</sup>* = <sup>∑</sup>3*<sup>t</sup> <sup>j</sup>*=1(Δ + *aj*) = 3*t*Δ + *tB* = *tp*. We show in the following that *K* = *t*.

If *<sup>K</sup>* <sup>≥</sup> *<sup>t</sup>* <sup>+</sup> 1, let *<sup>τ</sup>*<sup>∗</sup> <sup>=</sup> *<sup>τ</sup>*(*t*+1) <sup>+</sup> *<sup>τ</sup>*(*t*+2) <sup>+</sup> ··· <sup>+</sup> *<sup>τ</sup>*(*K*). Then <sup>Δ</sup> <sup>&</sup>lt; *<sup>τ</sup>*<sup>∗</sup> <sup>&</sup>lt; *tp* <sup>−</sup> *<sup>t</sup>*Δ. From Equations (9) and (10), we have

$$\begin{array}{rcl} \Sigma\_{j=1}^{4}w\_{j}\mathbb{C}\_{j}(\pi) &=& \sum\_{i=1}^{K}w^{(i)}\mathbb{C}\_{\mathcal{B}\_{i}}(\pi) \\ &=& \sum\_{i=1}^{t}\tau^{(i)}\mathbb{C}\_{\mathcal{B}\_{i}}(\pi) + \sum\_{i=t+1}^{K}\tau^{(i)}\mathbb{C}\_{\mathcal{B}\_{i}}(\pi) \\ &\ge& \sum\_{i=1}^{t}\tau^{(i)}(\tau^{(1)} + \tau^{(2)} + \dots + \tau^{(i)} + p) + \tau^{\*}(t+2)p \\ &=& \frac{1}{2}(\sum\_{i=1}^{t}(\tau^{(i)})^{2} + (\sum\_{i=1}^{t}\tau^{(i)})^{2}) + \sum\_{i=1}^{t}\tau^{(i)}p + \tau^{\*}(t+2)p \\ &=& \frac{1}{2}\sum\_{i=1}^{t}(\tau^{(i)})^{2} + \frac{1}{2}(tp - \tau^{\*})^{2} + (tp - \tau^{\*})p + \tau^{\*}(t+2)p \\ &\ge& \frac{1}{2}\cdot\frac{(tp-\tau^{\*})^{2}}{t} + \frac{1}{2}(tp-\tau^{\*})^{2} + (tp-\tau^{\*})p + \tau^{\*}(t+2)p \\ &>& \frac{1}{2}t(t+3)p^{2}, \end{array}$$

where the second inequality follows from Lemma 1 and the last inequality follows by a simple calculation. This contradicts the relation in Equation (6).

If *K* ≤ *t* − 1, from Lemma 1 and Equation (9), we have

$$\begin{aligned} \sum\_{j=1}^{3t} w\_j \mathbb{C}\_j(\pi) &= \quad \sum\_{i=1}^{K} w^{(i)} \mathbb{C}\_{\mathcal{B}\_i}(\pi) \\ &\ge \quad \sum\_{i=1}^{K} \tau^{(i)}(\tau^{(1)} + \tau^{(2)} + \dots + \tau^{(i)} + p) \\ &= \quad \frac{1}{2} (\sum\_{i=1}^{K} (\tau^{(i)})^2 + (\sum\_{i=1}^{K} \tau^{(i)})^2) + \sum\_{i=1}^{K} \tau^{(i)} p \\ &= \quad \frac{1}{2} (\sum\_{i=1}^{K} (\tau^{(i)})^2 + t^2 p^2) + tp^2 \\ &\ge \quad \frac{1}{2} (t^2 p^2 / K + t^2 p^2) + tp^2 \\ &> \quad \frac{1}{2} (tp^2 + t^2 p^2) + tp^2 \\ &= \quad \frac{1}{2} t (t+3) p^2. \end{aligned}$$

contradicting the relation in Equation (6) again.

The above discussion shows that *K* = *t*. Thus, from Lemma 1 and Equation (9) again, we have

$$\begin{array}{ll} \Sigma\_{j=1}^{3t} w\_{j} \mathsf{C}\_{j}(\pi) &=& \sum\_{i=1}^{t} w^{(i)} \mathsf{C}\_{\mathcal{B}\_{i}}(\pi) \\ &\ge& \sum\_{i=1}^{t} \tau^{(i)}(\tau^{(1)} + \tau^{(2)} + \dots + \tau^{(i)} + p) \\ &=& \frac{1}{2} (\sum\_{i=1}^{t} (\tau^{(i)})^2 + (\sum\_{i=1}^{t} \tau^{(i)})^2) + \sum\_{i=1}^{t} \tau^{(i)} p \\ &=& \frac{1}{2} (\sum\_{i=1}^{t} (\tau^{(i)})^2 + t^2 p^2) + tp^2 \\ &\ge& \frac{1}{2} (tp^2 + t^2 p^2) + tp^2 \\ &=& \frac{1}{2} t(t+3)p^2 \\ &\ge& \sum\_{j=1}^{3t} w\_j \mathsf{C}\_{j}(\pi), \end{array}$$

where the last inequality follows from Equation (6). This means that all the inequalities in the above deduction must hold with equalities. In particular, we have ∑*<sup>t</sup> <sup>i</sup>*=1(*τ*(*i*))<sup>2</sup> = *tp*2. From Lemma <sup>1</sup> again, it holds that *<sup>τ</sup>*(1) <sup>=</sup> *<sup>τ</sup>*(2) <sup>=</sup> ··· <sup>=</sup> *<sup>τ</sup>*(*t*) <sup>=</sup> *<sup>p</sup>* <sup>=</sup> <sup>3</sup><sup>Δ</sup> <sup>+</sup> *<sup>B</sup>*. From Equation (8), we conclude that

$$|I\_1|\Delta + A\_1 = |I\_2|\Delta + A\_2 = \dots = |I\_l|\Delta + A\_l = 3\Delta + B. \tag{11}$$

Since *Ai* = <sup>∑</sup>*j*∈*Ii aj* ≤ *tB* for all *<sup>i</sup>* = 1, 2, ... , *<sup>t</sup>* and the value <sup>Δ</sup> = *<sup>t</sup>* <sup>2</sup>*B*<sup>2</sup> + 1 defined in (1) is sufficiently large, from Equation (11), we can easily deduce that |*Ii*| = 3 and *Ai* = *B* for all *i* = 1, 2, ... , *t*. Consequently, the 3-partition instance has a solution. The result follows.

#### **3. Approximation**

We assume in this section that *c* ≥ 2. Given a job instance J = {*J*1, *J*2, ... , *Jn*} of problem (1, *c*)|*τ*| ∑ *wjCj*, we define

$$p\_{1,j} = \tau\_j + \tau,\ j = 1,2,\ldots,n.\tag{12}$$

In *O*(*n* log *n*) time, we can renumber the *n* jobs in the nondecreasing order of the ratios (*p*1*<sup>j</sup>* + *p*/*c*)/*wj* such that

$$(p\_{1,1} + p/c)/w\_1 \le (p\_{1,2} + p/c)/w\_2 \le \cdots \le (p\_{1,n} + p/c)/w\_n. \tag{13}$$

In *O*(*n* log *n*) time, we can also obtain a permutation (1 , 2 , ... , *n* ) of {1, 2, ... , *n*} such that *τ*1 ≥ *τ*2 ≥···≥ *τn* . Then, we define

$$\alpha = \min\{\tau\_1, \tau\_2, \dots, \tau\_n \mid p/c \mid \}\tag{14}$$

and

$$\beta = \max\{p, \ \tau\_{1'} + \tau\_{2'} + \dots + \tau\_{\mathfrak{c'}} + c\tau\}. \tag{15}$$

For a schedule *π* of the job instance J , we use *C*1,*j*(*π*) to denote the completion time of job *Jj* on the vehicle. Since the batch containing *Jj* must start at or after time *C*1,*j*(*π*), we have

$$\mathbb{C}\_{j}(\pi) \ge \mathbb{C}\_{1,j}(\pi) + p, \ j = 1, 2, \ldots, n. \tag{16}$$

By the job-exchanging argument, we can show that there must be an optimal schedule *π* of problem (1, *c*)|*τ*| ∑ *wjCj* such that for the two jobs *Ji* and *Jj*,

$$\mathbb{C}\_{1,i}(\pi) < \mathbb{C}\_{1,j}(\pi) \Rightarrow \mathbb{C}\_{i}(\pi) \leq \mathbb{C}\_{j}(\pi). \tag{17}$$

Then we only consider schedules with the property in (17) in the sequel.

In the following we present an approximation algorithm for problem (1, *c*)|*τ*| ∑ *wjCj* with the worst-case performance ratio at most 3*β*/(*β* + *α*) ≤ 3, where *c* ≥ 2. Our approximation algorithm can be described in the following way.
