Anne-Elisabeth Falq

Pierre Fouilhoux

Safia Kedad-Sidhoum

Mixed integer formulations using natural variables for single machine scheduling around a common due date

Keywords: Just-in-time scheduling, Mixed integer programming formulation, polyhedral approaches

Mixed integer formulations using natural variables for single machine scheduling around a common due date

Anne-Elisabeth Falq, Pierre Fouilhoux, Safia Kedad-

Introduction

In the most general statement, single-machine scheduling is to process a set J of tasks non-preemptively on a single machine. Each task j ∈ J is ready for processing at time zero and has a processing time p j , that is neither time-dependent nor sequence-dependent (w.l.o.g. we assume that p j 1).

A schedule can be then encoded by the vector of its completion times (C j ) j∈J . Such an encoding allows us to express a wide range of criteria, particularly the so-called regular criteria, which are decreasing functions of C j for each task j. Using these continuous variables, Queyranne [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] provided useful polyhedral tools for minimizing one of the most studied regular criteria: ω j C j . To the best of our knowledge, the scheduling literature lacks similar results for non-regular criteria. The contribution of this work falls within this scope. Our focus is on minimizing a non-regular criterion occurring in just-in-time scheduling.

We consider a single machine scheduling problem where all tasks share a common due date d. A task j ∈ J is early (resp. tardy) if C j ≤ d (resp. C j > d). Using [x] + to denote the positive part of x ∈ R, the earliness (resp. tardiness) of any task j ∈ J is given by [d -C j ] + (resp. [C j -d] + ). Given unit earliness penalties (α j ) j∈J (resp. tardiness penalties (β j ) j∈J ), the problem aims at finding a schedule that minimizes the total penalty defined as follows.

f α,β (C) = j∈J α j [d-C j ] + + β j [C j -d] +
When d p j , the common due date is called unrestrictive since the due date does not restrict the total duration of early tasks [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF]. In this case, the so-called V-shaped dominance property [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF] ensures that there exists an optimal solution such that early tasks are scheduled by increasing ratio α j /p j while tardy tasks are scheduled by decreasing ratio β j /p j . In addition, according to some strong dominance properties [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF], there exists an optimal schedule without idle time and with an on-time task, i.e. completing exactly at d. For the common due date setting, idle time only refers to an idle time between tasks, regardless of the interval between 0 and the starting time of the schedule. The problem with an unrestrictive common due date is NP-hard even if α j = β j for any task j ∈ J [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF]. However, if α j = β j = 1 for any task j ∈ J, the problem is solvable in polynomial time [START_REF] Kanet | Minimizing the average deviation of job completion times about a common due date[END_REF].

In the general case, there might be a straddling task, i.e. a task starting before d and completing after d, in all optimal schedules: the problem is shown to be NP-hard, even if α j = β j = 1 for all j ∈ J [START_REF] Hoogeveen | Scheduling around a small common due date[END_REF][START_REF] Hall | Earliness-tardiness scheduling problems, II: deviation of completion times about a restrictive common due date[END_REF].

In addition to these fundamental results of the common due date problem, the just-in-time field scheduling benefits from a rich literature. These problems have been solved by several approaches: with heuristics (e.g. [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF], [START_REF] Kramer | A unified heuristic and an annotated bibliography for a large class of earliness-tardiness scheduling problems[END_REF]), with branch-and-bound algorithms (e.g. [START_REF] Sourd | New exact algorithms for one-machine earliness-tardiness scheduling[END_REF]), and with dynamic programming methods (e.g. [START_REF] Hoogeveen | Scheduling around a small common due date[END_REF], [START_REF] Tanaka | An exact algorithm for the single-machine total weighted tardiness problem with sequence-dependent setup times[END_REF]). The reader can refer to the seminal surveys of [START_REF] Baker | Sequencing with earliness and tardiness penalties: A review[END_REF], [START_REF] Kramer | A unified heuristic and an annotated bibliography for a large class of earliness-tardiness scheduling problems[END_REF] and [START_REF] Kanet | Scheduling with inserted idle time: Problem taxonomy and literature review[END_REF] for the early results in this field.

Furthermore, there exist several ways to encode a single machine schedule leading to distinct formulations. Such encodings can be based on completion times, time-indexed variables, linear ordering, positional date and assignement variables [START_REF] Queyranne | Polyhedral approaches to machine scheduling[END_REF]. Some of these encodings allow to formulate just-in-time scheduling problems as Mixed Integer Program (MIP). However, few solving approaches based on these formulations have been proposed for just-in-time scheduling problems [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF].

We focus in this article on natural variables, similar to completion times variables. To the best of our knowledge, no linear formulation with such variables has been considered for just-in-time scheduling, in contrast with scheduling problems dealing with regular criteria. Since tasks have to be processed on a single machine, a schedule is feasible if it satisfies the task non-overlapping, i.e. if they are executed on disjoint time slots. Providing a linear formulation of non-overlapping is an important issue to solve a single-machine scheduling problem using linear programming. Studying the polyhedron defined as the convex hull of the feasible completion times vectors provides LP or MIP formulations. [START_REF] Balas | On the facial structure of scheduling polyhedra[END_REF] and [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] propose seminal works in this research line. The authors consider the problem of minimizing ω j C j . Other works consider the same problem with additional constraints: release dates (e.g. [START_REF] Dyer | Formulating the single machine sequencing problem with release dates as a mixed integer program[END_REF]) or precedence constraints (e.g. [START_REF] José | Single-machine scheduling with precedence constraints[END_REF], [START_REF] Queyranne | Single-machine scheduling polyhedra with precedence constraints[END_REF]).

A particularity of an encoding based on such natural variables is the non connectivity of the feasible vectors set. Therefore, a vector in the convex hull of feasible vectors can correspond to an infeasible schedule. In this context, providing a linear formulation describing this polyhedron is not sufficient. [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] describes the convex hull of feasible completion times vectors by linear inequalities, and shows that the extreme points of this polyhedron encode feasible schedules. He deduces a formulation which can be solved by LP algorithms. This formulation is an LP with an additional constraint: the solution must be an extreme point. This constraint will be called an extremality constraint.

In this article, we provide MIP based methods to solve a core problem in just-in-time scheduling. Such approaches can be easily extended to tackle other variants embedding this core structure, in contrast with the dedicated methods commonly used in scheduling field. We use natural variables to handle the common due date problem, dealing with a non-regular criterion. Using few additional binary variables, we describe a polyhedron containing the convex hull of dominant vectors for the unrestrictive case, and another one for the general case. We show that, in both cases, extreme points of this polyhedron correspond to feasible schedules. Thanks to these theoretical results, we derive two non-compact MIP formulations with an additional extremality constraint. We explain how both formulations can be solved using a branch-and-cut algorithm. We also propose a compact MIP formulation for the unrestrictive case, which is more efficient but cannot be adapted to the general case. Finally we provide an experimental analysis to assess the practical relevance of the proposed approaches. The analysis is based on the reference benchmark proposed by [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF] and also used by [START_REF] Sourd | New exact algorithms for one-machine earliness-tardiness scheduling[END_REF], as well as a new benchmark covering larger processing times. For sake of comparison, MIP formulations of the literature are also considered.

Linear inequalities for non-overlapping

For a single-machine problem, a schedule must only satisfy two conditions to be feasible: each task must begin after time 0 and two tasks must not be executed at the same time. In the sequel, the first condition will be called positivity and the second one will be called non-overlapping. Given the processing times p ∈ (R * + ) J , a vector y ∈ R J encodes a feasible schedule by its completion times if and only if it satisfies the two following constraints. positivity ∀j ∈ J, y j p j (0) non-overlapping ∀(i, j) ∈ J 2 , y j y i + p j or y i y j + p i

The set Q will denote the set of all vectors encoding a feasible schedule by its completion times, i.e. all vectors satisfying constraints (0) and [START_REF] Baker | Sequencing with earliness and tardiness penalties: A review[END_REF]. Completion times allow an easy way to express feasibility at the expense of the non-linearity of constraints [START_REF] Baker | Sequencing with earliness and tardiness penalties: A review[END_REF]. However, [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] introduces linear inequalities using completion times to handle the non-overlapping. We first recall notations and results proposed by [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] as we will generalize them to a larger framework. To this end, we use vector y to represent more than completion times. In the next sections, y will be either the earliness or tardiness of tasks. For S ⊆ J and y ∈ R J ,

S < = (i, j) ∈ S 2 | i < j , y(S) = i∈S y i , p * y(S) = i∈S p i y i , and g p (S) = 1 2 i∈S p i 2 + 1 2 i∈S p 2 i .
We give some properties about the function g p , useful for the next proofs. ∀S ⊆ J, g p (S) =

(i,j)∈S < p i p j + j∈S p 2 j (2) ∀S ⊆ J, ∀i ∈ J\S, g p S {i} = g p (S) + p i p(S)+p i (3)
The non-overlapping Queyranne's inequalities are defined as follows. ∀S ⊆ J, p * y (S) g p (S) (Q0)

We denote by P Q the polyhedron defined by inequalities (Q0). The following property establishes that these inequalities are valid for all vectors of Q, inducing conv(Q) ⊆ P Q . Property 1

If y satisfies constraints (0) and (1), then y satisfies inequalities (Q0).

Proof : Let S ⊆ J. If S = ∅, inequality (Q0) is satisfied. If S = {j}, then inequality (Q0) is p j y j p 2 j , that is y j p j since p j > 0. So constraints (0) ensure that the inequalities (Q0) associated to the singletons are all satisfied. If |S| 2, we need to exhibit an order on J. Since processing times are strictly positive, the constraints (1) ensure that (y j ) j∈J are distinct and so that there exists a (single) total order ≺ on J such that i ≺ j ⇔ y i < y j . Then constraints (1) translate into ∀(i, j) ∈ J 2 , i ≺ j ⇒ y j y i + p j . Using inequalities (0) we deduce that y j p(I) + p j for I ⊆ J and j ∈ J such that i ≺ j for all i ∈ I. This allows to prove by induction on the cardinality of S that all inequalities (Q0) are satisfied. Indeed let us assume that they are satisfied for all sets of cardinality k where k 1 and let S ⊆ J with |S| = k+1. By setting j = max ≺ S and U = S\{j}, then, on one hand, by induction p * y(U ) g p (U ), and, on the other, by previous arguments y j p(U )+p j . Consequently p * y(S) = p * y(U )+p j y j g p (U )+p j p(U )+p j = g p (S) using (3), hence y satisfies the inequality (Q0) associated to S. Some points in conv(Q) correspond to infeasible schedules due to the disjunction inherent to the problem. Figure 2 illustrates Q and P Q for an instance with only two tasks. The two cones represent the set of feasible schedules: each corresponding to an order in the task execution. Vectors in between correspond to schedules where the tasks overlap. By definition of conv(Q), these vectors are in conv(Q), so they cannot be cut by the non-overlapping Queyranne's inequalities. Note that there are only two extreme points and that they correspond to feasible schedules. This observation is true in general. Indeed, [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] shows that the extreme points of P Q correspond to feasible schedules. This inclusion (extr(P Q ) ⊆ Q ⊆ conv(Q)) and the previous one (conv(Q) ⊆ P Q ) are sufficient to say that min x∈Q f (x) = min x∈P Q f (x) for any given linear function f , but not sufficient to conclude that P Q is exactly conv(Q). [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] shows this equality using a geometrical argument, that is the equality of the two recession cones. The following theorem sums up these results.

Theorem 2 ([20]) (i) extr(P Q ) ⊆ Q (ii) P Q = conv(Q)
Moreover, [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] shows that each extreme point of P Q encodes a left-tight schedule, i.e. a feasible schedule without idle time starting at time zero. Conversely each left-tight schedule is encoded by an extreme point of P Q since, according to the Smith rule [START_REF] Smith | Various optimizers for single-stage production[END_REF], it is the only point in Q (and then in conv(Q) = P Q ) minimizing ω * C(J) for ω ∈ (R + ) J such that the tasks are scheduled by strictly decreasing ratio ω j /p j . We now provide two lemmas which will be the key for showing the validity of our formulations. The first one gives a new proof of Theorem 2(i). In this lemma, we explain how a vector of P Q can be slightly disrupted in two directions without leaving P Q if an overlap is observed in the schedule it encodes. Figure 1 illustrates the two ways of disrupting the overlapping tasks so that the corresponding vectors stay in P Q .

Lemma 3

Let us assume that y satisfies inequalities (Q0).

If there exists (i, j) ∈ J 2 with i = j such that y i y j < y i + p j , then there exists ε ∈ R * + such that y +-= y + ε p i 1 i -ε p j 1 j and y -+ = y -ε p i 1 i + ε p j 1 j also satisfy (Q0).

ε/p i ε/p j (a) ε/p i ε/p j (b)
Figure 1: Illustration of the schedules disruption between y and y +-(a) (resp. y -+ (b))

Proof : Let ε = min(m 1 , m 2 ) where m 1 = min {p * y (S) -g p (S) | S ⊆ J, i ∈ S, j ∈ S} and m 2 = min {p * y (S) -g p (S) | S ⊆ J, i ∈ S, j ∈ S}.
Since y satisfies inequalities (Q0), m 1 0 and m 2 0, thus ε 0.

Let S ⊆ J. We first check that vector y +-defined by ε satisfies inequality (Q0) associated to S. In each case p * y +-(S) g p (S), then y +-satisfies (Q0). Similarly we can check that y -+ satisfies (Q0) using that ε m 2 . Finally, we have to check that ε > 0. For this purpose we use the next two claims.

Claim

Let (i, j) ∈ J 2 . If y i y j , then ∀S ⊆ J, i ∈ S, j ∈ S ⇒ p * y (S) > g p (S).

Proof : Let us assume on the contrary that there exists S ⊆ J such that i ∈ S, j ∈ S and p * y (S) = g p (S).

Setting U = S\{j}, we have p * y (S) = p * y (U ) + p j y j and g p (S) = g p (U ) + p j p(S) by ( 3). Since we assume that these two terms are equal, and since p * y (U ) g p (U ) from inequalities (Q0), we deduce that p j y j p j p(S) and even y j p(S) since p j > 0.

Moreover p * y S {i} = p * y (S) + p i y i = g p (S) + p i y i g p (S) + p i y j by assumption. Using these two inequalities, we get p * y S {i} g p (S) + p i p(S) < g p (S) + p i p(S)+p i since p i > 0. Furthermore, g p (S) + p i p(S)+p i = g p S {i} from (3) and g p S {i} p * y S {i} from inequality (Q0). We finally get p * y S {i} < p * y S {i} , a contradiction. This first claim ensures that m 1 > 0.

Claim

Let (i, j) ∈ J 2 . If y j < y i + p j , then ∀S ⊆ J, i ∈ S, j ∈ S ⇒ p * y (S) > g p (S)

Proof : Let us assume on the contrary that there exists S ⊆ J such that i ∈ S, j ∈ S and p * y (S) = g p (S).

Like in the previous proof we can show that y i p(S). Moreover p * y S {j} = p * y (S) + p j y j = g p (S) + p j y j < g p (S) + p j y i +p j by assumption. Using these two inequalities, we can write p * y (S {j}) < g p (S) + p j p(S) + p j since p j > 0. Furthermore, g p (S) + p j p(S) + p j = g p S {j} from (3) and g p S {j} p * y S {j} from inequality (Q0). We finally get p * y S {j} < p * y (S {j}), a contradiction. This second claim ensures that m 2 > 0, we can deduce that ε > 0.

To obtain an alternative proof of Theorem 2(i), Lemma 3 can be reformulated as follows. If C is a vector of P Q that gives the completion times of a schedule with an overlap, then C is the middle of two other vectors of P Q , C +-and C -+ . That implies that C is not an extreme point of P Q . By contraposition, we deduce that an extreme point of P Q encodes a schedule without overlap, and since inequalities (Q0) associated to singletons ensure the positivity, an extreme point of P Q encodes a feasible schedule, i.e. extr(P Q ) ⊆ Q.

This way of proving that the extreme points correspond to feasible schedules can be adapted to a more complex polyhedron, that is a polyhedron defined by inequalities (Q0) and additional inequalities. Indeed, it is then sufficient to check that the two vectors C +-and C -+ also satisfy these additional inequalities. However, for some extreme points, the two vectors introduced by Lemma 3 may not satisfy the additional inequalities. For example, if the completion times of the tasks are limited by a constant M (with M p(J)), the additional inequalities are the following. Note that inequalities (4) induce extreme points encoding infeasible schedules as depicted in Figure 2 for a 2-task instance. Adding the inequalities C 1 M and C 2 M leads to the extreme point (M, M ) which encodes a schedule with an overlap. We can see that this point will never be proposed as an optimum during the minimization of

∀j ∈ J, C j M (4) 0 C 2 0 C 1 _ p 2 • p 1 +p 2 p 1 • _ p 1 +p 2 M M • Legend: Cone of
ω 1 C 1 +ω 2 C 2 if ω ∈ (R * + ) 2 .
In general, the aim is to minimize a non-negatively weighted sum of variables. For any given polyhedron P of R n , we consider the following set of extreme points which are unique minimizer of such function. The unicity is required to deal with some zero weights.

extr

* (P ) = x * ∈ P ∃ ω ∈ R n + , {x * } = argmin x∈P n i=1 ω i x i
Since the extreme points are exactly the points that can be written as the unique minimizer of a linear function, extr * (P ) ⊆ extr(P ). Let P Q,M denote the polytope defined by inequalities (Q0) and (4). Let us assume that C ∈ P Q,M is the completion time vector of a schedule with an overlap. If one of the two overlapping tasks has a completion time equal to M , applying Lemma 3 to C provides a vector C -+ which does not satisfy inequalities (4) and therefore is not in P Q,M . Point y cannot be proved to not be extreme in P Q,M . In order to prove that such point is not a unique minimizer, we provide the following lemma.

Lemma 4

Let us assume that y satisfies inequalities (Q0).

If there exist (i, j) ∈ J 2 with i = j such that y j < y i +p j , and y j p(J), then there exists ε ∈ R * + such that y-ε p j 1 j also satisfies inequalities (Q0).

Proof : Since y satisfies inequalities (Q0), setting ε = min{ p * y (S) -g p (S) | S ⊆ J, j ∈ S } suffices to ensure that y-ε p j 1 j also satisfies inequalities (Q0) and that ε 0. It remains to show that ε > 0, that is for any subset S ⊆ J containing j, the associated inequality (Q0) is not tight. Let S ⊆ J such that j ∈ S and let U = S \ {j}. First remark the following equivalent inequalities.

p * y (S) > g p (S) ⇔ p * y (U ) + p j y j > g p (U ) + p j p(U )+p j ⇔ p * y (U ) -g p (U ) > p j p(S) -y j If S J, then p(S) < p(J) y j , thus p j p(S) -y j < 0. Moreover p * y (U ) -g p (U ) 0 since y satisfies the inequality (Q0) associated to T . We deduce that p * y (S) > g p (S) in this case.

If S = J, then p j p(S)-y j 0 since y j p(J). In this case, p j p(S)-y j can be equal to zero if y j = p(J), but we prove that p * y (U ) -g p (U ) > 0 as follows.

p * y (U ) -g p (U ) > 0 ⇔ p * y J \{j} > g p J \{j} ⇔ p * y J \{i, j} + p i y i > g p J \{i, j} + p i p J \{i, j} +p i ⇔ p * y J \{i, j} -g p J \{i, j} > p i p J \{j} -y i
By assumption y i > y j -p j p(J)-p j = p J \{j} , thus p i p J \{j} -y i < 0 and since y also satisfies the inequality (Q0) associated to J \{i, j}, we have p * y J \{i, j} -g p J \{i, j} 0. We deduce that p * y (U ) -g p (U ) > 0 in this case, and finally that p * y (S) > g p (S).

Combining Lemmas 3 and 4, we prove that a vector C in extr * (P Q,M ) is in Q, that is it encodes a feasible schedule by its completion times. Indeed, since such a vector C satisfies inequalities (Q0), an overlap between tasks i and j such that C i C j < C i +p j contradicts either the extremality of C or its minimality. If C j < p(J), we can construct C +-and C -+ as proposed in Lemma 3 for ε set in ] 0, p(J)-C j [, so that C +- and C -+ satisfy inequalities (Q0) and (4). Thus, C can be written as the middle of two other vectors of P Q,M , then it is not an extreme point. If conversely C j p(J), we can construct a vector C -as proposed in Lemma 4, so that C -is component-wise smaller than C and satisfies inequalities (Q0). Thus, C -is another point of P Q,M , which has a smaller value than C for any linear function with positive (or zero) coefficients, then C cannot be the single minimizer of such a function on P Q,M . Moreover, using the same argument as for P Q , we can say that every left-tight schedule is encoded by an extreme point of P Q,M , and even by a vector of extr * (P Q,M ).

For the common due date problem, an encoding by completion times does not lead to a linear objective function (except in the very particular case where d = 0, since the tardiness are then equal to the completion times). Therefore, we propose in the next sections a schedule encoding together with a set of inequalities ensuring that every minimum extreme point corresponds to a feasible schedule.

A first formulation for the unrestrictive common due date problem

In this section, we consider the common due date problem when the due date is unrestrictive, i.e. d p(J).

Before providing the formulation, we recall some well known dominance properties which allow not only to reduce the search space but also to restrict the instances set.

Dominance properties

We say that a set of solutions is dominant if it contains (at least) one optimal solution, and that it is strictly dominant if it contains all optimal solutions. In both cases, the search of an optimal solution can be limited to the dominant set.

For the common due date scheduling problem, we define a block as a feasible schedule without idle time, a d-schedule as a feasible schedule with an on-time task, and a d-block as a block which is also a d-schedule. The following lemma gives dominance properties for the common due date problem, already known for symmetric penalties [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF]. These results can be extended to asymmetric penalties, using the same task shifting arguments.

Lemma 5

Let α ∈ (R + ) J , β ∈ R J + . (i) In the general case, the blocks are dominant when minimizing f α,β . Moreover, if α ∈ (R * + ) J and β ∈ (R * + ) J , the blocks are strictly dominant. (ii) In the unrestrictive case, the d-schedules are dominant when minimizing f α,β .

Thanks to these dominance properties, only blocks will be considered in the sequel, and only d-blocks in the unrestrictive case.

From Lemma 5, in the unrestrictive case we only have to consider instances with strictly positive earliness and tardiness penalties, i.e. with α ∈ (R * + ) J and β ∈ (R * + ) J . Indeed, if the tardiness penalty of a task j ∈ J is zero, solving the instance obtained by removing task j provides a d-block, which is optimal for J \ {j}. Placing task j at the end of the d-block does not increase the cost, since j is then tardy. Thus, the obtained schedule is an optimal d-block. Conversely, if the earliness penalty of a task j is zero, placing task j at the beginning of an optimal d-block for J \ {j}, which is always possible when d is unrestrictive, provides an optimal d-block. Hence, for the unrestrictive case, we will set α ∈ (R * + ) J and β ∈ (R * + ) J .

A natural formulation for the unrestrictive case

• A linear objective function using e and t variables Since earliness and tardiness are not linear with respect to completion times, the objective function f α,β is not linear. Therefore, we propose an encoding by earliness and tardiness of each task, by introducing the corresponding variables: (e j ) j∈J for the earliness of the tasks, and (t j ) j∈J for their tardiness. In this way, the total penalty of a schedule encoded by vector (e, t) is g α,β (e, t) = j∈J (α j e j + β j t j ) which is linear. If C encodes a schedule by its completion times, the encoding by earliness and tardiness of this schedule is given by θ

(C) = [d-C j ] + j∈J , [C j -d] + j∈J . Using function θ, we have f α,β = g α,β • θ.
• Consistency between e and t using δ variables A vector (e, t) in (R + ) J × (R + ) J is consistent if ∀j ∈ J, either (e j 0 and t j = 0) or (e j = 0 and t j 0). There exists C in R J such that θ(C) = (e, t) if and only (e, t) is consistent. In order to ensure consistency, we introduce the following inequalities using new boolean variables (δ j ) j∈J . For each task j, δ j indicates if j is early. ∀j ∈ J, e j 0

(5)

∀j ∈ J, e j δ j (p(J)-p j ) (6) ∀j ∈ J, t j 0 (7) ∀j ∈ J, t j (1-δ j ) p(J) (8)
Inequalities ( 5) and ( 6) force e j to be zero when δ j = 0. Since we only consider d-blocks, p(J)-p j is an upper bound on the earliness of task j. Thus, inequality [START_REF] Lemon | library for efficient modeling and optimization in networks[END_REF] does not restrict e j when δ j = 1. Note that in the unrestrictive case, p(J)-p j is tighter than d-p j . of Similarly, inequalities [START_REF] José | Single-machine scheduling with precedence constraints[END_REF] and ( 8) force t j to be zero when δ j = 1, without restricting t j when δ j = 0, since p(J) is an upper bound on the tardiness in a d-block. Consequently, we have the following lemma. Lemma 6

Let (e, t, δ) ∈ R J ×R J ×{0, 1} J . If e, t, δ satisfy inequalities (5)-( 8), then (e, t) is consistent and C = d-e j +t j j∈J satisfies θ(C) = (e, t).

For a consistent (e, t) vector, we define θ -1 (e, t) = (d-e j +t j ) j∈J . Besides, inequalities ( 5)-( 8), ensure the positivity of the encoded schedule. Indeed, for any j in J, inequalities ( 6) and ( 7) ensure that d-e j +t j d-e j d-p(J)+p j . Since d is unrestrictive, we deduce that d-e j +t j p j . Hence, we obtain the following lemma.

Lemma 7

Let (e, t, δ) ∈ R J ×R J ×{0, 1} J . If e, t, δ satisfy (5)-( 8), then θ -1 (e, t) satisfies (0).

• Handling the non-overlapping

To ensure the non-overlapping, it suffices that early tasks are fully processed before d and do not overlap each other, and that tardy tasks are fully processed after d and do not overlap each other either. Note that for a d-schedule, the non-overlapping reduces to these two constraints related to early and tardy tasks respectively. In order to use the partition between early and tardy tasks induced by the completion times C, we introduce the following notations.

E (C) = { j ∈ J | C j d } and T (C) = { j ∈ J | C j > d }
For a tardy task, the tardiness can be seen as a completion time with respect to d. Therefore, ensuring that the tardy tasks are fully processed before d (resp. they do not overlap each other) is equivalent to imposing positivity constraints for tardy tasks (resp. the non-overlapping constraint for tardy tasks). As shown on Figure 3, for an early task j, the value e j +p j can be seen as a completion time. Using x /S to denote x j j∈S for any subset S of J and for any vector x in R J , the following lemma sums up these observations. Let C ∈ R J and set (e, t) = θ(C). If there is no j ∈ J such that C j -p j < d and C j > d, then C satisfies (1) ⇔ (e+p) /E (C) and t /T (C) satisfy (0) and ( 1).

d | 0 | J i | e i p i J t J t J i | C i = p i +e i
In the formulation, δ describes the partition between early and tardy tasks, denoted as follows.

E(δ) = { j ∈ J | δ j = 1 } and T (δ) = { j ∈ J | δ j = 0 }
According to Section 2, we want to apply Queyranne's inequalities (Q0) to the vectors (e+p) /E(δ) and t /T (δ) respectively, so that they satisfy (0) and [START_REF] Baker | Sequencing with earliness and tardiness penalties: A review[END_REF]. Therefore, we consider the following inequalities.

∀S ⊆ J, p * (e+p) S ∩E(δ) g p (S) (9)
∀S ⊆ J, p * t S ∩T (δ) g p (S) (10)
These inequalities are not linear as E(δ) and T (δ) depend on δ variables. Replacing S ∩E(δ) (resp. S∩T (δ) ) by S raises non valid inequalities. Indeed, inequality [START_REF] Gomory | Multi-terminal network flows[END_REF] for S = {i, j} where i ∈ E, would become p j t j p 2 i +p 2 j +p i p j since t i = 0 by ( 7) and ( 8). This implies that t j > p j , which is not valid for all the feasible schedules.

To ensure that only the terms corresponding to early (resp. tardy) tasks are involved in (9) (resp. in ( 10)), we multiply each term of index j in S by δ j (resp. by (1-δ j )). If δ j ∈ {0, 1}, then (1-δ j ) 2 = (1-δ j ), e j δ j = e j from inequality (6) and t j (1 -δ j ) = t j from inequality [START_REF] Dyer | Formulating the single machine sequencing problem with release dates as a mixed integer program[END_REF]. We obtain the following quadratic inequalities.

∀S ⊆ J, j∈S p j e j (i,j)∈S < p i p j δ i δ j (11) ∀S ⊆ J, j∈S p j t j (1-δ j ) (i,j)∈S < p i p j (1-δ i )(1-δ j ) + j∈S p 2 j (1-δ j ) (12)
• Linearization of the quadratic terms using x variables In order to remove the quadratic terms, we introduce a new variable x i,j representing whether δ i is different than δ j for each (i, j) in J < . Since the quadratic terms are the products of boolean variables, the following inequalities ensure their consistency with respect to δ.

∀(i, j) ∈ J < , x i,j δ i -δ j (13)
∀(i, j) ∈ J < , x i,j δ j -δ i (14)
∀(i, j) ∈ J < , x i,j δ i +δ j (15)
∀(i, j) ∈ J < , x i,j 2-(δ i +δ j ) (16)
The following lemma provides the correspondence between quadratic and linear terms.

Lemma 9 ([9])

If δ ∈ {0, 1} J then for all (i, j) ∈ J < : (i) δ and x satisfy (13)-( 16) associated with (i, j) ⇔ x i,j = 0 if δ i = δ j and x i,j = 1 otherwise.

(ii) In case (i) holds, then

δ i δ j = δ i +δ j -x i,j 2 and (1-δ i )(1-δ j ) = 2-(δ i +δ j )-x i,j 2 .
The proof can be easily done by considering the two cases δ i = δ j and δ i = δ j .

• Non-overlapping inequalities Using Lemma 9(ii), we obtain the following inequalities.

∀S ⊆ J, j∈S p j e j (i,j)∈S < p i p j δ i +δ j -x i,j 2 (Q1) ∀S ⊆ J, j∈S p j t j (i,j)∈S < p i p j 2-(δ i +δ j )-x i,j 2 + j∈S p 2 j (1-δ j ) (Q2)
The following lemma summarizes the relationship between the inequalities (Q1), (Q2) and (Q0).

Lemma 10

Let (δ, x) ∈ {0, 1} J ×R J < satisfying inequalities (13)-( 16).

(i) If e ∈ R J satisfies inequalities ( 5) and ( 6) for all j ∈ E(δ), then e, δ, x satisfy inequalities (Q1) for all S ⊆ J ⇔ (e+p) /E(δ) satisfies inequalities (Q0).

(ii) If t ∈ R J satisfies inequalities ( 7) and ( 8) for all j ∈ T (δ), then t, δ, x satisfy inequalities (Q2) for all S ⊆ J ⇔ t /T (δ) satisfies inequalities (Q0).

The following lemma allows to make the bridge between (e+p) /E(C) from Lemma 8 and (e+p) /E(δ) from Lemma 10 (resp. between t /T (C) and t /T (δ) ).

Lemma 11

Let (e, t, δ) ∈ R J ×R J ×{0, 1} J . If e, t, δ satisfy (5)-( 8) and (Q2) then E(δ) = E θ -1 (e, t) and T (δ) = T θ -1 (e, t) .

Proof : Let C = θ -1 (e, t). If j ∈ T (C), then C j > d by definition. That is t j > e j since C j = d-e j +t j . From inequality (5), we deduce that t j > 0 and from inequality [START_REF] Dyer | Formulating the single machine sequencing problem with release dates as a mixed integer program[END_REF], that δ j = 1. Since δ j is an integer, δ j = 0. That proves T (C) ⊆ T (δ). Conversely, if j ∈ T (δ), inequalities ( 5) and [START_REF] Lemon | library for efficient modeling and optimization in networks[END_REF] ensure that e j = 0, since δ j = 0 by definition. Thus, C j = d+t j . Since t j p j > 0 from inequality (Q2) for S = {j}, we deduce that C j > d, that proves T (δ) ⊆ T (C).

Similarly, we can prove the equality for the early tasks (without using (Q1)).

• Formulation (F1) Let us define 8), ( 13)-( 16), (Q1) and (Q2) are satisfied . Note that this polyhedron does not depend on either α, β, or even d, but is only defined from p. Moreover, this polyhedron is defined by an exponential number of inequalities, inducing the use of a separation algorithm, this subject will be the purpose of Section 6. Since δ are boolean variables, we are only interested in vectors for which δ is an integer, that are integer points. Therefore, we introduce the operator int δ , which only keeps the integer points of a set. For V included in

P 1 = (e, t, δ, x) ∈ R J ×R J ×[0, 1] J ×R J < (5)-(
R J × R J × R J × R J < , int δ (V ) = (e, t, δ, x) ∈ V | δ ∈ {0, 1} J .
However, the formulation is not a classical MIP formulation, since some integer points do not encode feasible schedules. The same observation holds for P Q,M , as discussed in Section 2 (apart from the integrity constraints on δ). Therefore, we need to add an extremality condition (and consider the minimality condition) to ensure the feasibility. Finally, our formulation for the unrestrictive common due date problem defined by the unit penalties (α, β) is the following.

(F1) min g α,β (e, t) s.t. (e, t, δ, x) ∈ int δ extr(P 1 )

Validity of Formulation (F1)

The following theorem establishes that a feasible schedule, under some assumptions, is encoded by an integer point of P 1 . In particular a d-block is encoded by an integer point of P 1 .

Theorem 12

If vector C gives the completion times of a feasible schedule without any straddling task such that tasks are processed between d-p(J) and d+p(J), i.e. ∀j ∈ J, d-p(J) C j -p j and C j d+p(J) then there exists X = (e, t, δ, x) ∈ int δ (P 1 ), such that θ(C) = (e, t).

Proof : From C, let us set: (e, t) = θ(C), δ = 1 E(C) , x = 1 δ i =δ j (i,j)∈J < and X = (e, t, δ, x).
Note that the definition of δ ensures that δ ∈ {0, 1} J ⊆ [0, 1] J , and that

E(δ) = E (C) (resp. T (δ) = T (C)),
which allows the notation E (resp T ) for sake of brevity. Inequalities ( 5) and ( 7), as well as [START_REF] Lemon | library for efficient modeling and optimization in networks[END_REF] for j in T and (8) for j in E, are automatically satisfied by construction of e, t and δ. The assumption that ∀j ∈ J, d-p(J) C j -p j (resp. C j d+p(J)) ensures that inequalities (6) for j in E (resp. inequalities [START_REF] Dyer | Formulating the single machine sequencing problem with release dates as a mixed integer program[END_REF] for j in T ) are satisfied. Using Lemma 9(i), x and δ satisfy inequalities ( 13)- [START_REF] Kanet | Scheduling with inserted idle time: Problem taxonomy and literature review[END_REF]. Since C encodes a feasible schedule, C satisfies (0) and (1). Using Lemma 8, (e + p) /E (resp. t /T ) satisfies (0) and [START_REF] Baker | Sequencing with earliness and tardiness penalties: A review[END_REF]. Applying Property 1 to these two vectors, we deduce that they satisfy (Q0), and using Lemma 10, that e, δ, x satisfy (Q1) and t, δ, x satisfy (Q2). Thus, X belongs to P 1 , and even to int δ (P 1 ) since δ ∈ {0, 1} J .

The following theorem establishes that an optimal solution of formulation (F1) is a solution for the unrestrictive common due date problem.

Theorem 13

Let X * = (e, t, δ, x) ∈ int δ (P 1 ). If X * ∈ extr(P 1 ) and (e, t) minimizes g α,β then X * encodes a d-block.

Proof : The first step is to show that X * encodes a feasible schedule.

From Lemma 6, (e, t) is consistent and we can set C * = θ -1 (e, t). Then X * encodes a schedule defined by the completion times C * . This schedule will be denoted by S * . Proving that S * is feasible consists then in showing that C * satisfies (0) and [START_REF] Baker | Sequencing with earliness and tardiness penalties: A review[END_REF]. From Lemma 7, C * satisfies (0). From Lemma 11,

E(δ) = E (C * ) (resp. T (δ) = T (C * ))
, which allows the notation E (resp. T ) for sake of brevity. Using Lemma 8, to show that C * satisfies (1), it remains to show that (e+p) /E (resp. t /T ) satisfies (0) and [START_REF] Baker | Sequencing with earliness and tardiness penalties: A review[END_REF]. From Lemma 10, we know that (e+p) /E (resp. t /T ) satisfies inequalities (Q0). On one hand, using these inequalities for the singletons, ensures that (e+p) /E (resp. t /T ) satisfies (0). We deduce that no straddling task occurs in S * . On the other hand, inequalities (Q0) will allow us to show that (e+p) /E (resp. t /T ) satisfies (1) in the same way that we have shown that a vector in extr * (P Q,M ) encodes a schedule without overlapping in Section 2.

Let us assume that (e+p) /E does not satisfy (1). Then there exists (i, j) ∈ E 2 such that e i +p i e j +p j < (e i +p i )+p j . Two cases have to be considered:

→ If e j + p j < p(J), then from Lemma 3 on (e + p) /E there exists ε ∈ R * + such that setting e +-= e + ε p i 1 i -ε p j 1 j and e -+ = e -ε p i 1 i + ε p j 1 j , both (e +-+ p) /E and (e -+ + p) /E satisfy (Q0). Using Lemma 10, both e +-, δ, x and e -+ , δ, x satisfy (Q1). Since changing the value of ε for min ε, p(J)-p j -e j does not affect the satisfaction of (Q1), we can assume ε p(J) -p j -e j , while ensuring ε > 0. Since e +- i = e i + ε p i e i +ε, using this latter assumption and e j +p j e i +p i , we obtain e +- i p(J)-p i . For k in J \ {i}, e +- k e k , and since e satisfies (6), we deduce that e +- k p(J) -p k . Thus e +-satisfies inequalities [START_REF] Lemon | library for efficient modeling and optimization in networks[END_REF]. Besides, since (e +-+p) /E satisfies inequalities (Q0) for the singletons, e +- k +p k p k for all k in E. Since e +- k = e k for all k in T and e satisfies (5), we deduce that e +-satisfies inequalities [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF]. Similarly, e -+ satisfies inequalities ( 5) and [START_REF] Lemon | library for efficient modeling and optimization in networks[END_REF]. Finally, X +-= (e +-, t, δ, x) and X -+ = (e -+ , t, δ, x), are two points of P 1 whose middle point is X * . A contradiction, since X * is extreme.

→ If e j +p j p(J), then e j +p j p(E), and from Lemma 4 on (e+p) /E there exists ε ∈ R * + such that setting e -= e -ε p j 1 j , (e -+ p) /E satisfies (Q0). Using Lemma 10, e -, δ, x satisfy (Q1). Since e -is component-wise smaller than e, e -also satisfies inequalities [START_REF] Lemon | library for efficient modeling and optimization in networks[END_REF]. Besides, the inequality (Q0) for the singleton {j} ensures that e - j 0, thus e -satisfies inequalities [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF]. Finally, setting X -= (e -, t, δ, x), we exhibit a point of P 1 , which has a smaller value than X * according to g α,β . A contradiction, since (e, t) minimizes g α,β .

Finally, (e+p) /E satisfies (1). In the same way, we can prove that t /T satisfies (1). We deduce that S * is a feasible schedule. The second step consists in showing that S * is a d-block.

Since we already know that S * does not hold a straddling task, it suffices to show that it is a block with at least one early task to conclude that is a d-block. Let us assume that S * holds an idle time or has no early task. Let S denotes the schedule obtained by tightening tasks around d to fill idle times between tasks and, if there is no early task, shifting backward all the tasks such that the first one becomes on-time. Since the due date is unrestrictive, no task is scheduled before 0 despite the backward shifting, then S is a d-block by construction. If C denotes the completion times defining S, then ∀j ∈ J, d-p(J) C j -p j and C j d+p(J). Then using Theorem 12, there exists X = (ê, t, δ, x) ∈ int δ (P 1 ), such that θ( C) = (ê, t). Moreover, f α,β ( C) < f α,β (C * ), since the early tasks stay early but with a smaller earliness, and the tardy tasks, except the first tardy task which becomes eventually on-time, stay tardy with a smaller tardiness.

Then g α,β (ê, t) = f α,β ( C) < f α,β (C * ) = g α,β (e, t), which contradicts the minimality of (e, t). Finally, X * encodes a d-block.

The following theorem establishes that the unrestrictive common due date problem reduces to solving formulation (F1).

Theorem 14 (i) Any optimal d-block is encoded by a vector minimizing g α,β on int δ extr(P 1 ) . (ii) Conversely, any vector minimizing g α,β on int δ extr(P 1 ) encodes an optimal d-block.

Proof : Let us consider an optimal d-block S * . From Theorem 12, there exists a vector X * = (e * , t * , δ * , x * ) in int δ (P 1 ) encoding S * . We introduce P δ * = (e, t) | (e, t, δ * , x * ) ∈ P 1 , which is the slice of P 1 according to δ * , i.e. the projection of set of points of P 1 satisfying δ = δ * and therefore x = x * . To show that X * is an extreme point of P 1 , it suffices to prove that (e * , t * ) is an extreme point of P δ * . Indeed, if there were X 1 = (e 1 , t 1 , δ 1 , x 1 ) and X 2 = (e 2 , t 2 , δ 2 , x 2 ) in P 1 such that X * = 1 2 (X 1 +X 2 ), δ 1 and δ 2 would necessarily be equal to δ * since δ * ∈ {0, 1} J , δ 1 ∈ [0, 1] J and δ 2 ∈ [0, 1] J . By Lemma 9, we deduce that x 1 = x * (resp. x 2 = x * ), and thus (e 1 , t 1 ) (resp. (e 2 , t 2 )) is in P δ * . Yet (e * , t * ) = 1 2 (e 1 , t 1 )+(e 2 , t 2 ) , and (e * , t * ) would not be an extreme point of P δ * .

Let (E, T ) denote the partition of tasks given by δ * , i.e. E = E(δ * ) and T = T (δ * ). Using Lemma 10, we decompose P δ * as a Cartesian products of polyhedra as follows.

P δ * = P δ * , E ×{0} T ×P δ * , T ×{0} E where P δ * , E = ẽ ∈ R E | ẽ+p /E satisfies (Q0
) and ∀j ∈ E, ẽj +p j p(J)

P δ * , T = t ∈ R T | t satisfies (Q0) and ∀j ∈ T, tj p(J)
Knowing that the extreme points set of a Cartesian product is exactly the Cartesian product of the extreme points sets, it remains to show that e * /E ∈ extr(P δ * , E ) and that t * /T ∈ extr(P δ * , T ). Note that P δ * , T is the polyhedron called P Q,M in Section 2, where the index set J is replaced by T while keeping M = p(J) p(T ). Similarly, P δ * , E is a translation according to -p /E of P Q,M , where J is replaced by E while keeping M = p(J) p(E). Then it suffices that t * /T (resp. e * /E +p /E ) encodes a left-tight schedule of tasks in T (resp. E) to ensure its extremality in P δ * , T (resp. P δ * , E ). Both conditions are satisfied since X * encodes a d-block. We deduce that (e * , t * ) belongs to extr(P δ * ). Thus X * belongs to int δ extr(P 1 ) .

To prove item (i), it remains to show that X * , or more precisely (e * , t * ), is a minimizer of g α,β . By contradiction, let us assume that there exists X = (ê, t, δ, x) ∈ int δ extr(P 1 ) such that (ê, t) minimizes g α,β and g α,β (ê, t) < g α,β (e * , t * ). According to Theorem 13, X encodes a schedule inducing a total penalty g α,β (ê, t), which is lower than the total penalty of S * a contradiction.

The second item (ii) is then a direct corollary of Theorem 13. The schedule encoded by a vector X * minimizing g α,β on int δ extr(P 1 ) is a d-block, and if it is not optimal, there would exist a strictly better d-block, and a vector in int δ extr(P 1 ) with a smaller value according to g α,β , a contradiction.

Dealing with formulation (F1)

The aim of this section is to show that formulation (F1) can be solved by a classical branch-and-cut algorithm. Let us consider three relaxations of (F1 The formulation (F1-LP) is obtained by relaxing the integrity and the extremality conditions. It is a linear program defined by an exponential number of inequalities. We will explain in Section 6 that the separation problem associated with the non-overlapping inequalities defining P 1 is solvable in polynomial time. Then (F1-LP) can be solved in polynomial time using a cutting plane algorithm [START_REF] Grötschel | The ellipsoid method and its consequences in combinatorial optimization[END_REF].

Using the simplex algorithm for each LP-relaxation of a cutting plane algorithm, the extremality of the solution is ensured. Then in this case, solving (F1-LP) is equivalent to solving (F1-extr). A classical way to manage the integrity constraint is to use a branch-and-bound algorithm, and even in this case a branch-and-cut algorithm. Using an algorithm which provides an extreme point to solve each LP-relaxation, a branch-and-bound algorithm directly computes a solution of (F1).

Property 15

Let us consider a branch-and-bound algorithm A, where the LP-relaxation at each node provides an extreme point. Using A to solve (F1-int) by branching on δ variables solves (F1).

Proof : By assumption, the solution provided at each node of the branch-and-bound tree is an extreme point of the polyhedron defined by the decisions previously taken, and we will prove that this solution is also an extreme point of P 1 . Formally, if variables δ j for j ∈ J 0 (resp. for j ∈ J 1 ) have been fixed to 0 (resp. to 1), the polyhedron considered is P 1 ∩ F J 0 ,J 1 where:

F J 0 ,J 1 = { (e, t, δ, x) ∈ R J × R J × [0, 1] J × [0, 1] J < | ∀j ∈ J 0 , δ j = 0 and ∀j ∈ J 1 , δ j = 1 }
We consider an arbitrary node defined by J 0 and J 1 , and a vector X = (e, t, δ, x) ∈ extr P 1 ∩ F J 0 ,J 1 . By definition of E(δ) and T (δ), X ∈ P 1 ∩ F T (δ),E(δ) . Moreover, J 1 ⊆ E(δ) and J 0 ⊆ T (δ), thus we have

P 1 ∩ F T (δ),E(δ) ⊆ P 1 ∩ F J 0 ,J 1 . Recall that if A ⊆ B, then extr(B) ∩ A ⊆ extr(A), we deduce that X ∈ extr P 1 ∩ F T (δ),E(δ) . Since P 1 ∩ F T (δ),E(δ)
is exactly the set denoted by P δ in the previous proof, we get extr(P 1 ∩ F T (δ),E(δ) ) ⊆ extr(P 1 ). We deduce that X ∈ extr(P 1 ).

Note that in general, such an algorithm A is not sufficient to minimize a linear function under both integrity and extremality constraints in a polyhedron. To illustrate this observation, let us consider the following formulation. where int y denotes the operator keeping only the points (y, z) such that y is an integer.

(F) max z s.t. (y, z) ∈ int y extr(P ) with P = (y, z) ∈ R + × R + | z 2 3 y+2, z -2y+6 ,
A provides a solution which does not belong to extr(P ). Indeed, since ( 3 2 , 3) is the solution at the root node, the search space is divided into P ∩ ] -∞, 1]×R and P ∩ [2, +∞[×R, and the extreme points maximizing z in these polyhedra are respectively (1, 2 + 2

3 ), and (2, 2). The provided point is then (1, 2 + 2 3 ), with a value of 2 + 2 3 whereas the best value for an integer extreme point is 2, reached by (0, 2). The particularity of formulation (F1) is that the integrity constraint on δ j can be rewritten as δ j ∈ extr [0, 1] , for any j ∈ J. Therefore, the integrity of δ and the extremality in P δ * induce the extremality in P 1 .

For any formulation (F), let us denote by value(F) the value of any optimal solution for the optimization problem F. Using any algorithm to solve each LP-relaxation, a branch-and-bound algorithm can solve (F1int), that gives value(F1), but not directly a solution of (F1). Indeed, if X = (e, t, δ, x) denotes the provided vector, δ is 0-1 and (e, t) minimizes g α,β on P δ by construction. Then, there exists (e * , t * ) in extr(P δ ) such that g α,β (e * , t * ) = g α,β (e, t). Since X * = (e * , t * , δ, x) ∈ int δ extr(P 1 ) , we get g α,β (e * , t * ) value(F1) value(F1-int) = g α,β (e, t).

In addition to this theoretical way to come down to an extreme point, and then to a feasible solution, there is a computational way to do that from the partition between early and tardy tasks defined by δ. It will be the purpose of the next section.

A second formulation for the unrestrictive case

The unrestrictive common due date problem is NP-hard, so the problem associated with (F1) is NP-hard. In contrast, (F1-extr) is solvable in polynomial time. We deduce that the hardness of the formulation (F1) is only due to the integrity constraints on δ variables This suggests that the main difficulty of the unrestrictive common due date problem lies in choosing which tasks are early and which ones are tardy. This observation is corroborated by the following dominance property known in the just-in-time scheduling field, which ensures in the unrestrictive case once the partition between early and tardy tasks is fixed, it suffices to sort tasks to obtain an optimal schedule. A question is then: how to exploit the strength of this property in a linear way? This issue leads to a compact formulation for the unrestrictive case, presented in this section.

Dominance properties

We recall some dominance properties known for the symmetric penalties case [START_REF] Hoogeveen | Scheduling around a small common due date[END_REF], but given here in their most general statement.

Lemma 16

Let α ∈ (R + ) J , β ∈ (R + ) J .
In the general case, the schedules where the tasks ending before or at d (resp. starting at or after d) are in order of nondecreasing α j p j (resp. nonincreasing β j p j ) are strictly dominant when minimizing f α,β .

For given unit penalties α and β, a feasible schedule is said V-shaped if the early tasks are scheduled in nondecreasing order of α j /p j and the tardy ones in nonincreasing order of β j /p j . Since the tasks ending before or at d are exactly the early ones in any schedule, and the tasks starting after or at d are exactly the tardy ones in a d-schedule, we deduce from Lemmas 5 and 16, that V-shaped d-blocks are dominant in the unrestrictive case.

In case of equality between two ratios α i /p i and α j /p j (resp. β i /p i and β j /p j ), swapping tasks i and j does not change the total penalty of a schedule if both are early (resp. tardy). Thus in this case, there exist different optimal V-shaped d-blocks with the same partition between early and tardy tasks. To ensure there is only one way to decode a partition between early and tardy tasks into a dominant schedule, we fix a priori two orders on tasks : one by decreasing α j /p j , and one by decreasing β j /p j . Let ρ and σ denote two functions from 1, n to J such that:

α ρ(k) p ρ(k) k∈ 1,n and β σ(k) p σ(k) k∈ 1,n are nonincreasing.
We say that a feasible schedule is ρ-σ-shaped when early (resp. tardy) tasks are processed in decreasing order of ρ -1 (resp. increasing order of σ -1 ). These schedules are dominant in the unrestrictive case, and will only be considered in the remainder of this section. Note that there is a one-to-one correspondence between the ρ-σ-shaped d-blocks and the vectors δ ∈ {0, 1} J .

A compact formulation for the unrestrictive case

If the partition between early and tardy tasks of a ρ-σ-shaped d-block is given by δ, then the earliness and tardiness are given by:

e ρ (δ) =   δ j ρ -1 (j)-1 k=1 p ρ(k) δ ρ(k)   j∈J and t σ (δ) =   (1-δ j ) σ -1 (j) k=1 p σ(k) (1-δ σ(k) )   j∈J .
Using the same x variables as those in Section 3 to linearize these terms, we consider

e ρ (δ, x) =   ρ -1 (j)-1 k=1 p ρ(k) δ j +δ ρ(k) -x j,ρ(k) 2   j∈J and t σ (δ, x) =   σ -1 (j)-1 k=1 p σ(k) 2-(δ j +δ σ(k) ) -x j,σ(k) 2 + p j (1-δ j )   j∈J
where we use x i,j without carrying if i < j, that is to denote the variable x min(i,j),max(i,j) .

Therefore, the total penalty is simply expressed by h ρ,σ α,β (δ, x) = f α,β e ρ (δ, x), t σ (δ, x) , which is linear. We then consider the polyhedron P 2 = (δ, x) ∈ [0, 1] J ×R J < (13)-( 16) are satisfied . By definition of e ρ (δ, x) and t σ (δ, x), a vector (δ, x) in P 2 cannot encode an infeasible schedule. So there is no need to add non-overlapping inequalities, and hence we do not have to provide a separation algorithm or to only consider the extreme points of P 2 .

Finally, a compact formulation for the unrestrictive common due date problem defined by the penalties

(α, β) is (F2) min h ρ,σ α,β (δ, x) s.t. (δ, x) ∈ int δ P 2 ,
where ρ and σ are pre-computed.

Note that polyhedron P 2 does not depend on ρ or σ. Indeed, it is an extended polytope of the classical cut polytope for the complete undirected graph on J [START_REF] Barahona | On the cut polytope[END_REF]. A linear transformation of this polytope has been studied in [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF]. From this work we can directly derive that P 2 is a full-dimensional polytope and that inequalities ( 13)-( 16) define facets of P 2 .

General case

In this section, we provide a formulation for the general case based on the ideas of the formulation (F1). In the general case, we have to consider arbitrary earliness unit penalties, that is positive or zero unit earliness penalties. We can no longer derive an optimal solution from the one obtained for the instance which does not include zero unit earliness penalty tasks. Indeed, the due date could not allow to add these tasks at the beginning of the schedule. For some instances, such tasks are tardy in all optimal schedules. For example if J = 1, 3 , d = 6, p 1 = 5, p 2 = 3, p 3 = 2, α 1 = 0, β 1 = 1 and α 2 = β 2 = α 3 = β 3 = 2, then the optimal schedule is given by C 2 = 4 d, C 3 = 6 = d, C 1 = 11 d. Note that, conversely, tasks with a zero unit tardiness penalty can still be added at the end of an optimal schedule obtained for the instance reduced to the non-zero earliness penalty tasks in order to obtain an optimal schedule for the original instance. Hence, for the general case, we will set α ∈ (R + ) J and β ∈ (R * + ) J .

Dominance properties

In the general case, the dominance of the d-blocks is no longer valid. Let us define a d-or-left-block as a block which is a d-schedule or which starts at time 0, or both, to enunciate the following dominance property [START_REF] Hall | Earliness-tardiness scheduling problems, II: deviation of completion times about a restrictive common due date[END_REF].

Lemma 17

In the general case, d-or-left-blocks are dominant when minimizing f α,β .

In the sequel, only d-or-left-blocks will be considered.

Due to the potential occurrence of a straddling task in all optimal schedules for some instances, the partition between early and tardy tasks is no longer sufficient to deduce an optimal schedule. As explained in Section 4, we can compute the best d-block with respect to this partition. Conversely, computing the best left-block (i.e. the best block starting at time 0) with respect to this partition is not straightforward, since we cannot say a priori which is the straddling task among the tardy ones.

Let us consider the best left-block with respect to a given partition. Then the time a between the beginning of the straddling task and d is equal to d-p(E) and the straddling task belongs to { j ∈ T | p j > a }, where E (resp. T ) denotes the set of early (resp. tardy) tasks given by the partition. One can conjecture that the straddling task maximizes β j /p j over this set. However, it is not the case, as we shown by the following instance: J = [1..8], ∀i ∈ [1..6], p i = 1, α i = 40, β i = 4, p 7 = 3, α 7 = 20, β 7 = 8, p 8 = 4, α 8 = 20, β 8 = 11, and d = 2. We can easily verify that the optimal partition is E = ∅, T = J and a = 2. According to Lemma 16, an optimal schedule can be found among the left-blocks starting by task 7 and ending by task 8, or starting by task 8 and ending by task 7. The order of the other tasks is arbitrary, since they all have the same ratio. Figure 4 represents one optimal schedule of each type. The best ones are those starting by task 7 and ending by task 8. Nevertheless the ratio β 7 /p 7 = 8/3 is smaller than the ratio β 8 /p 8 = 11/14. This example can be extended to an example where E = ∅ by adding tasks with zero unit earliness penalty and large unit tardiness penalty.

d 0 a J 7 J 8 J 1 J 2 J 3 J 4 J 5 J 6 d 0 a J 7 J 8 J 1 J 2 J 3 J 4 J 5 J 6
In this example, the non optimality seems to be induced by an incorrect ratio choice: if we consider the ratio β j /(p j -a) instead of β j /p j , task 7 has a greater ratio than task 8. Then one can conjecture that the straddling task j maximizes β j /(p j -a) over tardy tasks with a processing time larger than a. Unfortunately, this is also false, as shown by the following instance:

J = 1, 5 , ∀i ∈ [1..3], p i = 1, α i = 10, β i = 2, p 4 = 4, α 4 = 10, β 4 = 5, p 5 = 3, α 5 = 10, β 5 = 3 and d = 2
We can easily verify that the optimal partition is E = ∅, T = J and a = 2. According to Lemma 16, an optimal schedule can be found among the left-blocks starting by task 4 and ending by task 5, or starting by task 5 and ending by task 4. The order of the other tasks is arbitrary, since they all have the same ratio. Figure 5 represents one optimal schedule of each type. The best ones are those starting by task 4 and ending by task 5. Nevertheless the ratio β 4 /(p 4 -a) = 2.5 is smaller than the ratio β 5 /(p 5 -a) = 3. This example can also be extended to an example where E = ∅.

d 0 a J 5 J 4 J 1 J 2 J 3 d 0 a J 5 J 4 J 1 J 2 J 3
The idea of the compact formulation (F2) for the unrestrictive case was to obtain the value b(E, T ) of a best schedule for a fixed partition between early and tardy tasks (E, T ). In the general case, to derive b(E, T ) from a partition (E, T ) which is feasible (i.e. such that p(E) d ), we have to consider several cases before using the dominance property.

Firstly, if we assume that b(E, T ) is achieved by a schedule having an on-time task. then we simply obtain b(E, T ) as for the unrestrictive case. Secondly, if we assume that b(E, T ) is achieved by a schedule having a straddling task, then we can also assume, without lost of generality, that the schedule starts at time 0 (using Lemma 17). We have then to consider the case where the straddling task is j for each j ∈ T such that p j d-p(E). In each case, Lemma 16 allows to derive the optimal schedule and we obtain the value b(E, T ) in a similar way as for the unrestrictive case. It seems difficult to derive a linear function from this observation. Therefore, we adapt the first formulation and not the second for the general case.

A natural formulation for the general case

• An encoding based on a new reference point In case of a schedule with a straddling task j s , i.e. C js -p js < d < C js , the tardiness of tardy tasks do not satisfy the non-overlapping constraints, i.e. t /T does not satisfy inequalities (Q0), particularly t js > p js . Indeed, these tardiness no longer play the same role as completion times. Therefore, we will use variables describing the schedule with respect to a new reference point, which is the starting time of j s instead of the due date d.

We introduce a new variable a, so that d-a is the starting time of j s . The schedule is then a (d-a)schedule. For each task j in J, we consider a variable e j (resp. t j ) instead of e j (resp. t j ), representing the earliness (resp. the tardiness) according to the new reference point d-a. Figure 6 illustrates this encoding for a schedule holding a straddling task.

0 j s i j d d-a a e i t j
Figure 6: The (a, e , t ) encoding for a schedule holding a straddling task j s Since we do not know a priori if there is a straddling task in the optimal schedule, our formulation must also handle d-blocks. Hence, we also need to encode d-blocks by variables a, e , t .

In case of a schedule holding an on-time task j t , we can keep d as the reference point, since we can use earliness and tardiness as proposed in formulation (F1). Hence, the first encoding consists in setting a = 0, and using e (resp. t ) to represent earliness (resp. tardiness). Figure 7 illustrates this encoding for a schedule holding an on-time task. Unfortunately, to ensure that a takes the expected value in case of a

0 j t i j d = d-a e i t j
Figure 7: The first (a, e , t ) encoding for a schedule holding an on-time task j t schedule holding a straddling task, we will introduce a boolean variable to identify the task j 0 beginning at d-a. It force to have in every schedule a task beginning at d-a. Therefore, this first encoding is not valid in case of a d-block without tardy task. We then propose a second encoding for the d-blocks. It consists in choosing the starting time of j t as the new reference point, which is setting a = p jt , This second encoding can be also used for a schedule holding an on-time task and having tardy tasks, as illustrated by Figure 8.

0 j t i j d d-a a e i t j
Figure 8: The second (a, e , t ) encoding for a schedule holding an on-time task j t

To sum up, the first encoding, with a = 0, is suitable for d-blocks, except those without tardy tasks, and the second encoding, with a = p jt , is suitable for any d-block. Fortunately, the three encodings proposed in this section can be decoded in the same way : C = d-a-e j +t j j∈J gives the completion times of the encoded schedule.

• Consistency between e and t using δ variables To ensure consistency between e and t , we use again variables δ. In the previous formulation, δ j indicated if task j completes before or at d. In this formulation δ j indicates if the task completes before or at d-a. We also use inequalities ( 5)-( 8) where e (resp. t) are replaced by e (resp. t ). These inequalities will be denoted by (5')-(8') in the sequel.

Note that δ j no longer necessarily indicates if task j is early or not. Keeping the previous notations E(δ) = {j ∈ J | δ j = 1} and T (δ) = {j ∈ J | δ j = 0}, E(δ), T (δ) is not the partition between early and tardy tasks as soon as we use the second encoding for a d-block. Therefore, we introduce a new partition of tasks: if C encodes a schedule by its completion times, we define

E (C) = { j ∈ J | C j < d} and T (C) = { j ∈ J | C j d }.
Note that if there is a straddling task in the schedule, then E (C) = E (C) and T (C) = T (C). Moreover, the only encoding in this case is such that

E(δ) = E (C) = E (C) and T (δ) = T (C) = T (C).
In the case of a d-block, using the first encoding we also have E(δ) = E (C) and T (δ) = T (C), but using the second one we have E(δ) = E (C) and T (δ) = T (C).

• Handling the positivity Since the due date can be smaller than p(J), avoiding overlaps and idle times does not ensure the positivity constraint. Therefore, we add the following inequalities ensuring that e j +p j d-a for each task j completing before d-a. They are valid since d is an upper bound of a. ∀j ∈ J, e j +p j δ j d-a

• Handling the non-overlapping To ensure the non-overlapping, we use again variables x, satisfying [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF][START_REF] Hoogeveen | Scheduling around a small common due date[END_REF][START_REF] Kanet | Minimizing the average deviation of job completion times about a common due date[END_REF][START_REF] Kanet | Scheduling with inserted idle time: Problem taxonomy and literature review[END_REF] and the inequalities (Q1) and (Q2), where e (resp. t) are replaced by e (resp. t ). These inequalities will be denoted by (Q1') and (Q2') in the sequel.

In order to ensure that tasks completing before or at d -a do not overlap using inequalities (Q1'), inequalities [START_REF] Kramer | A unified heuristic and an annotated bibliography for a large class of earliness-tardiness scheduling problems[END_REF] must not restrict too much e j from above. Indeed, an inequality of the form C j M is compatible with the non-overlapping inequalities (Q0) only if M p(J). If M < p(J), adding such an inequality makes appear extreme points which can be reached by minimization, whereas they do not correspond to feasible schedules. For example, let us consider the instance defined by J = 1, 2 , d = 5, p 1 = p 2 = 3, α 1 = α 2 = 1, β 1 = β 2 = 10, and the polyhedron P = (e, t, δ, x, a) ∈ R J ×R J ×[0, 1] J ×R J < ×R (5')-(8'), ( 13)-( 16), (Q1'),(Q2'), [START_REF] Kramer | A unified heuristic and an annotated bibliography for a large class of earliness-tardiness scheduling problems[END_REF] defined by the inequalities introduced for the general case so far. The vector X = (2, 2, 0, 0, 1, 1, 0, 0), is an integer extreme point of P . It corresponds to the schedule S where both tasks complete at time 3, since e 1 = e 2 = 2 and a = 0. The induced penalty is 4, which is the minimal penalty over P . However, S is infeasible since the two tasks overlap. This overlapp occurs in spite of inequalities (Q1') because d-a = 5 < 6 = p(E), implying that d-a is a too restrictive upper bound in inequalities [START_REF] Kramer | A unified heuristic and an annotated bibliography for a large class of earliness-tardiness scheduling problems[END_REF]. To prevent this restrictiveness, we introduce the following inequality.

j∈J p j δ j d-a (18)
To ensure that inequalities (Q1') (resp. (Q2')) prevent overlaps of tasks completing before (resp. after) d-a do not overlap, the total penalty must be a nonincreasing function of variable e j (resp. t j ) for each task j such that δ j = 1 (resp. δ j = 0). We have to provide linear inequalities ensuring that the variable a takes a value such that the objective function fulfils these two conditions. If a is such that d-a is the starting time of the straddling task, the on-time task or the first tardy task as proposed by the previous encodings, then these two conditions are ensured.

• Ensuring that a takes the expected value In spite of their apparent symmetry, the two conditions are completely different.

To ensure the first one, it suffices to ensure that any task completing before or at d-a completes before or at d. Indeed, reducing e j for such a task j while satisfying the inequality (Q1') associated with {j}, i.e. e j 0, task j remains early and its tardiness decreases, which reduces the induced penalty. Therefore, the first constraint is guaranteed by the following inequality.

a 0 (19)
To ensure the second one, ensuring that any task completing after d-a completes after or at d is not sufficient. Indeed, reducing t j for such a task j while satisfying the inequality (Q2') associated with {j}, i.e. t j p j , task j can become early, so the induced penalty does not necessarily decrease. Figure 9 illustrates the extreme case of this phenomenon, that is when a = d, E(δ) = ∅, and all early tasks overlap each others to be on-time. Note that this case appears even if we add inequalities ∀j ∈ J, t j a(1 -δ j ). Adding inequalities ∀j ∈ J, p j a(1-δ j ), could avoid this issue, but unfortunately they are not valid, since a task completing after d-a can be shorter than a, as longer it is not the first one. In order to ensure that the first task j 0 completing after d-a completes after or at d, we introduce a boolean variable γ j for each task j, representing if j is j 0 , and the following inequalities.

0 i j k d d-a a t j = t i = t k
j∈J γ j = 1 (20) ∀j ∈ J, δ j 1-γ j (21) ∀j ∈ J, t j p j + (1-γ j ) (p(J)-p j ) (22)
Whereas inequalities ( 20)- [START_REF] Queyranne | Polyhedral approaches to machine scheduling[END_REF] ensure that γ designates one and only one task i 0 among those completing after d-a, inequalities [START_REF] Queyranne | Single-machine scheduling polyhedra with precedence constraints[END_REF] ensure that i 0 is the first one, i.e. i 0 = j 0 . Indeed, they ensure that t i 0 p i 0 , and since t i 0 p i 0 by inequality (Q2') associated to the singleton {i 0 }, we deduce that t i 0 = p i 0 . Then, the inequality (Q2') associated to a pair {i 0 , j} with δ j = 0, suffices to prove that task j completes after i 0 .

Lemma 18

Let (t , δ, x, γ) ∈ R J ×{0, 1} J ×[0, 1] J < ×[0, 1] J . (i) γ ∈ {0, 1} J and (γ,δ) satisfies (20)-(21) ⇔ ∃i 0 ∈ T (δ), γ = 1 i 0 (ii) If (i)
holds and t , δ, x satisfy (13)-( 16), ( 22) and (Q2 ), then t i 0 = p i 0 and ∀j ∈ T (δ), j = i 0 , t j t i 0 +p j .

Using γ, which identifies j 0 , we add the following valid inequalities to ensure that a p j 0 = t j 0 . ∀j ∈ J, a p j +(1-γ j ) d

• A linear objective function using e ,t , a and b variables Using e and t variables instead of e and t offers an easy way to ensure positivity, consistency and nonoverlap at the expense of a linearization of the product aδ j . Indeed, in the objective function, we need a linear expression for the earliness (resp. the tardiness) of any task j in J, which is equal to e j +aδ j (resp. to t j -a(1-δ j )).

Then we introduce a variable b j for each task j in J to replace the product aδ j . We add the following inequalities to ensure that b variables take the expected values.

∀j ∈ J, b j 0 (24) ∀j ∈ J, b j a (25) ∀j ∈ J, b j δ j d (26) ∀j ∈ J, b j a -(1-δ j ) d (27)
Since d is an upper bound of a by construction, we get the following lemma.

Lemma 19

Let (a, b, δ) ∈ R×R J ×{0, 1} J . a, b and δ satisfy inequalities (24)-( 27) ⇔ b = a δ.

Then the total penalty of a schedule encoded by (e , t , a, b) is

h α,β (e , t , a, b) = j∈J α j e j + β j t j + (α j +β j ) b j -β j a
which is linear. If C encodes a schedule by its completion times, the two possible vectors (e , t , a, b) encoding this schedule are the following.

θ (C) = [d-a-C j ] + j∈J , [C j -(d-a)] + j∈J , a, a 1 E(C) where a = d -min i∈T (C) C i -p i θ (C) = [d-a-C j ] + j∈J , [C j -(d-a)] + j∈J , a, a 1 E(C) where a = d -min i∈ T (C) C i -p i
Note that if the schedule holds a straddling task, then θ(C) = θ (C), since E (C) = E (C) and T (C) = T (C). Even for a schedule admitting two different encodings, (i.e. for a d-schedule with at least one tardy task) the function h α,β holds the total penalty, as long as the schedule satisfies the non-overlapping constraint.

Lemma 20

Let C ∈ R J . If C satisfies (1), then h α,β θ (C) = h α,β θ (C) = f α,β θ (C) .
• Formulation (F3) Let us define the polyhedron 13)-( 16), ( 17)-( 19), ( 23)-( 24), ( 20)-( 23), (Q1') and (Q2') are satisfied .

P 3 = (e , t , δ, x, a, b, γ) ∈ R J ×R J ×[0, 1] J ×R J < ×R×R J ×[0, 1] J (5')-(8'), (
Note that this polyhedron depends on d, in addition to p. Inequalities (Q1') and (Q2') require the same separation algorithm as for (Q1) and (Q2), which will be developed in Section 6. We introduce the operator int δ,γ , which only keeps points with integer δ and γ. For V ⊆ R J ×R J ×R J ×R J < ×R×R J ×R J , the set int δ,γ (V ) = (e , t , δ, x, a, b, γ) ∈ V | δ ∈ {0, 1} J , γ ∈ {0, 1} J . Finally, our formulation for the general common due date problem is (F3) min h α,β (e , t , a, b) s.t. (e , t , δ, x, a, b, γ) ∈ int δ,γ extr(P 3 ) .

Validity of Formulation (F3)

Thanks to the natural variables e and t , ensuring the non-overlapping constraint reduces to ensuring the positivity and non-overlapping constraints for two subsets of tasks. In contrast with Formulation (F1) where these two subsets are the early and the tardy tasks (cf. Lemma 8), in Formulation (F3), the subsets to consider depend on the occurrence of a straddling or an on-time task, as detailed in the following lemma.

Lemma 21

Let C ∈ R J . The following theorem establishes that a feasible schedule, under some assumptions, is encoded by an integer point of P 3 . In particular a d-or-left-block is encoded by an integer point of P 3 .

Theorem 22

Let C ∈ R J satisfying (0) and ( 1).

(i) If there exists j s ∈ J such that C js -p js < d < C js , ∀j ∈ J, d-p(J) C j -p j and C j C js -p js + p(J), then there exists X = (e , t , δ, x, a, b, γ) ∈ int δ,γ (P 3 ) such that θ (C) = (e , t , a, b).

(ii) If there exists j t ∈ J such that C jt = d, ∀j ∈ J, d-p(J) C j -p j and C j C jt -p jt + p(J), then there exists X = (e , t , δ, x, a, b, γ) ∈ int δ,γ (P 3 ) such that θ (C) = (e , t , a, b).

Proof : Let us start by proving (i).

From C, let us set: (e , t , a, b) = θ (C), δ = 1 E(C) , x = 1 δ i =δ j (i,j)∈J < , γ = 1 js and X = (e , t , δ, x, a, b, γ).

We will prove that X ∈ int δ,γ (P 3 ). Note that the definition of δ ensures that δ ∈ {0, 1} J , and that E(δ) = E (C) and T (δ) = T (C), which allows the notation E and T for sake of brevity. By Lemma 9(i), the definition of x ensures that inequalities ( 13)-( 16) are satisfied. By Lemma 18(i), the definition of γ ensures that inequalities ( 20 Inequalities (5') and (7') are satisfied by construction of e and t .

For a task j in E, C j C js -p js = d-a since j and j 0 do not overlap, then e j = d-a -C j and t j = 0. The corresponding inequality (8') is thus satisfied, as well as [START_REF] Queyranne | Single-machine scheduling polyhedra with precedence constraints[END_REF] since p j + (1-γ j ) p(J)-p j = p(J) 0.

By assumption C j d-p(J)+p j , thus e j = d-a -C j p(J) -p j , and inequality (6') is also satisfied for j. Moreover, d -e j -p j δ j = a + C j -p j , and by positivity constraint C j -p j 0, thus d -e j -p j δ j a and inequality ( 17) is satisfied for j.

For a task j in T , C j d d-a, then e j = 0 and t j = C j -(d-a). The corresponding inequality (6') is thus satisfied. Moreover, d -e j -p j δ j = d a, then inequality ( 17) is satisfied for j. By assumption C j C j 0 -p j 0 +p(J) d+p(J), thus t j d+p(J) -(d-a) and then t j p(J). We deduce that the corresponding inequality (8') is also satisfied, as well as inequality [START_REF] Queyranne | Single-machine scheduling polyhedra with precedence constraints[END_REF], since p j + (1-γ j ) p(J)-p j is equal to p(J) (resp. to p js = C j 0 -(d-a) = t js ) if j = j s (resp. if j = j s ).

Since C encodes a feasible schedule, C satisfies (1). Using Lemma 21, (e +p) /E , as well as t /T , satisfies (0) and [START_REF] Baker | Sequencing with earliness and tardiness penalties: A review[END_REF]. Applying Property 1 to these two vectors, we deduce that they satisfy (Q0), and using Lemma 10, that e , δ, x satisfy (Q1') and t , δ, x satisfy (Q2'). Thus, X belongs to int δ,γ (P 3 ).

Rewriting the proof by replacing θ by θ , E (C) by E (C), T (C) by T (C), and the straddling task j s by the on-time task j t provides almost the proof of (ii). The only difference lies in the justification of inequality [START_REF] Smith | Various optimizers for single-stage production[END_REF] for j t : in this case C jt = d, then a = p js + (d-C js ) = p js = p js + (1-γ js ) d.

The following theorem establishes that an optimal solution of formulation (F3) is a solution for the general common due date problem. The proof is given in Appendix.

Theorem 23

Let X * = (e , t , δ, x, a, b, γ) ∈ int δ,γ (P 3 ). If α ∈ (R * + ) J , X * ∈ extr(P 3 ) and (e , t , a, b) minimizes h α,β then X * encodes a d-or-left-block, by θ or θ .

If some tasks have a zero unit earliness penalty, formulation (F3) provides a vector X * = (e , t , δ, x, a, b, γ) which partially encodes an optimal schedule. Indeed, except for early tasks having a zero unit earliness penalty, the completion time of a task j is given as previously by C * j = (d-a) -e j + t j . Conversely, for an early task j such that α j = 0, e j could be d-p j for instance and the previous encoding would give C * j = p j . If there are several early tasks having zero unit earliness penalty, an overlap would appear at time 0. Since their unit earliness penalty is zero, the minimality of X * does not ensure that these tasks are well spread out (in this context Lemma 4 cannot be applied). However, the minimality of X * ensures that the other early tasks (i.e. having a non-zero unit earliness penalty) are right-tight with respect to d. Hence, using inequality [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF], there is enough time between 0 and their processing duration to process the overlapping tasks. Thus, it suffices to schedule these tasks in an arbitrary order from time 0 to obtain a feasible schedule S . Since these tasks do not induce any penalty, the total penalty of S is h α,β (X * ), regardless of their order. We deduce that S is an optimal schedule.

The following theorem establishes that the general common due date problem reduces to solving formulation (F3). We omit the proof since it follows the same lines as the one of Theorem 14.

Theorem 24

Any optimal d-or-left-block, is encoded by a vector minimizing h α,β on int δ,γ extr(P 3 ) . Conversely, any vector minimizing h α,β on int δ,γ extr(P 3 ) , encodes an optimal d-or-left-block.

Separation algorithms

In this section, we explain how to separate inequalities (Q1),(Q2), (Q1') or (Q2'), by solving a min-cut problem in a suitable graph. We write the following development for inequalities (Q1) and (Q2), but a rewriting exercise suffices to obtain the equivalent results for inequalities (Q1') and (Q2').

Let X = (e, t, δ, x) ∈ R J ×R J ×[0, 1] J ×R J < a vector satisfying inequalities [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF][START_REF] Lemon | library for efficient modeling and optimization in networks[END_REF][START_REF] José | Single-machine scheduling with precedence constraints[END_REF][START_REF] Dyer | Formulating the single machine sequencing problem with release dates as a mixed integer program[END_REF] and [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF][START_REF] Hoogeveen | Scheduling around a small common due date[END_REF][START_REF] Kanet | Minimizing the average deviation of job completion times about a common due date[END_REF][START_REF] Kanet | Scheduling with inserted idle time: Problem taxonomy and literature review[END_REF]. The separation problem for inequalities (Q1) is to find a subset S of J such that X does not satisfy the associated inequality (Q1) or to guarantee that X satisfies all inequalities (Q1). We will first show that this separation problem reduces to the maximization of a set function Γ c,q defined from parameters (c, q) ∈ R J ×R J < as ∀S ⊆ J, Γ c,q (S) = (i,j)∈S < q i,j + i∈S c i . Indeed we have: X satisfies (Q1) ⇔ ∀S ⊆ J,

(i,j)∈S < p i p j δ i +δ j -x i,j 2 i∈S p i e i ⇔ ∀S ⊆ J, (i,j)∈S < p i p j (δ i +δ j -x i,j ) -2 i∈S p i e i 0 ⇔ ∀S ⊆ J, Γ c 1 ,q 1 (S) 0.
where c 1 = -2 p j e j j∈J and q 1 = p i p j (δ i + δ j -x i,j ) (i,j)∈J < . Then it suffices to maximize Γ c 1 ,q 1 over the subsets of J. Indeed, if the obtained value is negative or zero, then X satisfies all inequalities (Q1), conversely if the obtained value is positive, then the maximizing set is not empty and corresponds to an inequality (Q1) that X does not satisfy. Similarly, the separation problem of inequalities (Q2), is equivalent to the maximization of Γ c 2 ,q 2 where c 2 = 2 (1-δ j )p 2 j -p j t j j∈J and q 2 = p i p j (2-δ i +δ j )-x i,j (i,j)∈J < . Note that in both definitions of Γ c 1 ,q 1 and Γ c 2 ,q 2 , the parameter q is non-negative since δ and x satisfy inequalities [START_REF] Kanet | Minimizing the average deviation of job completion times about a common due date[END_REF][START_REF] Kanet | Scheduling with inserted idle time: Problem taxonomy and literature review[END_REF]. Therefore, let us now explain how to reduce the maximization of Γ c,q for (c, q) ∈ R J ×(R * + ) J < to a min-cut problem in an undirected graph as proposed by [START_REF] Picard | Minimum cuts and related problems[END_REF]. Let us assume that J = 1, n for sake of brevity. We consider the weighted undirected graph G = (V, A, w), where V = 0, n+1 , A = {i, j} | (i, j) ∈ V 2 , {i, j} = {0, n + 1} , ∀j ∈ J, w {0,j} = [k j ] + , w {j,n+1} = [k j ] -where k j = 2c i + j-1 i=1 q i,j + n k=j+1 q j,k , and ∀(i, j) ∈ J < , w {i,j} = q i,j . Figure 10 gives an illustration of such a graph for n = 5. Note that V and A only depend on J, and w only depends on parameters c and q. For a cut (W, W ), i.e. W ∩ W = ∅ and W ∪ W = V , let w(W, W ) denote its weight according to w, i.e. w(W, W ) = i∈W,j∈W w {i,j} .

w i,j = q i,j n+1 w { i , n + 1 } = [ k i ] - • 0 w { 0 , j } = [ k j ] + • • • • • • j i

Let us introduce three constants

: Q = (i,j)∈J < q i,j , C = j∈J c j and K = j∈J |k j |.
Hence, for any S ⊆ J:

Γ c,q (S) = - 1 2 w S ∪{0}, 1, n+1 \S + Q+C 2 + K 4 .
Since Q, C, K do not depend on S, finding a subset S maximizing Γ c,q is equivalent to finding a minimum cut separating the additional vertices 0 and n+1. Since w is positive, this problem is solvable in polynomial time, using the [START_REF] Gomory | Multi-terminal network flows[END_REF] algorithm, as it will be explained in the next section.

Experimental results

The experiments are conducted on a single thread on a machine with Intel(R) Xeon(R) CPU E5-2630 v2 @2.60GHz, and 16Gb RAM. We use the solver CPLEX version 12.6.3.0, and the open source C++ optimization library LEMON [START_REF] Lemon | library for efficient modeling and optimization in networks[END_REF]. The branching scheme and the management of the current bounds is done by CPLEX. The time limit is set to 3600 seconds. For sake of comparison, all the formulations use CPLEX Default.

• Implementation of the separation algorithm The separation of inequalities (Q1) and (Q2) is implemented using the so-called Callback functions proposed by CPLEX. The separation algorithm consists in the following steps.

1. Computing the weights w {i,j} introduced in Section 6 according to the value of variables e, t, δ, x (resp. e , t , δ, x) in the solution provided by CPLEX. 2. Running the [START_REF] Gomory | Multi-terminal network flows[END_REF] algorithm provided by LEMON to obtain the Gomory-Hu tree rooted in 0. 3. Finding all minimum cost edges along the path between 0 and n+1 in the Gomory-Hu tree. 4. Testing for any of such edges if the related cut W/W such that 0 ∈ W corresponds to a negative value. 5. Adding in the model the inequality (Q1) (resp. (Q2)) associated to S, where S = W \{0}, if there exists. Due to these Callback functions, some CPLEX features are disabled in (F1) and (F3).

• Biskup and Feldmann's benchmark

We test our three formulations on the benchmark proposed by [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF], available online on OR-Library [START_REF] Biskup | ORLIB common due date scheduling[END_REF]. For each number of tasks n ∈ {10, 20, 50}, ten triples (p, α, β) of N n * 3 are given. For each one, setting d = h p(J) for h ∈ {0.2, 0.4, 0.6, 0.8, 1}, gives five instances, including one with an unrestrictive due date corresponding to h = 1. We obtain 30-task and 40-task instances, by considering only the first tasks of 50-task instances. In the following, the average values considered are computed over the ten instances proposed by this benchmark for fixed values of n and h, unless otherwise specified.

[24] succeeded in solving instances of this benchmark having up to 1000 tasks. The running time does not exceed 1400 seconds, and the average running time for 1000-tasks instances is between 611 and 918 seconds depending on the value of h. He obtained these results thanks to a dedicated branch-and-bound algorithm using Lagrangian relaxation and dynamic programming. However, Sourd's approach is based on a time-indexed formulation which involves O(np(J)) variables and hence nodes in the graph used for computing the Lagrangian lower bound. The Biskup and Feldmann's benchmark considers small values for the job processing times which ensures a fast computation time of the Lagrangian lower bound.

• New benchmark with long processing times In the Biskup and Feldmann's benchmark, processing times range is [START_REF] Baker | Sequencing with earliness and tardiness penalties: A review[END_REF][START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF]. We propose a benchmark where processing times are randomly drawn from the uniform distribution U pmax 10 , p max for p max ∈ {100, 200, 300}. For each p max ∈ {100, 200, 300} and each n ∈ {10, 20, 30, 40, 50}, we randomly generate ten triples (p, α, β) of N n * 3 . For each task j, α j and β j are randomly drawn from the uniform distribution U [1..20]. By setting d = h p(J) for h ∈ {0.2, 0.4, 0.6, 0.8, 1}, each triple gives five instances, including one unrestrictive, which results in 750 instances.

• MIP formulations from the literature In order to assess our formulation efficiency, we implement two other MIP formulations proposed in the literature: the formulation (F LO ) based on linear-ordering variables proposed by [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF] and the time-indexed formulation (F TI ) used in [START_REF] Sourd | New exact algorithms for one-machine earliness-tardiness scheduling[END_REF].

• Entries of the following tables n : the number of tasks h : the parameter setting the due date d to h p(J) (in the general case only) #opt : number of instances optimally solved among the ten proposed by the benchmark under the 3600 seconds time limit avg-T : the average running time in seconds over the optimally solved instances gap : the average gap over the instances not solved to optimality, that is the relative gap between the best lower and upper bounds

Formulations for the unrestrictive case

In this section the problem is solved using formulations (F1) and (F2), as well as formulations (F LO ) and (F TI ). As shown in Table 1, (F LO ) is unable to solve any 20-task instance within the time limit. Thus, (F LO ) is not used neither for larger instance size, nor for the new benchmark. Other experiments show that (F LO ) can only solve 5 over 10 instances for n = 15. (F TI ) is able to optimally solve Biskup and Feldmann's instances up to size 50 in less than 40 seconds. (F1) is able to optimally solve instances up to size 30 in around 40 seconds. In contrast, ten minutes are required to optimally solve 40-task instances and (F1) fails to solve 50-task instances within the time limit. However, other experiments show that, under a time limit of 10 000 seconds, (F1) solves 9 over the 10 instances for n = 50, with an average computation time of 4721 seconds. (F2) is able to optimally solve all the instances up to size 50 within the time limit. Other experiments conducted without CPLEX features show that (F2) can be faster: 22 seconds for n = 40, 215 seconds for n = 50 and 4063 seconds for n = 60.

As shown in Table 2, the efficiency of (F TI ) greatly depends on the value of parameter p max , which was expected since the number of variables is related to the length of the horizon, i.e. 2 p(J). While it only takes 40 seconds in average to solve all the 50-task Biskup and Feldmann's instances, (F TI ) solves 8 over the 10 50-task instances in the new benchmark for p max = 100, within 690 seconds in average. In addition, (F TI ) fails at solving any instance for p max = 300 due to memory limitations. CPLEX could not even provide a solution or a lower bound in this case. We can notice that for 20-task instances, the computation time required is at least 360 seconds for p max = 200 and p max = 300. (F1) is able to optimally solve all instances up to size 30 regardless of p max value, faster that (F TI ). The same observation holds for (F2) up to size 40 regardless of p max value.

To sum up for the unrestrictive case, (F TI ) gives the bests results for the Biskup and Feldmann's benchmark. However, this formulation is sensitive to the total length of the processing times (i.e. p(J)), and is unable to solve the 50-task instances with long processing times (p max = 300). In contrast, the results obtained with (F1) and (F2) do not significantly get worse with processing time increase.

Formulations for the general case

In this section the problem is solved using formulations (F3) as well as (F LO ) and (F TI ). Table 3 presents the results obtained on the Biskup and Feldmann's benchmark, while As shown in Table 3, (F LO ) is unable to solve any restrictive instance for n = 20 within the time limit.

1. Solving the instance without considering d using the formulation (F2). 2. Testing if the total duration of early tasks is smaller than the due date i.e.

δ j =1 p j d. If it is the case, then the solution obtained is optimal. Otherwise solving the instance considering d using (F3) On average on the Biskup and Feldmann's benchmark, the total length of the early tasks in the optimal solutions is 60% of the total length. That means that in this benchmark, instances with h 0.6 (i.e. d 0.6 p(J)) are mostly unrestrictive as defined by [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF]. For these instances, the (F2)-(F3) procedure can be relevant (but we do not present corresponding numerical results).

Linear relaxations analysis for (F2)

Table 5 shows that the lower bound provided by the linear relaxation (F2-LP) of (F2) is far from the optimal value (see the third column). Note that other experiments show that (F1) provides the same lower bound. We try to strengthen this lower bound by adding CPLEX cuts and/or the triangle inequalities introduced by [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF] For n 30, adding the CPLEX cuts provides a better lower bound than adding the triangle inequalities, and combining both of them does not provide a better lower bound. Conversely, for n 40, adding the triangle inequalities provides a much better lower bound than adding the CPLEX cuts, and combining both of them provides almost the same bound as adding only triangle inequalities, but reduces the running time. For instance, for 60-task instances, adding triangle inequalities reduces the gap from 92.8% to 23.5%, and combining them with the CPLEX cuts reduces the running time from 746 seconds to 337 seconds.

These observations lead to look for other valid inequalities for the quadratic polytope defined and studied by [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF], in order to strengthen our formulations. Indeed, as triangle inequalities, such inequalities can improve the lower bounds given by the linear relaxation of (F2), but also (F1) and (F3), where δ and x variables satisfy the same inequalities. These observations also drive to deal with the related algorithmic aspects. Indeed, since directly adding such inequalities in the model increases significantly the computation times, we should define how to manage these inequalities, for instance by providing a cutting-plane based algorithm.

Conclusion

In this paper, thanks to our theoretical contributions on the non-overlapping inequalities, we proposed three new formulations based on earliness/tardiness variables to solve the common due date scheduling problem. Our formulations allow to solve unrestrictive instances with up to 50 tasks and general instances up to 20 tasks within few minutes. While scheduling literature proposes pseudo-polynomial methods strongly dependant on the total length of processing times, our formulation size does not rely on this value.

Even if our results for the Biskup and Feldmann's benchmark are far from those presented by [START_REF] Sourd | New exact algorithms for one-machine earliness-tardiness scheduling[END_REF], our MIP formulations outperform the compact MIP formulation based on linear ordering variables. In addition, for instances with long processing times, our formulations outperform the time-indexed formulation in the unrestrictive case. A key part in our work is the theoretical study of the non-overlapping inequalities, in particular Lemmas 3 and 4 and the scheme of proof used for Theorems 12 and 13 (resp. 22 and 23), which should allow to extend our approach to other related scheduling problems.

Further works will focus on the earliness-tardiness scheduling problem with parallel machines, where each machine imposes the same due date for all the tasks. Another issue is to address the single machine common due date scheduling problem with machine unavailability constraints. For both problems formulations similar to (F3) can be derived.

An interesting issue is to study the polyhedra associated to such formulations, to strengthen them using facet defining inequalities, as triangle inequalities, which can be used in any formulation using δ and x variables to describe a cut in a graph.

  If i ∈ S and j ∈ S then p * y +-(S) = p * y(S) g p (S). If i ∈ S and j ∈ S then p * y +-(S) = p * y(S) + p i ε p i -p j ε p j = p * y(S) g p (S). If i ∈ S and j ∈ S then p * y +-(S) = p * y(S) -p j ε p j g p (S) since ε m 1 . If i ∈ S and j ∈ S then p * y +-(S) = p * y(S) + p i ε p i p * y(S) g p (S).

Figure 2 :

 2 Figure 2: Q and conv(Q) in the case of two tasks

Figure 3 :

 3 Figure 3: Illustration of the role of p i +e i for an early task i

Figure 4 :

 4 Figure 4: The two types of dominant schedules for E = ∅ and T = J.

Figure 5 :

 5 Figure 5: The two types of dominant schedules for E = ∅ and T = J.

Figure 9 :

 9 Figure 9: An infeasible schedule when a = d

( i )

 i If there exists j s ∈ J such that C js -p js < d < C js and (e , t , a, b) = θ (C) = θ (C), then C satisfies (1) ⇔ (e +p) /E(C) and t /T (C) satisfies (0) and (1). (ii) If there exists j t ∈ J such that C jt = d and (e , t , a, b) = θ (C), then C satisfies (1) ⇔ (e +p) /E(C) and t /T (C) satisfies (0) and (1).

  )-(21) are satisfied, since j s ∈ T . ByLemma 19, inequalities (24)-(27) are satisfied, since b = a 1 E (C) = a δ.For the straddling task j s , we have C js -p js = minj∈T (C) (C j -p j ), so a = d -(C js -p js ), by definition of θ .Since task j s starts at or after 0 and before d, i.e. 0 C js -p js < d, we have 0 < a d. Thus inequality[START_REF] Picard | Minimum cuts and related problems[END_REF] is satisfied, and for any task j = j s , a d+p j = (1-γ j ) d + p j . More precisely, task j s starts after all early tasks, and since they do not overlap, p(E) C js -p js = d-a, thus inequality (18) holds. Since task j s completes after d, i.e. C js > d , we get a = p js + (d-C js ) < p js = p js + (1-γ js ) d. We deduce that inequalities[START_REF] Smith | Various optimizers for single-stage production[END_REF] are satisfied.

Figure 10 :

 10 Figure 10: Illustration of the weighted undirected graph G for n = 5

  ).

	(F1-LP)	min g α,β (e, t) s.t. (e, t, δ, x) ∈ P 1	(F1-extr)	min g α,

β (e, t) s.t. (e, t, δ, x) ∈ extr(P 1 ) (F1-int) min g α,β (e, t) s.t. (e, t, δ, x) ∈ int δ (P 1 )

Table 1 :

 1 Table1presents the results obtained on Biskup and Feldmann's benchmark, while Table2presents those obtained on long processing times instances, for p max ∈ {100, 200, 300}. Solving Biskup and Feldmann's unrestrictive instances using (F

			(F LO )			(F TI )			(F1)			(F2)
	n
		#opt avg-T gap	#opt avg-T gap	#opt avg-T gap	#opt avg-T gap
	10	10	9	-	10	1	-	10	0	-	10	3	-
	20	0	-	144%	10	4	-	10	2	-	10	3	-
	30				10	15	-	10	44	-	10	7	-
	40				10	40	-	10	637	-	10	106	-
	50				10	41	-	1	1388 16%	10 1315 -

LO ), (F TI ), (F1) and (F2)

Table 2 :

 2 Solving unrestrictive instances generated with p max 100, 200, 300 using (F TI ), (F1) and (F2)

  Table 4 presents those obtained on long processing times instances, for p max = 200.

				(F LO )			(F TI )			(F3)
	n	h
			#opt avg-T gap	#opt avg-T gap	#opt avg-T gap
	10 0.2	10	1	-	10	1	-	10	0	-
		0.4	10	1	-	10	1	-	10	1	-
		0.6	10	1	-	10	1	-	10	1	-
		0.8	10	1	-	10	1	-	10	1	-
	20 0.2	0	-	437%	10	3	-	10	36	-
		0.4	0	-	245%	10	4	-	10	116	-
		0.6	0	-	159%	10	4	-	10	125	-
		0.8	0	-	145%	10	3	-	10	118	-
	30 0.2				10	17	-	10	1255	-
		0.4				10	22	-	3	1620 6%
		0.6				10	9	-	4	962	8%
		0.8				10	13	-	5	1405 9%

Table 3 :

 3 Solving Biskup and Feldmann's restrictive instances using (F LO ), (F TI ) and (F3)

  ].

		(F2-LP)	(F2-LP)	(F2-LP)	(F2-LP)
				+ Cplex Cuts	+ Triangle	+ Triangle + Cplex Cuts
	n	time	gap	time	gap	time	gap	time	gap
	10	0.14 41.1%	2.72 0.00%	0.05 3.29%	1.61	0.00%
	20	0.03 67.9%	3.19 0.00%	0.52 13.2%	2.11	10.3%
	30	0.12 77.0%	4.86 3.72%	0.52 19.4%	11.7	18.1%
	40	0.29 82.9%	9.86 26.7%	31.9 21.5%	48.3	20.9%
	50	0.62 86.1%	26.6 42.1%	177 22.5%	145	22.4%
	60	0.74 92.8%	375	44.9%	746 23.5%	337	23.5%

Table 5 :

 5 Improvement of the lower bound by adding Cplex cuts and triangle inequalities

Thus, (F LO ) is not used neither for larger instance size, nor for the new benchmark. Other experiments show that (F LO ) cannot solve 15-task instance when h = 0.2 and h = 0.4. When h = 0.6 ( resp. h = 0.8), (F LO ) solves 5 over the 10 instances for n = 15, using in average 2278 seconds (resp. 1575 seconds). (F TI ) is able to optimally solve all the Biskup and Feldmann's restrictive instances. Moreover, the computation times are similar to those obtained for the unrestrictive instances: less than 25 seconds for 30-task instances. (F3) is able to optimally solve all the instances up to size 20 as well as the 30-task instances when h = 0.2. However, the computation time is much larger than for (F TI ): around 2 minutes for n = 20 and 20 minutes for n = 30 when h = 0.2. As shown in Table 4, for long processing time instances with p max = 200, (F TI ) optimally solves almost all the instances within the time limit up to n = 20. It is important to notice that, for similar size, (F TI ) computation time is significantly larger for long processing times instances than for Biskup and Feldmann's ones: for n = 20, at least 116 seconds against a few seconds. In contrast, (F3) optimally solves all instances up to size 20 along with 30-task instances when h = 0.2. Note that, for these instances, (F3) is rather faster than (F TI ) for n = 20. However, (F3) fails to solve instances with n = 30.

For general case instances, we obtain the same conclusion drawn for the unrestrictive instances. (F TI ) is faster than (F3) for Biskup and Feldmann's instances, while this is not the case for long processing times instances.

Other experiments show that (F3) used on unrestrictive Biskup and Feldmann's instances (i.e. with h = 1) is less efficient than (F1): 77 seconds in average for the 20-task instances, and more than 1300 seconds for the six optimally solved 30-task instances. The following paragraph will exploit this remark.

• What is really an unrestrictive instance?

We have defined a due date as unrestrictive as soon as d p j , since it is the common definition. But according to [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF], a due date must be said unrestrictive if solving the problem for an arbitrary due date gives a solution for this due date. This definition raises two issues. First, since for some instances there exist several optimal solutions whose early tasks do not have the same total length, this definition depends on the algorithm, or even on the execution of the algorithm. Secondly, this definition requires an optimal solution to be found to say if the instance is unrestrictive or not. Therefore the prior definition is more convenient. But this remark leads to the following (F2)-(F3) procedure to solve a general instance.

Appendix : Proof of Theorem 23

Let us set, for any task j in J, C * j = (d-a) -e j + t j . The first step of the proof is to show that C * gives the completion times of the schedule encoded by X * using θ or θ i.e. that X * = θ (C * ) or X * = θ (C * ). First we derive from inequalities (5')-(8') that ∀j ∈ T (δ), e j = 0 and ∀j ∈ E(δ), t j = 0. Since δ and γ are in {0, 1} J , and X * satisfies ( 13)-( 16), ( 20)-( 21) and (Q2'), Lemma 18 ensures that there exists j 0 ∈ T (δ) such that γ = 1 {j 0 } , t j 0 = p j 0 , and ∀j ∈ T (δ), j = j 0 , t j t j 0 + p j . Since j 0 is in T (δ), e j 0 = 0 and C * j 0 -p j 0 = d-a. Then for any other task j in T (δ),

C * j -p j , and then a = d -min

The question is is whether

, the value of a is the one expected with the encoding θ , whereas if T (δ) = T (C * ), it is the one expected with θ .

For any task j = j 0 in T (δ),

We deduce that T (δ)\{j 0 } ⊆ T (C * ). Conversely, for a task j in T (C * ), C * j > d, which is equivalent to t j -e j > a. Since a 0 by inequality [START_REF] Picard | Minimum cuts and related problems[END_REF], t j > e j , which would be impossible if j was in E(δ), according to inequalities (5') and (8'). We deduce that T (C * ) ⊆ T (δ). Two cases have to be considered.

→ If a < p j 0 , then C * j 0 > d, i.e. j 0 ∈ T (C * ), and then T (δ) = T (C * ) and E(δ) = E (C * ). → If a = p j 0 , then C * j 0 = d and j 0 ∈ T (C * ), we deduce that T (δ) ⊆ T (C * ). For j in T (C * ), either C j = d or j ∈ T (C * ) ⊆ T (δ), that is t j = e j + a = e j + p j 0 > e j , and necessarily j ∈ T (δ). We conclude that

For the remainder of the proof, we assume that we are in the first case. Then E (resp. T ) will denote E (C * ) (resp. T (C * )), and we will use the encoding θ . To handle the second case, it suffices to replace E (C * ) by E (C * ), T (C * ) by T (C * ), and θ by θ in the second step, and using that j 0 is an on-time task in the third step.

We can rewrite δ as The second step is to show that S * is feasible, by proving that C * satisfies (0) and (1). For a task j in E, inequality [START_REF] Kramer | A unified heuristic and an annotated bibliography for a large class of earliness-tardiness scheduling problems[END_REF] ensures that p j d-a -e j = C * j . For a task j in T , inequality [START_REF] Kramer | A unified heuristic and an annotated bibliography for a large class of earliness-tardiness scheduling problems[END_REF] ensures that a d, then C j = d-a + t j t j . For another, we deduce that t j p j from inequality (Q2') associated to {j}. Thus C * satisfies (0).

To show that C * satisfies (1) using Lemma 21, it remains to show that vectors (e +p) /E and t /T satisfy (0) and (1). Since inequalities (Q1') and (Q2') are satisfied, we know from Lemma 10 that (e +p) /E and t /T satisfy inequalities (Q0). On one hand, these inequalities for the singletons ensure that both vectors satisfy (0). On the other hand, inequalities (Q0) will allow us to show that both vectors satisfy [START_REF] Baker | Sequencing with earliness and tardiness penalties: A review[END_REF].

Let us assume that (e +p) /E does not satisfy (1). Then there exist two tasks i and j in E such that e i +p i e j +p j < (e i +p i )+p j . Three cases have to be considered.

→ If e j + p j p(J), then e j + p j p(E). Applying Lemma 4, we can construct a vector e -such that X -= (e -, t , δ, x, a, b, γ) is in int δ,γ (P 3 ) and h α,β (e -, t , a, b) < h α,β (e , t , a, b) since α ∈ ((R * + ) J , which contradicts the minimality of (e , t , a, b).

→ If e j +p j = d-a, we can derive the same contradiction since d-a p(E) from inequality [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF].

→ If e j +p j < p(J) and e j +p j < d-a, then applying Lemma 3 to (e +p) /E , we can construct two vectors e +-and e -+ such that X +-= (e +-, t , δ, x, a, b, γ) and X -+ = (e -+ , t , δ, x, a, b, γ) are in int δ,γ (P 3 ) and that X * is the middle point of the segment [X +-, X -+ ]. which contradicts the extremality of X * .

Similarly, let us assume that t /T does not satisfy [START_REF] Baker | Sequencing with earliness and tardiness penalties: A review[END_REF]. Then there exist two tasks i and j in T such that t i t j < t i +p j . Since ∀k ∈ T (δ), k = j 0 , t k t j 0 + p k , we deduce that i = j 0 . Then for tasks i and j, inequalities (8') and ( 22) are equivalent, and t i and t j are only bounded from above by p(J). Then two cases have to be considered: → If t j p(J), then t j p(T ). Applying Lemma 4, we can derive a contradiction to the minimality of (e , t , a, b).

→ If t j < p(J), Applying Lemma 3 we can derive a contradiction to the extremality of X * . Finally, S * is feasible. The third step is to show that S * is a d-or-left-block. We first prove that S * is a block using the same method as in the proof of Theorem 13. Assuming that S * is not a block, we construct a better schedule S by tightening tasks arround d. Using Theorem 22, there exists X ∈ int δ,γ (P 3 ) encoding S, and it contradicts he minimality of (e , t , a, b). Thus S * is a block. Now we have to show that S * starts at time 0 or holds an on-time task. Let us assume that it is not the case, then setting ε = 1 2 min(p j 0 -a, a, s) where s denotes the starting time of S * , we have ε > 0. Setting a -= a-ε and X -= (e , t , δ, x, a -, a -δ, γ) (resp. a + = a+ε and X + = (e , t , δ, x, a + , a + δ, γ)), X -(resp. X + ) encodes using θ the schedule obtained by shifting backward (resp. forward) by ε time unit all the tasks. By definition of ε, X -(resp. X + ) still satisfies inequalities ( 17), ( 23), ( 19) and ( 18), thus X -∈ P 3 (resp. X + ∈ P 3 ). Since X * is the middle of [X -, X + ], that contradicts the extremality of X * .

We deduce that X * encodes a d-or-left-block.