e i t j • • • • • • • • • • 1 = u 2 v n B(v)∩ B(u)∩T S B(v)∩T B(v)∩T d | v S B(u)∩T B(u)∩T \{v} d | u

Préface Genèse de la thèse

Cette thèse est certainement née dans le cours MAOA (modèles et algorithmes pour l'ordonnancement et applications) que j'ai suivi en master 2 puisqu'elle résulte de l'envie de mêler les techniques de programmation linéaire que Pierre y présentait aux problématiques d'ordonnancement que Safia y présentait.

Bien qu'elle soit articulée autour du problème d'ordonnancement à une machine avec date d'échéance commune, le but premier de cette thèse n'était pas la résolution de ce problème. L'idée était davantage de voir, d'une part ce que les méthodes polyédrales pouvaient apporter sur un problème d'ordonnancement pour lequel les méthodes de résolution exactes proposées dans la littérature ne relèvent généralement pas de la programmation linéaire, mais plutôt de la programmation dynamique ou du Branch-and-Bound; et d'autre part comment les résultats connus en théorie de l'ordonnancement pouvaient être utilisés pour améliorer les formulations et leur résolution par programmation linéaire.

Organisation et contributions de la thèse

La thèse est découpée en trois parties qui correspondent à trois axes de recherche différents. Elles sont ordonnées suivant l'ordre chronologique des recherches, mais peuvent être lues indépendamment dans la mesure où le matériel commun aux trois parties (définitions, notations, propriétés, exemples...) a été rassemblé en préambule dans le chapitre 0.

Ainsi ce chapitre introductif, en plus de présenter un état de l'art, présente des propriétés de dominance pour les problèmes d'ordonnancement avec date d'échéance commune que nous avons étendues à des instances arbitraires, ainsi qu'une formulation linéaire compacte pour le cas où la date d'échéance est non restrictive, basée sur des variables binaires de partition de l'ensemble des tâches. En fin de chapitre, nous proposons aussi des contre-exemples montrant que des propriétés de dominance vraies pour une date d'échéance non restrictive ne le sont plus si cette date devient restrictive, ce qui nous empêche d'étendre la formulation compacte au cas général.

Dans le but de proposer une formulation pour le cas général, nous nous sommes intéressés dans la partie A à des variables similaires aux variables de date de fin d'exécution de tâche, qu'on appelle variables naturelles. Pour gérer de telles variables dans le cas d'un critère régulier, Maurice Queyranne [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] a proposé des inégalités linéaires dites inégalités de non-chevauchement.

Dans le chapitre 1 nous proposons des formulations mathématiques en variables naturelles basées sur des inégalités de non-chevauchement inspirées de celles de Queyranne, l'une pour le cas non restrictif, l'autre pour le cas général. Au delà de ces deux formulations, le chapitre 1 donne surtout des propriétés sur les inégalités de non-chevauchement et une méthode générique pour construire et prouver des formulations en variables naturelles. Pour preuve de cette généricité, nous proposons en fin de chapitre 1 des ébauches de formulation pour d'autres problèmes d'ordonnancement.

Le chapitre 2 est dédié à la mise en pratique de ces formulations qui ne sont pas exactement des formulations linéaires en nombres entiers : en plus de devoir être des points entiers, les solutions doivent êtres des points extrêmes. On explique à la fois comment gérer cette contrainte d'extrêmalité combinée à la contrainte d'intégrité, et comment séparer les inégalités de non-chevauchement introduites au chapitre 1. Afin de mesurer l'intérêt pratique de ces formulations, nous les avons implémentées avec un solveur de programmation linéaire, ainsi que d'autres formulations linéaires pour comparaison. Les résultats de cette campagne expérimentale -fournis en fin de chapitre 2 -ne sont pas très satisfaisants en comparaison de ceux obtenus par l'algorithme de Branch-and-Bound proposé par Françis Sourd [START_REF] Sourd | New exact algorithms for one-machine earliness-tardiness scheduling[END_REF].

Malgré cela, dans le cas non restrictif, la formulation compacte proposée au chapitre 0 -qui quant à elle est basée sur des variables de partition -se révèle prometteuse, bien qu'elle offre une valeur de relaxation continue assez faible. Afin de renforcer cette formulation, nous étudions dans la partie B les variables de partition.

Le chapitre 3 présente une revue des principales inégalités proposées pour les différents polyèdres associés au problème max-cut encodé ou non avec des variables de partition. Cette revue est l'occasion de donner un cadre formel pour rassembler ces différentes inégalités sous une même écriture, adaptée à notre formulation compacte. Ces inégalités renforcent une formulation au sens classique du terme : elles coupent des points fractionnaires en vue d'améliorer la valeur de relaxation continue, et ainsi d'accélérer le processus de Branch-and-Bound. On a implémenté certaines d'entre elles pour les ajouter à la formulation compacte et mesurer leur impact. Les résultats numériques de ces expérimentations -présentés en fin de chapitre 3 -ne sont pas probants : si la valeur du relâché continu est considérablement améliorée, le temps de résolution, lui, n'est pas meilleur.

Dans le chapitre 4, on s'intéresse alors à une autre approche de renforcement pour les variables de partition. Remarquant que la partition triviale dans laquelle toutes les tâches sont en avance n'est jamais une solution optimale pour notre problème d'ordonnancement, on s'intéresse non plus au polyèdre des coupes mais à celui des coupes non triviales. Il s'agit d'une première approche d'élimination de solutions non optimales. (c'est-à-dire qu'on coupe deux solutions réalisables, parce qu'on les sait non optimales). Bien que cela revienne seulement à enlever deux points extrêmes, de nombreuses nouvelles facettes apparaissent lorsqu'on passe d'un polyèdre à l'autre. On propose plusieurs familles d'inégalités, et la preuve qu'elles définissent des nouvelles facettes. La quantité, la variété et la taille de ces familles d'inégalités nous ont fait renoncer à les implémenter, et changer légèrement l'approche de renforcement dans la partie suivante.

En effet dans la partie C, on s'intéresse à des inégalités qui, sans être nécessairement facettes, éliminent des points entiers encodant des solutions non optimales, plus précisément des solutions non localement optimales, pour un voisinage donné.

Le chapitre 5 introduit d'abord de telles inégalités, qu'on appelle inégalités de dominance, pour le problème dans le cas non restrictif, avant de proposer un cadre plus général pour ces inégalités. Grâce à ce cadre, une deuxième famille d'inégalités pour le cas non restrictif est rapidement présentée, avant de comparer ces deux familles. En fin de chapitre, on fournit quelques résultats théoriques négatifs à leur propos (elles n'améliorent pas la valeur de relaxation continue).

Le chapitre 6 quant à lui offre des résultats expérimentaux positifs: l'implémentation des inégalités de dominance conduit d'une part à une véritable amélioration de la résolution exacte pour le cas non restrictif avec la formulation compacte, et d'autre part à une procédure heuristique qui fournit rapidement une très bonne borne supérieure.

Dans le chapitre 7, qui présente des travaux en cours, on essaye d'étendre cette approche de renforcement au delà de l'ordonnancement en proposant des inégalités de dominance pour d'autres problèmes d'optimisation combinatoire se formulant comme un programme linéaire en nombre entiers.

Enfin le chapitre 8 propose une conclusion de la thèse, ainsi que des perspectives. Il est suivi par diverses annexes qui ont pour but d'accompagner la lecture (et pas d'être lue à la fin): rappels de définitions usuelles en théorie des graphes et en analyse convexe, tables des notations, liste des inégalités proposées pour l'ordonnancement avec date d'échéance commune, index des formulations et polyèdres, index des définitions.

Guide de lecture

L'introduction se veut assez pédagogique, certaines parties peuvent donc être omises. Par exemple, les personnes déjà familières avec l'ordonnancement juste-à-temps pourront parcourir plus rapidement:

-la section 0.1, un coup d'oeil aux figures peut suffire, -la section 0.2, les énoncés des lemmes 0.1 et 0.2 suffisent -la section 0.3, résumée sur la cartographie page 32.

De plus, les personnes familères avec les outils de programmation linéaire pourront passer le début de la section 0.4 et ne lire que la sous-section 0.4.5 qui présente quelques formulations linéaires pour l'ordonnancement.

Choix de rédaction

Je précise ici quelques choix de rédaction et de mise en page dont la connaissance pourrait vous faciliter la lecture.

• Transitions Les transitions qui articulent les sections et sous-sections, sont généralement placées à la fin de la section qui précède, et non au début de celle qui suit, pour donner au lecteur un avant goût de ce qui l'attend, si ce n'est de lui donner envie de poursuivre sa lecture. Ainsi, pour une petite introduction quand vous reprenez la lecture, n'hésitez pas à remonter un peu dans le texte, vous retrouverez facilement la transition qui précède car elles ont été écrites en italique.

• Exemples Les exemples et contre-exemples sont souvent présentés sur une page à part et non au fil du texte comme les figures ou les tables. Cela permet de poursuivre facilement la lecture sans s'y attarder, et surtout, cela permet de voir l'exemple en entier sur une page. N'hésitez pas à tourner la page si vous ne voyez pas l'exemple dont il est question.

• Définitions et notations Les définitions des termes utilisés sont données pour la plupart au fil de l'eau. Un index page 219 permet de retrouver à quelle page chaque terme est introduit. Les définitions générales d'analyse convexe et de théorie des graphes font quant à elles l'objet de chapitres proposés en annexe. Les notations sont elles aussi données au cours du texte, et rappelées à partir de la page 213.

• Numéros de pages La numérotation des pages inclut la page de titre et la page de garde. Cela permet que la page numérotée n en bas soit aussi numérotée n par un lecteur PDF, et évite ainsi des pièges à l'impression.

• Nombre de pages Les choix de mise en page ainsi que les nombreuses figures et les annexes rendent ce document volumineux en nombre de pages.

• Figures et légendes J'espère que vous apprécierez les figures qui illustrent ce tapuscrit. Elles ont toutes été réalisées en Tikz (notamment grâce aux explications proposées dans [START_REF] Tisseau | Tikz pour l'impatient[END_REF]). Les figures sont normalement non ambiguës en noir et blanc, mais plus lisibles en couleurs. Lorsqu'une légende explicite accompagne la figure, elle est présentée dans un double cadre gris (Cf. page 14 par exemple), mais une bonne part de la légende est implicite car commune à toutes les figures d'ordonnancement, comme la date d'échéance d tracée en rouge, les tâches en avance en jaune, celles en retard en rose... Tout ceci étant dit, bonne lecture! Paris, le [START_REF] Hoogeveen | Scheduling around a small common due date[END_REF] Septembre 2020 Chapter 0

Scheduling around a common due date and related dominance properties

This chapter intends to introduce just-in-time scheduling around a common due date and to present the main known results in this field. In addition, we extend some known properties, provide counterexamples to other property extensions and finally provide two reformulations for a problem.

In Section 0.1, we present the two scheduling problems on which we will focus, as well as the commonly used notations and the representations. For both problems, we give in Section 0.2 some dominance properties and present in Section 0.3 the different known solving approaches to which they lead. Moreover, at the end of Section 0.3 we take a step back and give an overview of related problems. Section 0.4 is dedicated to the different ways to formulate a scheduling problem as a linear program (LP) or as a mixed-integer program (MIP), and finally, Section 0.5 presents a compact MIP for the unrestrictive common due date problem.

NB: All notations introduced in this section and later, as well as commonly used notations, are summarized on page 215 in the notation appendix.

Scheduling problem definition

In general, a scheduling problem consists in organizing an activity so as to minimize costs or penalties, or so as to maximize profits or utilities (Cf. [START_REF] Brucker | Scheduling Algorithms[END_REF], [START_REF] Gotha | Modèles et algorithmes en ordonnancement[END_REF], and [START_REF] Michael | Scheduling, Theory, Algorithms, and Systems[END_REF]). Mathematically speaking, a scheduling problem is then an optimization problem. In addition to an objective function, such a problem involves:

tasks, representing the elementary units of the activity, machines, representing resources which are able to execute the tasks, (it can be real machines in a factory, processors in a computer as well as human operators), -eventually other resources that tasks have to share, (like tool, energy, budget...), -eventually resource constraints like capacity constraints, -eventually additional time constraints, like precedence constraints between tasks, time windows during which tasks have to be processed, time windows during which machine are not available.

A solution of such a problem is called a schedule. A schedule assigns to each task a time period and a machine, and eventually other shared resources. A fundamental constraint that a schedule have to satisfy to be feasible, is the task non-overlapping constraint: two tasks cannot be processed on the same machine at the same time. Another one is the non-negativity constraint representing that we cannot plan to execute a task in the past, but only from now: a task cannot start before the time 0.

There exists a wide variety of scheduling problems, since they can model a lot of concrete problems appearing in agriculture, industry, services... The reader can refer to [START_REF] Brucker | Scheduling Algorithms[END_REF] and [START_REF] Michael | Scheduling, Theory, Algorithms, and Systems[END_REF] for a wide range of examples. However, in this thesis, we will mainly focus on two single machine scheduling problems. Therefore, we present how single machine schedules are usually encoded and represented.

• Encoding and representing a single machine schedule Let us consider a single machine framework, where a set of tasks J have to be processed nonpreemptively. A schedule assigns to each task j an execution period, which is a time interval usually denoted by [S j , C j ]. S j (resp. C j ) is called the starting time (resp. the completion time) of task j. Note that starting time and completion time are not time lengths but time points, that are dates. Assuming in addition that processing times are fixed, and denoted by (p j ) j∈J , a schedule can be encoded by the vector of task completion times, i.e. (C j ) j∈J , since for each task j ∈ J, we have S j = C j -p j . Encoding schedules by the task completion times allows to express a wide range of constraints and objective functions.

Feasible schedules are commonly represented by machine oriented Gantt charts. In such a chart, each task j ∈ J is represented by a rectangle, whose length represents its processing time, i.e. p j , and each machine corresponds to an oriented axis representing the time horizon. Figure 1 gives the Gantt chart of S 1 and S 2 , two illustrative schedules for the 4 tasks depicted at the top of the figure. • Earliness-tardiness scheduling The just-in-time scheduling intends to reduce two kind of costs. On the one hand the storage costs, appearing when a product is completed before its delivery date, on the other hand the delay costs, appearing when a product is delivered after its delivery date. Because of the time needed for delivery, or because a task can be an intermediate operation in the manufacturing process of a final product, we will not use delivery dates. We will rather use, for each task j, a due date denoted by d j , modeling the preferred completion time for j. For example, if a product has to be delivered at hour h for a client an hour's drive away, the due date of the last operation of this product is h-1.

If task j completes before its due date, then the earliness of j, is the duration between the completion time and the due date, i.e. d j -C j . Conversely, if j completes after d j , then its earliness is 0. To cover these two cases, we can define the earliness as E j = [d j -C j ] + , where [x] + denotes the positive part of x ∈ R. Similarly, the tardiness of task j, denoted by T j , is the length of time between the due date and the completion time if j completes after its due date, and 0 otherwise, i.e. T j = [C j -d j ] + . Note that earliness and tardiness are not exactly symmetrical, as the processing time of a task is included in its tardiness but not in its earliness. Figure 2 illustrates on a Gantt chart the earliness of an early task and the tardiness of a tardy task sharing the same due date. The reader can refer to [START_REF] Józefowska | Just-In-Time Scheduling: Models and Algorithms for Computer and Manufacturing Systems[END_REF] for a complete literature review on just-in-time scheduling. In this thesis, we will focus on problems where earliness and tardiness are linearly penalized. For each task j ∈ J, two coefficients are given: α j the unit earliness penalty, and β j the unit tardiness penalty. Each time unit of earliness (resp. tardiness) of task j induces a penalty of α j (resp. β j ). The total earliness-tardiness penalty of a whole schedule is then the following. j∈J α j E j + β j T j

d j = d i 0 | i C i E i j C j T j
In spite of the above linear writing, note that this objective function is not a linear function of the completion times. Indeed, the objective function can also be written as follows. j∈J α j [d j -C j ] + + β j [C j -d j ] + Figure 3 illustrates earliness (resp. tardiness) penalty for a given task j ∈ J as a function of its completion time C j . This function is piecewise linear, and its slope is defined by the unit earliness penalty α j (resp. the unit tardiness penalty β j ). • Common due date problems We will consider two common due date problems, that is where all the tasks share the same due date, which is then only denoted by d, i.e. ∀j ∈ J, d j = d. The objective function for the parameters (α, β) ∈ R + 2 and d ∈ R + , denoted by f α,β,d is then the following.

f α,β,d (C) = j∈J α j [d-C j ] + + β j [C j -d] +
In practice, a common due date problem can reflect a situation where all the clients want to receive their products at the same date, for example when people order their cake to a pastry cook for Sunday 11:00 am. In a more industrial context, we can imagine the following situation: a joiner wants to send its daily production using an electric truck which leaves at 04:00 pm. Since some furniture is bulky, finishing a piece of furniture early will clutter up the small workshop. Earliness penalties reflect this discomfort. Conversely, if a piece of furniture is completed after 04:00 pm, the carpenter could pay an extra cost for a bike delivery: the longer the time to complete, the more the employee has to be payed for its overtime. Tardiness penalties reflect this cost. Finally, minimizing the total earliness-tardiness penalty consists in finding a day's work organization which is the best with regard to both the workshop congestion and extra delivery costs. These two objectives are aggregated in a linear way, then one can give more importance to the one or to the other by tuning the coefficients α j and β j . Moreover, this problem can be seen as part of a problem with distinct due dates if a subset of tasks share the same due date.

The general common due date problem (CDDP) aims at finding a schedule, i.e. C = (C j ) j∈J minimizing the total earliness-tardiness penalty, i.e. f α,β,d , when all the tasks share the same due date.

CDDP Input: a number of tasks n ∈ N the task processing times (p j ) j∈ [1..n] ∈ R n + the task unit earliness penalties (α j ) j∈ [1..n] ∈ R n + the task unit tardiness penalties (β j ) j∈ [1..n] ∈ R n + a common due date d ∈ R + Output: a feasible schedule C = (C j ) j∈ [1..n] minimizing f α,β,d (C)

The instance of CDDP defined by its input parameters will be denoted by CDDP(p, α, β, d).

The unrestrictive common due date problem (UCDDP) is a special case of CDDP when the due date is unrestrictive , that is when d p(J), where for any subset I ⊆ J, and any vector a ∈ R J indexed by J, a(I) denotes the sum j∈I a j . That means that the due date does not restrict the total duration of early tasks. This problem will be denoted by UCDDP, and a given instance of this problem by UCDDP(p, α, β, d).

As an illustration of CDDP and UCDDP instances we provide on page 13 the optimal schedule of 4 given tasks for different due dates.

Different exact methods have been proposed to solve these problems (Cf. Section 0.3). Most of the proposed algorithms are based on dominance properties. Therefore, we present in the next section the dominance properties standing for UCDDP and CDDP, before presenting the resulting algorithms. For each schedule, the total earliness-tardiness penalty is indicated in gray on the right. For example it is 21 for the first schedule. Moreover, for the first schedule only, the penalty induced by each task is detailed in gray. For example, task 2 is early since it completes 5 time units before d, then E 2 = 5 and it induces an earliness penalty of α 2 * E 2 = 1 * 5. Note that all the optimal schedules presented here have a common structure: the tasks are processed consecutively, without idle time. Moreover, in each schedule, there is a task starting at time 0, or a task completing at time d (or both). This is not a coincidence, there always exists an optimal schedule having this structure. Such properties, called dominance properties, are given in the next section.

In spite of their common structure, the optimal schedules can have completely different sequences, that are different task execution orders, when the value of d changes, even slightly. For example, task 2 is first executed in the optimal schedule for d = 5, but last executed for d = 4. 1 For each instance given in this example, there is a unique optimal schedule, therefore we say "the optimal schedule". However, in general, there may be several optimal schedules.

Dominance properties for common due date problems

For a given optimization problem, and a given instance of this problem, 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 the optimal solutions. In both cases, the search of an optimal solution can be limited to the dominant set. For the sake of brevity, we say that a schedule is dominant if it belongs to a dominant set.

Other types of dominance properties exist: dominance between the instances of a given problem and dominance between problems for example. For an overview of the different kinds of dominance properties, illustrated with examples coming from the scheduling field, the reader can refer to [START_REF] Jouglet | Dominance rules in combinatorial optimization problems[END_REF]. Nevertheless, in this thesis, we use dominance property only to designate a property which states, for a given instance, that a solution subset is dominant or strictly dominant.

In order to describe dominant schedules, we first provide some definitions. For a given UCDDP or CDDP instance, we use α-ratio (resp. β-ratio) to designate α j /p j ∈ R + (resp. β j /p j ∈ R + ). Moreover, for a given schedule (C j ) j∈J , a task j ∈ J is said early (resp. on-time, resp. tardy) if it completes at time C j d (resp. C j = d, resp. C j > d). A task j ∈ J is said straddling if it starts before d and completes after d, i.e. C j -p j < d and d < C j . Note that there is at most one on-time task 2 (resp. one straddling task), and that it is an early (resp. tardy) task. There cannot be both an on-time task and a straddling task. Finally, the early-tardy partition of the schedule is (E, T ) where E (resp. T ) is the early (resp. tardy) task subset. We then have J = E T .

In just-in-time scheduling, an idle time designates a time period between two task execution periods during which no task is executed. We define a block as a feasible schedule without idle time, a d-schedule as a feasible schedule with an on-time task; a d-block as a d-schedule which is also a block, a left-block as a block starting at time 0, and a d-or-left-block as a block which is a d-schedule or which starts at time 0, or both. A schedule is said V-shaped [START_REF] Raghavachari | A v-shape property of optimal schedule of jobs about a common due date[END_REF] (resp. -shaped) if early tasks are scheduled in non-decreasing order of their α-ratios and tardy tasks (resp. tasks starting after d) are scheduled in non-increasing order of their β-ratios. Note that being V-shaped or -shaped is equivalent for schedules without straddling task.

α i p i β i p i E T j s d 0

Dominance properties for UCDDP

Some dominance properties for UCDDP with symmetric penalties, i.e. ∀j ∈ J, α j = β j , are given in [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF]. The following lemma extends these results to asymmetric penalties, using the same task shifting and exchange proof arguments. Lemma 0.1 Let p ∈ R J + and (α, β) ∈ R J + ×R J + . Let d ∈ R such that d p(J). The set of d-blocks is dominant for UCDDP(p, α, β, d). The set of blocks is even strictly dominant for UCDDP (p, α, β, d)

if (p, α, β) ∈ R * + J ×R * + J ×R * + J .
The set of V-shaped schedules is strictly dominant for UCDDP (p, α, β, d).

Proof of the block dominance property by shifting arguments : Let us assume that there exists an optimal schedule S * , encoded by the completion times (C j ) j∈J , which is not a block, i.e. presenting an idle time. Necessarily there exists two tasks consecutive (i, j) ∈ J 2 in S * such that there is an idle time between their execution periods, i.e. C j > C i +p j ( ). There are two cases to consider according to the position of this idle time in relation to the due date.

-If d > C i , we set ε = min d-C i , (C j -p j ) -C i . According to the assumption ( ), we have ε > 0.

We also introduce I ⊆ J the subset of tasks placed before task i, including the task i itself. By right-shifting all the tasks in I by ε time units, these tasks stay early (since C i +ε d), but their earliness reduces by ε, inducing a total penalty reduction by ε α(I). If one task in I has a positive unit earliness penalty, we get a contradiction, since S * is supposed to be optimal. Otherwise, α(I) = 0 and this right-shifting results in another schedule having the same total penalty as S * , that is another optimal schedule.

i C i j C j d ε or i C i j C j C j -p j d ε
-If d C i , we set ε = (C j -p j ) -C i . Once again, ε > 0 according to the assumption ( ). We introduce I ⊆ J the subset of tasks placed after task j, including the task j itself. By left-shifting all the task in I by ε time units, these tasks stay tardy (since C j -ε = C i +p j d), except if p j = 0 and C i = d, in which case task j becomes on-time. In all cases, the tardiness of each task in I reduces by ε, inducing a total penalty reduction by ε β(I). If one task in I has a positive unit tardiness penalty, we get a contradiction, since S * is supposed to be optimal. Otherwise, β(I) = 0 and this left-shifting results in another schedule having the same total penalty as S * , that is another optimal schedule.

i C i j C j C j -p j d ε If (p, α, β) ∈ R * + J ×R * + J ×R * + J
, we get a contradiction in both cases. We deduce that there is no idle time in optimal schedules, hence the set of blocks contains all the optimal schedules. If some instance coefficients are null, we cannot conclude to a contradiction, and for a good reason: there might exist optimal schedules with idle times. However, by iterating these shifting operations as long as idle times remain, we finally obtain an optimal block. That shows that blocks are dominant. This iterative procedure finishes since each idle time 3 is removed by one or two shifting operations. It is then necessarily an interval [C i , C j -p j ] for two tasks i and j, and there are at most n-1 idle times in the initial schedule.

Proof of the d-block dominance property by shifting arguments : Here we want to show that an optimal schedule can always be found among the d-blocks. Thanks to the block dominance properties, there exists an optimal schedule S * , encoded by the completion times (C j ) j∈J , which is a block. Let us assume that S * is not a d-block. We denote by j 0 ∈ J (resp. j n ∈ J) the first (resp. last) task in S * . Hence, C j 0 -p j 0 (resp. C jn ) the starting time (resp. completion time) of the block. We also denote by (E, T ) the early-tardy partition of this schedule. There are three cases to consider according to the position of d regarding to C j 0 -p j 0 and C jn , knowing that d = C jn since S * is not a d-block.

-If d > C jn , we set ε = d-C jn . We have ε > 0. By right-shifting the whole block by ε time units all the tasks stay early, but their earliness reduces by ε inducing a total penalty reduction by ε α(J). Moreover, task j n becomes on-time, then the obtained schedule is a d-block and is also an optimal schedule.

j n E d 0 C jn ε
-If d C j 0 -p j 0 , we set ε = C j 0 -d. We have ε > 0 since p j 0 > 0. By left-shifting the whole block by ε time units all the tasks stay tardy except task j 0 which becomes on-time. The tardiness of each task reduces of ε, inducing a total penalty reduction of ε β(J). The obtained schedule, which is a d-block since j 0 is on-time, is then also an optimal schedule.

j 0 T d 0 C j 0 ε -If d ∈]C j 0 -p j 0 , C jn [,
there exists a straddling task j s ∈ J, i.e. C js -p js < d < C js , since the considered schedule is a block but not a d-block.

-If α(E) < β(T ), we set ε = C js -d. By left-shifting the whole block by ε time units, the total tardiness penalty reduces by ε β(T ), while the total earliness penalty raises by ε α(E), which represents a reduction of the total penalty by ε β(T )-α(E) > 0. Contradiction.

E T j s d 0 ε + ε α(E) -ε β(T ) ε ε E E T T j t = j s d 0 -If α(E) > β(T ), we set ε = d -(C js -p js )
. By right-shifting the whole block by ε time units, the total earliness penalty reduces by ε α(E), while the total tardiness penalty raises by ε β(T ), which represents a reduction of the total penalty by ε β(T )-α(E) > 0. Contradiction.

-If α(E) = β(T ), there is an infinite number of optimal schedules which are not d-block: all those obtained by left-shifting the whole block by ε < C js -d and all those obtained by right-shifting the whole block by ε < d -(C js -p js ). However, there also exists an optimal d-block, since there is at least the one obtained by a C js -d left-shifting in which j s is on-time.

Finally, in the three cases an optimal d-block can be derived from the initial optimal block.

Proof of the V-shaped dominance property by exchange arguments : Let us assume that there exists an optimal schedule S, which is not V-shaped. Using the block dominance property proof, we can transform S into an optimal block S * without changing neither the early-tardy partition, nor the task sequence. Let (C j ) j∈J denote the task completion times in S * . At least one of the two following cases occurs.

-Early tasks are not scheduled in the non-decreasing order of their α-ratio, then there exist two consecutive early tasks (i, j) ∈ J such that i is placed before j, i.e. C i +p j = C j d, but has a larger α-ratio, i.e. α i p i > α j p j . By swapping tasks i and j, that is by completing task i at time C j and task j at time (C i -p i )+p j , the earliness of task i reduces by p j time units, while the earliness of task j raises by p i time units. That results in a reduction of the total penalty of -α i p j + α j p i > 0. Contradiction.

i j

C i C j d E j E i i j C i C j d E i E j
-Tardy tasks are not scheduled in the non-increasing order of their β-ratio, then there exist two consecutive early tasks (i, j) ∈ J such that i is placed before j, i.e. d C i and C i +p j = C j , but has a smaller β-ratio, i.e. β i p i < β j p j . By swapping tasks i and j, that is by scheduling task i to complete at time C j and task j to complete at time (C i -p i )+p j , the tardiness of task i raises by p j time units, while the tardiness of task j reduces by p i time units. That results in a reduction of the total penalty of β i p j -β j p i > 0. Contradiction.

We deduce that S * is V-shaped, then S is V-shaped too.

The Lemma 0.1's dominance properties are of major importance as all the results given in Section 0.3.2, as well as the formulations of UCDDP provided in Section 0.5 are derived from these dominance properties Moreover, using Lemma 0.1, we can make some assumptions on parameters p, α, β of the UCDDP without loss of generality.

• Assuming that d = p(J) without loss of generality An important point to notice is that the total earliness-tardiness penalty of a d-block only depends on the task sequence for both sides of the due date, no matter neither the value of the due date nor the task completion times. This allows to solve all the unrestrictive instances by solving only the one with d = p(J) for instance. We illustrate this remark on an example, before using the dominance properties to prove it.

Example 1 (continued) : Equivalence of all the unrestrictive instances

Let us consider again the 4 tasks and the optimal schedules introduced in Example 1 on Page 13. In the optimal d-block for the unrestrictive instance with d = p(J) = 11, the total length of early tasks is ∆ = p 2 +p 1 +p 3 = 9. Therefore, for any d ∆, shifting the whole block such that task 3 completes at d, as represented below, always provides a d-block of total penalty 21. In addition, this schedule is necessary optimal, which can be proved by a converse shifting argument.

1 2 3 4 → 21 d 9
Thanks to the d-block dominance, the optimal value does not depend on the value of d (provided that d is unrestrictive). Indeed, let us consider an instance UCDDP(p, α, β, d) where d > p(J), and consider d = p(J) as a new due date. In addition, let us consider a d-block S, and denote by (E, T ) its early-tardy partition. By definition, S starts at time s = d-p(E). Since E ⊆ J, we have s -(d-d ) = -p(E) + p(J) 0. That ensures that we can left-shift S by d-d time units without violating the non-negativity constraint. The obtained schedule S is a d -block, and each task has exactly the same earliness (resp. tardiness) in S with respect to d as in S with respect to d . It follows that S as a solution of UCDDP(p, α, β, d) and S as a solution of UCDDP (p, α, β, d ) have the same value. More generally, there exists a one-to-one correspondence preserving the objective function between the dominant sets for these two instances: solving UCDDP (p, α, β, d ) is thus equivalent to solving UCDDP(p, α, β, d).

• Assuming that ∀j ∈ J, p j > 0 without loss of generality Thanks to the d-block dominance, we can only consider tasks having a positive processing time. Indeed, let us assume that there exists a task j ∈ J having a zero processing time, i.e. p j = 0. In any d-block, the task j can be moved at d, since no task is processing at time d (there is no straddling task). This move does not impact other tasks. Moreover, it does not increase the penalty induced by task j, since j incurs no penalty when it is placed at d. We deduce that the set of d-blocks where j is processed at d is dominant. Since removing task j does not change the schedule penalty when j is placed at time d, there is a one-to-one correspondence preserving the total penalty between this dominant set and the set of the d-blocks for J\{j}. We deduce that an optimal d-block for J\{j} corresponds to an optimal d-block for J. In other words, it suffices to solve the problem for the instance where the zero processing time task j has been removed.

• Assuming that ∀j ∈ J, β j ∈ R * + without loss of generality Moreover, we can only consider tasks having positive unit tardiness penalties. Indeed, let us assume that there is a task j ∈ J having a zero unit tardiness penalty, i.e. β j = 0. In any d-block, the task j can be moved at the end of the schedule without impacting other tasks. This move does not raise the penalty induced by j, since placed tardy, j incurs no penalty. If this move produces an idle time, we transform the obtained schedule into a d-block by right-shifting some early tasks or by left-shifting some tardy tasks. In both cases, that does not raise again the penalty. We deduce that the set of d-blocks where j is processed last is dominant. Since removing task j from such a schedule does not change its penalty, there is a one-to-one correspondence preserving the penalty between this dominant set and the set of the d-blocks for J \{j}. We deduce that an optimal d-block for J \ {j} corresponds to an optimal d-block for J. In other words, it suffices to solve the problem for the instance where the zero unit tardiness penalty task j has been removed.

• Assuming that ∀j ∈ J, α j ∈ R * + without loss of generality Thanks to the unrestrictiveness of d, we can also only consider tasks having positive unit earliness penalties. We almost follow the same line as above, but we have here to use the assumption d p(J). Let us assume there is a task j ∈ J with a zero unit earliness penalty, i.e. α j = 0. Let us consider a d-block, and denote by (E, T ) its early-tardy partition. We check that task j can be moved at the beginning of this d-block to obtain a d-block with a non-larger penalty.

-If j ∈ T , we want to place j such that j completes at d -p(E) (and then necessarily starts at d -p(E) -p j ). Since j ∈ E, we have p(E) + p j p(J). Since d p(J), we deduce that d-p(E)-p j 0, that is processing a task between d-p(E)-p j and d-p(E) respects both nonnegativity and non-overlapping constraints. The task j can thus be moved at the beginning of the d-block. This move does not increase the total penalty since, placed early, j incurs no penalty. By left-shifting some tardy tasks, we transform the obtained schedule into a d-block, without increasing the total penalty.

-If conversely j ∈ E, then we can first remove task j, then right-shift the early tasks placed before j so that there is no more idle time, which does not raise their earliness penalties, and finally place j at the beginning of the schedule, which induces no penalty since j is placed early. This operation produces a d-block with a lower penalty.

We deduce that the set of d-blocks where j is scheduled first is dominant. As previously done, we establish a one-to-one correspondence preserving the total penalty between this dominant set and the set of the d-blocks for J \{j}, and deduce that it suffices to solve the problem for the instance where the zero unit earliness penalty task j has been removed.

Thanks to the previous remarks, an instance of UCDDP will be defined by

p ∈ R * + J , α ∈ R * + J and β ∈ R * +
J in the sequel. The due date will be implicitly fixed at d = p(J). Such an instance will be denoted UCDDP(p, α, β).

Dominance properties for CDDP

In the general case, the dominance of the d-blocks is no longer valid. Indeed, since the total length of the early tasks is limited by d, some tasks are tardy even if they would have a lower penalty scheduled early. Figure 8 shows that the penalty of the left-block4 is smaller than the penalty of the d-block for two identical tasks characterized by p j = 3, α j = 2, β j = 4, for j ∈ {1, 2} S 1 The following lemma gives dominance properties already known for the common due date problem with symmetric penalties (Cf. [START_REF] Hoogeveen | Scheduling around a small common due date[END_REF] and [START_REF] Hall | Earliness-tardiness scheduling problems, II: deviation of completion times about a restrictive common due date[END_REF]). These results have been extended to asymmetric penalties in [START_REF] Falq | Mixed integer formulations using natural variables for single machine scheduling around a common due date[END_REF], using the same task shifting and exchange proof arguments. The proof is omitted since it is very similar to Lemma 0.1's proof.

α 1 E 1 = 2×0 2
β 2 T 2 = 4×3 0 | d → 12 S 1 α 1 E 1 = 2×1 2
β 2 T 2 = 4×2 0 | d → 10
Lemma 0.2 Let p ∈ R J , (α, β) ∈ R J + ×R J + , and d ∈ R + . The set of d-or-left-blocks is dominant for CDDP(p, α, β, d).
The set of -shaped schedules is strictly dominant for CDDP(p, α, β, d).

Note that the -shaped property gives no information about the straddling task β-ratio. This remark is more fully discussed in Section 0.5.3.

• What we can assume about CDDP instance parameters without loss of generality

In a CDDP instance, the due date can be restrictive (i.e. d < p(J)). In this case left-shifting a d-block by d-p(J) time units can result in a schedule starting before time 0, which is thus unfeasible. Therefore, we cannot assume that d = p(J) for CDDP instances. Similarly, the arguments used to show that we can assume that ∀j ∈ J, α j > 0 are not still valid for a restrictive due date. We provide a counter-example below (Cf. page [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF] Conversely, the arguments establishing that we can assume that ∀j ∈ J, p j > 0 and β j > 0 are still valid for an unrestrictive due date.

Thanks to the previous remarks, in the sequel a CDDP instance will be defined by

p ∈ R * + J , α ∈ R + J , β ∈ R * + J and d ∈ R + .
Counter-example 1 : We cannot assume without loss of generality that ∀j ∈ J, α j > 0 for CDDP Let us consider the following instance of CDDP with a task having a 0 unit earliness penalty (task 1).

J = [1..3], d = 6, p 1 = 5, α 1 = 0, β 1 = 1, p 2 = 3, α 2 = 2, β 2 = 2, p 3 = 2, α 3 = 2, β 3 = 2,
For this instance it is not possible to follow the solving approach described on page 18 by setting aside task 1. Indeed, if we solve the problem for J = {2, 3}, we may obtain the optimal solution where task 2 is on-time, and task 3 starts at time d (another optimal solution starting earlier exists). This schedule starts at time 3, which does not allow to place task 1 of length 6 before while satisfying the non-negativity constraint.

According to Lemma 0.2, an optimal schedule can be found among the -shaped d-or-left-blocks. The following figure presents the -shaped d-or-left-blocks for this instance. For each schedule, the total penalty is written in gray on the right, moreover the task penalties are detailed under each one. One can check that all the -shaped d-or-left-blocks are represented. Indeed, in such a schedule, if they are early, task 1 must be placed before task 2, itself placed before 3 since

α 1 p 1 = 0 < α 2 p 2 = 2 3 < α 3 p 3 = 1
, while if they are tardy, task 3 must be placed before task 2, itself placed before 1 since

β 3 p 3 = 1 > β 2 p 2 = 2 3 > β 1 p 1 = 1 5 . 1 0 * 1 2 2 * 4 2 * 1 3 → 10 d 0 1 0 * 0 2 2 * 5 2 * 2 3 → 14 d 0 1 1 * 4 2 2 * 3 2 * 1 3 → 12 d 0 1 1 * 5 2 2 * 2 2 * 0 3 → 9 d 0 1 1 * 7 2 2 * 0 2 * 2 3 → 11 d 0 1 1 * 8 2 2 * 3 2 * 0 3 → 14 d 0
The optimal schedule with a total penalty equals to 9, is a d-block where task 1 is tardy. Moreover, the schedules where task 1 is early are not optimal. That shows that we cannot say that it is always better to schedule early the tasks having a zero unit earliness penalty.

Algorithms for the common due date problems

This section presents different algorithms provided in the literature for solving some common due date problems, along with complexity results. Several sub-problems of UCDDP and CDDP, obtained by making assumptions on α and β, are considered. Other related problems are presented.

A polynomial algorithm for UCDDP when unit earliness and tardiness penalties do not depend on the task

• Kanet algorithm Kanet [START_REF] Kanet | Minimizing the average deviation of job completion times about a common due date[END_REF] considers UCDDP in the particular case where all the unit earliness or tardiness penalties are equal, i.e. ∀j ∈ J, α j = β j = c for c ∈ R. This minimization problem, which does not depend on the constant c, is also called the mean absolute deviation minimization problem, since for c = 1 n the objective function can be written as follows.

j∈J α j E j +β j T j = 1 n j∈J E j +T j = 1 |J| j∈J [d-C j ] + +[C j -d] + = 1 |J| j∈J |C j -d|
However, for the sequel, we assume that c = 1. Using V-shaped d-block dominance property, Kanet [START_REF] Kanet | Minimizing the average deviation of job completion times about a common due date[END_REF] provides for this problem an exact O(n log(n)) algorithm Let us present this algorithm. Once the number of early (resp. tardy) tasks n E (resp.

n T = n -n E ) is fixed, we know that, for k ∈ [1..n E ] (resp. k ∈ [1..n T ]
), placing j at the k-th (resp. n+1-k-th) position in a d-block contributes for (k-1) p j (resp. k p j ) to its total penalty. Finding an optimal schedule for (n E , n T ) is then equivalent to an assignment problem: it then suffices to sort tasks by decreasing processing times and assign them to the lower penalty positions, that is going from the external positions to the central ones by alternating the right and left side of d. Following this assignment procedure, the obtained schedule is a V-shaped d-block, whose total penalty depends on (n E , n T ). Using the expression of this total penalty, one can ensure that it is minimal for n E = n 2 and n T = n 2 . On page 23, we give a proof of these results within a more general framework where earliness and tardiness can have different weights. The following example illustrates the Kanet's algorithm course.

Example 3 : The Kanet's algorithm course on a 4-task instance

We consider the 4-task instance depicted on the top right, which is formally defined by

J = {1, 2, 3, 4}, p 1 = 4, p 2 = 1, p 3 = 2, p 4 = 3.
The first step of the algorithm is to sort the tasks by decreasing processing times (a).

Then the sequence is fixed by distributing tasks, from the external position to the central position, alternating early and tardy side, starting on the early one (b -e). Here, the longest task 1 is placed on the early side, at the first position (b). Then the second longest task 4 is placed on the tardy side, at the last position (c). The third longest task 3 is placed on the early side, between the already placed early tasks and d, that is at the second position (d). The shortest task 2, is placed on the tardy side, between d and the already placed tardy tasks, that is in second last position (e).

The schedule is finally obtained from this sequence by gathering the tasks around d (f).

d | d | d | d | d | 1 2 3 4 1 4 3 2 (a) 1 (b) 1 4 (c) 1 4 3 (d) 1 4 3 2 (e) 1 4 3 2 (f)
• Extension of Kanet's algorithm for distinct earliness and tardiness penalties Bagchi, Chang, and Sullivan [START_REF] Bagchi | Minimizing absolute and squared deviations of completion times with different earliness and tardiness penalties and a common due date[END_REF] adapt the Kanet's algorithm to handle instances where unit earliness and tardiness penalties are distinct but still do not depend on the tasks, i.e. ∀j ∈ J, α j = α 0 ∈ R * + and ∀j ∈ J, β j = β 0 ∈ R * + . As Kanet did for the case where α 0 = β 0 , they provide an O(n log(n)) algorithm which consists in first sorting the tasks by non-decreasing processing times, and then place them successively, in E if α 0 |E| < β 0 (|T |+1) and in T otherwise. This algorithm results in a d-block where the number of tardy tasks n E is γ or γ +1 if γ = n β 0 α 0 +β 0 is integer, and is γ otherwise. We provide below a proof of this result. Note that this proof is different from the one proposed in [START_REF] Bagchi | Minimizing absolute and squared deviations of completion times with different earliness and tardiness penalties and a common due date[END_REF].

Proof : Let (n E , n T ) ∈ N 2 such that n E +n T = n. Let S a schedule having exactly n E early tasks and n T tardy ones. Let a ∈ F([1..n E ], J) (resp. b ∈ F([1..n T ], J)) such that a(k) (resp. b(k))
is the task placed at the k-th position before d (resp. after d) in S.

a(1) a(2) . . . a(k) . . . a(n E ) b(1) b(2) . . . b(k) . . . b(n T ) 0 | d E a(k) = k <k p a(k ) T b(k) = k k p b(k )
The total penalty of S can then be written as follows.

α 0 j∈J E j + β 0 j∈J T j = α 0 n E k=1 E a(k) + β 0 n T k=1 T b (k) = α 0 n E k=1 k-1 k =1 p a(k ) + β 0 n T k=1 k k =1 p b(k ) = α 0 n E k =1 n E k=k +1 p a(k ) + β 0 n T k =1 n T k=k p b(k ) = α 0 n E k =1 (n E -k ) p a(k ) + β 0 n T k =1 (n T -(k -1)) p b(k )
The problem of finding a schedule S with n E early tasks and n T tardy ones that minimizes the total penalty is thus equivalent to find how to assign each p j , either to an early position k ∈ [1.

.n E ] whose cost is α 0 (n E -k), or to a tardy position k ∈ [1..n T ] whose cost is β 0 (n T -k +1). For given (n E , n T ), let us denote by z(n E , n T ) the cost of optimal assignments. The value of an optimal schedule (for the initial problem) is then min{z

(n E , n T ) | n E + n T = n}.
Using exchange arguments, one can prove that an optimal solution for such assignment problem is obtained by assigning the longest processing times to the lowest costs. Moreover, one can note that the more (n E , n T ) offers positions with a small cost, the smaller is the cost of the best assignment, i.e. z(n E , n T ). In particular, this argument allows us to deduce the following necessary conditions on (n E , n T ) ∈ N 2 to minimize z.

(n E , n T ) ∈ arg min u+v=n z(u, v) ⇒ z(n E , n T ) z(n E +1, n T -1) z(n E , n T ) z(n E -1, n T +1) ⇒ α 0 n E β 0 n T β 0 (n T +1) α 0 (n E -1) ⇒ α 0 n E β 0 (n-n E ) β 0 ((n-n E )+1) α 0 (n E -1) ⇒ (α 0 +β 0 ) n E β 0 n β 0 n (α 0 +β 0 ) (n E -1) ⇒ n E γ γ (n E -1) ⇒ n E ∈ [γ, γ +1]∩N
Note that z necessary admits a minimizer over the finite set of possible couples (n E , n T ). Moreover, one can check that the value of z is the same for all couples (n E , n-n E ) such that n E ∈ [γ, γ +1]∩N. Therefore, the previous implications are in fact equivalences.

This proves that the original scheduling problem can be solved by first fixing (n E , n T ) as presented according to the parameters α 0 , β 0 and n, and then assigning the different processing times to the different positions for the costs mentioned above.

• What is really an unrestrictive instance for Kanet algorithm One can note that the sequence of the d-block provided by Kanet's algorithm does not depend on the due date d p(J). More precisely, neither the sequence, nor the on-time task depend on d. Indeed, for a larger due date d d, it suffices to right-shift the whole d-block by d -d time units to obtain an optimal schedule. For a smaller due date d d, we can similarly left-shift the whole d-block by d-d time units, assuming that d is larger than the total length of early tasks, otherwise this left-shifting produces a schedule which does not satisfy the non-negativity constraint.

Let us define a sequence as a total strict order on the set of tasks, a pointed sequence as a sequence provided with an on-time task. One can consider that Kanet's algorithms takes as only input the processing times, and that it provides as output a pointed sequence, rather than a schedule. The optimal schedule is directly deduced from this pointed sequence as soon as a large enough due date is given.

A priori the minimal suitable value for the due date is simply the total length of the early5 tasks in the pointed sequence. However, the sequence can be chosen so as to minimize this length, as proposed by Bagchi, Chang, and Sullivan in [START_REF] Bagchi | Minimizing mean absolute deviation of completion times about a common due date[END_REF]. Indeed, for each k ∈ [1.. n 2 ], the (k+1)-th position and the (n+1-k)-th position in the sequence have the same cost, namely k. Therefore, when the only goal is to find a minimum penalty sequence, like in the Kanet's algorithm, the 2k-th and the (2k+1)-th longest tasks can be placed arbitrarily at these two positions, since it results in two pointed sequences having the same penalty. On the contrary, Bagchi, Chang, and Sullivan impose how to place these two tasks in order to minimize the total length of early tasks: the shortest (i.e. the 2k-th longest tasks of the instance) has to be placed early (i.e. at the (k+1)-th position) and the longest (i.e. the (2k +1)-th longest tasks of the instance) has to be placed tardy (i.e. at the (n+1-k)-th position).

Let us denoted by ∆ the total length of early tasks in the resulting sequence. For any d ∆, this O(n log n) algorithm provides an optimal solution, therefore one can say that an instance is "really restrictive" when d < ∆. However, in the sequel, we keep the definition of unrestrictive due date given previously, that is d p(J).

A pseudo-polynomial algorithm for UCDDP when unit earliness and tardiness penalties are symetric

Hall and Posner [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF] study UCDDP in the case of symmetric earliness-tardiness penalties, i.e. ∀j ∈ J, α j = β j . In this case, the unit penalties are simply denoted (w j ) j∈J . Moreover, they assume that processing times are integer. The problem is then called weighted earliness-tardiness problem (WETP).

WETP

Input: a number of tasks n ∈ N the task processing times (p j ) j∈ [1..n] ∈ N n the task unit earliness-tardiness penalties (w j ) j∈ [1..n] ∈ R n + a common due date d ∈ R + such that d p(J)

Output: a feasible schedule C = (C j ) j∈[1..n] minimizing f w,w,d (C)
• Complexity results Hall and Posner [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF] show that WETP is NP-hard by reduction from the even-odd partition problem (EOPP), which is shown be NP-hard in [START_REF] Michael | One-processor scheduling with symmetric earliness and tardiness penalties[END_REF].

EOPP

Input: (a i ) i∈ [1..2n] ∈ (N * ) 2n sorted in increasing order Output: yes if there exists a bi-partition {U,

V } of [1..2n] s.t        i∈U a u = v∈V a v ∀k ∈ [1..n], {2k-1, 2k} ∩ U = ∅ ∀k ∈ [1..n], {2k-1, 2k} ∩ V = ∅ no otherwise
Since UCDDP is more general than WETP, that implies that UCDDP is NP-hard. More precisely UCDDP is weakly NP-hard since it can be solved by a pseudo-polynomial algorithm proposed in [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF] (Cf. below).

• A pseudo-polynomial algorithm based on dynamic programming Hall and Posner [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF] propose a dynamic programming algorithm to exactly solve UCDDP for symmetric penalties. Let us present this algorithm based on the V-shaped d-block dominance property. Let us assume that tasks are sorted by non-increasing w-ratio, i.e. w j /p j does not increase when j raises. Without loss of generality, we consider only the d-blocks for which early (resp. tardy) tasks are scheduled in decreasing (resp. increasing) order of their indices. Note that, in such schedules, for any k ∈ [1..n+1], tasks [1..k -1] are placed consecutively around d: in other words, they form a d-block. .n] can be computed by reverse induction using the following recurrence relation.

f k (e) = min f k+1 (e+p k ) + w k e, f k+1 (e) + w k p [1..k] -e
Indeed, let us assume that tasks [1..k-1] are already scheduled so as to form a d-block starting e time units before d, and consider a schedule S optimally completing this block. According to previous observations, task k can only hold at two positions.

→ Either k is placed just before the block, that is with an earliness of e. In this case, k induces an earliness penalty of w k e, and, by optimality of S, tasks [k+1.

.n] induce a penalty of f k+1 (e+p k ), otherwise they would be rescheduled so as to reach this smaller penalty.

→ Or k is placed just after the block, that is with a tardiness of p [1..k -1] -e + p k . In this case, k induces an tardiness penalty of w k p [1.

.k] -e , and tasks [k+1.

.n] induce a penalty of f k+1 (e), since S is optimal.

This results in a dynamic programming with O n p(J) states. Even if this number can be divided by two using other arguments proposed in [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF], the algorithm is still pseudo-polynomial. Indeed, p(J) is the time horizon, but not the problem size. For some instances, p(J) can be exponential with respect to the problem size.

Remark 0.3

The Hall and Posner's algorithm can also be used for non-symmetric penalties provided that there exists a single order σ such that tasks are sorted both by non-increasing α-ratios and non-increasing β-ratios.

Algorithms for CDDP

Hoogeveen and Van de Velde [START_REF] Hoogeveen | Scheduling around a small common due date[END_REF] study CDDP in the case of symmetric earliness-tardiness penalties, i.e. ∀j ∈ J, α j = β j . As previously, the unit penalties are then simply denoted (w j ) j∈J . Moreover, they assume that processing times are integer.

• Complexity results

To establish the complexity of the problem, Hoogeveen and Van de Velde [START_REF] Hoogeveen | Scheduling around a small common due date[END_REF] consider the sub-case of task-independent unit penalties, i.e. ∀j ∈ J, w j = c for a constant c ∈ R, with a restrictive due date, i.e. d < p(J). They show that EOPP reduces to this problem. This proves that CDDP is NP-hard even if all unit penalties are equal. More precisely, CDDP is weakly NP-hard as soon as unit penalties are symmetric, since it can be solved by a pseudo-polynomial algorithm proposed by Hoogeveen and Van de Velde [START_REF] Hoogeveen | Scheduling around a small common due date[END_REF]. This algorithm is based on the -shaped d-or-left-block dominance property. The dominant set is decomposed into two subsets so that the schedules of the same subset share the same structure: on one hand the d-blocks, on the other hand the left-blocks. An optimal schedule is obtained by comparison of the best schedules within each subset. These optimal schedules are computed separately, using a different dynamic programming algorithm. Let us present both algorithms.

• A pseudo-polynomial algorithm for the best d-block when unit penalties are symmetric Note that a -shaped d-block is a V-shaped d-block as well. Therefore, as done for the unrestrictive case, one can consider only the d-blocks for which early (resp. tardy) tasks are scheduled in decreasing (resp. increasing) order of their indices, provided that tasks have been sorted by non-increasing wratio. Then in any considered d-block, for any k ∈ [0..n], tasks [1..k] form a d-block starting at time d-e, where e = p E ∩[1..k] ∈ N. This results in a dynamic programming with O n d states.

• A pseudo-polynomial algorithm for the best left-block when unit penalties are symmetric In a left-block, one cannot say how the tasks are placed regarding to d. However, one knows that it starts at time 0 and completes at time p(J). Therefore, the dynamic programming algorithm proposed here does not consider a central block but two blocks. One block to the left, starting at time 0, which is then a left-block, and completing before or at d, and one block to the right, completing at time p(J), and starting after or at d.

Moreover, another difference with the d-blocks, is the -shaped property instead of the V-shaped property. That implies that one cannot know which is the straddling task, it is not necessarily the one with the largest ratio even if it is the first tardy task. Therefore, we compute successively for each j s ∈ J the best left-block in which j s is the straddling task, and finally deduced the optimal left-block by comparison. To explain how, let us set j s ∈ J, and assume that tasks are sorted by non-increasing w-ratio (that is in the converse order to the previous one!). We consider only left-blocks where j s is the straddling task and in which early (resp. tardy) tasks are scheduled in increasing (resp. decreasing) order of their indices. In addition, for any .n]∪{j s } +l and completing at time p(J). Tasks [k+1..n] * ∪{j s } form a block in the middle. .k] * ), in particular when k = 0 and l > 0. Conversely, f 0 (0) = 0. Since the starting time of the straddling task j s is not known a priori, the total penalty of an optimal left-block in which j s is the straddling task is given by min l∈[d-p js ..d] f n (l).

[1..k] * ∩E j s [k+1..n]∪{j s } l l [1..k] * ∩T d 0 p(J) p(J)-p([1..k] * )-l = p [k+1..n]∪{j s } +l j j
The value of f k (l) for k ∈ [1.

.n] and l ∈ [0..d] can be computed by induction using the following recurrence relation. This results in a dynamic programming with O n p(J) states, which as to be repeat n times to consider all possible straddling tasks.

f k (l) =    f k-1 (l) if k = j s min f k-1 (l-p k ) + w k (d-l), f k-1 (l) + w k p [k+1..n]∪{j s } +l+p k -d otherwise Indeed, in

Remark 0.4

Like the Hall and Posner's algorithm, both Hoogeveen and Van De Velde algorithms can be used for non-symmetric penalties provided that there exists a single order σ such that tasks are sorted both by non-increasing α-ratios and non-increasing β-ratios.

• A heuristic for CDDP, along with a benchmark Biskup and Feldmann [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF] propose two heuristics algorithm for CDDP, without any assumptions on the unit penalties.

In contrast with the exact algorithms proposed above, these heuristic algorithms are not exactly based on dominance properties since they consider onlyV-shaped d-blocks, which do not form a dominant set for an arbitrary due date. As we will explain in Section 0.5, the total penalty of such a schedule can be computed from the partition between early and tardy tasks only. Therefore, both heuristic algorithms proposed by Biskup and Feldmann consist in building an early-tardy partition (E, T ).

The first heuristic algorithm starts with E = ∅ and T = J. At each step, the penalty variation induced by moving j from T to E. is compute for each task j ∈ T such that p j d-p(E). If no such task induces a penalty reduction, the algorithms stops and returns the V-shaped d-block associated with the partition (E, T ). Otherwise, the task inducing the largest reduction is removed from J and added to E.

The second heuristic algorithm starts with E = ∅ and T = ∅. Tasks are considered one by one by decreasing β-ratio. While |E| < n/2 , if the considered task j satisfies p j d-p(E), then j is added to E, otherwise j is added to T . When n/2 tasks have been added to E, all the remaining tasks are added in T , However, these tasks are considered by decreasing β-ratio once again in order to decide if they stay in T or not: a task is moved from T to E if it induces a penalty reduction.

These algorithms provide a feasible schedule which is not necessary optimal, and no guarantee is provided to bound the ratio of its penalty over the penalty of an optimal schedule. To assess the efficiency of their algorithms, the authors provide a benchmark with both restrictive and unrestrictive instances, with arbitrary penalties. Both algorithms succeed in providing a solution within few seconds, even for large instances (n = 1000). However, authors can only evaluate the quality of these solutions for small instances (n = 10), since they have no exact methods to solve large instances. For these small instances, the penalty of the provided solutions is close to the optimal value for a restrictive due date (the average gap over the ten instances is 6.7%) and very closed when the due date is unrestrictive (9 over the 10 instances are solved to optimality).

In order to compare the heuristic that we proposed in Section 6.3 for UCDDP, we implement the more promising6 of the Biskup and Feldmann's algorithms. Therefore, we are able to evaluate the quality of the solutions provided by their heuristic for lager size instances (n = 200): they are very good since the average gap for unretsrictive instances is 0.1%, Cf. Table 6.3 on page 181. However, these solutions can be improved by a local search algorithm proposed in Section 6.3.

• Algorithms designed for more general problems A generalization of CDDP is the single machine scheduling problem with distinct due dates, in which each task j ∈ J has its own due date d j . The earliness (resp. tardiness) of j is then

E j = [d j -C j ] + (resp. T j = [C j -d j ] +
). The algorithms designed to solve this problem can be used to solve CDDP. Among them, one can cite the Branch-and-Bound algorithm proposed by Sourd [START_REF] Sourd | New exact algorithms for one-machine earliness-tardiness scheduling[END_REF], which have been tested on the Biskup and Feldmann benchmark. This algorithm is able to exactly solve instances up to size 1000 within 1400 seconds at most. To the best of our knowledge, this algorithm is the most efficient for solving to optimality UCDDP and CDDP.

Araki, Fujikuma and Tanaka [START_REF] Tanaka | An exact algorithm for single-machine scheduling without machine idle time[END_REF] propose a Successive Sublimation Dynamic Programming (SSDP) algorithm to solve a general single machine scheduling problem, where the penalty of a schedule can be written as j∈j f j (C j ), where, for any task j, f j is an integer-valued function. This kind of functions covers all the cases where the total penalty of a schedule is the sum of the penalty of each task, and the latter only depends on the task completion time. In particular, that covers function f α,β,d . However, no experimental results are given for common due date problems but only for distinct due date problems.

The complexity results given in the last three sections are contextualized in the next section, in which we propose an overview of the complexity results known for problems related to UCDDP and CDDP.

Due date related scheduling problems

On page 32, we propose a cartography of single machine scheduling problems related to CDDP. More precisely, all the problems represented can be derived from CDDP by changing assumptions on the due date, the processing times, and/or the unit penalties, or by adding some assumptions. Note that, in spite of their name, some assumptions induce no restriction on the instances. For example, "restrictive due date" is only written by opposition to "unrestrictive due date", and means that the due date is not necessarily unrestrictive, i.e. d can be arbitrarily chosen smaller or greater than p(J). To avoid misunderstanding, the following table specifies the different assumptions appearing on the cartography.

-Assumptions on the due date:

-distinct due dates means that each task j has its own due date d j . These due dates are not necessarily distinct.

common due date means that ∀j ∈ J, d j = d.

-restrictive for a common due date d means that d can be small.

-unrestrictive for a common due date d means that d p(J).

-Assumptions on the unit earliness and tardiness penalties:

symmetric penalties means that earliness and tardiness are penalized in the same way, i.e. ∀j ∈ J, α j = β j . The unit penalty of task j is then denoted by w j .

-arbitrary penalties conversely means that the earliness and the tardiness of each task j are penalized according to different parameters α j ans β j . It is not necessary that α j = β j .

task-independent penalties means that ∀j ∈ J, α j = α and β j = β for given α and β -task-dependent penalties means that each task j has its own unit penalties α j and β j . These penalties are not necessarily distinct from a task to another.

-Assumptions on the processing times:

p i = p means that all the tasks have the same processing time, i.e. ∀j ∈ J, p j = p p j = w j for symmetric penalties (w j ) j∈J means that ∀j ∈ J, p j = w j -Additional assumption:

-fixed sequence means that a task sequence is given in the instance, Each problem is represented by a rectangle divided in two parts: the left part gives its definition while the right part gives its complexity, if it is known. In addition, some explanations are given in gray on the right part, either to justify why the problem is NP-hard, or to specify its complexity when the problem is in P.

• How to read this cartography

The idea is to start from a problem, like UCDDP, and then browse the cartography going from a problem to another following the arrows. Indeed, an arrow is represented from a problem to another if only one assumption is added or removed. However, problems can also be considered by batch of four problems differing from each other only on assumptions about unit penalties. Such batches are highlighted using mauve ellipses in background.

• Changes making a problem hard or conversely easy Starting from the problem studied by Kanet (unrestrictive common due date, all unit penalties being equal), which is solvable in O(n log n), three assumptions makes the problem NP-hard when they are relaxed.

-By relaxing the due date unrestrictiveness, the problem becomes weakly NP-hard as shown by

Hoogeveen and Van De Velde [START_REF] Hoogeveen | Scheduling around a small common due date[END_REF].

-By relaxing the due date unicity, the problem becomes NP-hard as shown by Garey, Tarjan, and Wilfong [START_REF] Michael | One-processor scheduling with symmetric earliness and tardiness penalties[END_REF].

-By relaxing the task-independence of unit penalties, the problem becomes weakly NP-hard as shown by Hall and Posner [START_REF] Hall | Earliness-tardiness scheduling problems, I: weighted deviation of completion times about a common due date[END_REF].

Conversely, NP-hard problems can become solvable in polynomial time by assuming that all processing times or all α and β-ratios are equal, or when a task sequence is given.

The cartography given on the next page concludes our state of the art for the scheduling field. In the next section, we introduce the linear programming-from what is an LP to what is a Branchand-Cut algorithm-and present some linear formulations for single machine scheduling problems.

KANET [START_REF] Kanet | Minimizing the average deviation of job completion times about a common due date[END_REF] unrestrictive ∈ P common due date

O(n log n) task-independent symmetric penalties → α i = β i =
→ α i = β i = ω i unrestrictive ∈ P common due date O(n log n) task-dependent symmetric penalties → α i = β i = ω i p i = p [21] unrestrictive ∈ P common due date O(n) task-dependent symmetric penalties → α i = β i = ω i ω i = p i [21]
restrictive NP-hard common due date by reduction from EOPP [START_REF] Hoogeveen | Scheduling around a small common due date[END_REF] task-independent symmetric penalties weakly NP-h.

O(n 2 d) → α i = β i = 1 restrictive O(n) common due date task-independent symmetric penalties → α i = β i = 1 p i = p [22]
HOOGEVEEN and VAN

i , α i ) i∈I ∈ R I . min{ c•x | ∀i ∈ I, a i •x α i }
Such an LP can be solved in polynomial time (with respect to the LP size) using the interior-point method proposed by Karmarkar in 1984 [START_REF] Karmarkar | A new polynomial-time algorithm for linear programming[END_REF]. Moreover, several LP-solvers are available to solve such problems. Even though they are based on the simplex algorithm proposed by Dantzig in 1947, which can require exponentially-many computation steps, these solvers are efficient in practice, and broadly used.

From a geometrical point of view, the solution set of an LP is a polyhedron, since each inequality is satisfied by an half-space of R d . Let us denote by P this polyhedron and assume that P = ∅. Since P is a closed set, function f , which is a linear and then continuous, admits a minimum on P . Note that several points in P can reach this minimum. Actually, If there exist two minimizers x = y in P , then the whole segment [x, y] is in P (by convexity of P ), and any point in [x, y] is also a minimizer (by linearity of f ). An important particularity of polyhedra among closed convex sets, is that they can be finitely generated, in the sense of Klee's Theorem (Cf. page 208). Indeed, a polyhedron has finitely-many extreme points, and at least one of them reaches the minimum. Based on this remark, the simplex algorithm browses the extreme points of the polyhedron, guided by the objective function. The minimizer provided by this algorithm is then an extreme point of the polyhedron.

LP can model a wide class of practical problems. However, a priori (i.e. without further investigations on the polyhedron) variables have to model continuous quantities, which is restrictive. Let us introduce a small example to illustrate this remark.

Continuous variables vs. integer variables, or bulk vs. packets

Imagine that I have a 10€ voucher to buy flour directly to a mill, where green lentil, chickpea, spelt, and wheat flours are sold from bulk. I want to use my voucher, that is spend at least 10€ and to buy at least 500g of each kind of flour, but I also want to minimize my shopping weight. Moreover, I use only chickpea or green lentil flour mixed with twice as much wheat or spelt flour. The best solution for me, i.e. is the best weight of each flour (w gl , w cp , w s , w w ) that I can buy, can be found by solving the following LP, where c gl , c cp , c s , c w denote the price per kg of green lentil, chickpea, spelt, and wheat flour respectively. min

             w gl + w cp + w s + w w (w gl , w cp , w s , w w ) ∈ R 4
c gl w gl + c cp w cp + c s w s + c w w w 10 w gl 0.5, w cp 0.5, w s 0.5, and w w 0.5 w s +w w 2 (w gl +w cp )

            
Note that this problem can be formulated as an LP since the amount of each floor can be represented by a continuous variable. If you assume, in the same example, that flours are not sold from bulk, but in 5kg-packets for wheat and in 1kg-packet for the others, the problem is modeled by integer variables, n gl , n cp , n s , n w representing the number of packets for each kind of flour. The problem is then formulated as follows, where c 1 gl , c 1 cp , c 1 s , and c 1 w denote the packet prices.

min

             n gl + n cp + n s + 5 n w (n gl , n cp , n s , n w ) ∈ N 4 c 1 gl n gl + c 1 cp n cp + c 1 s n s + c 1
w n w 10 n gl 0.5, n cp 0.5, n s 0.5, and 5 n w 0.5

n s + 5 n w 2 ( n gl + n cp )             
The solution set of this formulation is no longer a polyhedron, but the set of the integer points of a polyhedron. Such a program is called an integer program (IP) .

Assuming that the wheat flour only is sold from bulk and no longer in 5kg-packet, the problem is then formulated by the following mixed-integer program (MIP) where continuous and integer variables coexist. min

             n gl + n cp + n s + w w (n gl , n cp , n s , w w ) ∈ N 3 × R c 1
gl n gl + c 1 cp n cp + c 1 s n s + c w w w 10 n gl 0.5, n cp 0.5, n s 0.5, and w w 0.5

n s + w w 2 ( n gl + n cp )             
In the sequel, we will use MIP to design both IP or MIP. Conversely, LP will only designate programs without integrity constraints. Note that a MIP can be turned into an LP by relaxing (i.e. removing) its integrity constraints. The LP is then called the linear relaxation of the MIP. In the above example, the first LP formulation is the linear relaxation of the last formulation. Indeed, the objective function and the linear inequalities are the same 8

but (n gl , n cp , n s ) ∈ N 3 is relaxed into (n gl , n cp , n s ) ∈ R 3 .
MIP can model a very broad range of problems, which includes NP-hard problems, then, in contrast with LP, MIP are not solvable in polynomial time in general. In some cases, it can be shown that the MIP has the same value as its linear relaxation, for example when all the extreme points of the polyhedron are integer points. If so, it suffices to solve the linear relaxation, which is easy if the formulation is not too big. To be precise, for a given problem, a formulation is said compact if the number of variables and the number of inequalities are bounded by a polynomial function of the instance size. If a problem reduces to solve a compact LP, then it can be solved in polynomial time.

We do not develop such cases in the following, and conversely focus of how to solve MIP where integrity constraints cannot be omitted, and then LP holding exponentially-many inequalities.

Branch-and-Bound algorithm to solve MIP

Let us present the Branch-and-Bound method in general, for an arbitrary minimization problem P 0 . Let us denote by z * its optimal value. Of course the following results can be transposed to a maximization problem. A more developed introduction to Branch-and-Bound algorithms can be found in [START_REF] Sakarovitch | Optimisation Combiantoire, tome 1: programmation dicretes[END_REF].

• Branch-and-Bound algorithms in general A Branch-and-Bound algorithm requires a sub-algorithm, called bounding function, able to provide a lower bound for P 0 and for reinforcements of P 0 , that are problems obtained from P 0 by adding some constraints. Let us denote this sub-algorithm by LB. and by z * the optimal value of P 0 . The more a problem P is reinforced compared to P 0 , the larger is its optimal value z, and hopefully the larger is LB( P). Note that LB( P) is not a lower bound on z * in general. However, if the solution subsets of a family of reinforcements cover the solution set of P 0 , then the minimal lower bound of these reinforcements is a lower bound on z * . To decide how to divide the solution set, that is to chose which reinforcements of a problem to consider, the Branch-and-Bound algorithm also requires a branching rule.

A Branch-and-Bound algorithm handles both a lower and an upper bound on z * . The aim is to reduce the gap between these bounds so that only one possible value remains in the interval: z * . The lower bound is improved by: → applying the branching rule to generate problem reinforcements, → applying the bounding function to each reinforcements, → deducing a new lower bound by taking the minimal lower bound, → recursively applying this method to improve the lower bounds.

The execution of a Branch-and-Bound algorithm can be represented by a decision tree, called the branching tree. Each node represents a reinforcement of P 0 . The root node is P 0 itself. The children of a node P are reinforcements of P, obtained by making additional assumptions, called branching decisions. The solution sets of the children must cover the solution set of P. Thanks to this, the minimal value of the child lower bounds is a lower bound for P, hopefully better, i.e. larger, than the one provided by LB(P).

In addition, a Branch-and-Bound algorithm requires a way to choose which node is explored at each step. Whichever strategy is chosen (depth first, best first...), there exists two kinds of nodes P that do not need to be explored.

(i) If an optimal solution x is known for P, then its value is an exact lower bound for P, there is no way to improve this bound by considering reinforcements. Such a solution can be found, by any chance, when applying LB, or by applying on purpose a heuristic method to solve P, or even by applying an exact method if P is sufficiently reinforced to be easy to solve. Moreover, x is also a solution for P 0 then its value gives an upper bound on z * .

(ii) If LB(P) is larger than the best currently known upper bound on z * , there is no need to explore P. Indeed, this node will never have the minimal lower bound, and will never be used as a lower bound for z * , since improving a lower bound makes it only largest. In other words, the solution set of P corresponds to solutions having a too large value according to the objective function, and it will be worse for any reinforcement of P. Note that this case particularly occurs when P solution set is empty, and the lower bound for P is +∞.

When the potential sub-tree rooted in such a node is not explored, we say that we prune the branching tree. Pruning is interesting since it allows to save node exploration.

• Branch-and-Bound algorithms for solving MIP Let us now present how Branch-and-Bound algorithm components are instantiated for MIP exact solving.

-A branching decision consists in adding a linear inequality involving only one integer variable, which is then called the branching variable, i.e. an inequality like x i a or x i a. Therefore, the reinforcements of the initial MIP are also MIP, or even LP.

-The bounding function consists in solving the linear relaxation of the MIP related to the node. Therefore, reinforcing a problem necessarily leads to a no smaller lower bound. Moreover, if the solution found by solving the linear relaxation is integer, its value is an exact lower bound for this node, and also an upper bound on z * . Otherwise, a rounding procedure may be applied in order to produce a feasible solution and then an upper bound on z * .

-The branching rule is based on the solution x of the linear relaxation. The decision variable x i is chosen among the integer variables that have the largest fractional part in x. Two branching decisions are then considered: x i x i and x i x i . The corresponding solution subsets cover all the feasible solutions, since the value of x i has to be integer. Note that, in the case of binary variables, the branching decisions are necessary x i 0 and x i 1, which are equivalent to x i = 0 and x i = 1. In other words, each branching step consists in fixing one variable. If the n integer variables are n binary variables, a node of depth n admits only one solution, which is an integer solution and provides an upper bound.

The efficiency of a Branch-and-Bound algorithm depends in general of the quality of the lower bounds provided by the bounding function. Indeed, the tighter they are, the more we can prune a node of type (ii). In the MIP solving framework, the quality of the lower bounds directly depends on the quality of the initial formulation. In addition, a best formulation can also allow to obtain an integer solution when solving the linear relaxation, which corresponds to a node of type (i) and potentially improves the upper bound on z * . Therefore, when a problem is formulated as a MIP, we are interested in its linear relaxation value, i.e. the optimal value of the linear relaxation. Roughly speaking, a formulation with a linear relaxation value near to the optimal value is a formulation for which the Branch-and-Bound solving will requires to explore few nodes. However, in practice, adding linear inequalities to improve the linear relaxation value can slow down the linear relaxation solving step at each node. Therefore, it does not necessary reduce the global computation time required by the Branch-and-Bound algorithm. Such cases will be discussed in Section 3.5.

Branch-and-Cut algorithm

Even if LP are solvable in polynomial time, when the number of inequalities becomes too large, solving an LP can be very long, or at least too long to be repeated at each node of a Branch-and-Bound algorithm. A common way to manage inequalities when they are too numerous, is to add them progressively in the LP given to the solver, according to a separation algorithm. The aim is to add only a small part of the inequalities, while ensuring that the solution finally obtained satisfies them all. We present first what is a separation algorithm, and then explain how it can be used in a cutting plane based algorithm to solve an LP.

• Separation problem and separation algorithm Let us consider a family of inequalities a i •x α i indexed by a finite set I. The separation problem associated with this inequality family is to decide for a point in x ∈ R d whether it satisfies all the inequalities of the family, and, if not, to provide a violated inequality.

separation Input: x ∈ R d Output: "yes" if ∀i ∈ I, a i •x α i an index i ∈ I such that a i •x > α i otherwise
Note that it is not a simple decision problem, since in the negative case, a violated inequality is required as a proof. A separation algorithm is an algorithm that solves such separation problem.

A separation algorithm can provide several indices of unsatisfied inequalities, or it can provide the index of a most violated inequality, i.e. maximizing a i •x-α i One uses also "separation algorithm" to designate an algorithm that solves the sub-problem where x is integer. Indeed, the separation problem can be easier to solve for integer points, and in this case, it is advantageous to use a special algorithm for these points.

• Cutting plane based algorithm Let us consider the following LP. min

       c•x x ∈ R d ∀i ∈ I, a i •x α i ∀j ∈ J, b j •x β j       
Let us assume that only the first inequality family has to be separated, i.e. inequalities a i •x α i for i ∈ I, which will be called a-inequalities. We introduce the polyhedron defined by the other inequality family.

P = x ∈ R d ∀j ∈ J, b j •x β j
For a given separation algorithm for the a-inequalities, the cutting plane based algorithm is the following.

0. Start with I = ∅, that is with no a-inequality.

1. Solve the LP and record its optimal solution x, i.e. x = arg min

   c•x x ∈ P ∀i ∈ I, a i •x α i    2.
Launch the separation algorithm on x

3. If all the a-inequalities are satisfied, return x. Otherwise, add to I the index provided by the separation algorithm, and go back to step 1.

An important result about the complexity of cutting plane based algorithms is due to Grötschel, Lovász and Schrijver [START_REF] Grötschel | The ellipsoid method and its consequences in combinatorial optimization[END_REF]. They show that a cutting plane based algorithm can be solved in polynomial time if and only if the related separation algorithm is solvable in polynomial time.

A MIP can combine both difficulties: an exponential number of inequalities along with integrity constraints. In this case, we use a Branch-and-Cut algorithm, which is actually a Branch-and-Bound algorithm in which the algorithm used to solve each LP is a cutting plane based algorithm.

Linear formulations for scheduling problems

Many scheduling problems are formulated by LP, IP or MIP, even in cases where they are not solved using linear programming techniques. The nature of these linear formulations greatly depends on the variables used to described a schedule. We briefly presents some of them in the case of single machine scheduling problems. Within more general framework, polyhedral approaches using these variable families are presented in a report of Queyranne and Schulz [START_REF] Queyranne | Polyhedral approaches to machine scheduling[END_REF].

• Completion time variables (C j ) j∈J These variables are continuous variables representing the completion times as they are defined page 10. Without speaking about linear formulation, most of the single machine scheduling problems are first formulated using the completion times. Therefore, they are called natural date variables in [START_REF] Queyranne | Polyhedral approaches to machine scheduling[END_REF].

As presented on page 51, the fundamental non-overlapping constraints (1.1) are not linear inequalities for completion time variables. However, Queyranne proposes in [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] a way to ensure task non-overlapping with linear inequalities using only completion time variables. This result is further discussed in Section 1.1 as we propose to extend the idea in order to provide linear formulations for common due date scheduling problems based on natural variables, which are similar to completion time variables.

To the best of our knowledge, no linear formulation using completion time variables has been proposed for common due date problems.

• Time-indexed variables (x j,t ) (j,t)∈J× [1..T ] In case of integer processing times, the task completion times in a block starting at an integer time are all integers. Therefore, using dominance properties, one can assume that task completion times belong to a range [1..T ], where T is called the time horizon. Then a schedule can be described by the so-called time-indexed variables, (x j,t ) (j,t)∈J×[1..T ] , which indicate for each task j if it completes at time t. In contrast with the previous variables, these ones are integer (and even binary). Moreover, they can model a lot of constraints without additional variables, then they generally result in IP formulations, and not in MIP formulations. Such IP formulations often offer a good linear relaxation value, but their size is sensitive to the time horizon, and when it becomes too large, the number of variables skyrockets.

The fundamental non-overlapping constraints can be formulated using time-indexed variables by linear inequalities (2) presented below.

Even if the Sourd's solving approach for CDDP in [START_REF] Sourd | New exact algorithms for one-machine earliness-tardiness scheduling[END_REF] does not fall under linear programming, a time-indexed formulation for CDDP is proposed. Let us present below this formulation, that we solve in Section 2.3.

Let us assume that the due date and the processing times are integer, i.e. d ∈ N and (p j ) j∈J ∈ N J . The task completion times for a d-block are then necessary integers between T min = d -p(J) and T max = d+p(J). For the sake of brevity, we rather use T min = 1 and denote simply by T the T max . For any t ∈ [1...T ] and any j ∈ J, the penalty induced by the task j if it completes at time t can be expressed as follows.

c j,t = max α i (d-t), β i (t-d) = α i [d-t] + + β i [t-d] +
Moreover, the following inequalities ensure that each task completes exactly at one time and tasks do not overlap.

∀j ∈ J, T t=1 x j,t = 1 (1) ∀t ∈ [1..T ], j∈J min(t+p j -1, T ) s=t x j,s 1 (2)
Let us introduce the polyhedron defined by these inequalities, along with the set of its integer points.

P T I = (x j,t ) (j,t)∈J×[1..T ] ∈ R J×[1..T ] (1 -2) are satisfied int x (P T I ) = P T I ∩ {0, 1} J×[1..T ]
The time-indexed formulation for CDDP is then the following.

F TI : min

x∈int x (P T I ) j∈J T t=1 c j,t x j,t
• Linear ordering variables (x i,j ) i,j∈J < If the schedules of the dominant set considered are entirely defined by their task sequence, they can be described by binary variables (x i,j ) i,j∈J < that indicate for each pair of tasks (i, j) whether i completes before j. These variables are called linear ordering variables, since they encode a linear ordering of tasks, that is a function from J to [1..n], which assigns to each task its position in the sequence. In contrast with the previous variables, linear ordering variables often requires additionnal variables to provide a linear formulation of the problem. Indeed, having enough variables to encode a schedule is not sufficient, one needs variables that allow to express the objective function as a linear function, and to translate constraints by linear inequalities. Therefore, such variables result often in MIP formulations, and not IP formulations.

The fundamental non-overlapping constraints can be formulated using starting time variables as well as linear ordering variables by linear inequalities [START_REF] Barahona | On the cut polytope[END_REF] and (8) presented below.

Even if Biskup and Feldmann propose a heuristic method for CDDP in [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF], a MIP formulation for CDDP is also provided. Let us present below this formulation, that we solve in Section 2.3. For each task j ∈ J, three continuous variables are additionally considered: e j representing its earliness, t j representing its tardiness, and s j representing its starting time. The following inequalities (3 -6) ensure that these variables are consistent. ∀j ∈ J, e j 0

(3) ∀j ∈ J, t j 0 (4)

∀j ∈ J, e j d -(s j +p j ) (5) ∀j ∈ J, t j (s j +p j ) -d (6) ∀(i, j) ∈ J < , s j +p j s i + p(J) x i,j (7)
∀(i, j) ∈ J < , s i +p i s j + p(J) (1-x i,j ) (8)
∀(i, j) ∈ J < , x i,j 0 (9)

∀(i, j) ∈ J < , x i,j 1 (10)
P LO = (e, t, s, x) ∈ (R J ) 3 ×R J < (3 -10) are satisfied int x (P LO ) = (e, t, s, x)

∈ P LO x ∈ {0, 1} J <
The linear ordering formulation for CDDP is then the following.

F LO : min (e,t,s,x)∈(P LO ) j∈J α j e j + β j t j

In this thesis, we use time-indexed and linear-ordering variables in formulations F LO and F TI for comparison. In contrast we use natural variables which are similar to completion times variables to provide formulation for common due dates problem in Part A. Moreover, we also use partition variables, which are usually used in other frameworks than scheduling field. The partition variables are introduced in a scheduling framework in the next section, in order to provide a compact MIP formulation for UCDDP.

A compact MIP formulation for the unrestrictive case

In this section, we focus on UCDDP. Thanks to the dominance properties, we show that UCDDP can be formulated as a partition problem, then we derive a compact linear MIP formulation. Finally, we exhibit a lack of dominance properties in the general case, which does not allow us to use the same approach for CDDP.

Let us consider a given instance UCDDP(p, α, β) in this section. Although we can only consider V-shaped d-blocks since they form a dominant set, in order to simplify the writing of the following formulations, we consider a larger dominant set: let V be the set of V-shaped blocks with a task starting or completing at time d. Note that in such schedules, each tardy task is entirely processed after d, since there is no straddling task, i.e. there is no task starting before d and completing after d. Therefore, the early (resp. tardy) task set can be referred to the left side (resp. right side) of d.

Formulation of the UCDDP as a partition problem

In general, a schedule S ∈ V cannot be encoded by its early-tardy partition. Indeed, if two early (resp. tardy) tasks have the same α-ratio (resp. β-ratio), one cannot determine which one is processed first, they can be sequenced arbitrarily. However, swapping two such tasks in S results in another schedule S ∈ V having the same total penalty. Furthermore, all the schedules in V having the same early-tardy partition have the same total penalty. Based on this remark, two schedules in V having the same early-tardy partition will be said equivalent. We denote by ∼ this relation.

We define an ordered bi-partition of a set A as a couple (A 1 , A 2 ) where {A 1 , A 2 } is a partition of A, i.e. A 1 ∩ A 2 = ∅ and A 1 ∪A 2 = J. This is not only a partition into two subsets since the two subsets are not symmetric, i.e. (A 1 , A 2 ) = (A 2 , A 1 ). Let P 2 (J) denote the set of the ordered bi-partitions of J. Note that the early-tardy partition of any schedule is an ordered bi-partition. Moreover, there is a one-to-one correspondence between equivalence classes for ∼ and ordered bi-partitions (E, T ) of J, i.e. between V/ ∼ and P 2 (J). Therefore, we will say that a schedule S ∈ V is a representative of an ordered bi-partition (E, T ) if it belongs to the corresponding equivalence class, that is if its early-tardy partition is (E, T ). In the sequel, we will only say partition to refer to an ordered bi-partition or to an early-tardy partition, when there is no ambiguity.

For any partition (E, T ) ∈ P 2 (J), let f (E, T ) denote the penalty of the equivalence class (E, T ), that is the penalty of any representative of (E, T ). From now on, our aim is to find a partition of J minimizing f , since the UCDDP can be formulated as follows.

F 1 : min (E,T ) ∈ P 2 (J) f (E, T )
We propose in the next section a linear translation of F 1 . More precisely, we provide a compact MIP formulation for the UCDDP.

A compact MIP translating F 1

• Providing an explicit expression of f (E, T ) based on a particular representative In order to provide an explicit expression of f (E, T ) for any partition (E, T ), we will focus on a specific representative of (E, T ), for which we can express task earliness and tardiness, and hence the total penalty. For this purpose, we introduce two orders on J. Let us consider ρ and σ two bijective functions from [1..n] to J, such that α ρ(k) p ρ(k) k∈ [1..n] and β σ(k) p σ(k) k∈ [1..n] are non-increasing.

A schedule is said ρ-σ-shaped if the early (resp. tardy) tasks are processed in decreasing order of ρ -1 (resp. increasing order of σ -1 ). Note that a ρ-σ-shaped schedule is a V-shaped schedule. More precisely, each equivalence class of V admits a unique ρ-σ-shaped representative. Furthermore, the earliness and the tardiness of a task j ∈ J in the representative of a partition (E, T ) are given by the following expressions.

E T d 0 ρ -1 (i) σ -1 (i)
E j = i∈E ρ -1 (i)<ρ -1 (j) p i = ρ -1 (j)-1 k=1 p ρ(k) I ρ(k)∈E if j ∈ E, 0 otherwise T j = p j + i∈T σ -1 (i)<σ -1 (j) p i = p j + σ -1 (j)-1 k=1 p σ(k) I σ(k)∈T if j ∈ T, 0 otherwise
Then, for any partition (E, T ) we have the following explicit expression of f (E, T ).

f (E, T ) = j∈J α j E j + β j T j = j∈J α j   I j∈E ρ -1 (j)-1 k=1 p ρ(k) I ρ(k)∈E   + β j   I j∈T   p j + σ -1 (j)-1 k=1 p σ(k) I σ(k)∈T    
• Using binary variables to encode a partition In order to replace terms like I j∈E or I j∈T in the previous expression, let us introduce a vector δ of n binary variables encoding a partition. Given δ ∈ {0, 1} J , we define the partition encoded by δ as E(δ), T (δ) , where

E(δ) = {j ∈ J | δ j = 1} and T (δ) = {j ∈ J | δ j = 0}.
In other words, for each j ∈ J, δ j indicates whether j is early or not, therefore I j∈E = δ j and I j∈T = (1-δ j ). Hence, in a schedule S ∈ V whose partition is encoded by δ, the earliness and the tardiness of a task j ∈ J are given by the following expressions.

E j = δ j ρ -1 (j)-1 k=1 p ρ(k) δ ρ(k) and T j = (1-δ j )   p j + σ -1 (j)-1 k=1 p σ(k) (1-δ σ(k) )  
• Linearization of the quadratic terms using X variables In order to replace the quadratic terms appearing in the previous earliness and tardiness expressions, let us introduce a vector of binary variables X indexed by J < = {(i, j) ∈ J 2 | i < j}. These variables can be used to linearize products of type δ i δ j , provided that they satisfy some linear constraints. The following lemma sums up this result established by Fortet [START_REF] Fortet | L'algèbre de Boole et ses applications en recherche opérationelle[END_REF].

Lemma 0.5 ([15])

Let (δ, X) ∈ R J ×R J < . If δ ∈ {0, 1} J and (δ, X) satisfies the following inequalities:

∀(i, j) ∈ J < , X i,j δ i -δ j (X.1) ∀(i, j) ∈ J < , X i,j δ j -δ i (X.2) ∀(i, j) ∈ J < , X i,j δ i +δ j (X.3) ∀(i, j) ∈ J < , X i,j 2-(δ i +δ j ) (X.4) then ∀(i, j) ∈ J < , X i,j = 1 if δ i = δ j 0 otherwise , δ 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 for each (i, j) ∈ J < two cases:

δ i = δ j and δ i = δ j . One can also notice that if (δ, X) satisfies (X.1-X.4), then δ ∈ [0, 1] J and X ∈ [0, 1] J < .
Let us consider the polyhedron

P n F 2 = (δ, X) ∈ R J ×R J < | (X.1-X.4
) and the set of its integer points int

δ (P n F 2 ) = P n F 2 ∩{0, 1} J ×{0, 1} J < . From Lemma 0.5, if a partition (E, T
) is encoded by δ, then there exists a unique X such that (δ, X) ∈ int δ (P n F 2 ). We will say that (δ, X) encodes (E, T ).

Using the Fortet linearization proposed in Lemma 0.5, the earliness and the tardiness of a task j ∈ J in a ρ-σ-shaped d-block whose partition is encoded by (δ, X) are given by the following expressions 9 .

E j = ρ -1 (j)-1 k=1 p ρ(k) δ j +δ ρ(k) -X j,ρ(k) 2 and T j = σ -1 (j)-1 k=1 p σ(k) 2-(δ j +δ σ(k) ) -X j,σ(k) 2 + p j (1-δ j )
Hence, the penalty of the partition encoded by (δ, X) ∈ {0, 1} J ×{0, 1} J < is given by the following function h α,β , which is linear.

h α,β (δ, X) = j∈J α j   ρ -1 (j)-1 k=1 p ρ(k) δ j +δ ρ(k) -X j,ρ(k) 2   + β j   σ -1 (j)-1 k=1 p σ(k) 2-(δ j +δ σ(k) )-X j,σ(k) 2 + p j (1-δ j )  
Finally, UCDDP can be formulated as the following compact MIP.

F 2 : min (δ,X) ∈ int δ (P n F 2 ) h α,β (δ, X)
Formulation F 2 is a direct linear translation of F 1 . Indeed, there is a one to one correspondence between their solution sets, i.e. between int δ (P n F 2 ) and P 2 (J), and g(δ, X) = f (E, T ) for any (δ, X) encoding (E, T ). The advantage of F 2 is that it can be solved using a MIP solver such as cplex. Section 2.3 presents experimental results for different MIP formulations for UCDDP, including F 2 . The drawback of F 2 is that it cannot be easily extended to CDDP. The following section explains why.

Note that polyhedron P n F 2 does not depend on ρ or σ. It is an extended polytope of the classical cut polytope for the complete undirected graph on the node set J [START_REF] Barahona | On the cut polytope[END_REF], Cf. Chapter 3.

Why F 2 cannot be extended to the general case

As explained in Section 0.5.2, we can compute the best d-block with respect to a given early-tardy partition. Conversely, computing the best left-block with respect to a given early-tardy partition is not straightforward, since we cannot say a priori which is the straddling task among the tardy tasks. Therefore, the early-tardy partition is no longer sufficient to encode an optimal schedule in the general case.

Let us consider the best left-block with respect to a given partition (E, T ). Then the time between the starting time of the straddling task and d, denoted by a, is equal to d-p(E) and the straddling task belongs to { j ∈ T | p j > a }. One can conjecture that the straddling task maximizes β j /p j over this set. However, it is not the case, as shown by Counter-example 2 (Cf. Page 45).

Another conjecture can be done from Counter-example 2. Indeed, in this counter example, the non-optimality of the schedule where the first tardy task is the one with the largest β-ratio seems to be induced by an incorrect ratio choice: if we consider the ratio β j /(p j -a) instead of β j /p j , in the optimal schedule (i.e. S E ), the first tardy task (i.e. task 7) has the largest ratio among the tardy tasks longer than a (indeed,

β 7 p 7 -a = 8 1 > 11 2 = β 8 p 8 -a ).
Then one can conjecture that the straddling task maximizes β j /(p j -a) over tardy tasks with a processing time larger than a, i.e. { j ∈ T | p j > a }. Unfortunately, this is also false, as shown by Counter-example 3 (Cf. Page 46).

Counter-example 2 : Schedules where the first tardy task is the one with the largest β-ratio are not dominant for CDDP Let us consider the following instance of CDDP, where α 7 and α 8 can be chosen arbitrarily 10 .

J = [1..8], d = 2, ∀i ∈ [1..6], p i = 1, α i = 40 , β i = 4 , β i p i = 4, p 7 = 3, α 7 = 1 , β 7 = 8 , β 7 p 7 = 8 3 , p 8 = 4, α 8 = 10 5 , β 8 = 11, β 8 p 8 = 11 4
Note that this instance admits a lot of symmetries. Since tasks 1 to 6 are identical, interchanging them leads to a lot (6! = 720 exactly) of equivalent schedules. We can say that such schedules are equivalent since they have the same total penalty, and even the same total earliness (resp. tardiness) penalty. In the sequel, we will choose to place them in the order given by their indices to reduce the number of schedules to consider. In other words, we will consider only one representative for each equivalence class.

According to Lemma 0.2, an optimal schedule can be found among the d-or-left-blocks. The following figure shows all the different types of d-or-left-blocks for this instance. Indeed, tasks 7 and 8 are too long to be early, then the set of early tasks only contains at most two small tasks, i.e. tasks belonging to [1..6].

-S A represents the only type of V-shaped block where 2 small tasks are early.

-S B , S C , and S D represent the three types of V-shaped d-or-left-block where 1 small task is early.

-S E , and S F represent the two types of V-shaped d-or-left-block where no task is early. In the optimal schedule type S E , the first tardy task is 7 while the task with the largest β-ratio in

S A S B S C S D S E S F
{ j ∈ T | p j > a } is 8 since a = 2 (7 starts at time 0 = d-2), p 8 > 2 and β 8 p 8 = 11 4 > 8 3 = β 7 p 7 .
Moreover, schedules where the first tardy task is task 8, that is schedules S D and S F , are not optimal.

Counter-example 3 : Schedules where the first tardy task is the one with the largest ratio β j p j -a are not dominant for CDDP Let us consider the following instance of CDDP, where α 4 and α 5 can be chosen arbitrarily.

J = [1..5], d = 2, ∀i ∈ [1..3], p i = 1, α i = 20 , β i = 2 p 4 = 4, α 4 = 1 , β 4 = 5 p 5 = 3, α 5 = 10 5 , β 5 = 3
As in the previous counter-example, the instance admits a lot of symmetries: tasks 1, 2, and 3 can be interchanged without changing the earliness and tardiness penalties Therefore, we choose to place them in the order given by their indices to reduce the number of schedules to consider.

According to Lemma 0.2, an optimal schedule can be found among the d-or-left-blocks. The following figure shows all the different types of d-or-left-blocks for this instance. Indeed, tasks 4 and 5 are too long to be early, then the set of early tasks only contains at most two small tasks, i.e. tasks belonging to [1..3],.

-S A represents the only type of V-shaped block where 2 small tasks are early.

-S B , S C , and S D represent the three types of V-shaped d-or-left-block where 1 small task is early.

-S E , and S F represent the two types of V-shaped d-or-left-block where no task is early. In the optimal schedule type S F , the first tardy task is 4 while the task with the largest ratio

S A S B S C S D S E S F
β j p j -a in { j ∈ T | p j > a } is 5 since a = 2 (4 starts at time 0 = d-2), p 5 > 2 and β 5 p 5 -a = 3 1 > 5 2 = β 4 p 4 -a .
Moreover, schedules where the first tardy task is the one with the largest ratio β j p j -a are S E and S D (since a = 1 and β 4 p 4 -a = 5 3 > 3 2 = β 5 p 5 -a ), and none of them is optimal.

Outline of Parts A, B, and C

According to the previous section observations, it seems not possible to extend Formulation F 2 to CDDP. That is a motivation to investigate formulations based on other variables than partition variables.

In Part A, we focus on variables representing directly the earliness and tardiness of tasks that we call natural variables. Thanks to these variables, we provide two MIP formulations, one for UCDDP, and one for CDDP.

Since the variables (δ, X) used in F 2 also appear in these formulations, we study in Part B the associated polytope which is a kind of "cut polytope". The idea is to find facet defining inequalities able to strengthen our formulations.

Finally in Part C, we use dominance properties for UCDDP to derive linear inequalities removing locally non-optimal solutions, in order to improve Formulation F 2 . We also try to extend this latter approach to other combinatorial problems.

PART A

Formulations using natural variables

For a minimization problem, a regular criterion is an objective function which is, for any task j, a non-increasing function of C j . That means that 0 is an attractive point, in the sense that the closer from 0 is the task, the lower is the penalty of the schedule. In particular, left-tight schedules are dominant for such problems. Since completion times variables measure, for each task, its distance to 0, it seems "natural" to use them.

Queyranne [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] studies these variables for the single machine scheduling problem when minimizing ω j C j , which is a regular criterion. More precisely, he proposes to encode a schedule using only these "natural variables", and provides linear inequalities ensuring that such variables encode a feasible schedule. While ensuring the non-negativity constraint using C j is straightforward (C j p j suffices), the non-overlapping constraint requires an exponential number of inequalities -and an additional extremality constraint. In the sequel, we will call these inequalities non-overlapping Queyranne's inequalities.

In the just-in-time scheduling context, the criteria are no longer regular. In particular, in the common due date problems, 0 is not an attractive point, but d is. Indeed, the penalty induced by a task reduces when the task gets closer to d. Therefore, it is "natural" to change the reference point, and hence use variables measuring the distance to d, instead of the distance to 0. More precisely, since tasks can be placed before, as well as after d, we will use two family of "natural variables": the earliness variables, denoted by e, for the distance on the left of d the tardiness variables, denoted by t, for the the distance to on the right of d. More generally, we will call natural variables any variables similar to completion times variables.

We show how the feasibility of a schedule encoded by (e, t) variables can be ensured using linear inequalities derived from the original non-overlapping Queyranne's inequalities. In this way, we provide a MIP formulation for UCDDP, and another one, similar, for CDDP.

Part A is divided into two chapters: Chapter 1 only gives theoretical results, namely properties of non-overlapping inequalities, and then the mathematical formulations, while Chapter 2 focuses on how to solve such formulations in practice.

Chapter 1

Non-overlapping inequalities

The first section of this chapter presents the non-overlapping Queyranne's inequalities and the related results provided in [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF]. The second section, discusses the limitations of these results, and provides two lemmas to extend them, namely to use non-overlapping Queyranne's inequalities in combination with other inequalities. Sections 1.3 and 1.4 follow the same pattern: first we build the formulation step by step, then we show that it is a valid formulation for UCDDP (resp. CDDP). After these two sections, we try to retrieve the main ideas on which they are based, and give in Section 1.5 some insights of other problems where the same method could be used.

Let us consider in this chapter a given set of tasks J, and their processing times p ∈ R * + J . Moreover, to facilitate some proofs, we assume that ∀j ∈ J, p j 1. Even if all processing times have to be multiplied by 1/ min p j , we can make this assumption without loss of generality.

Non-overlapping Queyranne's inequalities for minimizing the weighted sum of completion times

As explained in Section 0.1, for a single-machine problem, a schedule must only satisfy two constraints to be feasible: non-negativity and non-overlapping constraints. Therefore, a vector1 y ∈ R J encodes a feasible schedule by its completion times if and only if it satisfies the two following constraints.

non-negativity ∀j ∈ J, y j p j (1.0) non-overlapping

∀(i, j) ∈ J < , y j y i + p j or y i y j + p i (1.1)
Completion time variables allow an easy way to express feasibility at the expense of the non-linearity of constraints (1.1). However, Queyranne [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] introduces linear inequalities using completion times to handle the non-overlapping for minimizing weighted sum of completion times, i.e. for the problem 1 | -| ω j C j . We first recall notations and results proposed by Queyranne [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] before generalizing them to a larger framework in the next section. For S ⊆ J and y ∈ R J , let us consider the following notations.

S < = (i, j) ∈ S 2 | i < j y(S) = i∈S y i p * y(S) = i∈S p i y i 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 , which will be useful for the next proofs.

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

∀S ⊆ J, p * y (S) g p (S) (Q0)

Let Q (resp. P Q ) denote the set of all vectors encoding a feasible schedule by its completion times, (resp. the polyhedron defined by inequalities (Q0)). Figure 1.1 illustrates Q and P Q for a 2-task instance.

Q = y ∈ R J y satisfies (1.0) and (1.1) P Q = y ∈ R J y satisfies (Q0) 0 C 2 0 C 1 _ p 2 • p 1 +p 2 p 1 • _ p 1 +p 2
Cone of feasible schedules where 1 is executed before 2 Cone of feasible schedules where 2 is executed before 1

Q P Q = conv(Q)
Area without feasible schedule The following property establishes that inequalities (Q0) are valid for all vectors of Q, inducing conv(Q) ⊆ P Q .

Property 1.1

Let y ∈ R J . If y satisfies constraints (1.0) and (1.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. Hence, constraints (1.0) ensure that the inequalities (Q0) associated with the singletons are all satisfied.

-If |S| 2, we need to exhibit an order on J. Since processing times are positive, constraints (1.1) ensure that (y j ) j∈J are distinct and then that there exists a (single) total order ≺ on J such that i

≺ j ⇔ y i < y j . Then constraints (1.1) translate into ∀(i, j) ∈ J 2 , i ≺ j ⇒ y j y i + p j .
Using inequalities (1.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. Let us set j = max ≺ S and U = S\{j}. By induction, we have p * y(U ) g p (U ), since |U | = k-1. Moreover, by previous arguments we have 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 (1.3), hence y satisfies the inequality (Q0) associated with S.

As depicted in Figure 1.1, some points in conv(Q) correspond to unfeasible schedules Indeed, the two cones represent the set of feasible schedules, each corresponding to an order in the task execution, and points in between correspond to schedules where the two tasks overlap, then to unfeasible schedules. By definition of conv(Q), these points are in conv(Q), so they cannot be cut by the non-overlapping Queyranne's inequalities. Moreover, one can observe that P Q only has two extreme points and that they correspond to feasible schedules. This observation is true in general. Indeed, Queyranne [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] shows that the extreme points of P Q always correspond to feasible schedules. The latter inclusion, i.e. extr(P Q ) ⊆ Q ⊆ conv(Q), and the previous one, i.e. conv(Q) ⊆ P Q , are sufficient to say that min x∈Q f (x) = min x∈P Q f (x) for any linear function f , but not sufficient2 to conclude that P Q is exactly conv(Q). Queyranne [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] shows this equality using a geometrical argument: the equality of the recession cones of these two polyhedra. The following theorem sums up these results.

Theorem 1.2 (Queyranne [34])

(i) extr(P Q ) ⊆ Q (ii) P Q = conv(Q)
Moreover, Queyranne [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] shows that each extreme point of P Q encodes a left-block. Conversely each left-block 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 .

The Theorem 1.2's proof given in [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] uses the geometrical structure of conv(Q), which is the convex hull of a finite number of cones. As soon as schedules are subject to additional constraints like deadlines (i.e. C j dj ), the set of the vectors encoding feasible schedules is no longer an union of cones. Therefore, this proof cannot be extended. In order to use non-overlapping inequalities combined with other inequalities, we provide in the next section two lemmas which somehow generalize Theorem 1.2(i).

Key lemmas to use non-overlapping inequalities in a larger setting

In this section, we provide two lemmas which will be the key for showing the validity of formulations using non-overlapping inequalities, such as formulations F 3 and F 4 that we propose in the next sections. The first key lemma gives a new proof of Theorem 1.2(i). In this lemma, we explain how a vector of P Q can be slightly disrupted in two opposite directions without leaving P Q if it encodes a schedule presenting an overlap. Such a vector is then on the segment between two other points of P Q , and hence it is not an extreme point of P Q . Figure 1.2 illustrates the two ways of disrupting the overlapping tasks so that the corresponding vectors stay in P Q .

Lemma 1.3 (first key lemma)

Let y ∈ R J satisfying 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 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 with S.

ε ∈ R * + such that y +-= y + ε p i I i -ε p j I j and y -+ = y -ε p i I i + ε p j I j also satisfy (Q0). ε/p i ε/p j (a) ε/p i ε/p j (b)
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), since ε 0.
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, which respectively ensure that m 1 > 0 and m 2 > 0.

Claim

Let y ∈ R J satisfying inequalities (Q0) and (i, j) ∈ J 2 .

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

Proof : By contradiction, let us assume that there exists a subset 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 (1.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.

Then we have: p * y (S {i}) = p * y (S) + p i y i by definition of p * y = g p (S) + p i y i by assumption g p (S) + p i y j since y i y j g p (S) + p i p(S) by ( )

< g p (S) + p i [p(S) + p i ] since p i > 0 = g p (S {i}) Cf. (1.3) p * y (S {i}) by (Q0)
Therefore, p * y (S {i}) < p * y (S {i}). A contradiction.

Claim

Let y ∈ R J satisfying inequalities (Q0) and (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 : By contradiction, let us assume that 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)( ).

Then we have: p * y (S {j}) = p * y (S) + p j y j by definition of p * y = g p (S) + p j y j by assumption

< g p (S) + p j [y i + p j ] since y j < y i + p j g p (S) + p j [p(S) + p j ] by ( ) = g p (S {j}) Cf. (1.3) p * y (S {j}) by (Q0)
Therefore, p * y (S {j}) > p * y (S {j}). A contradiction.

Thanks to these two claims, we have

m 1 > 0, m 2 > 0 and then ε = min(m 1 , m 2 ) > 0. Remark 1.4
Note that any ε between 0 and min(m 1 , m 2 ) is suitable in this proof. Therefore, ε can be chosen as small as wanted.

To obtain an alternative proof of Theorem 1.2(i), Lemma 1.3 can be reformulated as follows.

If C is a vector of P Q which gives the task 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 with singletons ensure the non-negativity, 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 general 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 1.3 may not satisfy the additional inequalities. Let us consider for example, the following additional inequalities for a constant M such that M p(J).

∀j ∈ J, y j M (1.4)
Let Q M (resp. P Q M ) denote the set of all vectors encoding by its completion times a feasible schedule completing before time M (resp. the polyhedron defined by inequalities (Q0) and (1.4)). Figure 1.3 illustrates Q M and P Q M for a 2-task instance.

Q M = y ∈ R J y satisfies (1.0), (1.1) and (1.4) P Q M = y ∈ R J y satisfies (Q0) and (1.4) 0 C 2 0 C 1 M M • _ p 2 • p 1 +p 2 p 1 • _ p 1 +p 2
Cone of feasible schedules where 1 is executed before 2 Cone of feasible schedules where 2 is executed before 1 Let us explain why applying Lemma 1.3 is not useful for this kind of extreme points in general. Let us assume that C ∈ P Q M is the completion time vector of a schedule with two overlapping tasks. If one of these tasks completes at time M , applying Lemma 1.3 to C provides a vector C -+ which does not satisfy inequalities (1.4) and thus which is not in P Q M . Therefore, we cannot conclude this way that C is not an extreme point in P Q M . However, provided that ω ∈ (R * + ) 2 , an extreme point like (M, M ) is not an issue for the minimization of ω 1 C 1 +ω 2 C 2 , since this point will not be proposed as an optimum. The idea is then the following: since the inclusion extr(P Q M ) ⊆ Q M does not hold, we will prove that extr * (P Q M ) ⊆ Q M for a well-chosen subset of extreme points extr * . More formally, we define extr * for any given polyhedron P ⊆ R n as follows.

Q M P Q M Area without feasible schedule
extr

* (P ) = x * ∈ P ∃ ω ∈ R n + , {x * } = arg min x∈P n i=1 ω i x i
In words, extr * (P ) is defined as the set of points which are unique minimizer of a non-negatively weighted sum. The unicity is required to deal with some zero weight coefficients in the following.

Since the extreme points of a polyhedron are exactly the points which can be written as the unique minimizer of a linear function, we have extr * (P ) ⊆ extr(P ).

The following lemma allows to handle the extreme points encoding a schedule with two overlapping tasks, when one of them completes at M . Indeed, this lemma will be the key for showing that such a point is not a unique minimizer.

Lemma 1.5 (second key lemma)

Let y ∈ R J satisfying inequalities (Q0). If there exists (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 I 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 I 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 with 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 with 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 1.3 and 1.5, we prove that a point in extr * P Q M encodes a feasible schedule. More precisely, we prove the following theorem.

Theorem 1.6

If M p(J), then extr

* P Q M ⊆ Q M .
Proof : Let C ∈ extr * P Q M . Since 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 1.3 for ε set in ] 0, p(J)-C j [, so that C +-and C -+ satisfy inequalities (Q0) and (1.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 1.5, 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 non-negative 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 .
Despite this theorem is a kind of generalization of Theorem 1.2(ii), it will not be used in the following. Conversely, Lemmas 1.3 and 1.5 will be.

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 formulation for UCDDP using natural variables

In this section, we will provide a linear formulation for UCDDP. As explained in Section 0.2.1, we can consider an instance UCDDP(p, α, β) defined by (p, α, β) ∈ (R * + J ) 3 without loss of generality. Moreover, according to Lemma 0.1, we will only consider the d-blocks in this formulation.

NB: All the inequalities useful for formulations F 3 and F 4 are summarized on page 217. I suggest to keep this page handy while reading the next two sections.

Building the formulation step by step

• A linear objective function using e and t variables Since earliness and tardiness are not linear with respect to completion times, the function f α,β,d 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. This way, the function g α,β which gives the total penalty of a schedule from its earliness-tardiness vector (e, t) is linear. Indeed, this function is defined as follows.

g α,β (e, t) = j∈J (α j e j + β j t j )
In the remainder of this section, the objective function will be g α,β . To express the link between the latter and the previous objective function f α,β,d for any given due date d ∈ R + , let us denote by θ d the function which gives the earliness-tardiness vector of a schedule from its completion time vector C. Function θ d is defined as follows.

θ d (C) = [d-C j ] + j∈J , [C j -d] + j∈J
Then the objective functions are linked as follows.

f α,β,d = g α,β • θ d
Note that the parameter d is omitted in the function g α,β . That is consistent with the omission of d in the definition of an UCDDP instance. Moreover, parameters α and β which are used here to define the optimization direction (i.e. the objective function), will not be used again in the rest of the section which is dedicated to describe the set of (e, t) vectors encoding d-blocks.

• Consistency between e and t using δ variables We say that a vector (e, t) in R J + ×R J + is consistent if ∀j ∈ J, either e j = 0 or t j = 0. For any d p(J), there exists C in R J such that θ d (C) = (e, t) if and only if (e, t) is consistent. In order to ensure consistency, we introduce the following inequalities using, as done for F 2 l , a variable δ j indicating if j is early for each task j ∈ J. For each task j, δ j indicates if j is early.

∀j ∈ J, e j 0 (1.5) ∀j ∈ J, e j δ j (p(J)-p j ) (1.6) ∀j ∈ J, t j 0 (1.7) ∀j ∈ J, t j (1-δ j ) p(J) (1.8)
Inequalities (1.5) and (1.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 (1.6) does not restrict e j when δ j = 1. Note that for an unrestrictive due date d, p(J)-p j is tighter than d-p j . Similarly, inequalities (1.7) and (1.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 1.7

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

Let θ -1 d denote the function which gives the completion time vector of a schedule from its (necessarily consistent) earliness-tardiness vector (e, t).

θ -1

d (e, t) = (d-e j +t j ) j∈J In addition to the consistency, inequalities (1.5 -1.8), ensure the non-negativity of the encoded schedule. Indeed, for any d ∈ R and j ∈ J, (1.6) and (1.7) ensure that d-e j +t j d-e j d-p(J)+p j . In particular, for any d p(J) we deduce that d-e j +t j p j . Hence, we obtain the following lemma. Lemma 1.8

Let (e, t, δ) ∈ R J ×R J ×{0, 1} J . If e, t, δ satisfy (1.5 -1.8), then for any d p(J), θ -1 d (e, t) satisfies (1.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. For a d-schedule, and even for any schedule with no straddling task, it suffices then that early (resp. tardy) tasks do not overlap each other. The global non-overlapping constraint is then decomposed into two non-overlapping constraints: one for each side of d.

In order to denote the early-tardy partition of a schedule from its completion times, we introduce the following notations.

E (C) = { j ∈ J | C j d } 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 non-negativity constraints for tardy tasks (resp. the non-overlapping constraint for tardy tasks). As shown in Figure 1.4, 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. Since the formulation do not use completion times, we use δ variables to obtain the early-tardy partition. Therefore, let us introduce the following notations to denote the early-tardy partition of a schedule from the δ variables.

E(δ) = { j ∈ J | δ j = 1 } T (δ) = { j ∈ J | δ j = 0 }
According to Section 1.1, we want to apply Queyranne's inequalities (Q0) to the vector (e+p) /E(δ) (resp. t /T (δ) ), so that it satisfies (1.0) and (1.1). Therefore, we consider the following inequalities.

∀S ⊆ J, p * (e+p) S ∩E(δ) g p S ∩E(δ) (1.9) ∀S ⊆ J, p * t S ∩T (δ) g p S ∩T (δ) (1.10)
These inequalities are not linear inequalities as E(δ) and T (δ) depend on δ variables. Replacing S ∩E(δ) (resp. S ∩T (δ)) by S raises non-valid inequalities. Indeed, inequality (1.10) 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 (1.7) and (1.8). Since p i > 0 and p j > 0, this implies that t j > p j and t j > p i , which is not valid, that is not true for some d-blocks.

To ensure that only the terms corresponding to early (resp. tardy) tasks are involved in the inequality (1.9) (resp. in (1.10)), we multiply each term of index j in S by δ j (resp. by (1-δ j )). Then we obtain the following inequalities.

∀S ⊆ J,

j∈S p j e j δ j (i,j)∈S < p i p j δ i δ j (1.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 ) (1.12)
For δ j ∈ {0, 1}, if (e, t, δ) satisfies inequalities (1.5 -1.8), then we have e j δ j = e j and t j (1-δ j ) = t j . Therefore, the previous inequalities are simplified as follows.

∀S ⊆ J,

j∈S p j e j (i,j)∈S < p i p j δ i δ j (1.13) ∀S ⊆ J, j∈S p j t j (i,j)∈S < p i p j (1-δ i )(1-δ j ) + j∈S p 2 j (1-δ j ) (1.

14)

• Non-overlapping linear inequalities In order to remove the quadratic terms in the previous inequalities, we use the X variables introduced for F 2 in Section 0.5. Replacing δ i δ j and (1-δ i )(1-δ j ) according to Lemma 0.5, 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 1.10

Let (δ, X) ∈ {0, 1} J ×R J < satisfying inequalities (X.1 -X.4).

(i) If e ∈ R J satisfies inequalities (1.5) and (1.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 (1.7) and (1.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 1.9 and (e+p) /E(δ) from Lemma 1.10 (resp. between t /T (C) and t /T (δ) ).

Lemma 1.11

Let (e, t, δ) ∈ R J ×R J ×{0, 1} J . If e, t, δ satisfy (1.5 -1.8), and (Q2) then for any d p(J), E(δ) = E θ -1 d (e, t) and T (δ) = T θ -1 d (e, t) .

Proof : Let d p(J) and C = θ -1 d (e, t). Let j ∈ J. -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 (1.5), we deduce that t j > 0. Then inequality (1.8) implies that δ j = 1. Since δ j ∈ {0, 1}, necessarily δ j = 0. That proves T (C) ⊆ T (δ).

-Conversely, if j ∈ T (δ), δ j = 0 by definition. Inequalities (1.5) and (1.6) ensure then that e j = 0. 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).
-If j ∈ E (C), then C j d by definition. That is t j e j since C j = d-e j +t j . From inequality (1.7), we deduce that e j 0. We distinguish then the two following cases.

-If e j = 0, then t j = 0 too from inequality (1.7). From inequality (Q2) for S = {j}, we deduce that δ j = 0, otherwise this inequality implies t j p j , and hence t j > 0.

-If e j > 0, inequality (1.6) implies that δ j = 0, otherwise this inequality implies e j = 0. In both cases, since δ j ∈ {0, 1}, necessarily

δ j = 1. That proves E (C) ⊆ E(δ).
-Conversely, if j ∈ E(δ), δ j = 1 by definition. From inequality (1.8) we then have t j = 0, and hence C j = d-e j . Since e j 0 from inequality (1.5), we deduce that C j d. That proves E(δ) ⊆ E (C).

• Formulation F 3 Let us introduce the polyhedron defined by the linear inequalities introduced so far. [START_REF] Bagchi | Minimizing absolute and squared deviations of completion times with different earliness and tardiness penalties and a common due date[END_REF]), (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 2.1.

P 3 = (e, t, δ, X) ∈ R J ×R J ×[0, 1] J ×R J < (1.5 -1.8), (X.1 -X.
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 any set

V ⊆ R J ×R J ×R J ×R J < . int δ (V ) = (e, t, δ, X) ∈ V | δ ∈ {0, 1} J .
As previously explained for P Q and P Q M , some points in P 3 do not encode feasible schedules, even if they are integer (i.e. if δ ∈ {0, 1} J ). Therefore, we have to add an extremality constraint to our formulation, which is then not a classical MIP formulation. We finally propose the following formulation for UCDDP.

F 3 : min (e,t,δ,X)∈int δ extr P 3 g α,β (e, t)
The next section aims to prove the validity of F 3 that is to show the two following statements.

-Each d-block is encoded by (at least) one point in int δ extr P 3 , and the value of this point according to g α,β is the total penalty of the d-block.

-Each point in int δ extr P 3 encodes a feasible d-block whose total penalty is given by g α,β .

Validity of Formulation F 3

• Why are there three theorems to show two statements? The main goal of this paragraph is to informally give the intuition of how the three following theorems are linked. To do this, let us use terms coming from the logic vocabulary. A deductive system is said complete if it allows to obtain all the true formulas, and it is said sound if it allows to obtain only true formulas. In some sense, to show the validity of our formulation, we want to show both its soundness and completeness.

-Theorem 1.12 states that the (e, t, δ, X) encoding is complete, in the sense that any feasible schedule -under a technical assumption, which is satisfied in particular by any d-blockcan be encoded by a point in int δ (P 3 ).

-Conversely, a point in int δ (P 3 ) does not necessarily encode a feasible schedule. However, if such point is also (i) an extreme point of (P 3 ) and (ii) a minimizer of g α,β , we can show that it encodes a feasible schedule, and even show that it is a d-block using Theorem 1.12. Therefore, Theorem 1.13 states that formulation F 3 is sound, in the sense that any point in arg min{g α,β | int δ (extr(P 3 ))} encodes a d-block.

-Then we need a stronger version of Theorem 1.12: we need to ensure that a feasible schedule is encoded by a vector in arg min{g α,β | int δ (extr(P 3 ))}, and not just in int δ (P 3 ). This is not true for any feasible schedule. However, that is true for optimal d-blocks, i.e. C minimizing f α,β,d (C). This is what Theorem 1.14(i) states.

-Finally, to conclude, we need a stronger version of Theorem 1.13: we need to ensure that a point in arg min{g α,β | int δ (extr(P 3 ))} encodes an optimal d-block and not just a d-block. This can be shown using Theorem 1.14(i) (in the same way that we use Theorem 1.12 in the proof of The following theorem establishes that a feasible schedule, under some assumptions, is encoded by an integer point of P 3 . In particular a d-block is encoded by an integer point of P 3 .

Theorem 1.12

Let d p(J). Let C ∈ R J .

If 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 (e, t, δ, X) ∈ int δ (P 3 ), such that θ d (C) = (e, t), and hence f α,β,d (C) = g α,β (e, t).

Proof : From C, let us set: (e, t) = θ d (C), δ = I E(C) , x = I δ i =δ j (i,j)∈J < and Y = (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 the sake of brevity. Inequalities (1.5) and (1.7), as well as (1.6) for j in T and (1.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 (1.6) for j in E (resp. inequalities (1.8) for j in T ) are satisfied. Using Lemma 0.5(i), X and δ satisfy inequalities (X.1 -X.4) . Since C encodes a feasible schedule, C satisfies (1.1).Using Lemma 1.9, (e+p) /E (resp. t /T ) satisfies (1.0) and (1.1). Applying Property 1.1 to these two vectors, we deduce that they satisfy (Q0), and using Lemma 1.10, that e, δ, X satisfy (Q1) and t, δ, X satisfy (Q2). Thus, Y belongs to P 3 , and even to int δ (P 3 ) since δ ∈ {0, 1} J .

The following theorem establishes that an optimal solution of formulation F 3 is a solution for the unrestrictive common due date problem. Let us define π e,t the projection of the whole variable space to the (e, t) variable space as follows.

π e,t = R J ×R J ×R J ×R J < -→ R J ×R J (e, t, δ, X) -→ (e, t)
Theorem 1.13

Let d p(J). Let Y * = (e, t, δ, X) ∈ int δ (P 3 ).

If Y * ∈ extr(P 3 ) and (e, t) minimizes g α,β on π e,t int δ (P 3 ) , then Y * encodes a d-block whose total penalty is g α,β (e, t).

Proof : We decompose the proof into two steps.

-Proving that Y * encodes a feasible schedule without straddling task From Lemma 1.7, (e, t) is consistent and we can set

C * = θ -1 d (e, t).
Then Y * 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 (1.0) and (1.1). From Lemma 1.8, C * satisfies (1.0). From Lemma 1.11,

E(δ) = E (C * ) (resp. T (δ) = T (C * ))
, which allows the notation E (resp. T ) for the sake of brevity. Since (e, t) = θ d (C * ), we can use Lemma 1.9: to show that C * satisfies (1.1), and at the same time that there is no straddling task in S * , it remains to show that (e+p) /E (resp. t /T ) satisfies (1.0) and (1.1).

From Lemma 1.10, we know that (e+p) /E (resp. t /T ) satisfies inequalities (Q0). First, using in particular inequalities (Q0) associated with singletons, that ensures that (e+p) /E (resp. t /T ) satisfies (1.0). Second, that allow to show that (e+p) /E (resp. t /T ) satisfies (1.1) in the same way that we have shown, in Section 1.1, that a vector in extr * (P Q M ) encodes a schedule without overlapping. Let us assume that (e+p) /E does not satisfy (1.1). Then there exists (i, j) ∈ E 2 such that e i +p i e j +p j < (e i +p i )+p j . Depending on whether there is a gap between e j + p j and the bound p(J), we show that this overlap contradicts either the extremality of Y * or the minimality of (e, t). Therefore, two cases have to be considered.

→ If e j +p j < p(J), then from Lemma 1.3 applied on (e+p) /E there exists ε ∈ R * + such that setting

e +-= e + ε p i I i - ε p j I j and e -+ = e - ε p i I i + ε p j I j
leads to two vectors (e +-+p) /E and (e -+ +p) /E satisfying (Q0). According to Remark 1.4, ε can be chosen such that ε p(J) -(p j +e j ), and hence such that ε p(J)-(p i +e i ) ( ).

Using Lemma 1.10, both e +-, δ, X and e -+ , δ, X satisfy (Q1).

Since p i 1, we have e +- i = e i + ε p i e i +ε, and using ( ) we obtain e +- i p(J)-p i . For k ∈ J\{i}, we have e +- k e k and since e satisfies (1.6), we deduce that e +- k p(J)-p k . Thus e +-satisfies (1.6). For any k ∈ E, we have e +- k +p k p k since the inequality (Q0) associated with the singleton k is satisfied by (e +-+ p) /E . For any k ∈ T , we have e +- k = e k , and e k 0 since e satisfies inequalities (1.5). We deduce that e +-satisfies inequalities (1.5).

Similarly, e -+ satisfies inequalities (1.5) and (1.6). Finally, the two following points are in P 3 .

Y +-= (e +-, t, δ, X) and Y -+ = (e -+ , t, δ, X)
Then Y * is the middle of two points of P 3 . A contradiction, since Y * is extreme.

→ If e j +p j p(J), then e j +p j p(E), and from Lemma 1.5 on (e+p) /E there exists ε ∈ R * + such that setting e -= e -ε p j I j leads to a vector (e -+p) /E satisfying (Q0).Using Lemma 1.10, e -, δ, X satisfy (Q1).

Since e -is component-wise smaller than e, e -satisfies inequalities (1.6) as well.

For any k ∈ E, we have e - k +p k p k since the inequality (Q0) associated with the singleton k is satisfied by (e -+p) /E . For any k ∈ T , we have e - k = e k , and e k 0 since e satisfies inequalities (1.5). We deduce that e -satisfies inequalities (1.5).

Finally, the following point is in P 3 .

Y -= (e -, t, δ, X)

Since α and β parameters are positive, Y -has a smaller value than Y * according to g α,β , i.e. g α,β (e -, t) < g α,β (e, t). A contradiction, since (e, t) minimizes g α,β on π e,t P 3 .

Since both cases leads to a contradiction, we deduce that (e+p) /E satisfies (1.1). In the same way, we can prove that t /T satisfies (1.1). As explained above, that suffices to show that S * is a feasible schedule.

-Proving 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 it is a d-block.

Let us assume that S * holds an idle time or has no early task. Let S denote the schedule obtained by tightening tasks around d so as to fill idle times between tasks and, if there is no early task, left-shifting all the tasks such that the first one becomes on-time. Since d p(J), this left-shifting operation respects the non-negativity constraint. Let C denote the completion times in S.

Since S is a d-block by construction, we have ∀j ∈ J, d-p(J) C j -p j and C j d+p(J), which allows to use Theorem 1.12. We deduce that there exists Y = (ê, t, δ, X) ∈ int δ (P 3 ), such that θ d ( C) = (ê, t).

Moreover, S has a lower penalty than S * , i.e. f α,β,d ( C) < f α,β,d (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 α,β,d ( C) < f α,β,d (C * ) = g α,β (e, t).
A contradiction since (e, t) minimizes g α,β on π e,t int δ (P 3 ) .

The following theorem establishes that UCDDP reduces to solving formulation F 3 . Theorem 1.14

Let d p(J).

(i) Any optimal d-block is encoded by a vector minimizing g α,β on int δ extr P 3 .

(ii) Conversely, any vector minimizing g α,β on int δ extr P 3 encodes an optimal d-block.

Proof : Let us consider an optimal d-block S * . From Theorem 1.12, there exists a vector Y * = (e * , t * , δ * , X * ) in int δ (P 3 ) encoding S * . We will prove that Y * is necessary an extreme point of P 3 . We introduce P δ * = (e, t) | (e, t, δ * , X * ) ∈ P 3 , which is the slice of P 3 according to δ * , i.e. the projection of set of points of P 3 satisfying δ = δ * and therefore X = X * . Claim If (e * , t * ) is an extreme point of P δ * , then Y * is an extreme point of P 3 .

Proof : Let us show the contrapositive implication. Hence, we assume that Y is not an extreme point in P 3 . By definition, there exist then

Y 1 = (e 1 , t 1 , δ 1 , X 1 ) and Y 2 = (e 2 , t 2 , δ 2 , X 2 ) in P 3 such that Y * = 1 2 (Y 1 +Y 2 ).
Then δ 1 and δ 2 are necessarily equal to δ * since δ * ∈ {0, 1} J , δ 1 ∈ [0, 1] J , and δ 2 ∈ [0, 1] J . By Lemma 0.5, we deduce that X 1 = X * (resp. X 2 = X * ), and thus that (e 1 , t 1 ) (resp. (e 2 , t 2 )) is in P δ * . Since (e * , t * ) = 1 2 (e 1 , t 1 )+(e 2 , t 2 ) , that shows that (e * , t * ) is not an extreme point of P δ * .

Let (E, T ) denote the partition of tasks given by δ * , i.e. E = E(δ * ) and T = T (δ * ). Using Lemma 1.10, and inequalities (1.5 -1.8) we decompose P δ * as the Cartesian product

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 1.1, 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). Queyranne has shown that left-tight schedules are encoded by extreme points of P Q . These points are also extreme points of P Q M since no task is scheduled after M p(J) in a left-tight schedule. Therefore, 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 Y * encodes a d-block. We deduce that (e * , t * ) belongs to extr(P δ * ) and thus that Y * belongs to int δ extr P 3 .

To prove item (i), it remains to show that Y * , or more precisely (e * , t * ), is a minimizer of g α,β . By contradiction, let us assume that there exists Y = (ê, t, δ, Ŷ ) ∈ int δ extr P 3 such that (ê, t) minimizes g α,β and g α,β (ê, t) < g α,β (e * , t * ). According to Theorem 1.13, Y 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 a direct corollary of item (i) and Theorem 1.13. The schedule encoded by a vector Y * minimizing g α,β on π e,t int δ extr P 3 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 3 with a smaller value according to g α,β , a contradiction.

The next section provides a formulation similar to F 3 for CDDP. The main ideas are the same, but the occurrence of a straddling task in dominant schedules makes the encoding and the validity proof a bit more difficult.

A formulation for CDDP using natural variables

As explained in Section 0.2.2, we can consider an instance CDDP(p, α, β, d) where β ∈ (R * + ) J . Moreover, only d-or-left-blocks will be consider since they form a dominant set.

An encoding based on a new reference point

• Encoding a schedule with a straddling task 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 the one associated with {j}, i.e. 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 1.5 illustrates this encoding for a schedule holding a straddling task.

0 j s i j d a d-a e i t j
Figure 1.5: 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 schedules having an on-time task with variables a, e , t .

• Two possible encodings for a schedule with an on-time task 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 F 3 . Hence, a first possible encoding consists in setting a = 0, and using e (resp. t ) to represent earliness (resp. tardiness). Figure 1.6 illustrates this encoding for a schedule holding an on-time task. Unfortunately, to ensure that a takes the expected value in case of a schedule holding a straddling task, we will introduce a boolean variable to identify the task j 0 beginning at d-a. It forces to have in every schedule a task beginning at d-a. Therefore, this encoding proposed above is not valid in case of a d-block without tardy task, since no task starts at d-a = d in such a schedule. We then propose a second encoding for the d-blocks. It consists in choosing the starting time of the on-time task 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 1.7. 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, all the encoding proposed in this section can be decoded in the same way: the following expression gives the completion times of the encoded schedule.

0 j t i j d d-a e i t j
C = d-a-e j +t j j∈J

• A task partition slightly different from the early-tardy partition Let us introduce the following notations in order to partition the tasks according to their completion times in a slightly different way than (E(C), T (C)) does.

E (C) = { j ∈ J | C j < d} T (C) = { j ∈ J | C j d } Figure 1
.8 (resp. Figure 1.9) illustrates this partition for a schedule with a straddling task (resp. with an on-time task). Note that if there is a straddling task in the schedule, then

E (C) = E (C) and T (C) = T (C).

Building the formulation step by step

• 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 (1.5 -1.8) (Cf. page 58) where e (resp. t) are replaced by e (resp. t ). These inequalities will be denoted by (1.5' -1.8') in the sequel.

Note that δ j no longer necessarily indicates if task j is early or not. In particular, E(δ), T (δ) is no longer necessarily the early-tardy partition.

→ When a straddling task occurs, both partitions coincide, then we have:

E(δ) = E (C) = E (C) and T (δ) = T (C) = T (C)
→ When an on-time task occurs, using the first encoding we have

E(δ) = E (C)
and

T (δ) = T (C),
but using the second one we have

E(δ) = E (C) and T (δ) = T (C).
• Handling the non-negativity Since the due date can be smaller than p(J), avoiding overlaps and idle times does not ensure the non-negativity constraint. Therefore, we add the following inequalities ensuring that e j +p j d-a for each task j completing before d-a. ∀j ∈ J, e j +p j δ j d-a (1.15)

Since d is an upper bound of a, i.e. d-a 0, these inequalities are valid even for a task j completing after d-a, i.e. such that δ j = 0, and thus e j = 0.

• Handling the non-overlapping To ensure the non-overlapping, we use again variables X, satisfying (X.1-X.4) and the inequalities (Q1) and (Q2) (Cf. page 60), 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 (1.15) 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) 3 . 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, as the following example shows.

Example 4 : A constraint C j M for a too small M disables the non-overlapping inequalities

Let us consider the following instance of CDDP reduced to two identical tasks.

J = [1..2], d = 5, p 1 = 3, α 1 = 1, β 1 = 10, p 2 = 3, α 2 = 1, β 2 = 10,
Let us consider the polyhedron corresponding to the draft formulation built so far. P = (e , t , δ, X, a) ∈ R J ×R J ×[0, 1] J ×R J < ×R (1.5' -1.8'), (X.1 -X.4), (Q1'), (Q2'), and (1.15) The vector Y = (2, 2, 0, 0, 1, 1, 0, 0), is an integer extreme point of P . It corresponds to the schedule S represented below, where both tasks complete at time 3, since e 1 = e 2 = 2 and a = 0.

1 2 → 4 0 d d-a = 5-0 e 1 = e 2
The positivity constraint is satisfied, but not the non-overlapping constraint. Then S is unfeasible, then its penalty is not defined. However, one can say that S has a total penalty of 4, since α 1 (e 1+a)+α 2 (e 2+ a) = 4. More precisely S minimizes the following function supposed to represent the total penalty over P . j∈J α j (e -j +aδ j ) + β j (e -j -a(1-δ j ))

Finally, Y encodes a schedule where an overlap occurs in spite of inequalities (Q1') and despite Y is both extreme an minimal. The reason is that d-a = 5 < 6 = p(E(δ)), then Lemma 1.5 fails to be applied to (e +p) /E(δ) . One can say that "d-a is a too restrictive big M ".

To prevent d-a to be too restrictive, we introduce the following inequality.

j∈J p j δ j d-a (1.16)
Indeed, for a given δ ∈ {0, 1} J , inequalities (1.16) for j ∈ E(δ) are similar to inequalities (1.4), where d-a can play the role of M since d-a p E(δ) .

To ensure that inequalities (Q1') (resp. (Q2')) prevent overlaps of tasks completing before (resp. after) d-a, the objective function must be:

(i) a non-increasing function of variable e j for each task j such that δ j = 1,

(ii) a non-increasing function of variable t j for each task j such that δ j = 0.

Note that if a takes a value 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. The new point is dedicated to provide linear inequalities ensuring that the variable a takes a value such that the objective function fulfills (i) and (ii).

• Ensuring that variable a takes the expected value In spite of their apparent symmetry, the two conditions (i) and (ii) are completely different.

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

(1.17)

To ensure the condition (ii), ensuring that any task completing after d-a completes after or at d is not sufficient. Indeed, for such a task j, reducing t j while satisfying the inequality (Q2') associated with {j}, i.e. t j p j , task j can become early if p j a. In this case, the induced penalty does not necessarily decrease. Figure 1.10 illustrates the extreme case of this phenomenon, that is when a = d, E(δ) = ∅ (then (1.15) is satisfied) and tasks overlap each other to be on-time, while being in T (δ). 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, provided that it is not the first one. Therefore, in order to identify the first task j 0 completing after d-a, we introduce boolean variables (γ j ) j∈J along with the following inequalities

i j k d d-a 0 a t j = t i = t k
j∈J γ j = 1 (1.18) ∀j ∈ J, δ j 1-γ j (1.19) ∀j ∈ J, t j p j + (1-γ j ) (p(J)-p j ) (1.20)
More precisely, inequalities (1.18 -1.19) ensure that γ designates one and only one task i 0 among those completing after d -a, i.e. among T (δ); while inequalities (1.20) ensure that i 0 is the first one, i.e. i 0 = j 0 . Indeed, the latter ensure that t i 0 p i 0 , and since t i 0 p i 0 by inequality (Q2') associated with the singleton {i 0 }, we deduce that t i 0 = p i 0 . Then, for each task j such that δ j = 0, the inequality (Q2') associated with a pair {i 0 , j} gives ¨¨ẗ i 0 p i 0 + t j p j p 2 i 0 + p 2 j + p i 0 p j , which suffices to prove that task j completes after i 0 , i.e. t j p i 0 +p j . the following lemma sums up these results. (1.20) and (Q2 ), then t i 0 = p i 0 and ∀j ∈ T (δ), j = i 0 ⇒ t j t i 0 +p j .

Lemma 1.15

Let (t , δ, X, γ) ∈ R J ×{0, 1} J ×[0, 1] J < ×[0, 1] J . (i) γ ∈ {0, 1} J and (γ, δ) satisfies (1.18)-(1.19) ⇔ ∃i 0 ∈ T (δ), γ = I i 0 (ii) If (i) holds and t , δ, X satisfy (X.1)-(X.4),
Thanks to γ which identifies j 0 , we can now ensure that j 0 does not complete before d, (i.e. d-a+t j 0 d, that is a t j 0 or even a p j 0 since p j 0 = t j 0 ) using the following inequalities.

∀j ∈ J, a p j +(1-γ j ) d (1.21)
Yet again, these inequalities are valid since d -a 0. Indeed, for a task j = j 0 , γ j = 0 and this inequality gives a p 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 non-negativity, consistency, and non-overlapping 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 )).

Therefore, for each task j in J, we introduce a variable b 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 (1.22) ∀j ∈ J, b j a (1.23) ∀j ∈ J, b j δ j d (1.24) ∀j ∈ J, b j a -(1-δ j ) d (1.25)
Since d is an upper bound of a by construction, we get the following lemma.

Lemma 1.16

Let (a, b, δ) ∈ R×R J ×{0, 1} J . a, b and δ satisfy inequalities

(1.22)-(1.25) ⇔ b = a δ.
Then the total penalty of a schedule encoded by (e , t , a, b) is given by the linear function h α,β defined as follows.

h α,β (e , t , a, b) = j∈J α j e j + β j t j + (α j +β j ) b j -β j a
Note that, provided that the schedule satisfies the non-overlapping constraint, the function h α,β provides the total penalty, even for a schedule admitting two different encodings, (i.e. for a d-schedule with at least one tardy task). To enunciate formally this result, let us introduce θ d (resp. θ d ) the function which gives the first (resp. second) (e , t , a, b) encoding of a schedule from its completion time vector C. Functions θ d and θ d are defined as follows.

θ d (C) = [d-a-C j ] + j∈J , [C j -(d-a)] + j∈J , a, a I E(C) where a = d -min i∈T (C) C i -p i θ d (C) = [d-a-C j ] + j∈J , [C j -(d-a)] + j∈J , a, a I E(C) where a = d -min i∈ T (C) C i -p i
Note that if C encodes a schedule with a straddling task, both encodings coincide, i.e.

θ d (C) = θ d (C), since E (C) = E (C) and T (C) = T (C).
The following lemma gives the link between the objective function h α,β and the previous objective function f α,β,d .

Lemma 1.17

Let C ∈ R J . If C satisfies (1.1), then h α,β θ d (C) = h α,β θ d (C) = f α,β,d θ d (C) .
• Formulation F 4 Let us first introduce the space of the variables introduced so far.

E = R J ×R J ×[0, 1] J ×R J < ×R×R J ×[0, 1] J
Now we can describe the polyhedron defined by the linear inequalities introduced so far.

P 4 = (e , t , δ, X, a, b, γ) ∈ E (1.5' -1.8'), (X.1 -X.4), (1.15 -1.17), (1.21 -1.22), (1.18
-1.21), (Q1') and (Q2') are satisfied .

Note that this polyhedron depends on d, in addition to p, but neither on α nor on β. Inequalities (Q1') and (Q2') require the same separation algorithm as for (Q1) and (Q2), which will be developed in Section 2.1. We introduce the operator int δ,γ , which only keeps points with integer δ and γ. of any set V ⊆ E.

int δ,γ (V ) = (e , t , δ, X, a, b, γ) ∈ V δ ∈ {0, 1} J , γ ∈ {0, 1} J
For the sequel, we also introduce π e,t,a,b the projection of the whole variable space E to the ( e, t ) variable space as follows. ,t ,δ,X,a,b,t ,a,b) Finally, our formulation for CDDP is the following. The following section shows the validity of F 4 following the same lines as Section 1.3.2 for F 3 .

π e,t,a,b = E -→ R J ×R J (e

Validity of Formulation F 4

Let us start by summing up how we handle the non-overlapping4 in Formulation F 4 . Thanks to the natural variables e and t , ensuring the non-overlapping constraint reduces to ensuring the nonnegativity and non-overlapping constraints for two subsets of tasks. In contrast with Formulation F 3 where these two subsets are the early and the tardy tasks (Cf. Lemma 1.9), in Formulation F 4 , the subsets to consider depend on the occurrence of a straddling or an on-time task, as detailed in the following lemma.

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

Let C ∈ R J . Let (e , t , a, b) ∈ R J ×R J ×R×R J . (i) If (e , t ,

Theorem 1.19

Let C ∈ R J satisfying (1.0) and (1.1).

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

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

Proof : Let us start by proving (i).

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

We will prove that Y ∈ int δ,γ (P 4 ). Since δ ∈ {0, 1} J and γ ∈ {0, 1} J by construction, we have to show that Y satisfies all the inequalities defining P 4 , i.e. Y ∈ P 4 .

Note that the definition of δ ensures that E(δ) = E (C) and T (δ) = T (C), which allows the notation E and T for the sake of brevity. By Lemma 0.5(i), the definition of X ensures that inequalities (X.1 -X. We also have 0 C js -p js < d, then 0 < a d. Thus inequality (1.17) is satisfied, and for any task j = j s , γ j = 0 then 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 (1.16) holds, since E = E(δ). Moreover, task j s completes after d, i.e. C js > d , thus we get a = p js + (d-C js ) < p js = p js + (1-γ js ) d, since γ js = 1. We deduce that inequalities (1.21) are satisfied.

Inequalities (1.5') and (1.7'), are satisfied by construction of e and t (Cf. definition of θ d ).

Let us prove that Y satisfies inequalities (1.5' -1.8'), (1.15), and (1.20) by considering separately the inequalities indexed by j ∈ E of those indexed by j ∈ T . We will say "the inequality (•)" meaning implicitely "the inequality (•) indexed by j".

→ For a task j in E, C j C js -p js = d-a since j and j s do not overlap, then e j = d-a -C j and t j = 0. Inequality (1.8') is thus satisfied, along with (1.20) since p j + (1-γ j ) p(J)-p j = p(J) 0 = t j . By assumption C j d -p(J) + p j , thus e j d -a -d -p(J) + p j p(J) -p j , and inequality (1.6') is also satisfied. Moreover, d -e j -p j δ j = a + C j -p j , and by non-negativity constraint C j -p j 0, thus d -e j -p j δ j a and inequality (1.15) is satisfied .

→ For a task j in T , C j d d -a, then e j = 0 and t j = C j -(d -a). The inequality (1.6') is thus satisfied. Moreover, d -e j -p j δ j = d a, then inequality (1.15) is satisfied for j. By assumption C j (C js -p js ) + p(J) = (d-a) + p(J), thus t j = C j -(d-a) p(J). We deduce that the inequality (1.8') is also satisfied, along inequality (1.20) if j = j s , since p j + (1-γ j ) p(J)-p j = p(J) in this case. If j = j s , inequality (1.20) is also satisfied, since

pj s + (1-γ js ) p(J)-p js = p js = C js -(d-a) = t js .
Since C encodes a feasible schedule, C satisfies (1.1). Moreover, by definition of θ d , d-a is the starting tie of a task (namely j 0 ). We deduce that no task starts before d -a and completes after d -a, i.e. ∀j ∈ J, C j d -a or C j (d -a) + p j . Then Lemma 1.18(i) ensures that (e + p) /E , along with t /T , satisfies (1.0) and (1.1). Applying Property 1.1 to these two vectors, we deduce that they satisfy (Q0), and using Lemma 1.10, that e , δ, X satisfy (Q1') and t , δ, X satisfy (Q2'). First we derive from inequalities (1.5' -1.8') that ∀j ∈ T (δ), e j = 0 and ∀j ∈ E(δ), t j = 0. Since δ and γ are in {0, 1} J , and Y * satisfies (X.1 -X.4), (1.18 -1.20) and (Q2'), Lemma 1.15 ensures that there exists j 0 ∈ T (δ) such that γ = I {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, hence C * j 0 -p j 0 = d-a. Then for any other task j in T (δ), we have

C * j -p j = (C * j 0 -p j 0 ) + t j -p j (C * j 0 -p j 0 ) + t j 0 = C * j 0 > C * j 0 -p j 0 .
We deduce that C * For any task j = j 0 in T (δ),

C * j = d-a + t j > d-a + t j 0 = d-a + p j 0 . Since γ j 0 = 1, inequality (1.21) gives a p j 0 , thus C * j > d. 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 (1.17), t j > e j , which would be impossible if j was in E(δ), according to inequalities (1.5') and (1.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 j ∈ T (C * ) ⊆ T (δ) or C * j = d , that is t j = e j + a = e j + p j 0 > e j , and necessarily j ∈ T (δ). Therefore, T (C * ) ⊆ T (δ). We conclude that T (δ) = T (C * ) and E(δ) = E (C * ).

For the remainder of the proof, we assume that we are in the first case. Then E (resp. T ) will denote -Proving that S * is feasible We have to prove that C * satisfies (1.0) and 1.1). For a task j in E, inequality (1.15) ensures that p j d-a -e j = C * j . For a task j in T , inequality (1.15) ensures that a d, then C * j = d-a + t j t j . Moreover, from inequality (Q2') associated with {j}, we have t j p j thus C * satisfies (1.0).

E(δ) = E (C * ) (resp. T (δ) = T (C * )),
To show that C * satisfies (1.1) using Lemma 1.18(i), it remains to show that vectors (e +p) /E and t /T satisfy (1.0) and (1.1). Since inequalities (Q1') and (Q2') are satisfied, we know from Lemma 1.10 that (e +p) /E and t /T satisfy inequalities (Q0). First, these inequalities for the singletons ensure that both vectors satisfy (1.0). Second, inequalities (Q0) allow us to show that both vectors satisfy (1.1) as follows Let us assume that (e +p) /E does not satisfy (1.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 1.5 to (e +p) /E , we can construct a vector e -∈ R J which is component wise smaller than e and such that (e -+ p) /E satisfies (Q0). One an check that Y -= (e -, t , δ, X, a, b, γ) is in int δ,γ (P → If e j +p j = d-a, we can derive the same contradiction since d-a p(E) from inequality (1.16).

→ If e j +p j < p(J) and e j +p j < d-a, according to Remark 1.4, we can force the parameter ε to be smaller than min(p(J) -(e j + p j ), d -a -(e j + p j )) > 0 when applying Lemma 1.3 to (e + p) /E . This way, we obtain two vectors e +-∈ R J and e -+ ∈ R J such that (e +-+p) /E and (e -+ +p) /E both satisfy (Q0), an such that Y +-= (e +-, t , δ, X, a, b, γ) and Y -+ = (e -+ , t , δ, X, a, b, γ) are in int δ,γ (P 4 ). Yet Y * is the middle point of the segment [Y +-, Y -+ ]. this contradicts the extremality of Y * .

Similarly, let us assume that t /T does not satisfy (1.1). Then there exist two tasks i and j in T such that t i t j < t i +p j . By Lemma 1.15, ∀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 (1.8') and (1.20) 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 1.5 to (e +p) /E we can derive a contradiction to the minimality of (e , t , a, b) on π e,t,a,b int δ,γ (P 4 ) .

→ If t j < p(J), applying Lemma 1.3 we can derive a contradiction to the extremality of Y * .

Finally, S * is feasible.

-Proving that S * is a d-or-left-block. Let us denote by S the set of blocks satisfying at least one condition among: -the starting time is 0, -there is an on-time task, α(E) = β(T ). From the proof of Lemma 0.2, S is a strictly dominant. Therefore, we can show that S * necessary belongs to S as we proved that S * necessary was a d-block in Theorem 1.13's proof. Indeed, if S * does not belongs S , there exists S having a lower penalty, an according to Theorem 1.19, this schedule corresponds to a point in int δ,γ (P 4 ) which contradicts the minimality of (e , t , a, b).

Conversely, the set of d-or-left-blocks is not a strictly dominant set. To show that S * is a d-or-leftblock, we then use the extremality of Y * as follows. Let us assume that S * is not a d-or-left-block. We necessarily have α(E) = β(T ) since S * ∈ S . That implies that E = ∅ since β = 0 (resp. T = ∅ since α = 0). Then in S * , there is a straddling task (necessarily it is j 0 ) and a tasks scheduled right before it. The first completes at time d-a+p j 0 while the second completes at time d-a, then we have p j 0 -a > 0 and a > 0. Moreover, denoting by s the starting time of S * , we have s > 0. Then ε = 1 2 min(p j 0 -a, a, s) is positive. Setting a -= a -ε and Y -= (e , t , δ, X, a -, a -δ, γ) (resp. a + = a + ε and Y + = (e , t , δ, X, a + , a + δ, γ)), Y -(resp. Y + ) encodes using θ d the schedule obtained by shifting backward (resp. forward) the whole block by ε time unit. By definition of ε, Y -(resp. Y + ) still satisfies inequalities (1.15), (1.21), (1.16) and (1.17), thus Y -∈ P 4 (resp.

Y + ∈ P 4 ). Since Y * is the middle of [Y -, Y + ], that contradicts the extremality of Y * .
We deduce that Y * encodes a d-or-left-block.

• Dealing with zero unit earliness penalties If some tasks have a zero unit earliness penalty, F 4 provides a vector Y * = (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 Y * does not ensure that these tasks are well spread out (in this context Lemma 1.5 cannot be applied). However, the minimality of Y * 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 (1.16), 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 α,β (Y * ), regardless of their order. We deduce that S is an optimal schedule.

The following theorem establishes that CDDP reduces to solving formulation F 4 . We omit the proof since it follows the same lines as the one of Theorem 1.14.

Theorem 1.21

Any optimal d-or-left-block, is encoded by a vector minimizing h α,β on int δ,γ extr P 4 .

Conversely, any vector minimizing h α,β on int δ,γ extr P 4 , encodes an optimal d-or-left-block.

Formulations F 3 and F 4 are built and then proved to be valid using the same ideas. We recall below these common ideas as it can be seen as a guideline to formulate a problem using natural variables and non-overlapping inequalities. Of course, this method is not applicable to any scheduling problem, but the following section gives insights of such possible extensions.

A guideline to provide a formulation using natural variables

1. Establish the dominance properties standing for the considered problem. Use them to consider only a subset of schedules as solution set.

2. For such a schedule, choose how it can be cut in order to decompose the global non-overlapping constraint into independent local non-overlapping constraints. The time axis is then decomposed into several half-axis. Each of them is characterized by a reference point, a direction (left or right, i.e. before or after), and a machine (if several). Note that the total penalty has to decrease (or at least not raise) when a task gets closer to its reference point.

3. If the reference point depends on the schedule (let us talk about floating reference point in this case), introduce variables along with inequalities to manage this floating reference point.

4. Introduce boolean variables to encode the task partition induced by the decomposition.

5. Introduce for each part of the partition a family of natural variables measuring the distance to the reference point.

6. Add inequalities to ensure that the natural variables are consistent with the partition variables.

7. Add non-overlapping inequalities for each family of natural variables, that is for each part.

8. If needed, add linearization variables, along with the needed linearization inequalities, so as to obtain a linear objective function.

=⇒ The problem is then to minimize a linear function f over the integer extreme points of a polyhedron.

9. Check that each dominant schedule is encoded by an integer point of the polyhedron.

10. Check that each integer extreme point of the polyhedron encodes a feasible schedule and even a dominant schedule.

11. Show that each optimal schedule is encoded by an integer extreme point of the polyhedron minimizing f , and conversely that such a point encodes an optimal schedule.

Using natural variables and non-overlapping inequalities for related problems

In this section, we consider just-in-time scheduling problems similar to common due date problems, where a formulation using natural variables and non-overlapping inequalities could be provided using the ideas presented in the previous section. We give neither complete formulation nor validity proof, but only give some hints.

Slight modifications of the penalty function

Let us consider again the situation of the joiner who wants to send its daily production at 4:00 pm (Cf. Page 12), and imagine other costs for the extra-deliveries, that is the delivery of furniture completing after 4:00 pm.

• Extra-delivery cost with a setup cost Let us assume that an extra-delivery does not only induce a cost proportional to the tardiness but also a setup cost σ j which depends on the piece of the furniture j which has to be delivered. In this case, the total penalty is the following.

j∈E α j E j + j∈T (β j T j + σ j )
Following the same line as for UCDDP (resp. CDDP), one can show that d-blocks (resp. d-or-leftblocks) are dominant for this problem if the due date is unrestrictive (resp. even if it is not the case). Moreover, using the already introduced variables, the objective function can be written as follows. j∈J α j e j + β j t j + σ j (1-δ j ) This is a linear function, which is in addition a non-increasing function of each variable e j or t j . That suffices to use Formulation F 3 (resp. F 4 ) for this problem, changing only the objective function.

• Extra-delivery cost reduced to a setup cost Let us assume that the cost of an extra-delivery is only a setup cost, that is a cost that does not depend on the completion time. In this case, one can show that d-blocks are dominant, even if the due date is unrestrictive. Indeed, if a straddling task j s occurs in a block, right-shifting the whole block so as to start j s at time d does not increase the total penalty since it does not increase the earliness penalty, there is no tardiness penalty, and the penalty due to the tardy task does not change. Therefore, no matter the value of the due date, Formulation F 3 can be adapted for this problem using the following objective function. j∈J α j e j + σ j (1-δ j ) Variables (t j ) j∈J , along with non-overlapping inequalities (Q2) can be removed, since tardy tasks can be arbitrarily scheduled after d with no impact on the total penalty.

• Extra-delivery by batch Let us now assume that the joiner chooses to deliver all the furniture completed after 4:00 pm at one blow, instead of delivering each piece of furniture by bike. The joiner has then to wait that the last piece of furniture completes. One can consider that the cost of this single extra batch delivery is proportional to the tardiness of the last task. The total penalty function can then be written as follows.

j∈J

(α j E j ) + λ max j∈J C j -d +
Assuming that the due date is unrestrictive, one can show that the d-blocks are dominant. Therefore, the positive part on the last term can be removed, since necessarily max j∈J C j d. In order to obtain a linear objective function, we have to introduce a single continuous variable t max to represent max j∈J t j = max j∈J C j -d, along with the following single constraint.

t max j∈J p j (1-δ j )
Hence, the objective function is the the following linear function. j∈J (α j e j ) + λ t max As previously, variables (t j ) j∈J , along with non-overlapping inequalities (Q2) can be removed, since tardy tasks can be arbitrarily sequence after d, as long as they form a block starting at d.

We proposed here only modification on the penalty due to tardy tasks, however, we could similarly manage other penalties for the early tasks, provided they could be linearly expressed. Indeed, variables (e j ) j∈J and (t j ) j∈J are almost independent once variables δ j have fix the early-tardy partition.

From one machine to multi-machine

• What can model a multi-machine setting Let us now assume that the joinery is divided into multiple workshops. We then have to decide in which workshop each piece of furniture will be produced. If the different workshops are not located in the same place, the delivery can start at different time in each one: for example at 4:00 pm in the one while at 5:00 pm in the other which is located closer to the customers. Moreover, the congestion in one workshop is independent to the other. Therefore, multiple workshops are modeled by multiple machines, denoted by [1..m], and having their own due date denoted by (d k ) k∈ [1..m] . One can even consider unit earliness and tardiness penalties depending on the machine. For example in a more spacious workshop, the unit earliness penalty can be lower.

Let us assume that all the due dates are unrestrictive. In this multi-machine setting, one can show a dominance property equivalent to the V-shaped d-block dominance property for UCDDP. Indeed, the schedules such that, for each machine k ∈ [1..m], the tasks scheduled on k form a V-shaped d k -block, are dominant. Therefore, Formulation F 3 can be adapted to this problem.

• Correspondence between natural variables families and half-axes Each natural variable family, along with the associated non-overlapping inequalities, can be seen as a way to manage tasks placed on an half-axis, whose origin is attractive for tasks, i.e. the closer tasks are placed to the origin, the lower is the penalty they induced.

As represented below, variables (C j ) j∈J , along with Queyranne's non-overlapping inequalities (Q0), correspond to the half-axis [0, +∞[. Note that the passage from one axis to two axes require the introduction of a binary variable for each task, indicating to which axis the task belongs. That allow to write non-overlapping inequalities taking into account only the appropriate tasks for each axis, i.e. only those belonging to this axis. It is exactly what allows δ j on page 60. To be exact, an additional variable, along with four inequalities, must be introduced for each pair of tasks, in order to produce linear non-overlapping inequalities. It is exactly the role of X variables on page 60.

As represented below, with m machines, 2m half-axes have to be considered: two for each machine, one for the early tasks, the other for the tardy ones. machine 1

d 1 d 1 0 | machine 2 d 2 d 2 0 | . . . . . . machine m d m d m 0 |
Hence, we have to introduce 2 m -1 binary variables for each task, 2 m variables along with four inequalities for each pair of tasks. We also introduce 2 m families of natural variables indexed by J, i.e. one continuous variable for each task and each half-axis, along with the corresponding non-overlapping inequalities.

The resulting formulation, which is similar to F 3 , was the subject of the internship of Alexandre Heintzmann, advised by Pierre Fouillhoux and myself during summer 2019. [référence à venir]

From a common due date to a common due window

Let us forget the delivery problem and focus on the working day organization according to the daylight. The joiner prefers to work in daylight rather than artificial light, especially for finishing touches. If the time window [d , d ] represents the period of the day where there is enough sunlight, finishing touches for tasks completing in this time windows are not painful. Therefore, no penalty will occur for such tasks in the model. Conversely, finishing a furniture before the sunrise (resp. after the sunset) is painful. More precisely, the more it is early in the morning (resp. late at night) the more painful it is. Therefore, each task j completing before d (resp. after d ) will incur a penalty proportional to d -C j (resp. C j -d ). A priori, one can think to symmetrical earliness and tardiness unit penalties, i.e. ∀j ∈ J, α j = β j , to reflects this situation, but taking into account the eye fatigue at the end of the day, one can also have ∀j ∈ J, α j β j . Finally, the objective function is the following. This problem is known in the literature as the common due window scheduling problem. Let us denote it by CDWP . Kramer and Lee [START_REF] Kramer | Common due-window scheduling[END_REF] study CDWP in the case of task independent earliness and tardiness penalties, i.e. ∀j ∈ J, α j = α 0 and β j = β 0 . They propose a dynamic programming algorithm in O(n d ) that exactly solves CDWP. We consider a larger class of instances, since we allow task-dependent unit earliness and tardiness penalties. Therefore, the dominance properties announced in the following are less strong than the ones provided in [START_REF] Kramer | Common due-window scheduling[END_REF].

j∈J α j [d -C j ] + + β j [C j -d ] +
The dominance properties for UCDDP and CDDP can be extended to this problem as proposed in Lemma 1.22, where definitions have been adapted as follows. For a given instance, a schedule is a d -or-d -block if it is a block and there exists a task completing at time d or a task completing at time d 2 . A schedule is a d -or-d -or-left-block if it is a d -or-d -block or a left-block. A schedule is said -shaped if the tasks completing before d are scheduled by non-decreasing α-ratio and the tasks starting after d are scheduled by non-increasing β-ratio. Moreover, for a given schedule, a task is said early (resp. tardy) if it completes before d (resp. after d ). Note that there can be some tasks which are neither early nor tardy.

Lemma 1.22

Let p ∈ R J + and (α, β) ∈ R J + ×R J + . Let (d , d ) ∈ R + J ×R + J .
The Proof : These properties can be shown using shifting and exchange arguments, as done for common due date problems in Section 0.2. However, we develop the proof of the d -or-d -or-left-block dominance property in order to convince the reader that we cannot ensure that an optimal schedule can be found among the d -blocks (resp. d -blocks), even if d p(J). In other words, one cannot choose d or d as preferred reference point for dominant schedules.

Thanks to the block dominance properties, there exists an optimal schedule S * , encoded by the completion times (C j ) j∈J , which is a block. Let us assume that S * is not d -or-d -or-left-block. As done to prove the d-block dominance property on page 16, one can prove that S * can neither completes before d nor starts after d , by optimality. There exist necessarily a task j 1 ∈ J such that C j 1 -p j 1 < d < C j 1 , and a task j 2 ∈ J such that

C j 2 -p j 2 < d < C j 2 . Possibly, j 1 = j 2 . → If α(E) > β(T ), let us set ε 1 = d -(C j 1 -p j 1 ), ε 2 = d -(C j 2 -p j 2 )
, and ε = min(ε 1 , ε 2 ). By definition of j 1 and j 2 , ε 1 > 0 and ε 2 > 0, then ε > 0. By right-shifting the whole block by ε time units, the total penalty reduces by ε(α(E)-b(T )) > 0. A contradiction since S is optimal.

E j 1 j 2 T d d 0 ε 1 ε 2 → If α(E) < β(T ) let us set ε 1 = C j 1 -d , ε 2 = C j 2 -d , s the starting time of S, and ε = min(ε 1 , ε 2 , s).
Since S is not a left-block, s > 0, and by definition of j 1 and j 2 , ε 1 > 0 and ε 2 > 0, then ε > 0. By left-shifting the whole block by ε time units, the total penalty reduces by ε (β(T )-α(E)) > 0. A contradiction since S is optimal.

E j 1 j 2 T d d 0 ε 1 ε 2 s → If α(E) = β(T )
, there is an infinite number of optimal schedules which are not d -or-d -blocks: all those obtained by right-shifting the whole block by ε < min (d-(

C j 1 -p j 1 ), d -(C j 2 -p j 2 )
) and all those obtained by left-shifting the whole block by ε < min(s, C j 1 -d , C j 2 -d ). Indeed, such shifting operation induce no variation of the total penalty since α(E) = β(T ). However, there also exists an optimal d -or-d -block since there is at least the one obtained by a min(s, C j 1 -d , C j 2 -d ) left-shifting. Finally, an optimal schedule can always be found among the d -or-d -or-left-blocks. Moreover, if d p(J), the previous min is not reached by s, and we can transform any optimal block into a d -or-d -block.

In spite of the d -or-d -block dominance property, we cannot encode only schedules where tardy tasks starts at time d , since there can be a d -straddling task in all the optimal schedule. We are in the same situation as for CDDP with a restrictive due date, where the encoding had to manage schedules where the first tardy task starts before d. As represented below, to address this issue we proposed to introduce a new variable a so as to d-a represents the starting time of the first tardy task.

j a t j {k ∈ J | (1-δ k ) = 1} d
Roughly speaking, the variable a allowed to make floating the origin of the half-axis of the tardy tasks, at the expense of the introduction of inequalities and variables ensuring that a takes the appropriate value 5 .

For CDWP, we have to introduce a such variable a 2 to make floating the half-axis of the tardy tasks, even if d p(J). In addition, we also have to introduce a such variable a 1 to make floating the half-axis of the early tasks, since a d -straddling task can occur in all the optimal schedules, implying that the last early task do not complete at d but before. Moreover, since a non-early task is not necessarily a tardy task, two binary variables are needed for each task j: δ 1 j indicating if j is early or not, and δ 2 j indicating if j is tardy or not. The figure below represents the proposed encoding.

i j

a 1 a 2 e i +p i t j k ∈ J δ 1 k = 1 k ∈ J 1-(δ 1 k +δ 2 k ) = 1 k ∈ J δ 2 k = 1 C j d d 0 |
By adding for each pair of tasks i, j a variable X 1 i,j (resp. X 2 i,j ) in order to linearize δ 1 i δ 1 j (resp. δ 2 i δ 2 j ), and the four associated inequalities, one should be able to write linear non-overlapping inequalities managing variables (e j )j ∈ J (resp. (t j )j ∈ J). Using e and t varaibles, the total penalty of the schedule can be written as follows.

j∈J α j (e j -a 1 δ 1 j ) + β j (t j -a 2 δ 2 j )
Adding variables and inequalities to linearize a δ terms as proposed on page 70, this function can be turned into a linear function, resulting in a formulation for CDWP.

In this chapter formulations using natural variables have been introduced, and proved to be able to formulate both UCDDP and CDDP. In the next chapter, we explain how such formulations combining an exponential number of linear inequalities, integrity and extremality constraints can be solved in practice.

Chapter 2 How to deal with non-overlapping inequalities in practice?

In the first section of this chapter, we propose a separation algorithm to handle the exponential number of non-overlapping inequalities, while in the second one, we explain how to handle both integrity and extremality constraints. This results in Branch-and-Cut algorithms for UCDDP and CDDP, which are tested and compared to other MIP formulations on the Biskup and Feldmann's benchmark in the third section.

Separation algorithm for non-overlapping inequalities

Let us briefly explain how Queyranne [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] handles the separation of inequalities (Q0), before explaining how to separate inequalities (Q1), (Q2), (Q1'), or (Q2').

Inequalities (Q0) separation algorithm proposed by Queyranne [34]

Let us fix p ∈ R * + J and C ∈ R J . Deciding whether C satisfies inequalities (Q0) reduces to decide whether the maximum of the set function Γ C is non-positive, where Γ C is defined from parameter C as follows.

∀S ⊆ J, Γ C (S) = g p (S)-p * C(S) Indeed, if max S⊆J Γ C (S) 0, then C satisfies inequalities (Q0), and if conversely there exists S ⊆ J such that Γ C (S) > 0, C does not satisfy the inequality (Q0) associated with S. Using the definition of g p , Queyranne [START_REF] Queyranne | Structure of a simple scheduling polyhedron[END_REF] shows the following property. For the non-overlapping inequalities that we propose, no property similar to Property 2.1 holds, therefore this separation algorithm cannot be adapted. However, the separation problems for inequalities (Q1), (Q2), (Q1'), or (Q2') can also be solved in polynomial time using a different approach, as explained in the following.

Separation algorithm for inequalities (Q1), (Q2), (Q1'), or (Q2')

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'). For any parameters (c, q) ∈ R J ×R J < , let us denote by Γ c,q the set function defined as follows.

∀S ⊆ J, Γ c,q (S) = (i,j)∈S < q i,j + i∈S c i Let Y = (e, t, δ, X) ∈ R J ×R J ×[0, 1] J ×R J < a vector satisfying inequalities (1.5-1.8) and (X.1-X.4). The separation problem for inequalities (Q1) is to find a subset S of J such that Y does not satisfy the associated inequality (Q1) or to guarantee that Y satisfies all inequalities (Q1). It reduces to the maximization of Γ c 1 ,q 1 for the following parameters (c 1 , q 1 ). c 1 = -2 p j e j j∈J and q 1 = p i p j (δ i +δ j -X i,j ) (i,j)∈J < If max S⊆J Γ c 1 ,q 1 (S) 0, then C satisfies inequalities (Q1), and if conversely there exists S ⊆ J such that Γ c 1 ,q 1 (S) > 0, C does not satisfy the inequality (Q1) associated with S. Indeed, we have the following equivalences.

Y satisfies (Q1) ⇔ ∀S ⊆ J, (i,j)∈S < p i p j δ i +δ j -X i,j 2 j∈S p j e j ⇔ ∀S ⊆ J, (i,j)∈S < p i p j (δ i +δ j -X i,j ) -2 j∈S p j e j Γ c 1 ,q 1 (S) 0
Similarly, the separation problem of inequalities (Q2), is equivalent to the maximization of Γ c 2 ,q 2 for the following parameters (c 2 , q 2 ). 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 (X.3 -X.4). 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 Picard and Ratliff [START_REF] Picard | Minimum cuts and related problems[END_REF]. Let us assume that J = [1..n] for the sake of brevity. We consider the weighted undirected graph G = (V, A, w) defined as follows.

               V = [0..n+1] A = {{i, j} | (i, j) ∈ V 2 such that {i, j} = {0, n+1}} ∀(i, j) ∈ J < , w {i,j} = q i,j ∀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
Note that V and A only depend on J, while w depends on parameters c and q. In addition, let us introduce the three following quantities, which only depend on parameters (c, q).

w i,j = q i,j 0 w { 0 , j } = [ k j ] + • n+1 w { i , n + 1 } = [ k i ] - • • • • • • j i
Q = (i,j)∈J < q i,j C = j∈J c j K = j∈J |k j |
The following property establish, for each subset S ⊆ J, the link between the value of Γ c,q (S) and the weight of the cut separating s and 0 from the other nodes in G. The proof follows the line of the proof that max-cut can model [START_REF] Barahona | An application of combinatorial optimization to statistical physics and circuit layout design[END_REF] However, the idea to use positive and negative parts to obtain only non-negative weights on the edges is from Picard and Ratliff [START_REF] Picard | Minimum cuts and related problems[END_REF]. This proof is given on the next page.

Property 2.2 ([32])

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 Gomory and Hu's algorithm [START_REF] Gomory | Multi-terminal network flows[END_REF], as explained below.

• Implementation of the separation algorithm Each family of non-overlapping inequalities, i.e. (Q1), (Q2), (Q1'), or (Q2'), correspond to a different separation algorithm, however these algorithms are similar and consist in the same following steps.

1. Computing the weights w {i,j} according to the value of variables e, t, δ, X (resp. e , t , δ, X) in the solution provided by the solver. 2. Running the Gomory and Hu's algorithm [START_REF] Gomory | Multi-terminal network flows[END_REF] provided by the open source C++ optimization library LEMON [START_REF]LEMON -Library for Efficient Modeling and Optimization in Networks[END_REF], in order to obtain T the Gomory-Hu tree rooted in 0 . 3. Finding all minimum cost edges along the path between 0 and n+1 in T . 4. For any of such edge e, testing whether the weight of the related cut is negative enough, more precisely for W the connected component of 0 in T \{e} testing if -1 2 w(W, W ) + Q+C 2 + K 4 > 0. If so, adding in the model the inequality (Q1) (resp. (Q2),(Q1'),(Q2') associated with S = W \{0}.

Proof of Property 2.2 :

The following equations show a result slightly different from the one claimed in the property. Indeed, S is a given parameter in the property while S is a minimization variable in the following computations, which allows to show how a set function maximization problem is turned into a minimization problem over cuts. However, these computations enclosed a proof of the property.

max

S∈P(J) Γ c,q (S) = max δ∈{0,1} J   (i,j)∈J < q i,j δ i δ j + i∈J c i δ i   = max s∈{-1,1} J   (i,j)∈J < q i,j s i +1 2
s j +1 2 + i∈J c i s i +1 2   = max s∈{-1,1} J   (i,j)∈J < q i,j 4 [s i s j + s i + s j + 1] + i∈J c i 2 [s i +1]   = max s∈{-1,1} J       (i,j)∈J < q i,j 4 s i s j + i∈J   j>i q i,j 4 + j<i q j,i 4 + c i 2   s i + 1 4 (i,j)∈J < q i,j :=Q + 1 2 i∈J c i :=C       = 1 4 max s∈{-1,1} J      (i,j)∈J < q i,j :=wi,j s i s j + i∈J   2 c i + j>i q i,j + j<i q j,i   :=α i s i      + Q 4 + C 2 = 1 4 max s∈{-1,1} J   (i,j)∈J < w i,j s i s j + i∈J [w 0,i -w i,n+1 ] s i   + Q 4 + C 2 since w 0,i = [α i ] + w i,n+1 = [α i ] - = 1 4 max s 0 =1 s∈{-1,1} J s n+1 =-1          (i,j)∈J < w i,j s i s j ↑ =1 if s i =s j =-1 otherwise + i∈J w 0,i s 0 s i ↑ =1 if s i =s 0 =-1 otherwise + i∈J w i,n+1 s i s n+1 ↑ =1 if s i =s n+1 =-1 otherwise          + Q 4 + C 2 = 1 4 max s 0 =1 s∈{-1,1} J s n+1 =-1      (i,j)∈J < w i,j -2 (i,j)∈J < s i =s j w i,j + i∈J w 0,i -2 i∈J s i =s 0 w 0,i + i∈J w i,n+1 -2 i∈J s i =s n+1 w i,n+1      + Q 4 + C 2 = -2 4 min s 0 =1 s∈{-1,1} J s n+1 =-1      (i,j)∈V < s i =s j w i,j      + 1 4 (i,j)∈J < w i,j =Q + 1 4 i∈J [w 0,i + w i,n+1 ] =[α i ] + +[α i ] - + Q 4 + C 2 = - 1 2 min s 0 =1 s∈{-1,1} J s n+1 =-1      (i,j)∈V < s i =s j w i,j      + Q 4 + 1 4 i∈J 2c i + j>i q i,j + j<i q j,i =K + Q 4 + C 2 = - 1 2     
minimum weight of a cut in the complete undirected graph over the vertex set J ∪ {0, n+1} for the edge weight w

     + Q 2 + C 2 + K 4

Extremality and integrality constraints

The aim of this section is to show that Formulations F 3 and F 4 can be solved by a classical Branchand-Cut algorithm, despite they combine extremality and integrity constraints. Let us show this result only for Formulation F 3 , since the arguments used can easily be extended to Formulation F 4 . Let us consider the three following relaxations of F 3 . The formulation F 3 -lp is obtained by relaxing both integrity and extremality conditions. It is a linear program defined by an exponential number of inequalities. As explain in the previous section, the separation problem associated with the non-overlapping inequalities defining P 3 is solvable in polynomial time. Therefore, F 3 -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].

F
Moreover, using the simplex algorithm to solve each LP-relaxation of the cutting plane algorithm, the extremality of the global solution is ensured. Indeed, such a solution is then an extreme point of the last polyhedron P considered by the algorithm, which necessarily contains P 3 (Cf. Lemma CA.32). Then in this case, solving F 3 -lp is equivalent to solving F 3 -extr.

A classical way to manage the integrity constraint is to use a Branch-and-Bound algorithm, and even a Branch-and-Cut algorithm when an exponential number of inequalities has to be managed. That means that each node of the Branch-and-Bound algorithm consists in a cutting plane algorithm. In general, even if the algorithm used to solve each linear relaxation provides an extreme point, the final solution provided by the Branch-and-Cut algorithm is not an extreme point of the initial polyhedron. Example 5 illustrates such a case. However, since the integrity constraint in F 3 applies only on boolean variables, the problem cannot appear, as stated in the following property.

Property 2.3

Let us consider a Branch-and-Bound algorithm A, where the LP-relaxation at each node provides an extreme point. Using A to solve F 3 -int by branching on δ variables solves F 3 .

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 3 . 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 3 ∩ 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 Y = (e, t, δ, X) ∈ extr P 3 ∩ F J 0 ,J 1 . By definition of E(δ) and T (δ), Y ∈ P 3 ∩ F T (δ),E(δ) . Moreover, J 1 ⊆ E(δ) and J 0 ⊆ T (δ), thus we have P 3 ∩ F T (δ),E(δ) ⊆ P 3 ∩ F J 0 ,J 1 . Using Lemma CA.32, we deduce that Y ∈ extr P 3 ∩ F T (δ),E(δ) . Since P 3 ∩ F T (δ),E(δ) is exactly the set denoted by P δ in the proof of Theorem 1.14, we can similarly show that extr(P 3 ∩ F T (δ),E(δ) ) ⊆ extr(P 3 ). We deduce that Y ∈ extr(P 3 ).

Example 5 : A formulation combining extremality and integrity constraints which cannot be solved by a standard Branch-and-Bound algorithm

Let us consider the following formulation which presents both integrity and extremality constraints, where int y denotes the operator keeping only the points (y, z) such that y is an integer.

F : max (y,z)∈int y (extr P )

z where P = (y, z) ∈ R + × R + | z 2 y, z -2y+7
Let us consider a Branch-and-Bound algorithm A, where the LP-relaxation at each node provides an extreme point. For formulation F , A provides a solution which does not belong to extr(P ), and a value which is larger than the true optimum.

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), and (2, 2). Since they are integer, the Branch-and-Bound stops at these depth, and the solution returned is one of these two points, which are not extreme points of P . Moreover, the returned optimal value is 2, whereas the true optimal value is 0, since P admits only two integer extreme points, (0, 0) and (3, 0).

The figure below represents the polyhedra considered at each node of the algorithm A, and for each one the extreme optimal point obtained is represented with a star. Dots represent integer points, and bullet points the integer points in each polyhedron.

y z • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ( 3 2 , 3) y z • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • (1, 2) (2, 2) y 1 y 2
Integer points and maximizer at the root node (left) or for nodes of depth 1 (right)

Remark 2.4

Note that we have already shown, in the proof of Theorem 1.12, that F 3 and F 3 -int have the same optimal value, i.e. val(F 3 ) = val(F 3 -int). However, this observation on the optimal values is not sufficient when a feasible solution for UCDDP has to be found. Therefore, we have explained in this section, how to solve F 3 -int to obtain a solution of F 3 , that is a vector encoding an optimal schedule.

Using the results of these last two sections, we have implemented Branch-and-Cut algorithms for Formulations F 3 and F 4 , using the MIP solver cplex. The next section presents and compares their performances.

Experimental results

In order to assess the efficiency of Formulations F 2 , F 3 , and F 4 , we compare them to other MIP formulations proposed in the literature. Therefore, we have implemented Formulations F LO and F TI presented in Section 0.4.

All the experiments presented in this section 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 MIP solver cplex version 12.6.3.0. The branching scheme and the management of the current bounds are done by cplex. Note that only δ variables are set as integer variables for F 2 , F 3 , and F 4 , hence the branching decision only involves δ, not X. For Formulations F 3 , and F 4 , the separation of inequalities (Q1) and (Q2) (resp. (Q1') and (Q2') is implemented within the so-called Callback functions proposed by cplex, using the open source C++ optimization library LEMON [START_REF]LEMON -Library for Efficient Modeling and Optimization in Networks[END_REF] (Cf. Section 2.1). For the the sake of comparison, all the formulations use cplex Default. Moreover, the time limit is set to 3600 seconds.

Benchmarks used to compare formulations

• Biskup and Feldmann's benchmark

We test the different 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 | 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.

Sourd [START_REF] Sourd | New exact algorithms for one-machine earliness-tardiness scheduling[END_REF] 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(n p(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 task processing times, which ensures a fast computation time of the Lagrangian lower bound.

• A new benchmark with long processing times

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}. We talk about "long processing times" by comparison with processing times in the Biskup and Feldmann's benchmark, whose ranges are [START_REF]LEMON -Library for Efficient Modeling and Optimization in Networks[END_REF][START_REF] Hall | Earliness-tardiness scheduling problems, II: deviation of completion times about a restrictive common due date[END_REF].

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.

• Entries of the following tables n: the number of tasks h: the parameter setting the due date d to h p(J) (for CDDP only) #opt: number of instances optimally solved under the 3600 seconds time limit (among the 10 proposed by the benchmark) 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 UCDDP

In this section, we compare Formulations F 3 , F 2 ,F LO and F TI for UCDDP instances. As shown in Table 2.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. F 3 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 F 3 fails to solve 50-task instances within the time limit. However, other experiments show that, under a time limit of 10 000 seconds, F 3 solves 9 over 10 instance for n = 50, with an average computation time of 4721 seconds. F 2 is able to optimally solve all instances up to size 50 within the time limit. Other experiments conducted without cplex features show that F 2 can be faster: 22 seconds for n = 40, 215 seconds for n = 50 and 4063 seconds for n = 60.

As shown in Table 2.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 F TI only takes 40 seconds in average to solve all the 50-task Biskup and Feldmann's instances, it only solves 8 over 10 instances for n = 50 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 20task instances, the computation time required is at least 360 seconds for p max = 200 and p max = 300. Conversely, F 3 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 F 2 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 F 3 and F 2 do not significantly get worse with processing time increase.

Formulations for CDDP

In this section, we compare Formulations F 4 , F LO and F TI for CDDP instances. Table 2.3 presents the results obtained on the Biskup and Feldmann's benchmark, while Table 2.4 presents those obtained on long processing times instances, for p max = 200.

As shown in Table 2.3, F LO is unable to solve any CDDP instance for n = 20 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 solve no 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 CDDP instances. Moreover, the computation times are similar to those obtained for the UCDDP instances: less than 22 seconds for 30-task instances.

F 4 is able to optimally solve all the instances up to size 20 along with 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 and h = 0.2. As shown in Table 2.4, for long processing time instances with p max = 200, F TI optimally solves almost all the instances within the time limit up to size 20. It is important to notice that, for similar sizes, F TI computation time is significantly larger for long processing time instances than for Biskup and Feldmann's ones: for n = 20, at least 116 seconds against a few seconds. In contrast, F 4 optimally solves instances up to size 20, along with 30-task instances when h = 0.2. Note that, for the long processing time instances considered here, F 4 is rather faster than F TI up to size 20. However, F 4 fails to solve instances with n = 30. For CDDP instances, we obtain the same conclusion as the one drawn for UCDDP instances. F TI is faster than F 4 for Biskup and Feldmann's instances, while this is not the case for long processing times instances.

Other experiments show that F 4 used on unrestrictive Biskup and Feldmann's instances (i.e. with h = 1) is less efficient than F 3 : 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 (Cf. page 12) an unrestrictive due date as a due date larger than the total length of tasks, i.e. d p(J). It is a common definition. However, according to Biskup and Feldmann [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF], a due date d must be said unrestrictive if solving the problem for an arbitrarily large due date d gives a solution which can be transposed for d (Cf. page 24). 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. Therefore, this definition depends on the algorithm chosen to solve, and even sometimes on the execution of this algorithm. Second, 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. However, considering the point of view of the second definition leads to the following F 2 -F 4 procedure to solve a CDDP instance.

1. Solving the instance as an UCDDP instance (i.e. without considering d) using Formulation F 2 . 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 as a CDDP instance (i.e. by considering d) using F 4 .

For the Biskup and Feldmann's benchmark, the total length of the early tasks in the optimal solutions is, on average, 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 in [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF]. For these instances, the F 2 -F 4 procedure can be relevant.

As shown by the previous experiments, Formulation F 2 is more promising than Formulation F 3 and F 4 . Furthermore, other experiments show that F 2 relaxation value is very low (the gap to the optimal value is about 90% for n = 60, Cf. Section 6.2), which let us think that there is a room of improvement for F 2 regarding its linear relaxation value. Therefore, we focus in the next parts on the reinforcement of Formulation F 2 . Another reason to focus on this formulation, is that valid inequalities for F 2 are also valid inequalities for F 3 and F 4 , since variables δ, X are used as partition variables in the three formulations. Actually, this kind of partition variables are also used to formulate the max-cut problem, as proposed by Padberg [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF]. The next chapter aims at transpose known results for the max-cut formulations to F 2 .

PART B

Reinforcement inequalities for δ, X variables

In Section 0.5, we have introduced δ, X variables to encode the ordered bi-partitions of J, in order to reformulate UCDDP as a MIP. This way, we proposed Formulation F 2 . Subsequently, δ, X variables were also used in F 3 and F 4 . In these three formulations, the consistency between δ and X values was dealt using only inequalities (X.1-X.4), since they are sufficient when δ is {0, 1}-valued.

However, when δ is no longer subject to an integrity constraint, these inequalities appear to be poor, in the sense that the optimal value for F 2 -lp, the linear relaxation of F 2 , is much lower than the one for F 2 . Indeed, the underlying polyhedron P n F 2 admits fractional extreme point -typically points where some δ variables take the value 1/2 -leading to an artificially low value according to the h α,β ). Therefore, it is interesting to study P n δ,X , the convex hull of integer points (δ, X) that encode an ordered bi-partition of [1..n]. Any valid inequality for P n δ,X can be used to reinforce Formulations F 2 , F 3 , and F 4 .

In Chapter 3, we present valid inequalities for P n δ,X deduced from the literature for two related polytopes: the cut polytope CU T n and the Boolean quadric polytope QP n . Indeed, if (δ, X) ∈ P n δ,X encodes the ordered bi-partition (E, T ) of [1..n], then the set {{i, j} | (i, j) ∈ [1..n] < , X i,j = 1} is the cut induced by the partition {E, T } in the complete graph on [1..n], consequently X ∈ CU T n . However, note that projecting on X variables causes a loss of information: while (δ, X) encodes an ordered bi-partition (E, T ), X only encodes a partition {E, T } = {T, E}, where E and T are interchangeable. Conversely, points in QP n also encode ordered bi-partitions.

Even if Chapter 3 is mainly a state of the art about facet inequalities of CU T n and QP n , we also propose a framework to transpose inequalities from a polytope to another. We focus on transpositions for CU T n , QP n and P n δ,X , since our aim is to reinforce Formulation F 2 . We present experimental results that show an improvement in the linear relaxation value, but also an increase in the solving time when reinforcement inequalities are added.

In Chapter 4, we propose another approach to reinforce F 2 , by taking into account the objective function, and not only the structure of P n δ,X . The idea -which also leads Part C -is to cut off the integer points that have an high value according to the objective function instead of cutting off fractional points. Chapter 4 is a first application of this idea: we provide inequalities that cut off the integer point 0, since it encodes a solution having a too high value. More precisely, we provide facet defining inequalities of the polytope of non-trivial cuts encoded by δ, X variables in a complete graph.

NB:

In Chapters 3 and 4, the scheduling notations (J, n, d, α, β, p, E, T, f, . . . ) no longer apply, and these symbols may even be used for different purposes.

Chapter 3

Bridging polytopes CU T n , QP n and P n δ,X In Section 3.1, we present the cut polytope and the Boolean quadric polytope, i.e. CU T n and QP n , before giving, in Section 3.2, some valid and facet defining inequalities for each one. In Section 3.3, we give further results about the inequalities mentioned for QP n . These results are established by Padberg in [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF], however we provide a new explicit proof for some of them. In Section 3.4, we give a formal framework to transpose valid and facet defining inequalities from a polyhedron to a similar one in general. This framework can be used between a polyhedron and its projection, between two polyhedra that are equivalent after a change of variables, or even between a polyhedron and itself when it presents some symmetries. At the end of the section, we use it in these three ways for CU T n , QP n and P n δ,X . Our aim is to use the facet defining inequalities provided in the literature, to reinforce Formulation F 2 in Section 3.5. Some experimental results are reported.

Before introducing CU T n and QP n , let us introduce some notations. In part B, we consider only undirected graphs. Then, for any node set V ⊆ N, there is a one-to-one correspondence between the edge set E and the pair set V < defined as follows.

E = {u, v} (u, v) ∈ V 2 and V < = (u, v) (u, v) ∈ V 2 s.t. u < v
Following the same line, we introduce the following set of 3-tuples to represent the set of 3-node subsets.

V << = (i, j, k) ∈ V 3 i < j < k
We use such tuple sets to describe inequality families. For example, we will write the two inequality families ∀(i, j) ∈ V < , X i,j δ i ∀(i, j) ∈ V < , X i,j δ j instead of the single inequality family ∀{i, j} ∈ V < , X {i,j} δ i .

However, for sake of brevity, if a is a vector indexed by V < and (u, v) ∈ V 2 an arbitrary pair of nodes, we simply denote by a u,v the component of a indexed by (min(u, v), max(u, v)).

Finally, for any graph G, let us denote by Cy(G) the set of elementary cycles of G.

Polytopes CU T n , QP n and P n δ,X

Let us fix n ∈ N * . We denote by K n = (V, E) the complete undirected graph on [1.

.n], i.e. V = [1.

.n] and E can be identified to V < . Moreover, we denote by m the number of edges, i.e. m = |E| = n (n-1)

2

.

• CU T n definition For any S ⊆ V , we define χ S ∈ R E as χ S = I S:V\S . The cut polytope CU T n is then defined as follows.

CU T n = conv (S n X ) where S n X = χ S S ⊆ V

• QP n definition For any S ⊆ V , we define z S ∈ R V ×R E as z S = (I S , I S < ). The following lemma is the equivalent of Lemma 0.5 for new binary variables x, y.

Lemma 3.1 Let z = (x, y) ∈ R V ×R E .
If x ∈ {0, 1} V and (x, y) satisfies the following inequalities, called trivial inequalities:

∀(i, j) ∈ V < , y i,j (x i +x j ) -1 (3.1) ∀(i, j) ∈ V < , y i,j x i (3.2) ∀(i, j) ∈ V < , y i,j x j (3.3) ∀(i, j) ∈ V < , y i,j 0 (3.4) then ∀(i, j) ∈ J < , y i,j = 1 if x i = 1 and x j = 1 0 otherwise , therefore z = z S for S = {u ∈ V | x u = 1}.
Conversely, for any S ⊆ V , z S satisfies inequalities (3.1 -3.4).

Note that x variables are equivalent to δ variables, but y variables identify the pair of nodes having the same value 1 according to x, while X identifies the pair of nodes having different values according to δ. Thanks to this lemma, we can define the set S n x,y in a twofold manner as follows.

S n x,y

= z S S ⊆ V = (x, y) ∈ {0, 1} V ×{0, 1} E (x, y) satisfies (3.1 -3.4)
The boolean quadric polytope QP n and its linear relaxation QP n LP are then defined as follows.

QP n = conv S n x,y
and

QP n LP = (x, y) ∈ R V ×R E (x, y) satisfies (3.1 -3.4)

Remark 3.2

Using points z S where S is a singleton or a pair, it can be shown that dim

(S n x,y ) = dim(R V ×R E ) = n (n+1) 2 .
Moreover, it can be shown that points z S are extreme points in QP n LP , consequently S n x,y = extr(QP n )

• P n δ,X definition In order to have homogeneous notations in this chapter, we introduce the following notations.

P n δ,X = conv S n δ,X where S n δ,X = (δ, X) ∈ {0, 1} V ×{0, 1} E ∀(i, j) ∈ E, X i,j = 1 ⇔ δ i = δ j
According to Lemma 0.5, the set S n δ,X is exactly the set of integer points in P n F 2 , i.e. S n δ,X = int δ (P n F 2 ).

Classical inequalities for QP n and CU T n

In this section, we just give some classical inequalities for QP n and CU T n , presented in [START_REF] Barahona | On the cut polytope[END_REF] and [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF].

• Triangle inequalities for x, y variables ∀(i, j, k) ∈ V << , x i + x j + x k 1 + y i,j +y i,k +y j,k (3.5)

∀(i, j, k) ∈ V << , + y i,j + y i,k -y j,k x i (3.6) ∀(i, j, k) ∈ V << , + y i,j -y i,k + y j,k x j (3.7) ∀(i, j, k) ∈ V << , -y i,j + y i,k + y j,k x k (3.8) • Clique inequalities for x, y variables ∀S ⊆ V, ∀θ ∈ 1 .. |S|-2 , θ x(S) -y(S < ) θ (θ+1) 2 (3.9)
• Cut inequalities for x, y variables ∀(S, T ) ⊆ P(V ) 2 s.t. S ∩T = ∅, |S| 1, |T | 2, -x(S) -y(S < ) -y(T < ) + y(S : T ) 0 (3.10)

• Generalized cut inequalities for x, y variables

∀(S, T ) ⊆ P(V ) 2 s.t. S ∩T = ∅, s = |S| 1, t = |T | 2, (s-t) x(S) + (t-s-1) x(T ) -y(S < ) -y(T < ) + y(S : T ) (t-s) (t-s-1) 2 (3.11)
• Odd cycle inequalities for x, y variables • Triangle inequalities for X variables

∀C ⊆ Cy(K n ), ∀F ⊆ C s.t. |F | is odd, x(S 0 ) -x(S 2 ) + y(C \F ) -y(F ) |F | 2 (3.
∀(i, j, k) ∈ V << , + X i,j -X i,k -X j,k 0 (3.13) ∀(i, j, k) ∈ V << , -X i,j + X i,k -X j,k 0 (3.14) ∀(i, j, k) ∈ V << , -X i,j -X i,k + X j,k 0 (3.15) ∀(i, j, k) ∈ V << , + X i,j + X i,k + X j,k 2 (3.16) • Odd sub-cycle inequalities for X variables ∀C ⊆ Cy(K n ), ∀F ⊆ C s.t. |F | is odd, X(F ) -X(C \F ) |F |-1 (3.17) • Clique inequalities for X variables ∀S ⊆ V, X(S < ) |S| 2 |S| 2 (3.18)

Property 3.4 (Barahona and Mahjoub [7])

Inequalities (3.13 -3.16) and (3.18) associated with a set S such that |S| odd, define facets of CU T n .

Some results about QP n

LP

We present in this section some results about QP n LP given in [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF] that enlighten the link between trivial, triangle and odd sub-cycle inequalities. More precisely Property 3.8 states that odd sub-cycle inequalities are redundant with triangle inequalities, and Corollary 3.9 specifies in which manner triangle inequalities reinforce trivial inequalities. Corollary 3.9 relies on Properties 3.5 and 3.8, which are proved in [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF], but also on the fact that an extreme point of QP n LP violates at least one odd sub-cycle inequality. Since we did not find the proof of this fact in [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF], we propose to prove it in two steps, namely Lemmas 3.6 and 3.7.

Property 3.5 (Padberg [31])

The extreme points of

QP n LP are {0, 1, 1 2 }-valued, i.e. ∀z ∈ extr(QP n LP ), z ∈ {0, 1, 1 2 } V ×{0, 1, 1 2 } E . Lemma 3.6 Let z = (x, y) ∈ R V ×R E . Let S = u ∈ V x u = 1 2 . If z ∈ extr (QP n LP )
, then either |S| = 0 and z ∈ S n x,y , or |S| 3.

Proof : Let us introduce additional notations:

S 0 = {i ∈ V | x i = 0} and S 1 = {i ∈ V | x i = 1}.
Then, according to Property 3.5, the node (resp. edge) set of K n can be decomposed as follows.

V = S S 0 S 1 and E = S < (S : S 0 ) (S : S 1 ) (S 0 ) < (S 0 : S 1 ) (S 1 ) < Thanks to Lemma 3.1, we have y i,j = 1 for any (i, j) ∈ (S 1 ) < and y i,j = 0 for any (i, j) ∈ S 0 : S 1 (S 0 ) < . Moreover, for (i, j) ∈ S : S 0 , we have y i,j x j = 0 from inequality (3.3) and y i,j 0 from (3.4), thus y i,j = 0. For any (i, j) ∈ S : S 1 , we have y i,j x i = 1 2 from (3.2) and y i,j (x i +x j )-1 = 1 2 +1-1 from (3.1), thus y i,j = 1 2 . For |S| ∈ {1, 2}, the idea is to exhibit two points of S n x,y whose middle is z, which contradicts the extremality of z. We build these points from z by only changing its 1 2 -valued components.

• Let us assume that |S| = 1. Let us denote by i 0 the single element of S, i.e. S = {i 0 }. We define two points z 1 = (x 1 , y 1 ) and z 0 = (x 0 , y 0 ) as follows.

x 1 i 0 = 1, ∀i ∈ V \S, x 1 i = x i , ∀j ∈ S 1 , y 1 i 0 ,j = 1, ∀(i, j) ∈ E \(S : S 1 ), y 1 i,j = y i,j x 0 i 0 = 0, ∀i ∈ V \S, x 0 i = x i , ∀j ∈ S 1 , y 0 i 0 ,j = 0, ∀(i, j) ∈ E \(S : S 1 ), y 0 i,j = y i,j
Using the tables on the right that sum up the values of z, z 1 , and z 0 , one can easily check that z = z 1 +z 0 2 . Moreover, using Lemma 3.1, one can also check that z 0 ∈ S n x,y ⊆ QP n LP and z 1 ∈ S n x,y ⊆ QP n LP . Then z is the middle of two other points in QP n LP . A contradiction.

i x i x 1 i x 0 i S 1/2 1 0 S 0 0 0 0 S 1 1 1 1
e y e y 1 e y 0 e S : S 0 0 0 0

S : S 1 1/2 1 0 (S 0 ) < 0 0 0 S 0 : S 1 0 0 0 (S 1 ) < 1 1 1
• Let us assume that |S| = 2. Let us denote by i 0 and j 0 the two elements of S, i.e. S = {i 0 , j 0 }. We have y i 0 ,j 0 x i 0 = 1 2 from (3.2) and y i 0 ,j 0 (x i 0 +x j 0 )-1 = 1 2 + 1 2 -1 from (3.1), thus y i 0 ,j 0 ∈ [0, 1 2 ]. Since z is an extreme point, necessarily y i 0 ,j 0 ∈ {0, 1 2 }, otherwise for ε ∈ R * + small enough, z +ε I i 0 ,j 0 and z+ε I i 0 ,j 0 would satisfy (3.1 -3.4) and z would be the middle of two other points in QP n LP . Therefore, we have two cases to consider.

-If y i 0 ,j 0 = 0, then we define two points z 1 = (x 1 , y 1 ) and z 2 = (x 2 , y 2 ) as follows.

x 1 i 0 = 1, x 1 j 0 = 0, ∀i ∈ V \S, x 1 i = x i , ∀j ∈ S 1 , y 1 i 0 ,j = 1, y 1 j 0 ,j = 0, ∀(i, j) ∈ E \(S : S 1 ), y 1 i,j = y i,j x 2 i 0 = 0, x 2 j 0 = 1, ∀i ∈ V \S, x 2 i = x i , ∀j ∈ S 1 , y 2 i 0 ,j = 0, y 2 j 0 ,j = 1, ∀(i, j) ∈ E \(S : S 1 ), y 2 i,j = y i,j
Using the tables on the right that sum up the values of z, z 1 , and z 2 , one can easily check that z = z 1 +z 2 2 . Moreover, using Lemma 3.1, one can also check that z 1 ∈ S n x,y ⊆ QP n LP and z 2 ∈ S n

x,y ⊆ QP n LP . Then z is the middle of two other points in QP n LP . A contradiction.

i x i x 1 i x 2 i {i 0 } 1/2 1 0 {j 0 } 1/2 0 1 S 0 0 0 0 S 1 1 1 1 e y e y 1 e y 2 e {i 0 , j 0 } 0 0 0 {i 0 } : S 0 0 0 {i 0 } : S 1/2 1 0 {j 0 } : S 0 0 0 {j 0 } : S 1/2 0 1 (S 0 ) < 0 0 0 S 0 : S 1 0 0 0 (S 1 ) < 1 1 1
-If y i 0 ,j 0 = 1 2 , then we define two points z 1 = (x 1 , y 1 ) and z 0 = (x 0 , y 0 ) as follows.

x 1 i 0 = 1, x 1 j 0 = 1, ∀i ∈ V \S, x 1 i = x i , y 1 i 0 ,j 0 = 1, ∀j ∈ S 1 , y 1 i 0 ,j = y 1 j 0 ,j = 1, ∀(i, j) ∈ E\(S < S : S 1 ), y 1 i,j = y i,j x 0 i 0 = 0, x 0 j 0 = 0, ∀i ∈ V \S, x 0 i = x i , y 1 i 0 ,j 0 = 1, ∀j ∈ S 1 , y 0 i 0 ,j = y 0 j 0 ,j = 0, ∀(i, j) ∈ E\(S < S : S 1 ), y 0 i,j = y i,j
Using the tables on the right that sum up the values of z, z 1 , and z 0 , one can easily check that z = z 1 +z 0 2 . Moreover, using Lemma 3.1, one can also check that z 1 ∈ S n x,y ⊆ QP n LP and z 0 ∈ S n x,y ⊆ QP n LP . Then z is the middle of two other points in QP n LP . A contradiction.

i x i x 1 i x 0 i {i 0 } 1/2 1 0 {j 0 } 1/2 1 0 S 0 0 0 0 S 1 1 1 1 e y e y 1 e y 0 e {i 0 , j 0 } 1/2 1 0 {i 0 } : S 0 0 0 {i 0 } : S 1/2 1 0 {j 0 } : S 0 0 0 {j 0 } : S 1/2 1 0 (S 0 ) < 0 0 0 S 0 : S 1 0 0 0 (S 1 ) < 1 1 1
Finally, |S| ∈ {1, 2}, then either S = ∅ or |S| 3.

Lemma 3.7

If z = (x, y) ∈ extr (QP n LP ) such that, for S = i ∈ V x i = 1 2 , |S| 3, then there exist C ∈ Cy(K n ) and F ⊆ C with |F | odd such that z does not satisfies (3.12) C,F .

Proof : Since |S| 3 and K n is complete, there exists C ∈ Cy(K n ) that covers S, i.e. supp(C) = S.

Note that for any (i, j) ∈ S < , y i,j ∈ [0, 1 2 ] from inequalities (3.1 -3.2), thus y i,j ∈ {0, 1 2 } since z is extreme. We define F as the subset of 0-valued edges of C, i.e. F = {e ∈ C | y e = 0}. Then for any e ∈ C \F, y e = 1 2 . Let us partition the nodes of C, i.e. S, depending on how many incident C edges belong to C \F , as done for inequalities (3.12), that is as follows.

S 0 = {i ∈ S | ∃(e, f ) ∈ F ×F s.t. e = f, i ∈ e∩f } S 1 = {i ∈ S | ∃(e, f ) ∈ (C \F )×F s.t. e = f, i ∈ e∩f } S 2 = {i ∈ S | ∃(e, f ) ∈ (C \F )×(C \F ) s.t. e = f, i ∈ e∩f }
By counting, for each node on C, how many incident edges on C belong to F , each edge in F is counted twice. Therefore, we have the following equation.

2|F | = |S 0 |×2 + |S 1 |×1 + |S 2 |×0 = |S 0 | + (|S 0 |+|S 1 |+|S 2 | =|S| ) -|S 2 |
Since C is a cycle and S is its support, we have

|C| = |S|. Moreover, since F ⊆ C, |C| = |C \F |+|F |. We deduce that 2|F | = |S 0 |-|S 2 | + |C \F |+|F |, that is |S 0 |-|S 2 | + |C \F | = |F |.
Therefore, using the definitions of S 0 , S 2 , and F we have the following equation.

x(S 0 ) -x(S 2 ) = 1 2 (|S 0 |-|S 2 |) + y(C \F ) = 1 2 |C\F | -y(F ) =0 = 1 2 |S 0 |-|S 2 | + |C \F | = |F | 2 • If |F | is odd, |F | 2 = |F | 2 -1, then |F | 2 > |F | 2 .
The previous equation shows that z does not satisfy the inequality (3.12) associated with C and F .

• If |F | is even, |F | 2 = |F |
2 , then we cannot similarly conclude. We will exhibit another cycle on 1 2 -valued nodes that contains an even number of 0-valued edges. Note that, since |F | is even, the numbers of F edges in the two paths along C between two nodes of S have the same parity, i.e. either both are even or both are odd, since their sum is |F |. This remark allows to enunciate the following claim without ambiguity.

Claim

There exists {T, U } a bi-partition of S such that, for any (s, s ) ∈ S ×S, s and s are in the same part if and only if the number of F edges on a path along C between s and s is even

Proof : Let us denote by (s k ) k∈[1..K] the nodes in S such that C = {s k , s k+1 } k ∈ [1..K -1] ∪ {s K , s 1 }
To formally build {T, U }, we recursively assign s k to T or U according to the following rules.

s 1 ∈ U and ∀k ∈ [1..K -1],      s k+1 ∈ U if s k ∈ U and {s k , s k+1 } ∈ F s k+1 ∈ U if s k ∈ T and {s k , s k+1 } ∈ F s k+1 ∈ T otherwise
This procedure is equivalent to color S nodes using two colors, starting from an arbitrary point on C, and going along C by changing color at each F edge. The following figure is provided to illustrate this construction for |F | = 4.

♣ ♣ ♣ ♣ ♣ ♣ ♣ ♣ ♣ ♣ ♣ ♣ ♥ ♥ ♥ ♥ 1 2 1 2 1 2 1 2 0 0 0 0 F edge C \F edge ♣ U node ♥ T node
One can check by induction on path length, that any path along C between two nodes s and s contains an even number of edges in F if and only if (s, s ) ∈ (U ×T )∪(T ×U ).

Since S is partitioned into T U , the edges in S < are partitioned into T < U < T: U . Let us recall that for any e ∈ S < , y e ∈ {0, 1 2 }.

Let us assume that ∀e ∈ T: U, y e = 0 ∀e ∈ T < U < , y e = 1 2 then we define z 1 = (x 1 , y 1 ) and z 2 = (x 2 , y 2 ) as follows.

∀u ∈ U, x 1 u = 0, ∀t ∈ T, x 1 t = 1, ∀i ∈ V\S, x 1 i = x i , ∀e ∈ U < , y 1 e = 0, ∀e ∈ T < , y 1 e = 1, ∀e ∈ E\(U < T < ), y 1 e = y e ∀u ∈ U, x 2 u = 1, ∀t ∈ T, x 2 t = 0, ∀i ∈ V\S, x 2 i = x i , ∀e ∈ U < , y 2 e = 1, ∀e ∈ T < , y 2 e = 0, ∀e ∈ E\(U < T < ), y 2 e = y e
One can easily check that z = z 1 +z 2 2 . Moreover, using Lemma 3.1, one can also check that z 1 ∈ S n x,y ⊆ QP n LP and z 2 ∈ S n x,y ⊆ QP n LP . Then z is the middle of two other points in QP n LP . A contradiction.

We deduce that there necessarily exits either e ∈ T < such that y e = 0 or e ∈ U < such that y e = 0, or e ∈ U : T such that y e = Since y e = 0, M = M ∩µ {e}. We deduce that |M | is odd, since |M ∩µ| is even, by definition of {T, U }. Hence, we can use for (C , M ) the same arguments as for (C, M ) previously. We deduce that z does not satisfy the inequality (3.12) associated with C and M .

-If e ∈ T < is such that y e = 0, we conclude similarly.

By combining Lemmas 3.6 and 3.7, we deduce that all the fractional extreme points of QP n LP are cut off by the odd sub-cycle inequalities. The following property states that these inequalities can be obtained by linear combination from triangle inequalities, therefore, the fractional extreme points of QP n LP are even cut off by triangles inequalities.

Corollary 3.9

All the fractional extreme points of QP n LP are cut off by triangle inequalities (3.5 -3.8).

Facets transposition

In this section, we propose a property to transpose valid or facet defining inequalities from a polyhedron to another. The proof is based on elementary properties of convex hull and polyhedron that are recalled in appendix, in Section CA.4. Note that this property only gives a formal synthesis of a common knowledge. We present it since we have not found an explicit and ready-to-use writing of this property. As it is enunciated below, Property 3.10 defines a framework that covers different results, such as symmetry or lifting properties. The second part of this section proposes several application of Property 3.10.

• What means transposing inequalities Let assume that we have an affine map ψ that maps points of a space E 1 to a space E 2 . We are interested in a way to transform any inequality (I ) of E 2 into an inequality (I) of E 1 such that they are "equivalent for ψ", that is ∀X ∈ E 1 , X satisfies (I) ⇔ ψ(X) satisfies (I ). Let us denote this "equivalence" by (I) ψ ⇔ (I ).

To transform E 2 inequalities into E 1 inequalities, we use two functions: ϕ, which maps vectors of E 2 to those of E 1 , and f which map vectors of E 2 to values. For any (a, α) ∈ E 2 ×R, the inequality

(I ) : a•Y α of E 2 is transformed into the inequality (I) : ϕ(a)•X α-f (a) of E 1 .

Let us denote this transformation by (I)

ϕ,f -→ (I ), and called it transposition in the sequel. Property 3.10 states that, under some assumption ( ), ϕ and f transpose valid (resp. facet defining) inequalities for ψ(P ) into valid (resp. facet defining) inequalities for P any polyhedron of E 1 . This assumption means that transposing inequalities using (ϕ, f ) provides equivalent inequalities for ψ. Let us synthesized it as follows.

A practical property to transpose valid or facet inequalities Property 3.10

Let E 1 and E 2 two Euclidian spaces. Let ψ an affine map from E 1 to E 2 . Let S 1 ⊆ E 1 , P 1 = conv(S 1 ), S 2 = ψ(S 1 ) and P 2 = conv(S 2 ).

If there exist ϕ ∈ F(E 2 , E 1 ) and f ∈ F(E 2 , R) such that ∀X ∈ E 1 , ∀a ∈ E 2 , a•ψ(X) = ϕ(a)•X +f (a) ( ),
then for any a ∈ E 2 and any α ∈ R we have:

(i) a•Y α is a valid inequality for P 2 ⇔ ϕ(a)•X α-f (a) is a valid inequality for P 1 . (ii) a•Y α defines a face of P 2 ⇔ ϕ(a)•X α-f (a) defines a face of P 1 .
If in addition to ( ), we assume that dim(P 1 ) = dim(P 2 ), then for any a ∈ E 2 and any α ∈ R we have:

(iii) a•Y α defines a facet of P 2 ⇒ ϕ(a)•X α-f (a) defines a facet of P 1 .
If in addition to ( ), we assume that ψ is bijective, then dim(P 1 ) = dim(P 2 ) and for any a ∈ E 2 and any α ∈ R we have: (iv) a•Y α defines a facet of P 2 ⇔ ϕ(a)•X α-f (a) defines a facet of P 1 .

Proof : Let a ∈ E 2 and α ∈ R.

Let us denote by H 1 the hyperplane of E 1 defined by the inequality ϕ(a)•X α-f (a) and by H 1> ⊆ E the set of points that do not satisfy this inequality (nb: H 1> is not an half-space, but the complement of an half-space).

H 1 = X ∈ E 1 | ϕ(a)•X = α-f (a) and H 1> = X ∈ E 1 | ϕ(a)•X > α-f (a)
We introduce similarly H 2 and H 2> for the inequality a

•Y α in E 2 . H 2 = Y ∈ E 2 | a•Y = α and H 2> = Y ∈ E 2 | a•Y > α
Since ψ is linear, we have ψ conv(S 1 ) = conv ψ(S 1 ) = conv S 2 , then ψ(P 1 ) = P 2 .

Moreover, using the assumption ( ), one can check that ψ(H 1 ) = H 2 and ψ(H 1> ) = H 2> .

Let us show that ψ(S 1 ∩H 1 ) = S 2 ∩H 2 . By definition of the image of a subset, we have ψ(S 1 ∩H 1 ) ⊆ ψ(S 1 )∩ψ(H 1 ). Then, according to the previous remark, we have ψ(S 1 ∩H 1 ) ⊆ S 2 ∩H 2 . Let us show the reverse inclusion. Let Y ∈ S 2 ∩H 2 . Since S 2 = ψ(S 1 ), there exists

X ∈ S 1 such that Y = ψ(X). By definition of H 2 , we have a•Y = α, that is a•ψ(X) = α.
By assumption ( ), we deduce that ϕ(a)•X +f (a) = α.

Hence X ∈ H 1 , and then X ∈ H 1 ∩S 1 . Thus, Y ∈ ψ(H 1 ∩S 1 ). This shows that S 2 ∩H 2 ⊆ ψ(S 1 ∩H 1 ). Finally we have S 2 ∩H 2 = ψ(S 1 ∩H 1 ).

Similarly, one can show that ψ(P 1 ∩H 1 ) = P 2 ∩H 2 and ψ(P

1 ∩H 1> ) = P 2 ∩H 2> .
• By definition, a•Y α is valid for P 2 if and only if

P 2 ∩H 2> = ∅, that is if ψ(P 1 ∩H 1> ) = ∅.
Similarly, ϕ(a)•X α-f (a) is valid for P 1 if and only if P 1 ∩H 1> = ∅, which is equivalent to ψ P 1 ∩H 1> = ∅ by definition of the image of a subset. We deduce that (i) is true.

• By definition, a•Y α defines a face of P 2 if and only if

H 2> ∩P 2 = ∅ and H 2 ∩P 2 = ∅. Similarly, ϕ(a)•X α -f (a) defines a face of P 1 if and only if H 1> ∩P 1 = ∅ and H 1 ∩P 1 = ∅. Therefore, since (i) is true, to prove (ii) it suffices to show that H 2 ∩P 2 = ∅ ⇔ H 1 ∩P 1 = ∅. Since we have ψ(P 1 ∩H 1 ) = P 2 ∩H 2 ,
) = d-1 ⇒ dim(H 1 ∩P 1 ) = d-1.
According to Corollary CA.57(ii), it is equivalent to show that dim(H

2 ∩S 2 ) = d-1 ⇒ dim(H 1 ∩S 1 ) = d-1.
Let assume that dim(S 2 ∩H 2 ) = d-1.

Since S 2 ∩H 2 = ψ(S 1 ∩H 1 ), by Corollary CA.53 we have d-1 = dim(S 2 ∩H 2 ) dim(S 1 ∩H 1 ). Since dim(S 1 ∩H 1 ) dim(S 1 ) = dim(P 1 ) = d, we then have dim(S 1 ∩H 1 ) ∈ {d-1, d}. Let assume that dim(S 1 ∩H 1 ) = d = dim(P 1 ) = dim(S 1 ). The inclusion aff(S 1 ∩H 1 ) ⊆ aff(S 1 ) is then an equality, i.e. aff(S 1 ∩H 1 ) = aff(S 1 ). Then we have S 1 ⊆ aff(S 1 ) = aff(S 1 ∩H 1 ) ⊆ aff(H 1 ) = H 1 , and thus

S 2 = ψ(S 1 ) ⊆ ψ(H 1 ) = H 2 .
The latter inclusion implies that S 2 ∩H 2 = S 2 , and thus dim(S

2 ∩H 2 ) = dim(S 2 ) = dim(P 2 ) = d. A contradiction. Then necessarily dim(S 1 ∩H 1 ) = d-1.
• If ψ is bijective, then according to Corollary CA.53(ii) we have dim(ψ(S 1 )) = dim(S 1 ), and since ψ(S 1 ) = S 2 , we deduce that dim(S 2 ) = dim(S 1 ). It follows that dim(P 2 ) = dim(P 1 ). Similarly, dim(P 1 ∩H 1 ) = dim(ψ(P 1 ∩H 1 )), then dim(P 1 ∩H 1 ) = dim(P 2 ∩H 2 ) since ψ(P 1 ∩H 1 ) = P 2 ∩H 2 . Therefore, dim(P 1 ∩H 1 ) = dim(P 1 )-1 ⇔ dim(P 2 ∩H 2 ) = dim(P 2 )-1, and (iv) follows.

In the sequel we provide different examples where inequalities are transposed from a polyhedron P to a polyhedron P , and then where Property 3.10 allows to derive facet defining inequalities for P from those for P . For each example, we proceed in three steps: → identify an affine map ψ which map of P to P , → identify the function ϕ and f such that ( ) is satisfied, → transpose the inequalities using ϕ and f .

Application to QP n and CU T n+1

In [START_REF] De | The cut polytope and the boolean quadric polytope[END_REF], De Simone establishes the link between the Boolean quadric polytope for an arbitrary graph G, and the cut polytope of the graph obtained by adding to G a node together with an edge from this node to each other node. Let us present this link for the particular case of complete graph using the framework of Property 3.10.

• Notations

We denote by K n+1 = ( V , E) the complete undirected graph on [1..n+1], which corresponds to the following sets.

V = [1.

.n+1] = V {n + 1} and

E = V < = E V : {n+1}
Moreover, for any S ⊆ V , we define χ S ∈ R E as χ S = I S: V\S . This way we have CU T n+1 = conv χ S S ⊆ V .

• Identifying the affine map ψ Let us define the covariance map ψ and its inverse function ψ -1 as follows.

ψ = R V ×R E -→ R E (x, y) -→ X where ∀(i, j) ∈ E, X i,j = x i +x j -2 y i,j if (i, j) ∈ E x i if j = n+1 ψ -1 = R E -→ R V ×R E X -→ (x, y) where      ∀i ∈ V, x i = X i,n+1 ∀(i, j) ∈ E, y i,j = -X i,j + X i,n+1 + X j,n+1 2
One can check that ψ is a bijective linear map and that ∀S ⊆ V, ψ(z S ) = χ S .

We deduce that ψ(S n x,y ) = S n+1 X and ψ(QP n ) = CU T n+1 .

• Identifying functions "ϕ and f " By rewriting the expression a• ψ(x, y) as a weighted sum of variables x and y, we identify the coefficient of a vector b such that a• ψ(z) = b•(x, y). Therefore, we introduce the following function ϕ.

ϕ = R E -→ R V ×R E a -→ b where ∀i ∈ V, b i = a {i} : V \{i} ∀e ∈ E, b e = -2 a e By construction of ϕ, we have ∀a ∈ R E , ∀z ∈ R V ×R E , a• ψ(z) = ϕ(a)•z.
To stick to the Property 3.10's framework, we could set additionally f = 0.

• Transposing inequalities using "ϕ and f " Transposition 3.11 (Triangle and trivial inequalities)

Let (i, j, k) ∈ V << . If k = n+1, then (3.13) i,j,k (3.14) i,j,k (3.15) i,j,k (3.16) i,j,k            ϕ,0 -→            (3.5) i,j,k (3.6) i,j,k (3.7) i,j,k (3.8) i,j,k otherwise (3.13) i,j,k (3.14) i,j,k (3.15) i,j,k        ϕ,0 -→        (3.2) i,j (3.3) i,j (3.4) i,j (3.16) i,j,k ϕ,0 -→ (3.1) i,j
Triangles inequalities for CU T n+1 are equivalent to both trivial and triangle inequalities for QP n . Note that the clique inequalities for QP n as defined by Padberg in [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF], i.e. (3.9) are a generalization of the clique inequalities for CU T n+1 , i.e. (3.18). For example, inequalities (3.9) for a parameter θ that is not |S|

Application to QP n

In this section, we do not transpose inequalities from one polyhedron to another, but from a polyhedron to itself. Indeed, for a given M ⊆ V , Padberg introduces in [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF] an affine transformation of R V × R E which maps QP n to itself. Such a transformation can be seen as a symmetry of QP n , or even as a symmetry on the set of ordered bi-partitions. Let us consider a partition (S, T ). By changing the part to which each node of M belongs, we obtain the partition (S M, T M ), and by applying again the same operation, we obtain back (S, T ). Therefore, this operation is a kind of symmetry over the ordered bi-partitions. The equivalent of this operation on vectors (x, y) that represent partitions is the map ψ M introduced below.

• Identifying the affine map ψ

ψ M = R V ×R E -→ R V ×R E (x, y) -→ (x , y )
where

                   ∀i ∈ V, x i = 1 -x i if i ∈ M x i otherwise ∀(i, j) ∈ E, y i,j =      -y i,j + x j if i ∈ M and j ∈ M 1-(y i,j +x i +x j ) if i ∈ M and j ∈ M y i,j
otherwise One can check that ψ M is an affine map and that ∀S ∈ V, ψ(z S ) = z S M , where S M denotes the symmetric difference of sets S and M . The latter point shows that the image of ψ M is fully dimensional, since the points z S for all S ⊆ V generate R V ×R E , and any S ⊆ V can be written as

(S M ) M . Since ψ M is an affine map of R V × R E whose image is R V × R E ,
it is even an affine transformation. Moreover, this point shows that ψ M (QP n ) = QP n .

• Identifying functions "ϕ and f " As previously, by rewriting the expression a•ψ M (x, y) as a weighted sum of variables x and y, we identify the coefficient of a vector b such that a•ψ M (x, y) = b•(x, y) + c where c is a constant, in the sense that it does not depends on (x, y). This way, we introduce the following functions ϕ M and f M .

ϕ M = R V ×R E -→ R V ×R E a -→ b where              ∀i ∈ V, b i = -a i -a i : M \{i} if i ∈ M a i + a(i : M ) otherwise ∀e ∈ E, b e = -a e if e ∈ M : V \M a e otherwise f M = R V ×R E -→ R a -→ a(M )+a(M < ) By construction of ϕ M and f M , we have ∀a ∈ R V ×R E , ∀z ∈ R V ×R E , a•ψ M (z) = ϕ M (a)•z + f M (a).
• Transposing inequalities using ϕ and f The clique inequalities are stable for the transposition using ϕ V and f V .

Transposition 3.15 (Cut inequalities)

Let (S, T ) ⊆ P(V ) 2 such that S ∩T = ∅, |S| 1, and |T | 2. We have

(3.10) S,T ϕ V ,f V -→ (3.11) S,T .
The generalized cut inequalities for QP n are equivalent to the cut inequalities for QP n .

Actually, generalized cut inequalities were obtained by transposing cut inequalities using (ϕ V , f V ) (Cf. [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF]).

• A note on about the Padberg's symmetry theorem in [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF] Padberg [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF] introduced functions ψ M , ϕ M and f M (under slightly different notations) and use them to prove the following "Symmetry theorem" (Theorem 6 in [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF]).

For any R ⊆ V and S ⊆ V , and any facet a•z α of QP n such that a•z R = α, there exists a unique facet ã•z α of QP n such that ã•z S = α.

As enunciated, this theorem is false. Indeed, since the extreme points of QP n are exactly the points z S for S ⊆ V , this theorem states that for any pair of extreme points z S and z R , and for any facet of QP n containing z R , there exists only one facet of QP n containing z S . That is not true. Moreover, the existence or the unicity of a facet containing z S does not depend on z R or on a facet containing z R . The point was surely to say that there exists only one facet obtained by "symmetry" from a•z α that contains z R . However, the unicity does not stand, as shown by the counter-example given below. Therefore, let us provide a revised version of the symmetry theorem.

Property 3.16 Let R ⊆ V . Let (a, α) ∈ (R V ×R E )×R such that a•z α defines a facet of QP n and a•z R = α. (i) For any M ⊆ V , the inequality ϕ M (a)•z α-f M (a)
if ϕ M (a)•z S = α-f M (a) and ϕ M (a)•z S +f M (a) = α ⇔ a•ψ M (z S ) = α ⇔ a•z S M = a•z R . Therefore, if M = S R, then S M = S (S R) = R
, and z S belongs to the facet. Note that conversely, a•z S M = a•z R does not implies that S M = R.

Counter-example 4 : Among the facets obtained by symmetry from an inequality satisfied by z R , there can exist more than one that contains z S .

Let (i, j, k) ∈ V << . Let us set S = {i}, R = {j}, M 0 = S R = {i, j} and M = {i, j, k}.

We have S M = {j, k} = (S M 0 ) {k}.

Therefore, by denoting

(x S M 0 , y S M 0 ) = z S M 0 (x S M , y S M ) = z S M we obtain x S M = x S M 0 + I k ∈ R V y S M = y S M 0 + I {i,k} ∈ R E
We set a = (-I k , I {i,k} ), thus y i,k x k (3.3) i,k , which is satisfied to equality by z S , can be written a.z 0.

Let us explicit below the components of b

0 = ϕ M 0 and b = ϕ M . b 0 i = -a i -a i,j = 0 b i = -a i -a i,j -a i,k = -1 b 0 j = -a j -a i,j = 0 b j = -a j -a i,j -a j,k = 0 b 0 k = +a k +a i,k +a j,k = -1 + 1 b k = -a k -a i,k -a j,k = 0 ∀l ∈ V \{i, j, k}, b 0 l = = 0 ∀l ∈ V \{i, j, k}, b l = = 0 ∀e ∈ E, e = {i,
i,k = -a i,k = -1 since i ∈ M 0 and k ∈ M 0 b i,k = a i,k = 1 since i ∈ M and k ∈ M Finally, b 0 = (0, -I i,k ). Finally, b = (-I i , -I i,k ). Moreover, f M 0 (a) = a(M 0 ) + a (M 0 ) < = a i +a i,k = 0. Moreover, f M (a) = a(M )+a(M < ) = a i +a i,k = 0. Then the inequality b 0 •z f M 0 (a) is -y i,k 0, Then the inequality b•z f M (a) is -x i + y i,k 0, i.e. y i,k 0 that is (3.4) i,k i.e. y i,k x i that is (3.2) i,k
The point z R = z {j} = (I j , 0) satisfies both (3.4)

Application to P n δ,X

For any M ⊆ V , the symmetry operation on the ordered bi-partitions that consists in changing the part to which each node of M belongs, corresponds also to a symmetry over P n δ,X . Therefore, we introduce below a function ψ M δ,X for P n δ,X which is analog to ψ M for QP n .

• Identifying the affine map ψ

ψ M δ,X = R V ×R E -→ R V ×R E (δ, X) -→ (δ , X )
where

             ∀i ∈ V, δ i = 1-δ i if i ∈ M δ i otherwise ∀(i, j) ∈ E, X i,j = 1-X i,j if {i, j} ∈ M : V \M X i,j otherwise • Identifying functions ϕ and f ϕ M δ,X = R V ×R E -→ R V ×R E a = (a δ , a X ) -→ (b δ , b X ) where              ∀i ∈ V, b δ i = -a i if i ∈ M a i otherwise ∀(i, j) ∈ E, b Y i,j = -a i,j if {i, j} ∈ M : V \M a i otherwise f M δ,X = R V ×R E -→ R a -→ a(M )+a(M : V \M ) One can check that we have ∀a ∈ R V ×R E , ∀z ∈ R V ×R E , a•ψ M δ,X (z) = ϕ M δ,X (a)•z + f M δ,X (a).
Note that, when M = V , the expressions of the previous functions can be simplified as follows.

ψ V δ,X = (δ, X) → (I V -δ, X), ϕ V δ,X = (a δ , a X ) → (-a δ , a X ), f V δ,X = a → a(V )
• Transposing inequalities using ϕ and f Even if ψ M δ,X (P n δ,X ) = P n δ,X , we do not explicitly transpose inequalities of P n δ,X in this section. However, transposition using ϕ M δ,X and f M δ,X is particularly useful when M = V , since for any S ⊆ V , ψ V δ,X maps the vector encoding the ordered bi-partition (S, V \S) to the vector encoding (V \S, S), i.e. ψ V δ,X (I S , I S:V \S ) = (I V \S , I S:V \S ).

In particular, ψ V δ,X maps the two vectors corresponding to the bi-partition {V, ∅} = {∅, V }, and hence corresponding to the trivial cut, i.e. ψ V δ,X (0, 0) = (I V , 0). Therefore, each inequality that cuts off (0, 0) can be transposed into an inequality cutting off (I V , 0). The result is even more interesting. For any polyhedron invariant1 under ψ V δ,X , a facet defining inequality cutting off (0, 0) is transposed into a facet defining inequality cutting off (I V , 0) using ϕ V δ,X and f V δ,X . We will use this result in the next chapter for ≈ P n δ,X , the polytope of non-trivial cuts encoded by δ, X variables, which is stable by ψ V δ,X .

Application to QP n and QP N for N > n

In this section, we present the lifting theorem provided by Padberg in [START_REF] Padberg | The boolean quadric polytope: Some characteristics, facets and relatives[END_REF] as an application of Property 3.10. Let us consider N ∈ N such that N > n. We denote by K N = ( V , E) the complete graph on the node set [1..N ], which corresponds to V = [1.

.N ] and E = V < .

• Identifying the affine map ψ

The following mapping ψ π is the projection of the space R V ×R E on the space R V ×R E .

ψ π = R V ×R E -→ R V ×R E (x, y) -→ (x /V , y /E )
As a projection, ψ π is a linear map (not bijective).

Moreover, one can easily check that ψ π (QP N ) = QP n .

• Identifying functions ϕ and f

In order to have ∀z ∈ R V ×R E , a•ψ π (z) = ϕ π (a)
•z, we define ϕ π as the extension by 0 components.

ϕ π = R V ×R E -→ R V ×R E a -→ a *
where

             ∀i ∈ V, a * i = a i if i ∈ V 0 otherwise ∀e ∈ E, a * e = a e if e ∈ E 0 otherwise
To stick to the Property 3.10's framework, we could set additionally f π = 0.

• Lifting, or transposing using ϕ π The following lifting theorem is exactly the Property 3.10ii where function ψ, ϕ, and f have been instantiated as proposed above.

Property 3.17 (Padberg [31])

If a•z α defines a facet of QP n then ϕ π (a)•z α defines a facet of QP N .

Application to QP n and P n δ,X

It is important to notice that any valid (resp. facet defining) inequality for CU T n is also valid (resp. facet defining) for P n δ,X , but the converse is not true, since P n δ,X is in bijection with CU T n+1 , not with CU T n .

• Identifying the affine map ψ

ψ = R V ×R E -→ R V ×R E (δ, X) -→ (δ, y) where ∀(i, j) ∈ E, y i,j = δ i +δ j -X i,j 2 ψ -1 = R V ×R E -→ R V ×R E (x, y) -→ (x, X) where ∀(i, j) ∈ E, X i,j = x i +x j -2 y i,j
One can check that ψ is a bijective linear map and that ∀S ⊆ V, ψ((I S ,

I S:V \S )) = z S .
We deduce that ψ(S n δ,X ) = S n x,y and ψ(P n δ,X ) = QP n .

• Identifying functions ϕ and f As previously, by rewriting the expression a • ψ(δ, X) as a weighted sum of variables x and y, we identify the coefficient of a vector b such that a•ψ(δ, X) = b•(δ, X). This way we obtain the following definition of ϕ.

ϕ = R V ×R E -→ R V ×R E a -→ b where    ∀i ∈ V, b i = a i + 1 2 a {i} : V \{i} ∀e ∈ E, b e = -1
2 a e By construction of ϕ, we have

∀a ∈ R V ×R E , ∀(δ, X) ∈ R V ×R E , a•ψ(z) = ϕ(a)•(δ, X).
To stick to the Property 3.10's framework, we could set additionally f = 0.

• Transposing inequalities using ϕ and f Transposition 3.18 (Trivial inequalities)

Let (i, j) ∈ V < . We have (3.1) i,j ϕ,0 -→ (X.4) i,j , (3.2) i,j ϕ,0 -→ (X.2) i,j , (3.3) i,j ϕ,0
-→ (X.1) i,j , and

(3.4) i,j ϕ,0 -→ (X.3) i,j .
According to this transposition, inequalities (X.1 -X.4) will be called trivial inequalities for P n δ,X .

Transposition 3.19 (Triangle inequalities)

Let (i, j, k) ∈ V << . We have (3.1) i,j,k ϕ,0 -→ (3.16) i,j and (3.2) i,j (3.3) i,j (3.4) i,j        ϕ,0 -→        (3.13) i,j,k (3.14) i,j,k (3.15) i,j,k
According to this transposition, in the sequel the triangle inequalities for P n δ,X will refer to inequalities (3.13 -3.16), even if they are also the triangle inequalities for CU T n .

Transposition 3.20 (Clique inequalities)

Let S ⊆ V such that |S| 2, and θ ∈ [1..|S|-2].
We have (3.9) S,α ϕ,0 -→ (3.19) S,θ where inequalities (3.19) are defined as follows.

∀S ⊆ V, ∀θ ∈ 1 .. |S|-2 , (2θ-|S|+1) δ(S) + X(S < ) θ (θ+1) (3.19)

Numerical experiments

We provide in this section numerical experiments conducted in the framework as for Section 2.3, Cf. page 89. We only solve linear relaxations, which corresponds to the root node of a Branch-and-Bound algorithm to exactly solve the different formulations. For Tables 3.1 and 3.2, entries are the following. n: the number of tasks time: the average running time over the ten n-task instances gap: the average optimality gap2 over the ten n-task instances, 3.5.1 Reinforcing F 2 using triangle inequalities Table 3.1 shows that the lower bound provided by the linear relaxation F 2 -lp of F 2 is far from the optimal value (see the third column). Note that other experiments show that F3 provides the same lower bound. We try to strengthen this lower bound by adding cplex cuts 3 and/or the triangle inequalities (3.13 -3.16). 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 induces a much better lower bound than adding the cplex cuts, and combining both of them provides almost the same bound as the one obtained by adding only the 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.

F 2 -lp F 2 -lp F 2 -

Reinforcing F 2 using clique inequalities

As shown by the previous experiments, adding O(n 3 ) triangle inequalities increases the time for solving F 2 -lp. Since the number of clique inequalities is O(n 2 n ), we decided to add the clique inequalities using a separation algorithm.

In contrast with the non-overlapping inequalities in Formulations F 3 and F 4 , the clique inequalities are not necessary in F 2 . Indeed, the integrity constraints suffice, and clique inequalities are only used within the Branch-and-Bound algorithm to improve the lower bound obtained at each node of the branching-tree. Therefore, we can use a heuristic separation algorithm. Such an algorithm provides, for a given point (δ * , X * ) ∈ P n F 2 , a set of clique inequalities that (δ * , X * ) violates. Contrary to an exact algorithm, the provided inequality set can be empty, even if (δ * , X * ) violates some clique inequalities. Let us present the heuristic separation algorithm that we use for our experiments.

• A heuristic separation algorithm for clique inequalities Let (δ * , X * ) ∈ P n F 2 . To determinate if (δ * , X * ) violates some clique inequalities, one can proceed by enumeration on parameters θ and |S|, that is to compute, for each θ ∈ [1..n-2] and each s ∈ [θ+2..n], a subset S ⊆ V of size s that maximizes (2θ -(s-1)) δ * (S) + X * (S < ). If the value obtained for a maximizer S is larger than θ (θ +1), then inequality (3.19) S,θ is violated by (δ * , X * ), otherwise, no inequality (3.19) associated with a set of size s and θ is violated by (δ * , X * ). If the latter test is done, for each pair (s, θ), with a heuristic solution S, this procedure gives a heuristic separation algorithm. We propose below an implementation of such a heuristic separation algorithm, based on a sorting of δ * values.

For a given set of parameters (s, θ), we provide a heuristic set S using the following ideas. If s < 2θ+1, then 2 θ -(s-1) > 0. Hence, the larger δ * (S) is, the larger (2θ-(s-1)) δ * (S) + X * (S < ) is. Therefore, we choose for S a subset corresponding to the s largest components of δ * . On the contrary, if s > 2θ +1, we choose for S a subset corresponding to the s smallest components of δ * , since δ * (S) is multiplied by a negative coefficient. In these two cases, we focus on maximizing the first term of (2θ-(s-1)) δ * (S) + X * (S < ). When s = 2θ+1, the first term is zero, then we focus on maximizing X * (S < ). Therefore, we choose for S a subset corresponding the s/2 largest and the s/2 smallest components of δ * , in order to have in S < as many as possible edges between a node with a small value according to δ * and a node with a large one. Indeed, thanks to inequalities (X.1 -

X.2), X * i,j |δ * i -δ * j |.
Hence, the closer to 0 is δ * i and the closer to 1 is δ * j (or vice versa), the larger X * i,j is.

A heuristic separation of clique inequalities (3.19) input: (δ * , X * ) ∈ R V ×R E , n = |V | output: I a set of pairs (S, θ) such that (δ * , X * ) violates (3.19) S,θ , potentially empty

I ← ∅ σ ← an order on V that sorts δ * components such that δ σ(1) δ σ(2) . . . δ σ(n) for θ = 1 to n-2 for s = 1 to min(2 θ, n) S ← σ [1..s] if (2θ-(s-1)) δ * (S) + X * (S < ) > θ (θ+1) I ← I ∪ {(S, θ)} if 2 θ+1 n s ← 2 θ+1, S ← σ [1..θ] ∪ σ [n-θ..n] if (2θ-(s-1)) δ * (S) + X * (S < ) > θ (θ+1) I ← I ∪{(S, θ)} for s = 2 θ+2 to n S ← σ [n-s+1..n] if (2θ-(s-1)) δ * (S) + X * (S < ) > θ (θ+1) I ← I ∪{(S, θ)} return I
Table 3.2 shows that adding the clique inequalities4 to F 2 -lp provides a better lower bound than adding the cplex cuts. For example, it reduces the average for 60-task instances from 93% to 27%, while adding cplex cuts only reduces it to 45%. In contrast with the triangles inequalities, no time is saved by combining the cplex cuts to the clique inequalities, and the gap is only slightly reduced. Moreover, one can note that the solving time with the clique inequalities is much smaller than the solving time with the triangle inequalities. However, this time is again 15 times larger than the solving time for F 2 -lp plain. That is too much for an exact solving, where such kind of linear relaxations are solved thousands of times. In a nutshell, even if they lead to a better relaxation value, triangle inequalities and clique inequalities increase the computation time needed to solve the linear relaxation of Formulation F 2 . Therefore, we investigate in the sequel another way of reinforcing Formulation F 2 .

F 2 -lp F 2 -lp F 2 -

Chapter 4

Excluding trivial cuts using facet defining inequalities

Introduction

In the previous chapter, the polyhedron P n δ,X was studied without preferred direction as no objective function was given. We have presented facet defining inequalities that cut off fractional points no matter the value of these points. Conversely, in the sequel, the idea is to reinforce formulation F 2 by cutting off integer points of P n δ,X corresponding to solutions which are known to be non-optimal for the objective function. Note that the results obtained for P n δ,X in this chapter can be transposed to the cut polytope CU T n+1 and to the boolean quadratic polytope QP n using the methods proposed in Section 3.4.

More precisely, in this chapter, we provide inequalities cutting the point 0 ∈ R V × R E since it corresponds to a non-optimal solution. Indeed, this point represents a schedule without any early task, in particular without an on-time task, and the d-schedules are strictly dominant (Cf. Lemma 0.1). As you can observe in Figure 4.1, an arbitrary inequality cutting off an extreme point A of a polyhedron P included in the hyper-cube can introduce new extreme points (Cf. vertices F, G, H of P ), which are necessarily fractional points. To avoid the occurrence of fractional extreme points, the point to remove must be cut off by inequalities that define facets of the convex hull P of the other extreme points. (Cf. the front facet of P shown in orange in Figure 4.1). Therefore, even if the inequality δ(V ) 1 suffices to cut off 0 ∈ R V ×R E , we will study the facets of the polyhedron obtained as convex hull of the other points. We then introduce P n δ,X = conv S n δ,X where S n δ,X = S n δ,X \{0}. Since S n δ,X ⊆ S n δ,X , we can describe a point of S n δ,X by only giving its first n components, Lemma 0.5 shows how X can be deduced from δ.

We cannot say in general if removing a point of a set reduces the dimension of its convex hull, even if the removed point is an extreme point of the convex hull. The following property states that removing 0 from S n δ,X does not reduce its dimension. Property 4.1

The polyhedron P n δ,X is fully dimensional, i.e. dim(

P n δ,X ) = dim(R V ×R E ) = n(n+1) 2 . Proof : Since P n δ,X = conv S n δ,X , it suffices to show that S n δ,X generates R V ×R E , i.e. aff( S n δ,X ) = R V ×R E . For any U ⊆ V , let us denote by χ U the point (δ, X) ∈ S n δ,X such that δ u = 1 if and only if u ∈ U , i.e. χ U = I U ∈ R V , I U :V \U ∈ R E . Note that χ U ∈ S n δ,X if U = ∅.
Let us denote by (e u ) u∈V (resp. by (e u,v ) (u,v)∈V < ) the canonical basis of R V (resp. of R E ), and by 0 V (resp. 0 E ) the zero of R V (resp. R E ). The canonical basis of R V ×R E can then be written as (e u , 0 E ) u∈V , (0 V , e u,v ) (u,v)∈V < .

For any u ∈ V , we have (e u , 0

E ) = 1 2 (χ {u} -χ W + χ V ) where W = V \{u}. For any (u, v) ∈ V < , we have (0 V , e u,v ) = 1 2 (χ {u} + χ {v} -χ W )
where W = V \{u}. We deduce that the canonical basis of R V ×R E can be obtained by linear combination of points of S n δ,X . We then have

R V ×R E ⊆ vect( S n δ,X ) ⊆ vect( P n δ,X ) ⊆ R V ×R E , and thus vect( P n δ,X ) ⊆ R V ×R E .
• Link with the non-trivial cut polytope A cut is said trivial if it does not contain any edge, that is if it corresponds to the bi-partition of nodes {∅, V }. Using only edge variables X to encode cuts, there is only one point encoding a trivial cut: 0 E . Conversely, using δ, X variables, two points encode a trivial cut: 0 = (0 V , 0 E ) and (I V , 0 E ). Let us introduce ≈ P n δ,X , the polytope of the non-trivial cuts encoded by δ, X variables, which is formally defined as follows.

≈ P n δ,X = conv S n δ,X \{(0 V , 0 E ), (I V , 0 E )}
We choose to cut off (0 V , 0 E ) and not (I V , 0 E ), since (0 V , 0 E ) is non-optimal for the objective function coming from the UCDDP, while (I V , 0 E ), on the contrary, can be the unique optimal solution for some (very particular) instances. However, from a polyhedral point of view, cutting off (0 V , 0 E ) or (I V , 0 E ) is equivalent, since these two points are symmetric for ψ V δ,X . As explained in Section 3.4.4, a facet defining inequality of ≈ P n δ,X that cuts off (0 V , 0 E ) can be translated into a facet defining inequality that cuts off (I V , 0 E ).

• First glimpse on P n δ,X using PORTA To study this polyhedron for an arbitrary n, we start by studying it for small values of n using a polyhedron representation transformation software, which is in particular able to provide the inequalities defining the facets of conv(S) for a set of small dimensional points S. We use the software PORTA [2] to this end. We launch PORTA on S n δ,X for n = 4 (resp. n = 5), that is on a set of 10-dimensional (resp. 15-dimensional) points, we obtain 68 (resp. 693) inequalities describing P 4 F 2 (resp. P 5 F 2 ).

Roughly speaking, P n δ,X with respect to P n δ,X is the same as P with respect to P in Figure 4.1: -The initial and the new polyhedra have the same dimension, i.e. dim(P ) = dim( P ) -Some facets of the initial polyhedron (i.e. P ), like the back facet of P , are still facet of the new one (i.e. P ), or at least the corresponding inequality is still facet defining, even if the facet have smaller size, (see te bottom facet of P for example).

-Some facets of the initial polyhedron, like the two striped faced at the front of P , are no longer facet of the new polyhedron, even if they are necessarily still valid.

-Some facets of the new polyhedron, like the orange striped front facet of P , are new in the sense that they are not facet-defining and even not valid for the initial polyhedron. These facets are the facets that we look for, the facets eliminating the point without introducing fractional extreme points.

However, a remarkable difference between P and P n δ,X in the Figure 4.1 is the number of new facets appearing in the new polyhedron. In the figure, P has only one new facet, while P n δ,X presents 22 new facets for n = 4 and at least 325 for n = 5.

As for P n δ,X , we can show that the trivial inequalities, the triangle inequalities, the clique inequalities and the generalized cut inequalities define facet of P n δ,X for any n ∈ N. Among the other inequalities of P n δ,X (i.e. the new inequalities, not inherited from P n δ,X ) provided by PORTA for n = 4 and n = 5, we identify five families of linear inequalities which can be generalized for any n 4. Except for the last family, these inequalities defines facets of P n δ,X for any n 4. The sequel of this chapter presents these inequalities, more precisely each section consists in defining a family and then prove that any inequality of this family defines a facet of P n δ,X .

• P 4 F 2 case PORTA provides 68 inequalities describing P 4 F 2 . They are distributed as follows1 . + inequalities inherited from P n δ,X : -24 trivial inequalities, namely (X.1 -X.4) for each (i, j) ∈ V < -16 triangles inequalities, namely (3.13 -3.16) for each (i, j, k) ∈ V << -4 generalized cut inequalities, namely (3.21) associated with ({i}, V \{i}) for each i ∈ V -2 clique inequalities, namely (3.19), associated with S = V and θ ∈ {1, 2} + new inequalities:

-12 Hamiltonian path inequalities, i.e. (H P,1,n ) for C corresponding to a permutation of V -6 "without name" inequalities, i.e. (? u,v ) for each (u, v) ∈ V < -4 star inequalities, i.e. (Star u ) for each u ∈ V

How to prove that inequalities define facets

The proofs for the five inequality families follow the same scheme, which is classical in polyhedral studies (Cf. [START_REF] Conforti | Integer Programming[END_REF], page 106). We propose here to recall the scheme of these proofs in order to give to the reader some guidelines in these quite long proofs. However, each proof is written in extenso and can be read independently.

Sketch of proof

For a given n ∈ N\[0..2], to prove that the following inequality (I) defines a facet of P n δ,X .

b•(δ, X) β (I)

• Validity The first step is to prove that (I) is valid for the polyhedron P n δ,X . Since this polyhedron is defined as the convex hull of S n δ,X , it suffices to show that (I) is valid for the points of S n δ,X . We consider different cases for (δ, X) in S n δ,X according to the value of the δ components appearing in (I), i.e. having non-zero coefficients in (I).

• Integer points satisfying inequality (I) to equality

The second step is to identify the points of S n δ,X which satisfy (I) to equality. For this identification, we use the δ case analysis done at the first step. Establishing that some points of S n δ,X satisfy (I) to equality proves that (I) defines a non-empty face of P n δ,X , since that shows that some points of P n δ,X are in the hyperplane defined by (I). Let us denote by F this face. In the sequel, we will only say face for non-empty face.

• General reasoning on facets

To prove that a face F is a facet, we have to show that its dimension is equal to d -1, where d is the dimension of the polyhedron. In case of a polyhedron P defined as the convex hull of a set of initial points S, i.e. P = conv(S), it suffices to consider the dimension of the space generated by the initial points included in the face, i.e. aff(F ∩ S). Indeed, the affine space generated by a convex set is also generated by its extreme points. Therefore, the dimension of a face is the dimension given by its extreme points, which are necessarily initial points for such a polyhedron, i.e. dim(F ) = dim(extr(F )) = dim(F ∩S).

When the polyhedron is fully dimensional, a way to prove that dim(F ) = d is thus to provide a family of d initial points included in the face, and to show that they are affinely independent. We follow a different line, which is actually equivalent to provide a family of initial points included in the face and show that the rank of this family is d-1, since its orthogonal complement is 1-dimensional. In particular, we consider more than d points and do not show they are independent.

• Defining the including facet Since a face of a polyhedron is always included in a facet, we consider a facet F a containing F . The last (but not least) step, consists in showing that this facet F a is exactly the face F . More precisely, we introduce a vector a ∈ R V ×R E and a real number α ∈ R such that F a is defined by the inequality a•(δ, X) α. We then use initial points included in F , i.e. F ∩S to derive necessary conditions on a. Indeed, a point (δ, X) included in F is necessary included in F a , and thus we have a•(δ, X) = α. Progressively, we deduce from these equalities the values of a components (Cf. framed results in the proof). The goal is to deduce that a = λ b and α = λ β for a certain λ ∈ R, which proves that F = F a , and thus that F is a facet. Note that this goal is reached if and only if the rank of the points considered to derive conditions on

a is dim(R V ×R E )-1 = dim( P n δ,X )-1.
In spite of their common structure, the following proofs do not seem to be able to be gathered into a common meta-proof. Indeed, the integer points satisfying inequalities to equality and thus the third step of proofs have different nature. For example, the third step of the proof for the Hamiltonian path inequalities requires to prove one intermediate property by induction on the number of vertices on the path between the two endpoints of an edge, while the proof for the Hamiltonian cycle inequalities requires in addition an induction on the vertices along the cycle. Conversely, the other proofs do not require any induction reasoning.

Hamiltonian path inequalities

For any Hamiltonian path P of K n , we introduce the following inequality where u and v denote the endpoints of P.

δ u +δ v + X(P) 2 (H P ) Property 4.2
For any Hamiltonian path P the inequality (H P ) defines a facet of P n δ,X .

Proof : Let P be a Hamiltonian path of K n . Since vertices of V can be interchanged without changing K n , we assume without loss of generality that P goes from 1 to n, and that edges of P are the edges {i, i+1}

for i ∈ [1.
.n[. The inequality (H P ) can then be written as follows, and Figure 4.2 gives an illustration of the variables involved in this inequality, that is having a non zero coefficient. • Validity Let (δ, X) ∈ S n δ,X .

δ 1 +δ n + n-1 i=1 X i,i+1 2 (H P,1,n ) • • • • • • • • 1 n • vertex of V • P-endpoint P-edge other edge of E
-If (δ 1 , δ n ) = (1, 1), then δ 1 +δ n = 2. As X has only non-negative values, (δ, X) satisfies (H P,1,n ).

-If (δ 1 , δ n ) = (1, 0), then there exists (at least) one index k ∈ [1..n-1] such that δ k = 1 and δ k+1 = 0, and hence such that X k,k+1 = 1. We deduce that (δ, X) satisfies (H P,1,n ).

-If (δ 1 , δ n ) = (0, 1), the situation is symmetric to the previous one. Similarly, (δ, X) satisfies (H P,1,n ).

-If (δ 1 , δ n ) = (0, 0), there exists (at least) one index j ∈ [2..n -1] such that δ j = 1 since δ = 0.

Then, there exists one index

k 1 ∈ [1..j -1] such that δ k 1 = 0 and δ k 1 +1 = 1, and another index k 2 ∈ [j +1..n-1] such that δ k 2 = 1 and δ k 2 +1 = 0. We then have X k 1 ,k 1 +1 = X k 2 ,k 2 +1 = 1 with k 1 = k 2 . Therefore, n-1 i=1 X i,i+1 2 and (δ, X) satisfies (H P,1,n ).
We deduce that all the points of S n δ,X , and hence of P n δ,X = conv( S n δ,X ), satisfy inequality (H P,1,n ).

• Introducing the including facet

Let us consider a ∈ R V ×R E and α ∈ R such that F a = (δ, X) ∈ P n δ,X | a•(δ, X) = α is a facet of P n δ,X
containing the face F associated with (H P,1,n ) , that is the face defined as follows.

F = (δ, X) ∈ P n δ,X δ 1 +δ n + n-1 i=1 X i,i+1 = 2
• Integer points satisfying inequality (H P,1,n ) to equality Let us denote by p K,L the point of S defined by δ = I [K..L] , for (K, L) ∈ V . Such a point satisfies (H P,1,n ) to equality. Actually, the set of points of S n δ,X satisfying (H P,1,n ) to equality is exactly p K,L (K, L) ∈ V . Note that these points can be partitioned into seven seven types regarding to 1 and n: (a)

(a) 1 < K = L < n (b) 1 = K < L < n (c) 1 < K < L = n (d) 1 = K < L < n (e) 1 < K < L = n (f) 1 < K < L < n (g) 1 = K < L = n
1

K = L n
vertex where δ is 0 vertex where δ is 1 P-endpoint where δ is 1 P-edge where X is 0 non-P-edge where X is 1 P-edge where X is 1 For any (K, L) ∈ V , p K,L ∈ F a since p K,L ∈ F , and we have a.p K,L = α, which can be written as follows.

(b) 1 = K = L n (c) 1 K = L = n (d) 1 = K L n (e) 1 K L = n (f) 1 K L n (g) 1 = K L = n
L j=K a j + K-1 i=1 L j=K a i,j + L i=K n j=L+1 a i,j = α (1 K,L )
Using colors, Figure 4.4 illustrates the non-zero coefficients appearing in this equation (1 K,L ) in case (f), i.e. for (K, L) such that 1 < K < L < n. We now start to use equations (1 K,L ) for different values of K and L, which will allow to first prove that

a /V = α 2 (I 1 +I n ). -With (K, L) = (1, n) the equation (1 K,L ) is simply the following equation. n j=1 a j = α (1 1,n ) -For any J ∈ [1..n-1], the equation (1 K,L ) for (K, L) = (1, J) is: J j=1 a j + 0 + J i=1 n j=J+1 a i,j = α (1 1,J ) while the equation (1 K,L ) with (K, L) = (J +1, n) is n j=J+1 a j + J i=1 n j=J+1 a i,j + 0 = α (1 J+1,n )
Summing these both equations, we obtain:

n j=1 a j + 2 J i=1 n j=J+1 a i,j = 2α
and using (1 1,n ) to simplify α, we finally obtain:

J i=1 n j=J+1 a i,j = α 2 ( ) -For any K ∈ [2.
.n], the equation (1 K-1,n ), can be written as follows, n j=K-1

a j + K-2 i=1 n j=K-1 a i,j + 0 = α that is n j=K-1 a j +   K-2 i=1 n j=K a i,j + K-2 i=1 a i,K-1   = α (1 K-1,n )
while the equation (1 K,n ) can be written as follows:

n j=K a j + K-1 i=1 n j=K a i,j + 0 = α that is n j=K a j +   K-2 i=1 n j=K a i,j + n j=K a K-1,j   = α (1 K,n )
We deduce that left members of these both inequality are equal, and simplifying their common terms we obtain for any K ∈ [2.

.n]:

a K-1 + K-2 i=1 a i,K-1 = n j=K a K-1,j (2 K-1 )
-For any L ∈ [1..n-1], the equation (1 1,L+1 ) can be written as follows:

L+1 j=1 a j + 0 + L+1 i=1 n j=L+2 a i,j = α that is L+1 j=K a j +   L i=K n j=L+2 a i,j + n j=L+2 a L+1,j   = α (1 1,L+1 )
while the equation (1 1,L ) can be written as follows:

L j=1 a j + 0 + L i=1 n j=L+1 a i,j = α that is L j=1 a j +   L i=1 n j=L+2 a i,j + L i=1 a i,L+1   = α (1 1,L )
We deduce that left members of these both inequality are equal, and simplifying their common terms we obtain for any L ∈ [1..n-1]:

a L+1 + n j=L+2 a L+1,j = L i=1 a i,L+1 (3 L+1 ) -For J ∈ [2..n-1], we then have n j=J+1 a J,j = a J + J-1 i=1
a i,J by (2 J ), and

a J + n j=J+1 a J,j = J-1 i=1 a i,J by (3 J ), which implies that a J = 0. ∀J ∈ [2..n-1], a J = 0
The equation (1 1,n ) is then equivalent to a 1 +a n = α . Moreover, using ( ) the equation (1 1,J ) can be simplified in a 1 + α 2 = α. We deduce that a n = α 2 and finally we obtain:

a 1 = a n = α 2
We continue using equations (1 K,L ) for different values of K and L, which will allow to prove that

a /E = α 2 I P ∈ R E , i.e. ∀i ∈ [1..n[, a i,i+1 = α 2
and a e = 0 for e ∈ E \P.

For any k ∈ [1.

.n], by analogy with inner and outer degrees in oriented graph, we introduce the following notations.

a -(k) = k-1 i=1 a i,k and a + (k) = n j=k+1 a k,j
-Using this notation, the equation (1 K,L ) for (K, L) = (J, J) is equivalent to a J + a -(J) + a + (J) = α.

For J = 1, a J = α 2 and a -(J) = 0, we deduce that a + (1) = α 2 . Similarly, we also have a -(n) = α 2 . For any J ∈ [2..n-1], a J = 0, thus the equation (1 K,L ) for (K, L) = (J, J) can the written as follows;

a -(J) + a + (J) = α (1 J,J ) -With (K, L) = (1, 2) the equation (1 K,L
) can be written as follows.

(a

1 +a 2 ) + a + (1)-a 1,2 + a + (2) = α that is α 2 +0 + + α 2 -a 1,2 + a + (2) = α
We deduce that a + (2) = a 1,2 . Besides, by definition, a -(2) = a 1,2 , then the equation (1 J,J ) for J = 2 gives a 1,2 +a 1,2 = α. We finally obtain:

a 1,2 = α 2
and similarly:

a n-1,n = α 2 -Let J ∈ [2..n-2]. The equation (1 K,L ) for (K, L) = (1, J +1) gives: (a 1 +0) + J+1 i=1 n j=J+2 a i,j = α (1 1,J+1 )
while for (K, L) = (J, n) this equation gives:

(0+a n ) + J-1 i=1 n j=J a i,j = α (1 J,n )
Using that a 1 = a n , we deduce that the the two double sums are equal, and reformulate this equality as follows.

J+1 i=1 n j=J+2 a i,j = J-1 i=1 n j=J a i,j ⇔ ¨¨¨¨¨J -1 i=1 n j=J+2 a i,j + n j=J+2 (a J,j +a J+1,j ) = ¨¨¨¨¨J -1 i=1 n j=J+2 a i,j + J-1 i=1 (a i,J +a i,J+1 ) ⇔   n j=J+2 a J,j + n j=J+2 a J+1,j   + a J,J+1 = J-1 i=1 a i,J + J-1 i=1 a i,J+1 + a J,J+1 ⇔ n j=J+1 a J,j + n j=J+2 a J+1,j = J-1 i=1 a i,J + J i=1 a i,J+1 ⇔ a + (J) + a + (J +1) = a -(J) + a -(J +1)
By adding a -(J)+a + (J +1) on the both sides of the latter equality, we obtain:

a + (J) + a -(J) α + 2a + (J +1) = 2a -(J) + a -(J +1) + a + (J +1) α and then a + (J +1) = a -(J) (4 +- J )
while by adding a + (J)+a -(J +1), we obtain:

2a + (J) + a + (J +1) + a -(J +1) α = a -(J) + a + (J) α + 2a -(J+1) + and then a -(J+1) = a + (J) (4 -+ J ) Starting from a + (2) = a -(2) = a 1,2 = α 2
and using alternatively equations (4 +- J ) and (4 -+ J ) for each J ∈ [2..n-1], we obtain:

α 2 = a + (2) = a -(3) = ... = a -(n-1) if n is even a + (n-1) otherwise and α 2 = a -(2) = a + (3) = ... = a + (n-1) if n is even a -(n-1) otherwise
To sum up, we have:

∀J ∈ [2..n-1], a + (J) = a -(J) = α 2 (♣) -For any J ∈ [2..n-2], the equation (1 K,L ) for (K, L) = (J, J +1) is: (a J +a J+1 ) + a -(J) + a + (J)-a J,J+1 + a -(J +1)-a J,J+1 + a + (J +1) = α
and using (♣), this is equivalent to 0 + 2 α -2 a J,J+1 = α. We deduce that:

∀J ∈ [2..n-2], a J,J+1 = α 2 (♠)
Up to now, we have shown that

a 1 = a n = α 2 , ∀J ∈ [2..n-1], a J = 0 and ∀J ∈ [1..n-1], a J,J+1 = α 2 .
In the rest of the proof, we will show by induction that all the other components of a are zero.

For l ∈ [2..n-1] let us consider the following property.

H l : ∀J ∈ [1..n-l ], a J,J+l = 0
Let us now show that H l is true by induction on l ∈ [2..n-1].

• Rewriting (1 J,J+l ) For any l ∈ [2..n-1] and J ∈ [1..n-l], the equation (1 K,L ) for (K, L) = (J, J + l) can be written as follows:

α 2 I J=1 or J+l=n +   a -(J) + n j=J+l+1 a J,j   + k=J+l-1 k=J+1   J-1 i=1 a i,k + n j=J+l+1 a k,j   +   J-1 i=1 a i,J+l + a + (J +l)   = α (1 J,J+l )
where I J=1 or J+l=n is 1 if j = 1 or J +l = n and 0 otherwise. Using (♣), we simplify the three non-boxed terms as follows.

α 2 I J=1 or J+l=n + a -(J) + a + (J +l) =        α 2 +0+ α 2 if J = 1 α 2 + α 2 +0 if J +l = n 0+ α 2 + α 2 otherwise        = α
We deduce that the sum of boxed terms is 0. Let us rewrite each of these boxed terms using only coefficients a i,j with (i, j) ∈ [J..J + l] < and making explicitly appear the coefficient a J,J+l . Using the notation a + , the first boxed term can be expressed as follows.

n j=J+l+1 a J,j = n j=J+1 a J,j - J+l j=J+1 a J,j = a + (J) -a J,J+1 = 0 by (♣) and (♠) - J+l-1 j=J+2 a J,j -a J,J+l
Similarly, for any k ∈ [J +1 .. J +l-1] the corresponding second boxed term can be expressed as follows.

n j=J+l+1 a k,j = n j=k+1 a k,j - J+l j=k+1 a k,j = a + (k) -a k,k+1 = 0 by (♣) and (♠) - J+l j=k+2 a k,j
Using the notation a -, the last boxed term can be expressed as follows.

J-1 i=1 a i,J+l = J+l-1 i=1 a i,J+l - J+l-1 i=J a i,J+l = a -(J +l) -a J+l-1,J+l = 0 by (♣) and (♠) - J+l-2 i=J+1 a i,J+l -a J,J+l
Similarly, for any k ∈ [J +1 .. J +l-1] the corresponding third boxed term can be expressed as follows.

J-1 i=1 a i,k = k-1 i=1 a i,k - k-1 i=J a i,k = a -(k) -a k-1,k = 0 par (♣) et (♠) - k-2 i=J a i,k
Finally, we can write that the sum of the opposite of the boxed terms is 0 as follows.

J+l-1 j=J+2 a J,j + a J,J+l + k=J+l-1 k=J+1   J+l j=k+2 a k,j + k-2 i=J a i,k   + J+l-2 i=J+1 a i,J+l + a J,J+l = 0 (1 J,J+l )
• Initialization, for l = 2. For l = 2 and for any J ∈ [1 .. n-2], the sums in the latter equation are empty sums, we then obtain:

0 + a J,J+2 + (0+0) + 0 + a J,J+2 = 0 (1 J,J+2 )
We deduce that ∀J ∈ [1..n-2], a J,J+2 = 0. In other words, Property H 2 stands.

• Induction Let l ∈ [2 .. n-2].
Let us assume that Property H stands up to the rank l. We will show that Property

H l+1 stands. Let J ∈ [1 .. n-(l +1)].
In its rewritten version, the equation (1 K,L ) for (K, L) = (J, J +l) gives:

J+l j=J+2 a J,j + a J,J+l+1 + k=J+l k=J+1   J+l+1 j=k+2 a k,j + k-2 i=J a i,k   + J+l-1 i=J+1 a i,J+l+1 -a J,J+l+1 = 0 (1 J,J+l+1 )
By induction hypothesis, the coefficients a i,j for j -i l are zero. Moreover, -for any j ∈ [J +2 .. J +l ], we have j -J J +l-J = l, thus a J,j = 0.

-for any k ∈ [J +1 .. J +l ] and j ∈ [k+2 .. J +l+1 ], we have j-k J +l+1 -(j+1) = l, thus a k,j = 0.

-for any k ∈ [J +1 .. J +l ] and i ∈ [J .. k-2], we have k-i J +l-J = l, thus a i,k = 0.

-for any i ∈ [J +1 .. J +l-1 ], we have

J + l + 1-i J +l + 1 -(J +1) = l, thus a i,J+l+1 = 0.
We deduce that all the sums in the latter expression are zero, and therefore, that a J,J+l+1 = 0. This is true for any J ∈ [1 .. n-(l+1)], Then Property H l+1 stands.

• Conclusion

Finally, a = α 2

I 1 +I n + n-1 i=1 I (i,i+1
) . Since F a defines a facets, a = 0, and thus α = 0. Since dividing all the components of a by α does not change F a , we can assume that α = 2 without loss of generality. We then obtain a = I 1 +I n + n-1 i=1 I (i,i+1) , thus F a = F and F defines a facet.

Hamiltonian cycle inequalities

In this section, we assume that n 4. For any Hamiltonian cycle C of K n , we introduce the following inequality for u and v two nodes not consecutive on C.

δ u +δ v -X u,v + X(C) 2 (H' C,u,v ) Property 4.3
For any Hamiltonian cycle C of K n the inequality (H' C,u,v ) defines a facet of P n δ,X .

Proof : Let C be a Hamiltonian cycle of K n and (u, v) a pair of nodes not consecutive on C. Since nodes of V can be interchanged without changing K n , we assume without loss of generality that u = 1 and that edges of C are the edge {i, i+1} for i ∈ [1.

.n[ and n, 1. We then have

v ∈ [3..n -1].
Let us denote by W the set of vertices different from u and v, and split it according to their position in C relatively to u and v:

W = V \{u, v}, W 1 = [2..v-1] and W 2 = [v+1..n]
Considering the orientation on C given by the natural order on [1.

.n], W 1 (resp. W 2 ) is the set of nodes placed between u and v (resp. between v and u) on C.

W 1 W 2 • • • • • • • • • • 1 = u 2 v n • vertex of V • C-endpoint other edge of E C-edge edge {u, v} set of vertices W 1 set of vertices W 2 Figure 4.5: Illustration of terms (δ, X) involved in (H' C,u,v )
In the sequel, all indices are given modulo n. For example, δ n+1 = δ 1 = δ u . That will also be the case for index intervals. Thus, we denote by [L.

.K] the set {L+i mod n | i ∈ N such that L+i K mod n}. If (K, L) ∈ V , this is a standard notation, in particular if K = L, we have [K..L] = {K}. If conversely K > L, we have [L..K] = [L..n] [1..K].
Moreover, for any k ∈ [1.

.n], by analogy with inner and outer degrees in oriented graph, we introduce the following notations.

a -(k) = k-1 i=1 a i,k and a + (k) = n j=k+1 a k,j • Validity Let (δ, X) ∈ S n δ,X . -If (δ u , δ v ) = (1, 1), then X u,v = 0 and δ u +δ v -X u,v = 2. Moreover, all X components are non-negative, therefore, δ u +δ v -X u,v + X(C) 2, that is (δ, X) satisfies (H' C,u,v ).
-If (δ u , δ v ) = (0, 1), then X u,v = 1 and δ u +δ v -X u,v = 0. Moreover, there exists at least one node k ∈ W 1 such that δ k = 0 and δ k+1 = 1, and another node l ∈ W 2 such that δ l = 1 and δ l+1 = 0. Since (δ, X) ∈ S n δ,X , we then have X k,k+1 = 1 and X l,l+1 = 1. As X components are non-negative we also have X(C) X k,k+1 + X l,l+1 . We deduce that (δ, X) satisfies (H' C,u,v ).

-If (δ u , δ v ) = (1, 0), following the same line we show that (δ, X) satisfies (H' C,u,v ).

-If (δ u , δ v ) = (0, 0), then X u,v = 0. Moreover, there exists (at least) one index w ∈ [2..n -1] such that δ w = 1 since δ = 0. Following the same reasoning for (u, w) as previously for (u, v), we have X(C) 2. We deduce that (δ, X) satisfies (H' C,u,v ).

We deduce that all the points of S n δ,X satisfy inequality (H' C,u,v ). Since P n δ,X = conv( S n δ,X ) , we deduce that any point in P n δ,X satisfies also this inequality. In other words, (H' C,u,v ) is valid for P n δ,X .

•

Introducing the including facet Let us consider a ∈ R V ×R E and α ∈ R such that F a = (δ, X) ∈ P n δ,X | a•(δ, X) = α is a facet of P n δ,X
containing the face F associated with (H' C,u,v ) , that is the face defined as follows.

F = (δ, X) ∈ P n δ,X δ u +δ v -X u,v +X(C) =
(C) = X K-1,K + X L,L+1 = 2, thus δ u +δ v -X u,v + X(C) = 3 > 2.
The set of points of S n δ,X satisfying (H P,1,n ) to equality is thus exactly the following set.

p K,L (L, K) ∈ V 2 \ W 1 < W 2 <
These points can be split into the five following types, depending on the value of parameters K and L regarding to u and v.

-

p K,L for (K, L) = (1, n) -p K,L for (K, L) ∈ W 1 -p K,L for (K, L) ∈ W 2 -p K,L for (K, L) ∈ (W 2 ∪{u}) × ({u}∪W 1 ) -p K,L for (K, L) ∈ (W 1 ∪{v}) × ({v}∪W 2 )
Using colors, Figure 4.6 gives an illustration of these five type of points. C-edge where X is 1 edge {u, v} when X u,v = 1 For any (L, K) ∈ V 2 \ W 1 < W 2 < , p K,L ∈ F a since p K,L ∈ F , and we have a.p K,L = α, which can be written as follows.

1 = u 2 K L v n 1 = u 2 v K L = n 1 = u 2 K v L n 1 = u 2 K L v n
a [K...L] + a [K..L] : V \[K..L] = α (1 K,L )
We now start to use equations (1 K,L ) for different values of K and L, which will allow to first prove that a /V = α 2 (I u +I v ).

-The equation (1 K,L ) for (K, L) = (1, n) gives:

a(W )+a u +a v = α (1 1,n )
-The equation (1 K,L ) for (K, L) = (1, 1) = (u, u) gives:

a u + a u,v + a {u} : W = α (1 1,1 )
while for (K, L) = (2, n) it gives:

a(W ) + a v + a u,v + a {u} : W = α (1 2,n )
These both equations imply that a(W )+a v = a u . Following the same line with v instead of u, we obtain a(W )+a u = a v . Then we have a(W ) = a u -a v = a v -a u . We deduce that a(W ) = 0 and a u = a v . Using the equation (1 1,n ), which is equivalent to a u +a v = α, we finally have:

a u = a v = α 2
-For any J ∈ W 1 , the equation ( 1 Thanks to this latter equation, we will show that a J = 0 by induction on J ∈ W 1 = [2..v-1].

• Initialization For J = 2, the equation ( J ) gives a 2 = a [3.

.n]∩W , that is a 2 = a(W )-a 2 . Using that a(W ) = 0, we obtain a 2 = 0.

• Induction Let J ∈ [2..v-2].
Let us assume that ∀j ∈ [2..J], a j = 0.

On one hand, we then have:

a [1..J +1]∩W = a [2..J] =0 +a J+1
and on the other hand we also have:

a [J +2..n]∩W = a W \[2..J +1] = a(W ) =0 -a [2..J +1] =0 -a J+1
The equation ( J+1 ) is then equivalent to a J+1 = -a J+1 , that is a J+1 = 0.

By induction, we have a J = 0 for any J ∈ W 1 . For any J ∈ W 2 , we can similarly establish that:

a [v..J]∩W = a [J +1..v-1]∩W
and deduce by induction that a J = 0 for any J ∈ W 2 . Finally, we have:

∀J ∈ W, a J = 0
We continue using equations (1 -For any J ∈ V . the equation (1 K,L ) for (K, L) = (J, J +1) gives:

a J +a J+1 + a -(J) + a + (J)-a J,J+1 + a -(J +1)-a J,J+1 + a + (J + 1) = α (1 J,J+1 )
while for (K, L) = (J, J) it gives:

a J + a + (J) + a -(J) = α (1 J,J )
and for (K, L) = (J +1, J +1) it gives:

a J+1 + a + (J +1) + a -(J +1) = α (1 J+1,J+1 )
Substracting (1 J,J ) and (1 J+1,J+1 ) to (1 J,J+1 ), we obtain -2a J,J+1 = -α. We deduce that:

∀J ∈ V, a J,J+1 = α 2 -For any J ∈ W 1 = [2..v-1]
, the equations (1 K,L ) for (K, L) = (1, J) and (K, L) = (2, J) give:

a u +a [2..J] + a [1..J] : [J +1..n] = α (1 1,J ) a [2..J] + a [2..J] : [J +1..1] = α (1 2,J )
Since ∀w ∈ W, a w = 0, the equality of the both left members gives can be written as follows.

a u +0 + a ({1} : [J +1..n]) + @ @ @ @ @ @ @ @ @ a ([2..J] : [J +1..n]) = 0 + @ @ @ @ @ @ @ @ @ a ([2..J] : [J +1..n]) + a ([2..J] : {1})

By adding a ({1} : [2..J]) on the both sides, we obtain:

a u + a ({1} : [J +1..n]) + a ({1} : [2..J]) = a + (1)
= 2 a ({1} : [2..J])

Since the equation (1 K,L ) for (K, L) = (1, 1) = (u, u) gives a u + a + (1) = α, we deduce that:

∀J ∈ [2..v-1], a ({1} : [2..J]) = α 2
Since a 1,2 = α 2 , that allow to show by a direct induction on J that:

∀J ∈ [3..v-1], a u,J = 0
Symmetrically, for any J ∈ W 2 , using the equations (1 K,L ) for (K, L) = (J, n) and (K, L) = (J, 1) we obtain: ∀J ∈ [v+1..n-1], a u,J = 0

Finally we have: ∀J ∈ W \{u-1, u+1}, a u,J = 0 Following the same line with v instead of u, we can show that:

∀J ∈ W \{v-1, v+1}, a v,J = 0 -The equation (1 K,L ) for (K, L) = (2, n), which is : a ([1..v -1])+a v +a ([v + 1..n]) + a ({u} : [2..v -1])+a u,v +a ({u} : [v + 1..n]) = α (1 2,n )
can be written as follows using the previous result:

0+a v +0 + a 1,2 +a u,v +a n,1 = α (1 2,n ) Since we already have a v = a n,1 = a 1,2 = α 2
, we deduce:

a u,v = - α 2 -For any J ∈ [1..v-2], the equations (1 K,L ) for (K, L) = (1, J) and (K, L) = (1, J +1) give: a [1..J] + a [1..J] : {J +1} + a [1..J] : [J +2..n] = α (1 1,J ) a [1..J] +a J+1 + a [1..J] : [J +2..n] + a {J +1} : [J +2..n] = α (1 1,J+1 )
Since J +1 ∈ W 1 , a J+1 = 0, we deduce from these equations that:

a [1..J] : {J +1} = a {J +1} : [J +2..n] that is a -(J +1) = a + (J +1)
Moreover, we already have a J+1 +a + (J +1)+a -(J +1) = α (1 J+1,J+1 ) and a J+1 = 0, since J+1 ∈ W 1 ⊆ W . We deduce that a -(J +1) = a + (J +1) = α 2 , and that for any J +1 ∈ [2.

.v] = W 1 . Following the same line for J + 1 ∈ [v + 1..n -1] and using the equations (1 K,L ) for (K, L) = (v, J) (K, L) = (v, J +1), we can show that a -(J +1) = a + (J +1) = α 2 , and that for any J +1 ∈ [v + 1.

.n] = W 2 . Thus, we finally have:

∀J ∈ W, a -(J) = a + (J) = α 2 (♣)
-Thanks to this latter equation, we will show that ∀(I, J) ∈ W 12 , J > I +1, a I,J = 0, that is that the a component associated with an edge between two nodes in W 1 is zero, excepted if this edge belongs to C. More precisely, assuming that v 5 otherwise there is nothing to show, we will show by induction on l ∈ [2..v-2] the following property:

H l : ∀I ∈ W 1 , ∀J ∈ [I +2..I +l ]∩W 1 , a I,J = 0 • Initialization Let start with l = 2. Let I ∈ W 1 such that I +l ∈ W 1 , i.
  = α 2 + α 2 - α 2 +      I+l+1 k=I+2 α 2 - α 2 -a {k} : I..k-2 = 0 except for k=I+l+1      by H ? = α 2 -a I,I+l+1
The equation (1 I,I+l+1 ) is then equivalent to -a I,I+l+1 + α 2 + α 2 -a I,I+l+1 = α and thus a I,I+l+1 = 0. Since this is true for any I ∈ [2..v-l-2] the property H l+1 stands.

Finally, we have shown by induction that:

∀(I, J) ∈ W 1 < \ C, a I,J = 0
Symmetrically, we can show that:

∀(I, J) ∈ W 2 < \ C, a I,J = 0
These two results can be summed up by a I,J = 0 if I and J are nodes of W not consecutive on C, assuming that they are both in W 1 or both in W 2 . The rest of the proof is dedicated to show that a u,v = 0 also for a pair of nodes in W 1 ×W 2 .

-Let I ∈ W 1 and J ∈ W 2 . The equations (1 K,L ) for (K, L) = (I, J) and (K, L) = (I +1, J) can be written as follows. We deduce in particular that a {I} : [I +1..J] = α 2 . Since we already have:

-

a I,k = 0 for k ∈ [I +2..v -1] ⊆ W 1 , -a I,v = 0 except if v = I +1, -a I,I+1 = α 2 ,
we first deduce that a {I} : [I +1..J] = a I,I+1 + a {I} : [v +1..J] , and then that a {I} : [v+1..J] = 0. Using this latter equation iteratively for J going from v + 1 to n, we deduce that ∀w ∈ W 2 , a I,w = 0. Since this is true for any I ∈ W 1 , we deduce that:

∀(I, J) ∈ W 1 ×W 2 , a I,J = 0 • Conclusion Finally, a = α 2 I u +I v -I u,v + n i=1 I (i,i+1
) . Since F a defines a facets, a = 0, and thus α = 0. Since dividing all the components of a by α does not change F a , we can assume that α = 2 without loss of generality.

We then obtain a = I u +I v -I u,v + n i=1 I (i,i+1) . thus F a = F and F defines a facet.

• Integer points satisfying inequality (? u,v ) to equality For any U ⊆ W , let us introduce p U u (resp. p U v ) the point of S defined by δ = I u +I U (resp. by δ = I v +I U ). As previously observed, such a point satisfies (? u,v ) to equality. Therefore, p U u ∈ F ⊆ F a , (resp. p U v ∈ F a ) then we have a.p U u = α (resp. a.p U u = α), which can be written as follows.

a u + a(U ) + a({u} : W \U ) + a({v} : U ) + a(U : W \U ) + a u,v = α (1 u U ) a v + a(U ) + a({u} : U ) + a({v} : W \U ) + a(U : W \U ) + a u,v = α (1 v U )
For any J ∈ W , let us introduce p J the point of S defined by δ = I J . Such a point also satisfies (? u,v ) to equality. Therefore, we have the following equation:

0 + a J + a u,J + a v,J + a({J} : W \{J}) + 0 = α (2 J )
Finally, the point of S defined by δ = I V also satisfies (? u,v ) to equality, and we deduce the following equation:

a u + a v + a(W ) + 0 + 0 + 0 + 0 = α (3)
Reasoning on the different cases for (δ u , δ v ) as done to prove the validity of (? u,v ), we can prove that the set of points of S satisfying (Star u ) to equality is exactly

p U u , p U v U ⊆ W p J J ∈ W {(I V , 0)}.
v u v u v J u v
vertex where δ is 0 vertex where δ is 1 vertex u or v when δ is 1 set of vertices U ⊆ W edge of {u, v} : W where X is 0 other edge where X is 1 edge of {u, v} : W where X is 1 edge {u, v} when X u,v is 1 We now start to use equations (1 u U ), (1 v U ), and (2 J ) for different values of U and J, which will allow to prove that a /V = α 2 (I u +I v )

-The equation (1 u U ) for U = ∅ gives:

a u + 0 + a({u} : W ) + 0 + 0 + a u,v = α (1 u ∅ )
while the equation (1 u U ) for U = ∅ gives:

a v + 0 + 0 + a({v} : W ) + 0 + a u,v = α (1 v ∅ )
We deduce that: a u +a {u} : W = a v + a {v} : W

The equation (1 u U ) for U = W gives:

a u + a(W ) + 0 + a({v} : W ) + 0 + a u,v = α (1 u W )
while the equation (1 u U ) for U = X gives:

a v + a(W ) + a({u} : W ) + 0 + 0 + a u,v = α (1 v W )
We deduce that: a v +a {u} : W = a u + a {v} : W Thanks to these both equations, we obtain that a u = a v and that a {u} : W = a {v} : W . Let us denote by S this latter quantity.

-For any J ∈ W , the equation (1 u U ) for U = {J} can be written as follows:

a u + a J + a({u} : W \{J}) = S-a u,J + a v,J + a({J} : W \{J}) + a u,v = α (1 u {J} )
while for U = W \{J} this equality can be written as follows:

a u + a(W )-a J + a u,J + a({v} : W \{J}) = S-a v,J + a({J} : W \{J}) + a u,v = α (1 u W\{J} )
Identifying the commmon terms in these both equations, we obtain:

a J + S -a u,J + a v,J = a(W )-a J + a u,J + S -a v,J
which is equivalent to 2 a J -a u,J + a v,J = a(W ).

Following the same line with v instead of u, we obtain 2 a J -a v,J + a u,J = a(W ). Summing these both equation we deduce that a J = a(W ) 2 , and substracting one to the other, we deduce that a J,v = a u,J . Since this is true for any J ∈ W , we have a(W ) = J∈W a(W ) 2

= |W | a(W ) 2 . Since |W | = n-2 = 0, that implies that a(W ) = 0, and then we have:

∀J ∈ W, a J = 0
Moreover, the equation ( 3) is then equivalent to a u +a v = 0. Since we already proved that a u = a v , we deduce that:

a u = a v = α 2
We continue using equations (1 u U ), (1 v U ), and (2 J ) for different values of U and J, which will allow to prove that a /E = α 2 (-(n-3)I {u,v} + I {u}:W +I {v}:W )

-For any J ∈ W , thanks to the previous results the equation (2 J ) can be written as follows:

& & a J = 0 + a u,J + a v,J = 2 a u,J + a({J} : W \{J}) = α (2 J )
while the equation (1 u {J} ) can be written as follows:

a u + & & a J = 0 + S -a u,J + a v,J = 0 + a({J} : W \{J}) + a u,v = α (1 u {J} )
We deduce from these both equations that 2 a u,J = a u + a u,v + S. Since the equation (1 u W ) can also be simplified as follows,

a u + ¨¨ä (W ) = 0 + S + a u,v = α (1 u W )
we obtain 2 a u,J = α, and finally we deduce that:

∀J ∈ W, a v,J = a u,J = α 2
Remembering that S = a({u} : W ), we then have

S = |W | α 2 = (n-2) α 2
Since we already have a u = α 2 , using once again the equation (1 u W ) allow to deduce that:

a u,v = -(n-3) α 2
-For any (J, K) ∈ W < , using the previous results allows to simplify the equation (1 u U ) for U = {J, K} as follows:

a u = α 2 + $ $ $ $ a J +a K = 0 + a({u} : W \{J, K} = (n-4) α 2 + a v,J + a v,K = α + a({J, K} : W \{J, K} + a u,v = -(n-3) α 2 = α (1 u {J,K} )
We deduce that a({J, K} : W \{J, K} = 0.

Moreover, equation (1 u U ) for U = {J} can also be simplified as follows:

a u = α 2 + & & a J = 0 + a({u} : W \{J}) = (n-3) α 2 + a v,J = α 2 + a({J} : W \{J}) + a u,v = -(n-3) α 2 = α (1 u {J} )
We deduce that a({J} : W \{J} = 0, and similarly that a({K} : W \{K} = 0.

Thanks to the following decomposition, that implies that a J,K = 0.

a({J, K} : W \{J, K}) = a({J} : W \{J, K}) + a({K} : W \{J, K}) = a({J} : W \{J}) -a J,K + a({K} : W \{K}) -a J,K
Finally we have:

∀(J, K) ∈ W < , a J,K = 0 • Conclusion Finally, a = α 2 I u +I v -(n-3) I u,v + I {u}:W + I {v}:W .
Since F a defines a facets, a = 0, and thus α = 0. Since dividing all the components of a by α does not change F a , we can assume that α = 2 without loss of generality. We then obtain a = I u +I v -(n-3) I u,v + I {u}:W + I {v}:W thus F a = F and F defines a facet.

Moreover, for any J ∈ W , let us denote by p J the point of S defined by δ = I J . Such a point satisfies also (Star u ) to equality, since x has then exactly component equal to 1: X u,J . Therefore, p U ∈ F ⊆ F a , then we have a.p U = α, which can be written as follows.

a J + a u,J + a {J} : W \{J} = α (2 J )
Note that the set of points of S satisfying (Star u ) to equality is exactly p U U ⊆ W p J J ∈ W . Figure 4.10 gives an illustration of the non-zero components of these two kinds of points.

J vertex where δ is 0 vertex where δ is 1 vertex u when δ u is 1 vertex of W where δ is 1 edge of the star {u} : W where X is 0 other edge where X is 1 edge of the star {u} : W where X is 1 set of vertices U ⊆ W We now start to use equations (1 U ) and (2 J ) for different values of U and J, which will allow to first prove that a /V = α 2 ((n-3)I u +I W ). -The equation (1 U ) for U = W gives:

a u + a (W ) + 0 + 0 = α (1 W )
The equation (1 U ) for U = ∅ gives:

a u + 0 + a ({u} : W ) + 0 = α (1 ∅ )
We deduce from these both equations that a (W ) = a ({u} : W ) Let us denote by S this quantity. We then have a u +S = α.

-For any J ∈ W , the equation (1 U ) for U = W \{J} gives:

a u + S -a J + a u,J + a ({J} : W \{J}) = α (1 W \{J} )
By substracting (2 J ) to this expression we obtain a u + S -2 a J = 0, which is equivalent to α = 2 a J since α = a u +S. We finally deduce that:

∀J ∈ W, a J = α 2
-The quantity S is then equal to a (W ) =

α 2 |W | = (n-1) α 2 .
Using that a u = 2 α 2 -S we deduce that:

a u = -(n-3) α 2
We continue using equations (1 U ) and (2 J ) for different values of U and J, which will allow to prove that a /E = α 2 I {u}:W -For any J ∈ W , the equation (1 U ) for U = {J} can be written as follows:

a u + a J + (S -a u,J ) + a ({J} : W \{J}) = α (1 {J} )
By substracting (2 J ) to this expression we obtain a u + S -2 a u,J = 0, which is equivalent to α = 2 a u,J since α = a u +S. We finally deduce that:

∀J ∈ W, a u,J = α 2
-For any J ∈ W , the equation (2 J ) can then be simplified as follows:

α 2 + α 2 + a {J} : W \{J} = α (2 J )
We deduce that: ∀J ∈ W, a {J} : W \{J} = 0.

-For any (J, K) ∈ W < , the equation (1 U ) for U = W \{J, K} can be written as follows:

a u +(S -a J -a K )+ a u,J +a ({J} : W \{J}) -a J,K + a u,K +a ({K} : W \{K}) -a J,K = α (1 W \{J,K} )
Using the previous results, this equation can be simplified as follows:

a u + (S =α - α 2 - α 2 ) + α 2 + 0 -a J,K + α 2 + 0 -a J,K = α (1 W \{J,K} )
We deduce that ∀(J, K) ∈ W < , a J,K = 0

• Conclusion

Finally, a = α 2 -(n-3)I u + I W + I {u}:W . Since F a defines a facets, a = 0, and thus α = 0. Since dividing all the components of a by α does not change F a , we can assume that α = 2 without loss of generality. We then obtain a = -(n-3)I u + I W + I {u}:W . thus F a = F and F defines a facet.

Full inequalities

Let us assume for this section that n 5 For any (u, v) ∈ V < , let us introduce the following inequality:

(n-3) δ V \{u,v} + X {u, v} : V \{u,v} - 1 2 n 2 - 7 2 n+6 δ u +δ v +X u,v -X V < \{u,v} 2n-6 (Full u,v ) Property 4.6
For any (u, v) ∈ V < , the inequality (Full u,v ) is valid for P n δ,X . Moreover, this inequality defines a facet of P n δ,X if and only if n = 5. • Validity Let us prove that this inequality is valid for P n δ,X . Let (δ, X) ∈ S n δ,X . Note that, by definition of S n δ,X , X W < is the number of edges in W < which links two nodes having a different δ value. Since the considered graph is complete,

|W |-1 δ(W )+X {u} : W + X {v} : W -Q δ u +δ v +X u,v -X W < (|W |-1) |W |-2Q (Full u,v ) • • • • • • • u v • vertex of V • vertex u or v • vertex of W set of
X W < = δ(W ) (1-δ)(W ). -If (δ u , δ v ) = (1, 1) then X u,v = 0, thus we have δ u +δ v + X u,v = 2.
Moreover, for any w ∈ W , X u,w = X v,w = 1-δ w , thus we have X {u}

: W = X {v} : W = (1-δ)(W ). Since δ(W ) + (1-δ)(W ) = |W | inequality (Full u,v
) can be simplified as follows.

(Full u,v ) ⇔ |W |-1 |W |+(1-δ)(W ) - & & 2 Q -X W < (|W |-1) |W | - & & 2 Q ⇔ |W |-1 & & |W |+(1-δ)(W ) -X W < @ @ @ @ @ @ @ (|W |-1) |W | ⇔ X W < |W |-1 (1-δ)(W ) ⇔ δ(W ) (1-δ)(W ) |W |-1 (1-δ)(W )
This latter inequality is true no matter what is δ /W , since a(N -a) (N -1)(N -a) is true for any N ∈ N * and a ∈ [1.

.N ], and hence in particular for N = |W | and a = δ(W ). We deduce that (δ, X) satisfies (Full u,v ).

|W |+δ(W ) -X W < @ @ @ @ @ @ @

(|W |-1) |W | ⇔ X W < |W |-1 δ(W ) ⇔ δ(W ) (1-δ)(W ) |W |-1 δ(W )
By the same arguments as previously, (with a = (1 -δ)(W ) this time), this latter inequality is true no matter what is δ /W . We deduce that (δ, X) satisfies (Full u,v ).

-If (δ u , δ v ) = (0, 1), proving that (δ, X) satisfies (Full u,v ) follows the same line.

-If (δ u , δ v ) = (0, 0), then X u,v = 0, thus we have δ u +δ v + X u,v = 0. Moreover, for any w ∈ W , X u,w = X v,w = δ w , thus we have X {u} : W = X {v} : W = δ(W ).

Remembering that |W | = n-2 and (|W |-1) |W |-2Q = 2n-6, inequality (Full u,v ) can be transformed as follows.

(Full u,v ) ⇔ |W |-1 3 δ(W ) -X W < -0Q 2n-6 ⇔ 3 δ(W ) |W |-1 -δ(W ) (1-δ)(W ) 2|W | -2
This latter inequality is true no matter what is δ /W , excepted 0. Indeed, the function f = a → 3(N -1)a -a(N -a) is strictly increasing for any N ∈ N * . and hence in particular for N = |W | 3. We then have f (a) f (1) = 2N -2 for any a ∈ [1.

.N ], and hence in particular for a = δ(W ) which is not zero since δ = 0 and δ /W = (δ u , δ v ) = 0. We deduce (δ, X) satisfies (Full u,v ).

These four items show that any point in S n δ,X satisfies (Full u,v ). Since P n δ,X = conv( S n δ,X ) , we deduce that any point in P n δ,X satisfies also this inequality. In other words, (Full u,v ) is valid for P n δ,X .

• Integer points satisfying (Full u,v ) to equality One can check that the points (δ, X) ∈ P n δ,X satisfying (Full u,v ) to equality are exactly the 3 (n-1)+(n-2) = 4n-5 points given by the following δ.

-δ = I u + I v +I W -δ = I u + I v +I W \{w} for any w ∈ W -δ = I u + I w for any w ∈ W -δ = I u -δ = I v + I w for any w ∈ W -δ = I v -δ = I w for any w ∈ W
This is true for any n 5, but as soon as n > 5, 4n-5 < n n+1 2 . We deduce that inequality (Full u,v ) does not define a facet for n > 5. Indeed, the dimension of a face is the dimension of the space generated by its extreme points, which are also extreme points for the polyhedron. The extreme points of the face defined by (Full u,v ) are then the above listed points, and they are too few to generate a n n+1 2 -dimensional space.

From now on, let us fix n = 5.

• Introducing the including facet

Let us consider a ∈ R V ×R E and α ∈ R such that

F a = (δ, X) ∈ P n δ,X | a•(δ, X) = α is a facet of P n δ,X
containing the face F associated with (Star u ), that is the face defined as follows.

F = (δ, X) ∈ P n δ,X |W |-1 δ W +X {u, v} : W -Q δ u +δ v +X u,v -X W < = (|W |-1) |W | -2Q
-Let w ∈ W . By considering (δ, X) ∈ S n such that δ = I u +I v +I W \w . we obtain:

a u + a v + a(W )-a w + a u,w + a v,w + a {w} : W \{w} = α (4.1)
while by considering (δ, X) ∈ S n such that δ = I u +I v +I W , we obtain:

a u + a v + a(W ) = α (4.2)
Doing the difference, we deduce that:

a {w} : W \{w} = a w -a u,w -a v,w (4.3)
By considering (δ, X) ∈ S n such that δ = I w we obtain:

a w + a u,w + a v,w + a {w} : W \{w} = α (4.4)
Remplacing a {w} : W \{w} according to (4.3), we deduce that a w = α 2 .

∀w ∈ W, a w = α 2

By summing up on W , we then have a(W ) = |W | α 2 = 3α 2 and (4.2) can be written as follows.

a u +a v = - α 2 (4.5)
-Let w ∈ W . By considering the point (δ, X) ∈ S n such that δ = I u +I w , we obtain:

a u + a w + a u,v + a v,w + a {u} : W -a u,w + a {w} : W \{w} = α (4.6)
while by considering the point (δ, X) ∈ S n such that δ = I u +I v +I W , we obtain:

a u + a u,v + a {u} : W = α (4.7)
Doing the difference, we deduce that:

a {w} : W \{w} = -a w -a v,w +a u,w (4.8)
By gathering (4.3) and (4.8), we obtain a u,w = a w = α 2 .

∀w ∈ W, a u,w = α 2

By summing up on W , we then have a {u} : W = 3α 2 , and (4.7) can be written as follows.

a u +a u,v = - α 2 (4.9)
-Following the same line with v instead of u, we obtain:

∀w ∈ W, a v,w = α 2 and a v +a u,v = - α 2
That implies in particular that a u = a v . We deduce from (4.5) that:

a u = a v = - α 4
and from (4.9) that:

a u,v = - α 4
Morever, that allows also to simplify (4.3) for any w ∈ W :

a {w} : W \{w} = - α 2
This equation ensures that the weight of two arbitrary edges among the three edges in W < is always the same. That implies that the weight of the third edge is always the same. Therefore, the weight of each edge is the half of the weight for two edges.

∀(w, w ) ∈ W < , a w,w = - α 4 • Conclusion Finally, a = α 2 I W -1 2 I u +I v + I {u,v}:W -1 2 I W < +I u,v .
Since F a defines a facet, a = 0, and thus α = 0. Since dividing all the components of a by α does not change F a , we assume that α = 4 without loss of generality. We then obtain a = 2 I W -I u +I v + 2 I {u,v}:W -I W < +I u,v , thus F a = F and F defines a facet.

The large number of facets appearing in P n δ,X and also the variety of the facet defining inequalities of P n δ,X dissuade to use them to reinforce F 2 l in practice. Indeed, to be efficient, such inequality families should be managed by a separation algorithm, and probably a dedicated algorithm for each inequalities family, since they do not seems to share a common structure. Therefore, we investigate in the following part some inequalities able to cut off integer points having a high value according to the objective function, without necessarily being facet defining. A priori, such inequalities would maybe have a lower impact on the linear relaxation value, since they are not tight, but would be more efficient in practice.

PART C Dominance inequalities

In this part, we propose linear inequalities to reinforce MIP formulations. These inequalities depend on the feasible solution set, but also on the objective function, since they cut off integer points encoding locally non-optimal solutions. Therefore, they differ from the classical strengthening inequalities, which cut off fractional points, and from symmetry breaking inequalities, which cut off integer points which may be optimal. In contrast with Chapter 4, we do not focus on facet-defining inequalities in this part.

We call dominance inequalities such inequalities, since they translate the dominance of locally optimal solutions for any given neighborhood. While local search methods eliminate locally nonoptimal solutions when exploring the solution space, the dominance inequalities operate globally and a priori. Actually, each inequality is associated with a well chosen operation on the solutions and cuts off, at one stroke, all the solutions that can be improved by applying this operation.

Part C is divided into three chapters. In Chapter 5, we propose two families of dominance inequalities for Formulation F 2 . They are based on the so-called insert and swap operations, which can be viewed as operations on the partitions or as operations on the schedules. In Chapter 6, we explain how these inequalities (resp. these operations) can be used for solving exactly (resp. heuristically) UCDDP. Experimental results are provided. In Chapter 7, we present ongoing works on dominance inequalities for other combinatorial optimization problems.

Chapter 5

Dominance inequalities for UCDDP

In Section 5.1, we present a generic dominance property to be instantiated by a neighborhood function. We focus a neighborhood function based on operations, and present two kinds of operations on the ordered bi-partitions: the insert and swap operations. In Section 5.2, we explain how to obtain a linear inequality translating the dominance property associated with the insert operations. In Section 5.3, we attempt to generalize this approach, and apply the proposed generic framework to swap operations in Section 5.4. Finally, in Section 5.5, we provide some results about the insert and swap inequalities.

Neighborhood based dominance properties

• Neighborhood based dominance properties

Let us recall some definitions used in local search context [START_REF] Aarts | Local Search in Combinatorial Optimization[END_REF]. A neighborhood function N is a function which associates to any solution S a subset of solutions N (S), called the neighborhood of S. A solution of N (S) is a neighbor of S. Moreover, a solution S is locally optimal with respect to minimizing function f obj if f obj (S) f obj (S ), for any neighbor S ∈ N (S), otherwise, S is dominated (by S ). If needed, we will say that S is N -locally optimal or N -dominated.

Given a neighborhood function, the set of locally optimal solutions always contains all optimal solutions, and is therefore a strictly dominant set. This statement can be seen as a generic dominance property. This kind of dominance property is commonly used in local search. Indeed, a step of a local search procedure consists in enumerating some of the neighbors of a given solution S, computing their values and then, if a better solution is found, moving to the best solution found at the current iteration, which is equivalent to discard S as it is dominated.

Definition 5.1

Let I be a family of linear inequalities of R dim . Let S ⊆ S be a dominant set.

We say that I translates the dominance of S if ∀S ∈ S \S , ∃I ∈ I, s.t. S does not satisfy I ∀S ∈ S , ∀I ∈ I, S satisfies I Such kind of inequalities will be called dominance inequalities.

If S is the set of the N -local optima, we say that I translates the N -dominance property.

• Operation based neighborhood functions We call operation any (possibly partial) function, which maps a solution to another solution. In this work, we will consider neighborhood functions based on a set of operations. The neighborhood of a solution S is then the set of the solutions obtained by applying to S any operation defined on S.

This kind of neighborhood functions allows to use the generic dominance property in a different way. Instead of considering sequentially the neighborhood of each solution, we will consider sequentially each operation. For each one, each solution is compared to its neighbor obtained using this operation. This differentiates what we call the solution-centered and the operation-centered point of view (see Section 5.3.1).

• Insert and swap operations In the case of problems where the solutions are partitions, two operations are commonly considered to define a neighborhood: the insertion, which consists in moving an element from a subset to the other, and the swap which consists in swapping two elements of two different subsets. Figure 5.1 illustrates these operations for an ordered bi-partition (E, T ).

E T

• u

insertion from E to T E T • v insertion from T to E E T • u • v swap Figure 5
.1: Illustration of swap and insert operations on the ordered bi-partitions

In the context of common due date scheduling, the insert operation consists in removing a task j ∈ J from the early (resp. tardy) side and inserting j on the tardy (resp. early) side, as early (resp. as tardy) as possible according to its β-ratio (resp. α-ratio). The tasks scheduled before (resp. after) j are right-shifted (resp. left-shifted) by p j time units. The swap operation consists in sequentially inserting an early task on the tardy side and inserting another tardy task on the early side, or viceversa, as described above. Let us denote by insert u (S) (resp. swap u,v (S)) the schedule obtained from a schedule S by the insert (resp. swap) operation on task u (resp. on tasks u, v).

Since the insert and swap operations are fundamentally defined on partitions (i.e. over equivalence classes of V-shaped d-blocks), these operations preserve the equivalence. Therefore, we have ∀u ∈ J, S ∼ S ⇒ insert u (S) ∼ insert u (S ) and ∀(u, v) ∈ J 2 , S ∼ S ⇒ swap u,v (S) ∼ swap u,v (S ), assuming that u and v are not on the same side in the schedules S and S .

Let us define local optima for the neighborhoods related to these operations in order to enunciate the associated dominance property. Recall that f is the objective function introduced on page 41.

Definition 5.2

Let (E, T ) ∈ P 2 (J).

(i) (E, T ) is an insert local optimum if      ∀v ∈ T, f (E, T ) f E ∪{v}, T \{v} , ∀u ∈ E, f (E, T ) f E \{u}, T ∪{u} . otherwise (E, T ) is insert-dominated. (ii) (E, T ) is a swap local optimum if ∀u ∈ E, ∀v ∈ T, f (E, T ) f E \{u}∪{v}, T \{v}∪{u} ,
otherwise (E, T ) is swap-dominated.

Property 5.3

The set of insert locally optimal partitions, as well as the set of swap locally optimal partitions, are strictly dominant when minimizing f over P 2 (J).

In the next section, we provide linear inequalities translating the insert local optimum dominance property. The inequalities related to swap operations will be provided later (Cf. Section 5.4).

compared to its neighbor obtained by an insert operation on task u. It is thus needed to consider constraints ( Îu ) and ( Î u ) for every u ∈ J to translate the dominance of the insert local optima.

Moreover, the constraint ∆ u (E, T ) 0 (resp. ∆ u (E, T ) 0) might not be satisfied by an optimal solution where u is tardy (resp. early). Therefore, constraints ( Îu ) and ( Î u ) are not simply inequalities, but conditional statements whose consequent2 is an inequality. The end of this section is dedicated to using δ variables in order to provide linear inequalities equivalent to constraints ( Îu ) and ( Î u ).

• Linear inequalities translating constraints ( Îu ) and ( Î u ) for any u ∈ J Let u ∈ J. If δ ∈ {0, 1} J encodes a partition (E, T ), the penalty variation ∆ u (E, T ) can be expressed linearly from δ as follows.

∆ u (δ) = -α u i∈A(u) p i δ i + β u i∈B(u) p i (1-δ i )+p u + p u i∈ B(u) β i (1-δ i ) - i∈ Ā(u) α i δ i Moreover, (E, T ) satisfies ( Îu ) ⇔ u ∈ E and ∆ u (E, T ) 0 or u ∈ T ⇔ δ u = 1 and ∆ u (E, T ) 0 or δ u = 0
To unify these two cases (δ u = 1 and δ u = 0) into one inequality, we introduce the following constant which is an upper bound of -∆ u (δ) for any δ ∈ {0, 1} J .

M u = α u p A(u) -β u p u + p u α Ā(u)
Since we have ∆ u (δ) -M u for any δ ∈ {0, 1} J , the following inequality is satisfied by every

δ ∈ {0, 1} J such that (1-δ u ) = 1. ∆ u (δ) -M u (1-δ u ) (I u )
Conversely, for every δ ∈ {0, 1} J such that (1 -δ u ) = 0, inequality (I u ) is satisfied if and only if ∆ u (δ) 0. Considering these two cases, δ ∈ {0, 1} J satisfies (I u ) if and only if the partition encoded by δ satisfies ( Îu ). Property 5.5.(i) follows.

Similarly, to translate constraint ( Î u ), we introduce the following constant which is an upper bound of -∆ u (δ) for any δ ∈ {0, 1} J .

M u = β u p B(u) + β u p u + p u β B(u) Since we have ∀δ ∈ {0, 1} J , -∆ u (δ) -M u , the following inequality is satisfied by every δ ∈ {0, 1} J such that δ u = 1. -∆ u (δ) -M u δ u (I u )
Conversely, if δ u = 0, δ satisfies (I u ) if and only if -∆ u (δ) 0. Considering these two cases, δ ∈ {0, 1} J satisfies (I u ) if and only if the partition encoded by δ satisfies ( Îu ). Property 5.5.(ii) follows.

Property 5.5

Let δ ∈ {0, 1} J and let (E, T ) be the partition encoded by δ.

For any u ∈ J, (i) δ satisfies inequality (I u ) if and only if (E, T ) satisfies constraint ( Îu ),

(ii) δ satisfies inequality (I u ) if and only if (E, T ) satisfies constraint ( Î u ).

In the sequel, insert inequalities will refer to inequalities (I u ) and (I u ) for all the tasks u ∈ J.

General framework to produce dominance inequalities from a set of operations

The aim of this section is to generalize this approach by extracting from the previous section some general ideas. Therefore, we first give a high-level explanation of the dominance inequalities based on operations, and explain how it differs from the standard local search framework. Subsequently, we give a property that enables to create dominance inequalities associated with a set of operations. This property is then applied to the swap operations. At the end of the section, we additionally introduce some definitions to qualify dominance inequalities in general. In Figure 5.5, we focus on one solution J, which is compared to all the solutions obtained by applying to J an operation defined on J. Since J is compared to all its neighbors, i.e. {C, F, G, I, M, N }, one can determine if J is locally optimal.

The solution-centered and the operation-centered points of view

In Figure 5.6, we focus on one operation. All the solutions where this operation can be applied are compared to the obtained neighbors. Solutions A, B, C, G and N are not compared to other solutions, since the considered operation cannot be applied on these solutions. Conversely, since solutions D, E, F, H, I, J, K, L and M are compared to one of their neighbors, they might be discarded. For example if E is better than H, H can be discarded, no matter whether H is better than K. However, we cannot say that the non-discarded solutions are locally optimal, since only one neighbor is taken into account. To this end, all the operations must be considered.

• A • B • C • D • E • G • H • J • K • L • M • N • I • F Figure 5
.5: Illustration of the solution-centered point of view

• A • B • C • D • E • F • G • H • I • J • K • L • M • N Figure 5.

6: Illustration of the operation-centered point of view

In the sequel, we focus on the operation-centered point of view. Indeed, we propose a way to obtain, for a given operation and under some assumptions, a linear inequality that cut off all the solutions that can be discarded by comparison with the neighbor obtained by this operation.

Qualifying for dominance inequalities in a general framework

In order to be able to qualify dominance inequalities, we introduce some definitions, adapted from the classical ones. Let us consider the linear formulation of a generic minimization problem, defined as follows. (Of course, the following definitions can be transposed to a maximization problem.) F : min

Y ∈ P ∩ Z dim f obj (Y )
where:

-S a finite set of solutions in R dim , with dim ∈ N * f obj a linear objective function defined on R dim , i.e. f obj ∈ F(R dim , R) -S * the set of the optimal solutions, i.e. S * = arg min S∈S f obj (S)

-P the convex hull of the solution set, i.e. P = conv(S )

-P a polyhedron such that P ∩Z dim = S

In this framework, let us introduce some definitions for an inequality I of R dim .

-I is valid if any solution S ∈ S satisfies I.

-I is f obj -valid if any optimal solution S * ∈ S * satisfies I.

-I is a cut for F if there exists a point in P that does not satisfy I.

-I is a f obj -cut for F if there exists a minimizer in arg min S∈ P f obj (S) that does not satisfy I.

Note that I is valid ⇒ I is f obj -valid while conversely I is a f obj -cut ⇒ I is a cut. In general, reinforcement inequalities are valid cuts, or valid f obj -cuts, which is better. Dominance inequalities are f obj -valid cuts, indeed, such inequalities cut off some elements in S , namely the dominated solutions.

To improve the linear relaxation value, i.e. min S∈ P f obj (S) all the minimizers of f obj over P must be removed. If there is only one minimizer, a single f obj -cut can improve the linear relaxation value. In general, there can be several minimizers, which can be cut off by different f obj -cuts. Therefore, we introduce the following definition for a family of linear inequalities of R dim denoted by I.

-I is f obj -enhancing (for P ) if ∀S * ∈ arg min S∈ P f obj (S), ∃I ∈ I, S * does not satisfy I.

It can be difficult to imagine that a dominance inequality could be a f obj -cut. How an inequality which cuts integer points with a high value according to the objective function can also cut an optimal fractional point, that is by definition a point with a low value according to the objective function? We propose below an illustration of such an inequality.

An illustration of a generic f obj -cut dominance inequality

We provide an illustration of a generic situation with 2 binary variables. Let us use the notations introduced on the previous page to describe the generic formulation F . In this case, dim = 2 and P ⊆ [0, 1] 2 . Figure 5.7 represents the polytope P whose integer points are exactly points of S . The optimization direction is represented by a red arrow, and dotted red lines represent points having the same value according to f obj (like contour lines on a map represent points having the same altitude). The optimal (integer) solution is represented by a blue star, while the fractional optimum is represented by a violet star. • Finally writing a dominance inequality Finally, we obtain the following inequality, which will be called swap inequality in the sequel.

∆ u,v (δ) -M u,v δ v + (1-δ u ) (S u,v )
The following property is a direct corollary of Property 5.6.

Property 5.7

Let δ ∈ {0, 1} J and let (E, T ) be the partition encoded by δ. For any (u, v) ∈ J 2 such that u = v, δ satisfies (S u,v ) if and only if (u, v) ∈ E ×T or f (E \{u}∪{v}, T \{v}∪{u}) f (E, T ).

Additional properties on insert and swap inequalities

This section aims to present additional results on the two families of dominance inequalities provided in this chapter. More precisely, we try to answer the following questions.

-Why considering swap inequalities in addition to insert inequalities, knowing that a swap operation is equivalent to two insert operations? Are swap inequalities not redundant with insert inequalities?

-Why not considering dominance inequalities corresponding to double insert operations? A double insert operation means an operation that consists in simultaneously inserting two early tasks on the tardy side, or conversely two tardy tasks on the early side.

-Are insert and swap inequalities able to improve the linear relaxation value of F 2 l ?

Can two insert inequalities replace a swap inequality?

To answer this question on insert and swap inequalities, let us focus on their underlying operations.

Let us set (u, v) ∈ J 2 such that u = v. Let (E, T ) ∈ P 2 (J) such that u ∈ E and v ∈ T . Figure 5.13 illustrates that applying the swap operation for tasks u and v on (E, T ) results in the same partition than applying first the insert operation for task u and then the insert operation for task v (or vice versa). In other words, a swap operation can be decomposed into two insert operations. Since each dominance inequality cuts an integer point (δ, X) ∈ {0, 1} V ×{0, 1} E if and only if the corresponding operation can improve the encoded partition (Cf. Property 6.1), we wonder if the swap operation allows an improvement while each insert operation alone does not. 4The answer is yes, as shown by the counter-example below (Cf. page 165). Note that, for the sake of simplicity, the counter-example is given on V-shaped d-blocks and not on partitions, which is equivalent.

To conclude, swap inequalities have their own utility: they discard non-optimal solution that insert inequalities do not discard.

Could a double insert inequality be useful?

As shown by Counter-example 5, simultaneously swapping two tasks can reduce the penalty even if inserting only one does not. Therefore, one can wonder if simultaneously inserting two early tasks can reduce the penalty when inserting only one does not. If so, we would be interested in inequalities translating the dominance associated with this double insert operation. But the answer to this question is no, as stated in Property 5.8. Since the proof argument is enclosed in the case where the two tasks are consecutive, we only prove Property 5.9. Figure 5.14 illustrates that applying the double insert operation for two early tasks u and u results in the same partition than applying first the insert operation for task u and then the insert operation for task u (or vice versa). Let (E, T ) ∈ P 2 (J). Let (u, u ) ∈ E ×E such that u = u . We can assume w.l.o.g, that α u p u αu pu .

We

have f E \{u, u }, T ∪{u, u } < f (E, T ) ⇒        f E \{u}, T ∪{u} < f (E, T ) or f E \{u }, T ∪{u } < f (E, T )
Property 5.9

Let (E, T ) ∈ P 2 (J). Let (u, u ) ∈ E ×E such that u = u . We can assume w.l.o.g, that

α u p u αu pu . If ∀v ∈ J, α u p u < αv pv < αu pu ⇒ v ∈ T (♣), then f E \{u, u }, T ∪{u, u } < f (E, T ) ⇒        f E \{u}, T ∪{u} < f (E, T ) or f E \{u }, T ∪{u } < f (E, T )
Proof : Let us assume that β u p u βu pu , the opposite case is treated similarly. Thanks to the assumption (♣), there exists S 0 , a u-canonical V-shaped d-block whose partition is (E, T ) and in which u and u are consecutive. We will use S 0 to express the penalty variation induced by different insert operations.

To this end, let us denote by S 1 (resp. S 2 ) the schedule obtained by inserting u (resp. u) on the tardy side, i.e. S 1 = insert u (S) (resp. S 2 = insert u (S)). Finally, let us consider S 3 the schedule obtained by inserting both u and u on the tardy side. The shape of these schedules is represented on the top of the next page.

Since each of these four schedules is a V-shaped d-block, their total penalty is given by function f from their early-tardy partition. Therefore, we have the following equalities.

(♠)              penalty(S 0 ) = f (E, T ) penalty(S 1 ) = f E \{u }, T ∪{u } penalty(S 2 ) = f E \{u}, T ∪{u} penalty(S 3 ) = f E \{u, u }, T ∪{u, u } Chapter 6

Practical application of dominance inequalities for UCDDP

In this chapter, we present how insert and swap inequalities can be used in combination with formulation F 2 to solve UCDDP. In this chapter, the expression "dominance inequalities" will only refer to insert and swap inequalities.

All experiments are carried out using a single thread with Intel(R) Xeon(R) X5677, @ 3.47GHz, and 144Gb RAM. MIP and LP are solved with cplex 12.6.3.0. The numerical experiments are performed on Biskup and Feldmann's benchmark [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF], described on page 89. In this chapter, we use instances with n ∈ {10, 20, 50, 100, 200}. Moreover, to accurately compare formulations, we construct instances with n ∈ {60, 80} (resp. n ∈ {120, 150, 180}) by only considering the first n tasks of the 100-task (resp. 200-task) instances provided in the benchmark. Unless otherwise specified, the gap, time and number of nodes presented in the following tables are average values over the ten instances for a given n and the time limit is set to 3600 seconds.

• Formulations and formulation settings

To measure the improvement induced by the insert or swap inequalities, we compare the four following formulations. F 2 : the formulation defined in Section 0.5, containing only inequalities (X.1 -X.4) F i : the formulation obtained from F 2 by adding inequalities (I u ) and (I u ) for all u ∈ J F s : the formulation obtained from F 2 by adding inequalities (S u,v ) for all (u, v) ∈ J 2 s.t. u = v F i+s : the formulation obtained from F 2 with additional inequalities of both F i and F s For a given formulation F , we distinguish two settings: a setting with all available features, that is using cplex default, denoted by F d , and a setting with less cplex features, denoted by F l . Two types of features are disabled in this setting: the cut generation, which produces reinforcement inequalities and add them to the formulation; and the primal heuristic procedures. The cut generation is disabled in order to measure the impact of the dominance inequalities on the linear relaxation value of the formulation F 2 , rather than their impact on the linear relaxation value of a strengthened formulation. The primal heuristic procedures have been disabled to focus on the lower bound since we have other methods to quickly obtain good feasible solutions (Cf. Section 6.3). This results in eight formulation settings:

F 2 l , F i l , F s l , F i+s l , F 2 d , F i d , F s d and F i+s d .
For each one, inequalities (X.1 -X.4), along with inequalities (I u ), (I u ), and (S u,v ) when included, are added initially.

Let us recall that only the δ variables need to be integer in F 2 . Indeed, from Lemma 0.5, if δ ∈ {0, 1} J , then inequalities (X.1 -X.4) ensure that X ∈ {0, 1} J < . It is also the case for F i , F s and F i+s . Therefore, unless otherwise specified, δ variables are set as binary variables, while X variables are set as continuous variables. Consequently, the branching decisions only involve δ.

NB: Due to their large number of columns, Tables 6.1, 6.1, 6.3 and 6.4 have been placed at the end of the chapter, i.e. on pages 180 and 181.

Solving MIP formulations to optimality

Table 6.1 provides the results obtained when solving MIP to optimality, using the eight formulation settings. Each line corresponds to the ten instances of a given size n. More precisely, Table 6.1 entries are the following.

#opt: the number of instances solved to optimality within the time limit time: the average running time in seconds over the instances solved to optimality #nd: the average number of nodes, except the root node, in the search tree, over the instances solved to optimality For a given formulation setting, we choose to stop the run at a line of the table if less than five over ten instances are solved to optimality. For the subsequent lines, we report a "-" in the table.

Using formulation setting F 2 l , the ten n-task instances are solved to optimality within the time limit for n up to 50. In contrast, using F i l , it is the case for n up to 60, using F s l for n up to 120 and using F i+s l for n up to 150. Within approximately 5 minutes, F 2 l solves 50-task instances, F i l 60-task instances, F s l 100-task instances and F i+s l 120-task instances. This computation time decrease is due to a drastic reduction in the number of nodes. For example, for n = 50 the number of nodes goes from more than 53 000 for F 2 l to only 31 for F i+s l . With this latter formulation setting, the number of nodes is low, it is at most 200, even for large size instances. However, the time limit is reached for some 180-and 200-task instances, since the size of the linear program solved at each node is large.

In the light of the first four columns of Table 6.1, we can conclude that, with less cplex features, adding insert and swap inequalities significantly reduces the number of nodes and hence the computation time. More precisely, adding only swap inequalities is better than adding only insert inequalities, but adding both of them provides the best performance.

The four last columns show the same improvement in terms of computation time and number of nodes when cplex features are used.

Let us now focus on the 4th and 5th columns to compare the impact of the dominance inequalities and the impact of all the cplex features. For small instances, i.e. n ∈ {10, 20}, Cplex features allow to solve the problem at the root node (Cf. F 2 d columns). However, from n = 50, the number of nodes grows fast, so that no 60-task instance can be solved within 3600 seconds. Conversely, we already noticed that adding swap and insert inequalities limits the number of nodes (Cf. F i+s l columns), so that the ten 150-task instances are solved within 3600 seconds. Finally, adding the swap and insert inequalities provides better results than adding cplex features.

Lower bound obtained at the root node

To further investigate the impact of dominance inequalities, we focus in this section on the root node of the search tree for different formulation settings. More precisely, we compare the different lower bounds obtained at the root node.

In the cplex framework, setting the node limit to 0 allows to only solve the root node of a MIP: the Branch-and-Bound algorithm is stopped before the first branching. If cplex features are activated, the preprocessing is applied and the cuts are added before the algorithm stops. For a given formulation setting F , the corresponding run with the node limit set to 0 is denoted by F -rn. This results in eight runs:

F 2 l -rn, F i l -rn, F s l -rn, F i+s l -rn, F 2 d -rn, F i d -rn, F s d -rn, F i+s d -rn.
Note that, in the cplex framework, solving F -rn is different from solving the linear relaxation of F , denoted by F -lp. Indeed, F -lp is obtained by setting δ variables as continuous variables, which desactivates most of cplex features. In particular, the reinforcement cuts cannot be added since they are not valid for the relaxed formulation. Similarly, the inference procedure on the binary variables cannot be applied. We run the four linear relaxations F 2 -lp, F i -lp, F s -lp, and F i+s -lp. We observed that the obtained values are the same for these four relaxations. In other words, adding insert and swap inequalities does not improve the linear relaxation value on this benchmark, which is consistent with Property 5.10, and which lets us think that swap inequalities are not h α,β -cut either.

Since the values are the same, we only present in Table 6.2 the results for F 2 -lp.

To measure the quality of the nine obtained lower bounds, we compute, when it is possible, the optimality gap, i.e. (OP T -LB)/OP T where OP T denotes the optimal value and LB the lower bound. When the optimal value is not known, we compute a gap using UB the best upper bound that we get, i.e. (UB -LB)/UB. Such gaps are indicated with a "*" in Table 6.2. For each of the nine runs, the entries of Table 6.2 are the following. L-gap: the average optimality gap of the lower bound obtained at the root node time: the average running time in seconds over the ten instances

The obtained lower bound is exactly the same using either F 2 -lp, F 2 l -rn, or F s l -rn. We deduce that with less cplex features and without insert inequalities, setting the δ variables as binary or continuous variables, provides the same lower bound. Moreover, this lower bound is quite weak, since the average optimality gap is larger than 40% even for the 10-task instances. The computation times using F 2 -lp and F 2 l -rn are similar: 2 seconds for the 100-task instances and about 12 minutes for the 500-task instances. The computation time required for F s l -rn is larger: almost 20 seconds for the 100-task instances and 47 minutes for the 500-task instances.

The lower bound obtained when only considering the insert inequalities is slightly better when the δ variables are set as binary variables for n ∈ {10, 20}. Indeed, the average optimality gap is 33% instead of 41% when n = 10, and 66% instead of 68% when n = 20 (Cf. F 2 -lp and F i l -rn columns). The computation time using F i l -rn is comparable to the computation time using F 2 -lp and F 2 l -rn.

The lower bound obtained when considering both insert and swap inequalities, is significantly better when the δ variables are set as binary variables. Indeed, the average optimality gap is smaller than 39% for any value of n, and it is equal to 0 for n = 10 (Cf. F i+s l -rn column). The computation time for F i+s l -rn is between those for F i l -rn and F s l -rn: 14 seconds for the 100-task instances and about 30 minutes for the 500-task instances.

The lower bound provided using F 2 d -rn, is better than the one obtained using F 2 l -rn, that is with less cplex features. Indeed, the average optimality gap is 7% instead of 41% when n = 10, and 46% instead of 94% when n = 120. However, the lower bound is weaker than the one obtained for F i+s l , whose optimality gap is 0 for n = 10 and 38% for n = 120. Moreover, the computation times using F 2 d -rn increase fast with the increase of n so that the root node cannot be solved within one hour for sizes larger than 120.

Combining cplex features with insert inequalities gives almost the same results (Cf. F i d -rn column). Conversely, combining cplex features with swap inequalities gives better results (Cf. F s d -rn column). In particular, the average computation time is reduced so that instances up to size 200 can be solved. Moreover, the optimality gap is less than 22% for all solved instances. Finally, using F i+s d -rn gives even better results, the average optimality gap does not exceed 15%, even for 200-task instances, which are solved in 418 seconds, instead of 1200 using F s d -rn.

In a nutshell, combining insert and swap inequalities is the best to obtain a good lower bound at the root node. Not using all the cplex features allows its fast computation (Cf. F i+s l -rn column). Conversely, using them allows to obtain a better lower bound at the expense of the computation time (Cf. F i+s d -rn column). insert (resp. a swap) inequality is not satisfied, applying the appropriate insert (resp. swap) operation provides a strictly better solution. That ensures that each solution is considered at most one time in Insert_swap_improvement and thus that this procedure finishes. From Corrolary 6.2, the returned solution is an insert and swap local optimum, since it satisfies all the dominance inequalities.

Insert_swap_improvement input: δ ∈ {0, 1} J output: δ encoding an insert and swap local optimum

δ ← δ; is_locally_opt ← false while (not is_locally_opt) is_locally_opt ← true for u in J if δ does not satisfy (I u ) δ u ← 0; is_locally_opt ← false if δ does not satisfy (I u ) δ u ← 1; is_locally_opt ← false for v in J \{u} if δ does not satisfy (S u,v ) δ u ← 0; δ v ← 1; is_locally_opt ← false return δ
Algorithm 1: The improvement procedure by insert and swap operations Note that this algorithm can be seen as a local search procedure for the neighborhood associated to the insert and swap operations. Moreover, this procedure can be applied to any integer solution.

Particularly, for the sake of comparison we apply it to the solutions obtained by heuristic "Heur II" proposed by Biskup and Feldmann in [START_REF] Biskup | Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates[END_REF].

We finally compare the upper bounds given by the six following heuristic solutions. In the sequel, we will use the same notation for both a heuristic solution and its value, which provides an upper bound on the optimal value. To measure the quality of these upper bounds, Table 6.3 presents their optimality gap denoted by U-gap, i.e. (UB -OP T )/OP T where OP T denotes the optimal value and UB the upper bound. The Biskup and Feldmann's heuristic provides a solution in less than 1 second. Applying rounding and Insert_swap_improvement to a fractional solution provides a solution in less than 1 second for instances up to size 200. Therefore, the time needed to obtain R1 and R1+ (resp. R2 and R2+) is essentially the computation time required to solve F 2 -lp (resp. F i+s d -rn) already given in Table 6.2.

As shown in Table 6.3, BF is a good upper bound. Indeed, its optimality gap is smaller than 0.35% for instance sizes larger than 50. However, this bound is improved by Insert_swap_improvement : the optimality gap of BF + is smaller than 0.02% for all the instances. With an optimality gap larger than 170%, R1 is a very weak upper bound, while R1+, with an optimality gap smaller than 0.01%, is very good, and even slightly better than BF +. With an optimality gap smaller than 17%, R2 is a better upper bound than R1, and R2+ is exactly the same as R1+.

Finally, BF +, R1+ and R2+ are very good upper bounds. However, it is worth noticing that even if the computation time to obtain BF + is about 1 second, the bound is obtained without any guarantee, since no lower bound is provided. Conversely, the computation time to obtain R2+ is larger: 25 seconds for n = 100 and about 7 minutes for n = 200, but a lower bound is provided. R2+ is then guaranteed to be at 14% of the optimal value for n = 100, and at 15% for n = 200 (Cf. L-gap of F i+s d -rn in Table 6.2). R1+ is a compromise between BF + and R2+. Indeed, for instances up to size 200, R1+ is provided in less than 20 seconds together with a lower bound, but the guarantee obtained from this lower bound is quite weak (97% for n = 200, Cf. F 2 l -rn in Table 6.2).

Insert and swap operations use cases

As shown in the previous sections, insert and swap operations can be used in different ways. Table 6.4 presents the best way to use them depending on the expected solution quality.

-To obtain an upper bound: apply rounding and Insert_swap_improvement to the fractional solution given by F 2 -lp. (Cf. F 2 -lp → R1+ column in Table 6.4).

-To obtain an upper bound with a better guarantee than the one obtained with F 2 -lp → R1+: apply rounding and Insert_swap_improvement to the fractional solution given by F i+s d -rn. (Cf. F i+s d -rn → R2+ column in Table 6.4).

-To obtain a 5%-approached solution: use F i+s d , setting the gap limit to 5%. (Cf. F i+s d -5% column in Table 6.4).

-To obtain an exact solution: use F i+s d . (Cf. F i+s d column in Table 6.4). Table 6.4 sums up the performance of the four above mentioned use cases. To measure the performances on the 200-task instances, no time limit is fixed. The entries of Table 6.4 are the following. L-gap: the average optimality gap of the provided lower bound U-gap: the average optimality gap of the provided upper bound time: the average running time in seconds #nd: the average number of nodes except the root node New experiments are conducted for the results reported in F i+s d -5% and F i+s d columns when n = 200. These results are gathered with previously obtained results in Table 6.4 to offer a complete overview.

The limitation of the gap to 5% usually allows to save computation time by reducing the number of explored nodes. However, Table 6.4 shows that the computation time for F i+s d -5% is not much better than the computation time for F i+s d , only few seconds are saved. This is due to the small reduction of the number of nodes: the gap limit induces only a 2% reduction for n = 100, and a 4% reduction for n = 200.

The low impact of the 5% gap limit can be explained by two factors: the small number of nodes and the large size of the LPs solved at each node. Since insert and swap inequalities already reduces drastically the number of nodes, no space is left for further reduction. Moreover, for the six 200-task instances where F i+s d reaches the time limit, only less than 100 nodes are explored. The limit for solving F i+s l is thus the size or the difficulty of the LPs solved at each node, rather than the number of nodes.

Trying to address this issue, we have implemented a separation algorithm for the insert and swap inequalities using a callback function. The time needed to solve 50-task instances using this separation algorithm and cplex features was 1513 seconds with 925 nodes in average. We observed that 98% of the computation time was used by the UserCut Callback to add 71 inequalities in average. This is not surprising since the separation algorithm consists in simply evaluating the terms of inequality (I u ) and (I u ) for the n possible tasks u, and the terms of inequality (S u,v ) for the n 2 possible couples (u, v), which results in an O(n 3 ) procedure.

Providing a faster separation algorithm could reduce the computation time, but the branching scheme, and then the number of nodes, would be the same. Since this number of nodes is quite large compared to the performance of F i+s d (which solves all 50-task instances at the root node), we conclude that adding dominance inequalities through a separation procedure reduces their impact. Indeed, when initially added, the dominance inequalities allow to cplex presolve phase to fix some variables to 0 or 1. The number of LPs variables is then reduced and the value obtained at each node is improved. When the δ variables are set as continuous variables, this presolve phase is not executed. It is then consistent with the observation that adding dominance inequalities in this latter case has no impact (Cf. Section 6.2). Table 6.1: Effect of adding insert and swap inequalities on exact solving

F 2 -lp F 2 l -rn F i l -rn F s l -rn F i+s l -rn F 2 d -rn F i d -rn F s d -rn F i+s d -rn n L-

Dominance inequalities for other combinatorial optimization problems

In this Chapter, we propose some dominance inequalities for two classical combinatorial optimization problems: max-cut and the maximum weigthed independent set. For both problems, we derive dominance inequalities from operations acting on solutions by using the general framework introduced in Chapter 5, and in particular Property 5.6.

For a given undirected graph G = (V, E), let us denote by N (u) the neighborhood of a node u ∈ V , i.e. N (u) = {v ∈ V \{u} | {u, v} ∈ E}.

Dominance inequalities for max-cut

Let us present the compact MIP we use in this section to formulate max-cut, which is defined in page 202. Let us consider an instance of the problem, that is G = (V, E) an undirected graph, and c ∈ R E . A cut of G corresponds to a bi-partition of V , and then to two ordered bi-partitions of V , which can be encoded by n binary variables δ. We also use continuous variables X to linearize the objective function. In contrast with variables used in formulations F 2 , F 3 and F 4 , these variables are indexed by the edge set E, and not by V < , which is not equivalent since G is not necessarily complete. We obtain the following formulation.

F max-cut δ,X : max x ∈ int δ (P G F 2 )
(c•X) where P G F 2 = (δ, X) ∈ R V ×R E (X.1 -X.4)

Note that this formulation is very similar to F 2 . Actually, if G is complete, the solution sets are exactly the same. However, the objective functions have not the same structure. Therefore, even if the operations considered in this section are similar to insert and swap operations, the resulting dominance inequalities are different. By analogy with the notation S n δ,X , let us introduce the following set.

S G

δ,X = (δ, X) ∈ {0, 1} V ×{0, 1} E (X.1 -X.4)

In the following pages we present dominance inequalities which can be used to reinforce Formulation F max-cut δ,X . At this stage, we do not have neither experimental results to assess the practical efficiency of these inequalities, nor theoretical results stating whether these inequalities are c-cuts 1 or not. These questions are natural extensions of this work.

Swapping based dominance inequalities

• Defining an operation on the solutions Let2 (u, v) ∈ V 2 . We consider an operation equivalent to the swap between an early and a tardy task. The set of solutions where this operation can be applied, is the set S u,v defined in page 160, where S n δ,X has to be changed into S G δ,X . Moreover, the corresponding operation on the encoding vectors is given by θ u,v defined on the same page. Finally, the function Π u,v allows to identify points belonging to S u,v .

Since the objective function of F max-cut δ,X is different from the one of F 2 , function ∆ u,v and the constant p(J) u,v have to be redefined as follows.

• Identifying function ∆ The variation of the objective function between a vector (δ, X) in S u,v and its image θ u,v (δ, X) is given by the following expression. is an upper bound of {∆ u,v (δ, X) | (δ, X) ∈ S u,v }. Therefore, following the method proposed in page 157, we define the following constant.

M u,v =    ∨ m u,v if ∨ m u,v 0 ∨ mu,v 2 otherwise
• Finally writing a dominance inequality Following Property 5.6 adapted to a maximization problem, we obtain the inequality below, which translates the N θu,v -dominance. We have not analyzed these inequalities in more detail, but it would be worth investigating further. In particular, an implementation of the proposed dominance inequalities would allow to test if they are able to reinforce Formulation F max-cut δ,X .

Dominance inequalities for the maximum weighted independent set problem

Let us consider in this section an undirected graph G = (V, E). A node subset S ⊆ V is an independent set, or a stable set if no edge links two nodes in S, i.e. ∀(u, v) ∈ S 2 , {u, v} ∈ E. In other words, a node subset S is an independent set if each node in S has no neighbor in S. For a non-negative weight on the nodes, the maximum independent set problem aims at finding an independent set whose weight (the sum of the node weights) is maximum.

MAX. W. INDEP. SET

Input: an undirected graph G = (V, E) the node weights c ∈ R V + Output: an independent set S ⊆ V maximizing c(S)

This problem is NP-hard since the unweighted version of the problem, i.e. when c = I V , is NPhard [START_REF] Schrijver | Combinatorial optimization. Algoritms and Combinatorics[END_REF]. One can note that, for any instance of max. w. indep. set, the set of node subsets that do not include 0-weighted nodes is a dominant set. Therefore, the 0-weighted nodes can be removed from the instance. Without loss of generality, we can thus assume that the node weights are positive, i.e. c ∈ (R * + ) V .

• A linear formulation for max. w. indep. set The node subsets, and then in particular the independent sets, can be encoded by binary variables (x v ) v∈V . For x ∈ {0, 1} V , the encoded subset is S = {v ∈ V | x v = 1} and its weights is c•x. Moreover, S is an independent set if and only if x satisfies the following inequality. ∀{u, v} ∈ E, x u +x v 1 (7.1) This leads to the following classical compact IP formulation for max. w. indep. set.

F edges : max x ∈ P edges ∩Z V c•x where P edges = x ∈ R V ∀v ∈ E, x v 0 and x satisfies (7.1) We propose in this section, three dominance inequality families for this formulation.

Independent set adding based dominance inequalities

• Defining an operation on the solutions Let us consider for this section W ⊆ V an independent set. Let us introduce S W the set of vectors that encodes an independent set that contains no nodes of W , i.e. S W = x ∈ S G x ∀w ∈ W, x w = 0 . Moreover, let us denote by N (W ) the set of neighbors of nodes in W that are not themselves in W , i.e. N (W ) = {v ∈ V \W | ∃w ∈ W, {w, v} ∈ E}. If S is an independent set encoded by a vector in S W , removing from S the neighbors of nodes of W and putting W in S results in another independent set. Let us introduce the corresponding operation θ W on the encoding vectors.

θ W = S W -→ S G x x -→ x where ∀u ∈ V, x v =      1 if v ∈ W 0 if v ∈ N (W ) x v otherwise
In order to apply Property 5.6, we have to identify suitable functions ∆ and Π, before defining a constant M , and finally obtaining a dominance inequality.

• Identifying function Π To identify points belonging to S W , we introduce the following linear function.

Π W =   R V -→ R x -→ w∈W x w   For any x ∈ S G
x , we have Π W (x) ∈ N and Π W (x) = 0 ⇔ ∀w ∈ W, x w = 0 ⇔ x ∈ S W .

• Identifying function ∆ The variation of the objective function between a vector x in S W and its image θ W (x) is given by the following expression. • Finally writing a dominance inequality Following Property 5.6 adapted to a maximization problem, we obtain the inequality below, which translates the N θ W -dominance. By construction, one knows that Π W (x * ) = 0, otherwise (I W ) would be valid.

Therefore, we can build a point x that is different from x * by setting ∀u ∈ V,

x v =      1 if v ∈ W 0 if v ∈ N (W ) x * v otherwise
One can check that x satisfies (7.1). Indeed, for {u, v} ∈ E, one of the three following cases holds.

-If {u, v}∩W = ∅, then only one node among u and v can belong to W , since W is an independent set. Without loss of generality, we assume that u ∈ W and v ∈ V \W . By definition, we then have v ∈ N (W ), therefore x u +x v = 1+0 1.

-If {u, v}∩N (W ) = ∅, we can then assume without loss of generality that u ∈ N (W ). Then we have x u +x v = 0+x v and by definition of x , x v 1 since x * v 1.

-Otherwise,

x u +x v = x * u +x * v 1.
Hence, x ∈ P edges , then we have c•x c•x * by maximality of x * . However, the variation of the objective function between x * and x can be written as follows.

Edge swapping based dominance inequality

• Defining an operation on the solutions Let us consider for this section {u, v} ∈ E such that3 c u < c v . By definition, u ∈ N (v). Let us denote by N (v) the set of the neighbors of v except u, i.e. N (v) = N (v)\{u}.

NB:

The notations S u,v , θ u,v , Π u,v and ∆ u,v introduced for the swap operation in Section 5.4 no longer apply, and these symbols will be used differently in this section.

Let us introduce S u,v the set of vectors that encode an independent set that contains node u, necessarily not v, and not any other neighbor of v, i.e. S u,v = x ∈ S G x x u = 1, x v = 0, and ∀w ∈ N (v), x w = 0 . Note that the condition x v = 0 is not useful, indeed, for x ∈ S G x , x u = 1 ⇒ x v = 0 since {u, v} ∈ E. If S is an independent set encoded by a vector in S u,v , removing u from S and putting v instead results in another independent set. Let us introduce the corresponding operation θ u,v on the encoding vectors.

θ u,v = S u,v -→ S G x x -→ x -I u + I v
In order to apply Property 5.6, we have to identify suitable functions ∆ and Π, before defining a constant M , and finally obtaining a dominance inequality.

• Identifying function Π To identify points belonging to S u,v , we introduce the following linear function.

Π u,v =   R V -→ R x -→ (1-x u ) + w∈ N (v)
x w   For any x ∈ S G x , we have Π u,v (x) ∈ N and Π u,v (x) = 0 ⇔

x u = 1 ∀w ∈ N (v), x w = 0 ⇔ x ∈ S u,v .

• Identifying function ∆ The variation of the objective function between a vector x in S u,v and its image θ u,v (x), is given by the following expression, which actually does not depend on x. • Finally writing a dominance inequality Following Property 5.6 adapted to a maximization problem, we obtain the inequality below, which translates the N θu,v -dominance. We then have x * u >

w∈ N (v)

x * w ( ).

By construction, one knows that Π u,v (x * ) = 0, otherwise (I u,v ) would be valid.

Therefore, we can build a point x that is different from x * by setting ∀w ∈ V, x w = Hence, x ∈ P edges , then we have c•x c•x * by maximality of x * . However, the variation of the objective function between x * and x can be written as follows. In the sequel, we propose a stronger version of inequality (I u,v ), by using the fact that x w = 0 for any w ∈ N (u) for a point x in S u,v , since x u = 1, which allows to remove some terms of the sum w∈ N (v)

c•x -c•x * = -(c u x * u + c v x * v ) + (c u x u + c v x v ) = c u (x u -x * u ) + c v (x v -x * v ) = c u (m -x * u ) + c v ((1-m) -x * v ) c u (m -x * u ) + c v ( ¡ 1-m) -( ¡ 1
x w .

Stronger edge swapping based dominance inequality

We use in this section all the notations introduced for {u, v} ∈ E such that c u < c v in the previous section. In addition, we denote by N (v) the set of the neighbors of v that are neither u, nor one of its neighbors, i.e. N (v) = N (v)\({u} N (u)).

One can remark that the conditions x w = 0 for w ∈ N (v)∩N (u) are not useful in the definition of S u,v since for x ∈ S G x , x u = 1 ⇒ ∀w ∈ N (u), x w = 0. Therefore, we can use the following definition: S u,v = x ∈ S G x x u = 1 and ∀w ∈ N (v), x w = 0 . This definition leads to a new function Π u,v to identify points belonging to S u,v . Therefore, the question to know if inequality ( I u,v ) is a c-cut for F edges is open and should be investigated. On the other hand, we know that inequality ( I u,v ) defines a facet of the polytope of the θ u,v -dominant solutions, which is defined as follows. One can check that these points satisfy to equality the inequality ( I u,v ). In particular, this imply that these points are θ u,v -locally optimal since ( I u,v ) translates the N θu,v dominance property. Moreover, these |V | points form an affinely independent family. This shows that ( I u,v ) defines a facet of P G u,v .

Π u,v =   R V -→ R x -→ (1-x u ) + w∈ N (v)
A natural extension of this section would be an experimental works to test whether the proposed dominance inequalities are able to reinforce Formulation F edges .

Conclusion

This section summarizes the main scientific contributions of the thesis and highlights some challenging issues.

In this thesis, we address two common due date problems, UCDDP and CDDP, through a polyhedral approach, with the aim to provide efficient linear formulations. As they are defined in their most general setting, that is without particular assumption on the unit earliness and tardiness penalties, the two considered problems are NP-hard.

• Results for common due date problems Throughout the thesis, we extensively use the dominance properties to provide linear formulations for UCDDP and CDDP. More precisely, these properties enable to define a light encoding for schedules and to build linear inequalities: the so-called dominance inequalities. Most of the provided formulations are related to UCDDP since more dominance properties are available for UCDDP than for CDDP. To sum up, we provide:

-a formulation of UCDDP as a partitioning problem (Cf. F 1 in Section 0.5.1), -a compact MIP formulation for UCDDP (Cf. F 2 in Section 0.5.2), -a MIP formulation based on non-overlapping inequalities for UCDDP (Cf. F 3 in Section 1.3), -a MIP formulation based on non-overlapping inequalities for CDDP (Cf. F 4 in Section 1.4), -numerous facet defining inequalities that can be added to F 2 , F 3 , or F 4 (Cf. Chapter 4), -three reinforcements of Formulation F 2 using dominance inequalities for UCDDP (Cf. F i , F s , and F i+s defined in Chapter 6).

The proposed formulations (F 2 , F 3 , F 4 , F i , F s , and F i+s ) have been implemented and their performances are compared to other methods on a standard benchmark. None of our formulations outperforms the state of the art method (Sourd [41]). However, our work on dominance properties shows that the efficiency of a formulation can be greatly improved when appropriate inequalities are added. Indeed, under a time limit of one hour, Formulation F 2 solves instances up to size 60, while F i+s , where dominance inequalities have been added, solves instances up to size 200, and is notably better than the time-indexed formulation for some instances where processing times are especially long.

Beyond their numerical results, the proposed formulations are the result of a theoretical work that can be used in a larger context than the common due date scheduling field.

• Contributions beyond the common due date problem

In Part A, we provide some key lemmas about non-overlapping inequalities to use them in combination with other inequalities. We propose a method to provide pseudo-MIP formulations for scheduling problems using natural variables and non-overlapping inequalities. This method is applied on UCDDP (resp. CDDP) resulting in Formulation F 3 (resp. F 4 ), but could also be used for other scheduling problems as explained in Section 1.5.

The two last parts of the thesis share a common idea: reinforcing Formulation F 2 by adding inequalities that cut weak solutions. A first attempt is provided in Chapter 4, where the point 0 is cut by facet defining inequalities of the convex hull of the other solutions. The provided facets, which can be transposed as facets of the non-trivial cut polytope, are to numerous to be implemented, and do not seem to be promising for application purposes.

Nevertheless, Part B presents material that may be used beyond the common due date problems. Indeed, we propose in Chapter 3 a property that formally states how to transpose facet defining inequalities in general, and which enables us in particular to bridge the cut polytope, the boolean quadric polytope, and the polytope underlying F 2 . Although widely used under different forms, this property can be interesting from a pedagogical point of view as it encompasses a wide range of results, like change of variables, lifting or symmetry results.

In Part C, we propose a new kind of inequality, called the dominance inequalities, to reinforce MIP formulations. These inequalities cut non-optimal integer solutions, while classical strengthening inequalities cut fractional points. We propose a simple method to derive a dominance inequality from an operation on the solutions, resulting in insert and swap inequalities for F 2 .

Even if the experimental results show that insert and swap inequalities reduce the computation time, theoretical results show that they do not improve the linear relaxation value. Here, it would be interesting to further investigate in order to understand how insert and swap inequalities help the solver: are they able to improve the linear relaxation value in deeper nodes of the branching tree, when enough binary variables are set to 0 or 1? Are they taken into account only in preprocessing step that allow to fix a lot of binary variables before the Branch-and-Bound algorithm?

In Chapter 7, we attempt to define dominance inequalities for problems whose solutions have the same structure as a partition, like max-cut and max. w. indep. set. The dominance inequalities could be used for other combinatorial optimization problems, like the Traveling Salesperson Problem (TSP), at the expense of finding appropriate operations on solutions. Let us define two classical optimization problems related to the cuts in a graph: min-cut, and its generalization max-cut.

Graph theory definitions

MIN-CUT

Input: an undirected graph G = (V, E) non-negative weights on the edges c ∈ (R + ) E

Output: a subset of nodes S ⊆ V minimizing c (S : V \S)

MAX-CUT

Input: an undirected graph G = (V, E) weights on the edges c ∈ R E Output: a subset of nodes S ⊆ V maximizing c (S : V \S)

Note that in spite of their great similarity, these problems belongs to different6 complexity classes. Indeed, min-cut ∈ P since it can be solved by the Ford-Fulkerson algorithm [START_REF] Randolph | A simple algorithm for finding maximal network flows and an application to the hitchcock problem[END_REF], while max-cut is N P -complete, as shown by Karp in [START_REF] Karp | Reducibility Among Combinatorial Problems[END_REF].

Remark CA.17

A convex set can be defined as a set containing the segment between each pair of points that it contains, or as a set that is stable by convex combination.

Property CA.18

Let (C i ) i∈I be a family of convex sets of R d , indexed by an arbitrary set I. • Notations for a function f ∈ F(X, Y ) f /X denotes the restriction of f to the domain, for a subset X ⊆ X f (A) denotes the image of a set A ⊆ X under f , i.e. {f (x) | x ∈ A} f -1 (B) denotes the preimage of a set B ⊆ Y under f , i.e. {x ∈ X | f (x) ∈ B} g • f denotes the composition of f and g for any g ∈ F(Y, Z), i.e. ∀x ∈ X, g • f (x) = g(f (x))

The intersection

• Notations for a real number t ∈ R

[t] + denotes the positive part of t i.e.

[t] + = max(t, 0)

[t] -denotes the negative part of t i.e.

Scheduling notations

• For a given instance J denotes the set of tasks n denotes le number of tasks, i.e. n = |J| d denotes the common due date

• For a given instance, and for a given task j ∈ J of this instance p j denotes the processing time of a task j ∈ J α j denotes the unitary earliness penalty of a task j ∈ J β j denotes the unitary tardiness penalty of a task j ∈ J A(j) denotes the set of tasks having a larger α-ratio than j, i.e. A(j) = i ∈ J α i p i > α j p j Ā(j) denotes the set of other tasks having a smaller α-ratio than j, i.e. Ā(j) = i ∈ J \{j} α i p i α j p j B(j) denotes the set of tasks having a larger β-ratio than j, i.e. B(j) = i ∈ J β i p i > β j p j B(j) denotes the set of other tasks having a smaller β-ratio than j, i.e. B(j) = i ∈ J \{j}

β i p i β j p j
• For a given schedule S C j (S) 1 denotes the completion time of a task j ∈ J E j (S) 1 denotes the earliness of a task j ∈ J, i.e. Inequalities for F 3 and F 4 ∀(i, j) ∈ J < , X i,j δ i -δ j (X.1) ∀(i, j) ∈ J < , X i,j δ j -δ i (X.2) ∀(i, j) ∈ J < , X i,j δ i +δ j (X.3) ∀(i, j) ∈ J < , X i,j 2-(δ i +δ j ) (X.4) ∀j ∈ J, e j 0 (1.5) ∀j ∈ J, e j δ j (p(J)-p j )

(1.6) ∀j ∈ J, t j 0 (1.7) ∀j ∈ J, t j (1-δ j ) p(J)

(

3 C 3 = 10 1 C 1 = 7 .3 2 C 2 = 12 .5 4 C 4 = 15 S 2 0 | 2 C 2 = 2 3 C 3 = 8 1 C 1 = 6 4 C 4 = 11 . 5 Figure 1 :

 331172212441520223311441151 Figure 1: The Gantt charts of two illustrative 4-task schedules

Figure 2 :

 2 Figure 2: Earliness and tardiness on a Gantt chart

Figure 3 :

 3 Figure 3: Earliness and tardiness penalties of a task j as a function of its completion time C j

Example 1 : 5 p 2 = 4 , α 2 = 1 , β 2 = 6 p 3 = 2 , α 3 = 5 , β 3 = 8 p 4 = 2 ,

 15242163235842 Optimal schedules for different 4-task instancesWe consider the set of tasks J = [1..4] defined by the parameters on the right. Depending on the value chosen for d, these parameters define an instance of UCDDP and CDDP, or an instance of CDDP only. The following figure presents the 1 optimal schedules for different values of d.p 1 = 3, α 1 = 4, β 1 = α 4 = 2, β 4 = 4

1 α 1 * E 1 =

 111

Figure 4 :T j s d 0 Figure 5 :Figure 6 :

 4056 Figure 4: A d-schedule which is not a block

Figure 7 :

 7 Figure 7: A -shaped block starting at time 0

Figure 8 :

 8 Figure 8: The two possible d-or-left-blocks for a 2-identical-task instance

Figure 9 :

 9 Figure 9: A dominant schedule for the Hall and Posner's algorithm

Figure 10 :→→

 10 Figure 10: A d-block for the first Hoogeveen and Van De Velde's algorithm

  (a, b) ∈ N 2 , let us denote by [a..b] * the integer set [a..b]\{j s }. Hence, for any k ∈ [0..n], tasks [1..k] * are divided into two blocks, one starting at time 0 and completing at time l = p [1..k] * ∩E d, and another starting at time p(J)-p([1..k] * )-l = p [k+1.

Figure 11 :

 11 Figure 11: A left-block for the second Hoogeveen and Van De Velde's algorithm

→→

  an optimal schedule S of tasks [1..k] in [0, l] and [p [k+1..n]∪{j s } +l, p(J)], task k can only hold at two positions. Either k is the last task in the left interval, that is k completes at time l and then induces an earliness penalty of w k (d-l). In this case, tasks [1..k -1] are placed in the two intervals [0..l-p k ] and [r, p(J)] where r = p [k+1..n]∪{j s } +l = p [k..n]∪{j s } +(l-p k ). By optimality of S, these tasks [1..k-1] induce a penalty of f k-1 (l-p k ). Or k is first task in the right interval, that is k completes at time r = p [k+1..n]∪{j s } +l+p k . In this case, tasks [1..k -1] are placed in the two intervals [0..l] and [r, p(J)]. Since r = p [k..n]∪{j s } +l, by optimality of S, we deduce that tasks [1..k-1] induce a penalty of f k-1 (l).

Figure 1 . 1 :

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

Figure 1 . 2 :

 12 Figure 1.2: Illustration of the schedule's disruption between y and y +-(a) (resp. y -+ (b))

Figure 1 . 3 :

 13 Figure 1.3: Q M and P Q M in the case of two tasks

Figure 1 . 4 :

 14 Illustration of the role of p i +e i for an early task i Lemma 1.9Let d ∈ R such that d p(J). Let C ∈ R J and (e, t) ∈ R J ×R J . If (e, t) = θ d (C),then the following equivalence holds. C satisfies (1.1) ∀j ∈ J, C j d or C j d+p j    ⇔    (e+p) /E(C) satisfies (1.0) and (1.1) t /T (C) satisfies (1.0) and (1.1)

Theorem 1 .

 1 [START_REF] Falq | Mixed integer formulations using natural variables for single machine scheduling around a common due date[END_REF] to show that the encoded schedule is a d-block rather than just a feasible schedule without straddling task). That is what Theorem 1.14(ii) states.

Figure 1 . 6 :

 16 Figure 1.6: The first (a, e , t ) encoding for a schedule holding an on-time task j t

Figure 1 . 7 :

 17 Figure 1.7: The second (a, e , t ) encoding for a schedule holding an on-time task j t

Figure 1 . 8 :Figure 1 . 9 :

 1819 Figure 1.8: ( E, T ) when a straddling task occurs

Figure 1 . 10 :

 110 Figure 1.10: An unfeasible schedule when a = d

F 4

 4 : min (e ,t ,δ,X,a,b,γ)∈int δ,γ extr P 4 h α,β (e, t, a, b)

  a, b) = θ d (C), then the following equivalence holds. C satisfies (1.1) ∀j ∈ J, C j d-a or C j (d-a)+p j ) /E(C) satisfies (1.0) and (1.1) t /T (C) satisfies (1.0) and (1.1) (ii) If (e , t , a, b) = θ d (C), then the following equivalence holds. C satisfies (1.1) ∀j ∈ J, C j d-a or C j (d-a)+p j ⇔    (e +p) / E(C) satisfies (1.0) and (1.1) t / T (C) satisfies (1.0) and (1.1)

4 )

 4 are satisfied. By Lemma 1.15(i), the definition of γ ensures that inequalities (1.18 -1.19) are satisfied, since j s ∈ T . By Lemma 1.16, inequalities (1.22 -1.25) are satisfied, since b = a I E (C) = a δ, by definition of θ d . Since C encodes a feasible schedule, the straddling task j s satisfies C js -p js = min j∈T (C) (C j -p j ). Then a = d -(C js -p js ), by definition of θ d .

  Thus, Y belongs to int δ,γ (P 4 ) and (i) is proved Rewriting the proof by replacing θ d by θ d , 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 for inequality (1.21) indexed by j t : in this case C jt = d, and a = d + (p jt -C jt ) = p jt = p jt + (1-γ jt ) d. The following theorem establishes that an optimal solution of formulation F 4 encodes a solution for CDDP, and even a dominant solution since it encodes a d-or-left-block. Theorem 1.20 Let assume that α ∈ R * + J . Let Y * = (e , t , δ, X, a, b, γ) ∈ int δ,γ (P 4 ). If Y * ∈ extr(P 4 ) and (e , t , a, b) minimizes h α,β on π e,t,a,b (int δ,γ (P 4 )), then Y * encodes a d-or-left-block, by θ d or θ d . Proof : 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 Y * using θ d or θ d . -Proving that (e , t , a, b) = θ d (C * ) or (e , t , a, b) = θ d (C * )

j 0 -

 0 p j 0 = min j∈T (δ) C * j -p j , and then a = d -min j∈T (δ)C * j -p j .The question is whether T (δ) = T (C * ) or T (δ) = T (C * ). Indeed, if T (δ) = T (C * ), the value of a is the one expected with the encoding θ d , whereas if T (δ) = T (C * ), it is the one expected with θ d .

  and we will use the encoding θ d . To handle the second case, it suffices to replace E (C * ) by E (C * ), T (C * ) by T (C * ), and θ d by θ d to apply Lemma 1.18(ii) instead of Lemma 1.18(i), and, in the third step, to use that j 0 is the on-time task. We can rewrite δ as I E (C * ) , and thus b as a I E (C * ) , since b = a δ by inequalities (1.22-1.25) and Lemma 1.16. Using inequalities (1.5'-1.8'), it is easy to show that e = [d-a-C * j ] + j∈J and t = [C * j -(d-a)] + j∈J . Then we can conclude that (e , t , a, b) = θ d (C * ), that is that C * and (e , t , a, b) encode the same schedule, which will be denoted by S * .

  As represented below, variables (e i ) i∈E(δ) , or more precisely (e i +p i ) i∈E(δ) (resp. (t j ) j∈T (δ) ), along with non-overlapping inequalities (Q1) (resp. (Q2)), correspond to the half-axis ] -∞, d[ (resp. [d, +∞[).

Figure 1 .j d d 0 |Figure 1 . 11 :

 10111 Figure 1.11 represents the penalty incurred by a task j in function of its completion time C j .

Property 2. 1 Let

 1 S ⊆ J. If S maximizes Γ C , then ∀j ∈ J, j ∈ S ⇔ p(S) C j and j ∈ J \S ⇔ p(S) C j -p j .As a consequence of Property 2.1, a subset S maximizing Γ C is downward closed with respect to C, i.e. (C k C k and k ∈ S) ⇒ k ∈ S, which justifies an O(n log n) separation algorithm for inequalities (Q0). Indeed, once an order ρ ∈ F [1..n], J such that C ρ(k) k∈[1..n] is non-decreasing, is computed, it suffices to compute and compare the values Γ C ρ([1..k]) for all k ∈ [0..n], since a subset maximizing Γ C is necessary of the form ρ([1..k]).

Figure 2 .

 2 1 gives an illustration of such a graph for n = 5.

Figure 2 . 1 :

 21 Figure 2.1: Illustration of the weighted undirected graph G = (V, A, w) for n = 5

For

  two given disjoints sets A and B, let us denote by A : B the set of all the pair sets that have one element in A and the other in B, i.e. A : B = {{u, v} | u ∈ A, v ∈ B} . As previously, if a vector a is indexed by a set S, for any subset T ⊆ S, a(T ) is the sum of the a components whose index is in T , i.e. a(T ) = i∈T a i . In particular, for two disjoint sets A and B, a(A : B) = u∈A v∈B a {u,v} .

Property 3 . 3 (

 33 12) where S 0 = {u ∈ supp(C) | u is adjacent to 0 edges in C \F } S 2 = {u ∈ supp(C) | u is adjacent to 2 edges in C \F } Padberg [31]) Inequalities (3.5 -3.8), (3.9), (3.10), and (3.11) define facets of QP n .

1 2 .

 2 -Let us assume that e ∈ U : T such that y e = 1 2 . By definition of {T, U }, we have e ∈ C. Indeed, if e ∈ C, we have e ∈ C \M since y e = 0. Then {e} is a path of length 1 between a node of U and a node of T that contains 0 M -edge. A contradiction since 0 is even. Let us denote by µ one of the two paths along C between both e endpoints. We define C = µ∪{e} and M = {f ∈ C | y f = 0}. Note that supp(C ) ⊆ S and M ⊆ C . Since y e = 0, M = M ∩µ. Therefore, by definition of {T, U }, |M | is odd. Hence, we can use for (C , M ) the same arguments as for (C, M ) previously. We deduce that z does not satisfy the inequality (3.12) associated with C and M . -Let us assume that e ∈ U < such that y e = 0. By definition of {T, U }, we have e ∈ C. Indeed, if e ∈ C, we have e ∈ M since y e = 0. Then {e} is a path of length 1 between two nodes of U that contains 1 M -edge. A contradiction since 1 is odd. Let us denote by µ one of the two paths along C between both e endpoints. We define C = µ∪{e} and M = {f ∈ C | y f = 0}. Note that supp(C ) ⊆ S and M ⊆ C .

Property 3 . 8 (

 38 Padberg [31]) Let C ⊆ Cy(K n ) and M ⊆ C such that |M | is odd. If |C| = 3, then (3.12) C,M is one of the triangle inequalities (3.5 -3.8) for the three nodes of C. If |C| > 3, then (3.12) C,M is a linear combination of the triangle inequalities (3.5 -3.8).

  ( ) : If (I) ϕ,f -→ (I ), then (I) ψ ⇔ (I ).

Transposition 3 . 12 ( 2

 3122 Odd sub-cycle inequalities)Let C ∈ Cy(K n+1 ). Let S = supp(C). Let F be an odd sub-cycle of C, i.e. F ⊆ C s.t. |F | is odd.If n+1 ∈ S, then (3.17) C,F ψ ⇔ (3.12) C,F .Otherwise, let us denote by e = {k, n+1} and e = {k , n+1} the two edges in C incident to n+1. Let us introduce the edge f = {k, k } and the cycle C = C ∪{f }\{e, e }. We then have:-if e ∈ F and e ∈ F , (3.17) C,F ψ ⇔ (3.12) C ,F + (3.1) k,k for F = F \{e, e } -if e ∈ F and e ∈ F , (3.17) C,F ψ ⇔ (3.12) C ,F + (3.2) k,k for F = F ∪{f }\{e } -if e ∈ F and e ∈ F , (3.17) C,F ψ ⇔ (3.12) C ,F + (3.3) k,k for F = F ∪{f }\{e} -if e ∈ F and e ∈ F , (3.17) C,F ψ ⇔ (3.12) C ,F + (3.4) k,k for F = F Odd sub-cycle inequalities for CU T n+1 are equivalent to a sum of an odd sub-cycle inequalities and a trivial inequality for QP n .Transposition 3.13 (Clique inequalities)Let S ⊆ V such that |S| is odd. If n+1 ∈ S, then (3.18) S ψ ⇔ (3.9) S,θ for θ = |S| 2 , otherwise(3.18)Clique inequalities over an odd subset for CU T n+1 are transposed into clique inequalities for QP n .

Transposition 3 . 14 (

 314 Clique inequalities)Let S ⊆ V such that |S| 2, and α ∈ [1..|S|-2]. We have (3.9) S,α ϕ V ,f V -→ (3.9) S,β where β = |S|-1-α.

  defines a facet of QP n . (ii) Moreover, for any S ⊆ V , if M = R S, then this facet contains z S . Proof : Point (i) is exactly what ensures Property 3.10 (iii). Besides, z S belongs to the facet obtained using ϕ M and f M if and only

  k}, a e = -a e = 0 then b 0 e = 0 similarly ∀e ∈ E, e = {i, k}, b e = 0 b 0

Figure 4 . 1 :

 41 Figure 4.1: A polyhedron included in the hyper-cube, and two different ways to cut off one of its extreme points

Figure 4 . 2 :

 42 Figure 4.2: Illustration of the terms (δ, X) involved in (H P,1,n )

Figure 4 .

 4 Figure 4.3 gives an illustration of the non-zero components of such points.

Figure 4 . 3 :

 43 Figure 4.3: Illustration of non zero components of p K,L , for the seven different types of (K, L) regarding to 1 and n

Figure 4 . 4 :

 44 Figure 4.4: Illustration of terms of a involved in (1 K,L ) for (K, L) of type (f)

2 •

 2 Integer points satisfying inequality (H' C,u,v ) to equality For any (K, L) ∈ V 2 , let us denote by p K,L the point of S defined by δ = I [K..L] . Since the index interval is given modulo n, note that the point corresponding to δ = I V can be written p K,L for (K, L) = (1, n) or (K, L) = (2, 1), or (K, L) = (3, 2) and so on. However, in the following, we use preferentially (K, L) = (1, n) to denotes this point.The point p K,L satisfies (H' C,u,v ) to equality if and only if u ∈ [K..L] or v ∈ [K..L] or [K..L] = [1..n]. Indeed, if u ∈ [K..L] and v ∈ [K..L], then we have δ u +δ v -X u,v = 2 -1.If we assume in addition that [K..L] = V , then K-1 = L and we have X

v L = n vertex where δ is 0 vertex where δ is 1 u

 01 or v when δ is 1 edge {u, v} when X u,v = 0 C-edge where X is 0 other edge where X is 1

Figure 4 . 6 :

 46 Figure 4.6: Illustration of the non-zero components of p K,L , for the five different types of (K, L) regarding to u and v

  K,L ) for (K, L) = (1, J) gives:a [1..J] + a [1..J] : [J +1..n] = α (1 1,J ) while for (K, L) = (J +1, n) it gives: a [J +1..n] + a [1..J] : [J +1..n] = α (1 J+1,n ) These both equations imply that a [1..J] = a [J +1..n] . Besides, we have u ∈ [1..J] and v ∈ [J +1..n], since J ∈ W 1 .Then we can substract a u = a v on both sides, which is equivalent to only consider W nodes, to obtain the following equation.a[1..J]∩W = a [J +1..n]∩W ( J )

= 2 B- 1 =

 21 e. I ∈ [2..v -3]. We show that a I,I+2 = 0. The equation (1 K,L ) for (K, L) = (I, I +2) gives: a [I..I +2] + a I..I +2 : I +3..I -1 = α (1 I,I+2 ) Since I..I+2 ⊆ W 1 , the first term is zero. The second one, which is then equal to α can be decomposed as follows. a I..I +2 : I +3..I -1 = a -(I) + a + (I) -a I,I+1 -a I,I+2 + a -(I +1) -a I,I+1 + a + (I +1) -a I,I+2 + a -(I +2) -a I,I+2 -a I+1,I+2 + a + (I +2) Using (♣) and that a J,J+1 = α • Induction Let l ∈ [2..v -3]. Let us assume that the property H stands up to the rank l. Let I ∈ [2..v -l-2], thus we have I +l+1 ∈ W 1 . The equation (1 K,L ) for (K, L) = (I, I +l+1) gives: a [I..I +l+1] + a I..I +l+1 : I +l+2..I -1 = α (1 I,I+l+1 ) Since [I..I+l ⊆ W 1 , the first term is zero. The second one, which is then equal to α can be written A+B where: A = a I..I +l+1 : I +l+2.k) -a k,k+1 -a {k} : k+2..I +l+1 + a + I +l -a I+l,I+l+1 + a + I +l+1 = -a I,I+l+1 + α = a I..I +l+1 : 1..I -1 . a -I + a -I +1 -a I,I+1 +   I+l+1 k=I+2 a -(k) -a k-1,k -a {k} : I..k-2

a

  I +a [I +1..J] + a {I} : [J +1..I -1] + a [I + 1..J] : [J +1..I -1] = α (1 I,J ) a [I +1..J] + a [I +1..J] : [J +1..I -1] + a [I +1..J] : {I} = α (1 I+1,J ) Since I ∈ W 1 ⊆ W 1 , we have a I = 0. We then deduce from these both equation that: a {I} : [J +1..I -1] = a [I +1..J] : {I} Moreover, splitting the index interval between J and J+1 the equation (1 I,I ) can be written as follows. 0 + a {I} : [I +1..J] + a {I} : [J +1..I -1] = α (1 I,I )

Figure 4 .

 4 [START_REF] Biskup | Common due date scheduling[END_REF] gives an illustration of the non-zero component of these four kinds of points.

  u

Figure 4 . 8 :

 48 Figure 4.8: Illustration of the non-zero components of the integer points satisfying (? u,v ) to equality

Figure 4 . 10 :

 410 Figure 4.10: Illustration of the non-zero component of p U (left) and p J (right)

Proof: 2 + 1

 21 Let (u, v) ∈ V < and W = V \{u, v}. We then have |W | = n-2 , and hence, (|W |-1) |W | = n 2 -5n+6. Let Q = (|W |-3)|W | = 0.5n 2 -3.5n+6. We then have (|W |-1) |W |-2Q = 2n-6 and inequality (Full u,v ) can be written as follows.

Figure 4 . 11 :

 411 Figure 4.11: Illustration of the terms (δ, X) involved in (Full u,v )

Figure 5 . 7 :Figure 5 . 8 Figure 5 . 8 :

 575858 Figure 5.7: Optimal solution in S ( ) and optimal point in P ( )

(Figure 5 . 13 :

 513 Figure 5.13: Applying insert or swap operations

(Figure 5 . 14 :

 514 Figure 5.14: Applying insert or double insert operations

For

  instances up to size 60, F i+s d solves the problem at the root node, and is faster than F i+s l . For larger instances, except 200-task instances, F i+s l and F i+s d solve the problem in similar computation times, even if F i+s l has a smaller number of nodes: for example, it is two times smaller for n = 150. For n = 200, F i+s d solves 4 over 10 instances, while F i+s l only solves 1 over 10 instances. To conclude, F i+s l and F i+s d offer comparable performances. The formulation providing the best results is F i+s for both settings.

BF

  : the solution obtained by Biskup and Feldmann's heuristic "Heur II" BF + : the solution obtained by applying Insert_swap_improvement to BF R1 : the solution obtained by rounding the fractional solution of F 2 -lp R1+ : the solution obtained by applying Insert_swap_improvement to R1 R2 : the solution obtained by rounding the fractional solution of F i+s d -rn R2+ : the solution obtained by applying Insert_swap_improvement to R2

  ∆ u,v (δ, X) = w∈N (v) c {u,w} (1-2 δ w )+ w∈N (u) c {v,w} (2 δ w -1)+2 c {u,v} I u∈N (v) where I u∈N (v) = 1 if u ∈ N (v) 0 otherwise • Defining constant M Note that I u∈N (v) is a constant given by G. Moreover, ∨ m u,v = w∈N (u) |c {u,w} |+ w∈N (v) |c {v,w} |+2 c {u,v} I u∈N (v)

  w∈N (v) c {u,w} (1-2 δ w ) + w∈N (u) c {v,w} (2 δ w -1) + 2 c {u,v} I u∈N (v) M u,v (1-δ u +δ v )

•

  Defining constant M Since∨ m W = c(W ) is a positive upper bound of {∆ W (x) | x ∈ S W }, let us set M W = c(W ).

  w∈W

Property 7 . 1 Inequality

 71 This inequality, which can be reformulated as follows, is unfortunately not a c-cut (Cf. Property 7.1).c(W ) 1 -w∈W x w -u∈N (W ) c u x u 0 (I W ) (I W ) is not a c-cut for Formulation F edges , i.e. ∀x * ∈ arg min x∈P edges (c•x), x * satisfies (I W ).Proof : Let us assume that there exists x * ∈ arg min x∈P edges (c•x) that violates (I W ).We then have c(W ) 1 -

c

  c•x -c•x * =u x * u + c(W )(1-w∈W x * w ) since ∀w ∈ W, c w c(W ) > 0 by ( ) Therefore, c•x > c•x * . A contradiction.

∆

  u,v (x) = c v -c u • Defining constant M Since ∨ m u,v = c v -c u is a positive upper bound of {∆ u,v (x) | x ∈ S u,v }, let us set M u,v = c v -c u .

Property 7 . 2

 72 c v -c u (c v -c u )This inequality, which can be simplified as follows (sincec v -c u > 0), is not a c-cut (Cf. Property 7.2). 0 -x u + w∈ N (v)x w (I u,v )Inequality (I u,v ) is not a c-cut for Formulation F edges , i.e. ∀x * ∈ arg min x∈P edges (c•x), x * satisfies (I W ). Proof : Let us assume that there exists x * ∈ arg min x∈P edges (c•x) that violates (I u,v ).

  max w∈ N (v) x * w . By ( ), we have m < x * u .One can check that x satisfies (7.1). Indeed, for {a, b} ∈ E, one of the four following cases holds.-If {a, b}∩{u, v} = {u}, for example if a = u, thenx a = x u = m < x * u = x * a ,and x b = x * b since necessarily b ∈ V \{u, v}. Then x a +x b < x * a +x * b 1 since x * satisfies (7.1). -If {a, b}∩{u, v} = {v}, for example if a = v, then x a = x v = 1-m, and x b = x * b m since necessarily b ∈ V \{u, v}. Then x a +x b (1-m) + m 1. -If {a, b}∩{u, v} = {u, v}, then x a +x b = x u +x v = (1-m)+m = m. -Otherwise, {a, b}∩{u, v} = ∅, then x a +x b = x * a +x * b 1 since x * satisfies (7.1).

  -x * u ) since x * v 1-x * u by (7.1) = (c u -c v ) , c•x > c•x * . A contradiction.



  For any x ∈ S Gx , we have Π u,v (x) ∈ N and Π u,v (x) = 0 ⇔ x ∈ S u,v . Using the function ∆ u,v and the constant M u,v defined in Section 7.2.2, we obtain the dominance inequality below according to Property 5.6.0 -x u + w∈ N (v) x w ( I u,v )Note that the proof of Property 7.2 cannot be directly adapted for this new inequality. If the value of m is set to m = max w∈ N (v) x w , inequality (7.1) for {a, b} where a = v and b ∈ N (v)∩N (u) is not necessarily satisfied by x . Indeed, we do not have x b m since m ∈ N (v). If the value of m is set to m = max w∈ N (v) x w as previously, then we do not have m < x * u , since ( ) gives m < x * u .

-

  P G u,v = conv x ∈ S G x x ∈ S u,v ⇒ c•x c•θ u,v (x) Property 7.3 Inequality ( I u,v ) defines a facet of P G u,v .Proof : Let us denote by W = V \( N (v) {u, v}). Let us consider the following points of R V that belong to S G x since they encode independent sets. I u +I w for any w ∈ N (v) -I w for any w ∈ W

Definition GT. 4 Definition GT. 6 ADefinition GT. 8 LetDefinition GT. 9 Let

 4689 An (undirected) 4 graph is a pair of sets G = (V, E), where V = ∅ and E ⊆ {{u, v}| (u, v) ∈ V 2 , u = v}. If E = {{u, v} | (u, v) ∈ V 2 , u = v}, G is the complete graph on V .The elements of V are the nodes of G, while the elements of E are the edges of G.Definition GT.5Let G = (V, E) be an undirected graph.G = (V , E ) is a sub-graph of G if V ⊆ V , E ⊆ E and G is a graph. The sub-graph of G induced by V ⊆ V is G = (V , E ) where E = {{u, v} ∈ E | u ∈ V , v ∈ V }. clique of an undirected graph G is a sub-graph of G that is complete. Definition GT.7 Let G = (V, E) an undirected graph. Let C ⊆ E. C is an (elementary) 5 path of G if there exists a sequence of l+1 distinct nodes (u i ) i∈[0..l] ∈ V l+1 such that C = {{u i , u i+1 } | i ∈ [0..l-1]}.In this case:l is called the length of C u 0 and u l are called the endpoints of C -the node subset {u i | i ∈ [0..l]} is called the support of C, and denoted by supp(C).-C is an Hamiltonian path if supp(C) = V . -a node v ∈ V is said on C if v ∈ supp(C). -two nodes v 1 and v 2 on C are said consecutive on C if {v 1 , v 2 } ∈ C. G = (V, E) an undirected graph. Let C ⊆ E. C is an (elementary) cycle of G if there exists a sequence of l 3 distinct nodes (u i ) i∈[1..l] ∈ V l such that C = {u i , u i+1 } | i ∈ [1..l-1] ∪ {u l , u 1 } . In this case: l is called the length of C -the node subset {u i | i ∈ [0..l]} is called the support of C, and denoted by supp(C).-C is an Hamiltonian cycle if supp(C) = V . -a node v ∈ V is said on C if v ∈ supp(C). -two nodes v 1 and v 2 on C are said consecutive on C if {v 1 , v 2 } ∈ C. G = (V, E) an undirected graph. Let C ⊆ E. C is a cut if there exists W ⊆ V such that C = {{u, v} ∈ E | u ∈ W, v ∈ V \W }.In this case, C is called the cut induced by the partition {W, V \W } .

CA. 3 . 2 15 y

 3215 Convex setsDefinition CA.14Let m ∈ N * . Let (x i ) i∈[1..m] ∈ (R d ) m . Let y ∈ R d . y is a convex combination of points (x i ) i∈[1..m] ⇔ ∃ (λ i ) i∈[1..m] ∈ [0, 1] m , is the barycenter of weighted points (x i , λ i ) i∈[1..m] , i.e. y is the only point satisfying m i=1 λ i (y-x i ) = 0.However, barycenter definition is broader : weights (λ i ) i∈[1..m] can be arbitrary, provided that m i=1 λ i = 0.Definition CA.16Let S ⊆ R d . S is a convex set if and only if ∀(x, y) ∈ S 2 , ∀θ ∈ [0, 1], θ x + (1-θ) y ∈ S.

i∈ICRemark CA. 20

 20 i is also a convex set.If I is a finite non-empty set, then the Cartesian product i∈I C i is also a convex set.If I is a finite non-empty set, then the Minkowski sum i∈I C i is also a convex set.Corollary CA.19Let S ⊆ R d . There exists a smallest convex set containing S, called the convex hull of S. This set is denoted by conv(S), and is given by conv(S) =Cconvex S⊆CC.One can also define the convex hull of S as the set of convex combinations of points in S,i.e. conv(S) = i∈I λ i s i I finite set, (s i ) i∈I ∈ S I , (λ i ) i∈I ∈ [0, 1] I , i∈I λ i = 1 .Theorem CA.21 (Carathéodory)It suffices to consider convex combinations of at most d+1 points to have all the convex combinations, i.e. conv(S) = d i=0 λ i s i (s i ) i∈[0..d] ∈ S d+1 , (λ i ) i∈[0..d] ∈ [0, 1] d+1 ,

•

  [t] -= max(-t, 0) t denotes the floor of t i.e. t = max{k ∈ Z | k t} t denotes the ceil of t i.e. t = min{k ∈ Z | k t} [t] denotes the integer part of t i.e. [t] = max{k ∈ Z | |k| |t|} • Notations for a vector x ∈ R n x i denotes the i th component of x, for any i ∈ [1..n] x(S) denotes the sum of x components having an index in S, for any S ⊆ [1..n], i.e. x(S) =i∈S x i x•y denotes the scalar product of x and y ∈ R n i.e. x•y = n i=1 x i y i x * y(S) denotes the sum i∈S x i y i for any y ∈ R n and S ⊆ [1..n] x /S denotes the restriction of x to S ⊆ [1..n], i.e. x /S = (x j ) j∈S • Linear algebra notations vect(S) denotes the vectorial space generated by a set of points S ⊆ R n aff(S) denotes the affine space generated by a set of points S ⊆ R n dim(S) denotes the dimension of the affine space generated by a set of points S ⊆ R n , i.e. dim(S) = dim aff(S) in general, and dim(S) = dim vect(S) if 0 ∈ S • Convex analysis notations, for S ⊆ R n conv(S) denotes the convex hull of S cone(S) denotes the convex cone generated by S cone 0 (S) denotes the convex cone generated by S ∪{0} extr(C) denotes the set of extreme points of a convex set C ⊆ R n 0 + (C) denotes the recession cone of a convex set C ⊆ R n --→ extr(C) denotes the set of extreme direction of a convex set C ⊆ R n Other general notations I denotes the vector (1, 1, . . . , 1) ∈ R n I S denotes the indicator vector of a set S ⊆ [1..n], i.e. (I S ) i = 1 ⇔ i ∈ S I {i} denotes then the i th vector of the canonical basis, for any i ∈ [1..n]

•

  E j = [d -C j ] + T j (S)1 denotes the tardiness of a task j ∈ J, i.e. T j = [C j -d] + E(S) denotes the set of early tasks i.e.E(S) = { j ∈ [1..n] | C j d } = { j ∈ [1..n] | T j = 0 } T (S) denotes the set of tardy tasks i.e. T (S) = { j ∈ [1..n] | C j > d } = { j ∈ [1..n] | T j > 0 }Graph notations For a given undirected graph G = (V, E)Cy(G) denotes the set of the elementary cycles of G supp(C) denotes the support of C for any cycle C ∈ Cy(G) N (u) denotes the neigborhood of a node u ∈ V , i.e. N (u) = {v ∈ V \{u} | {u, v} ∈ E}1 The S will often be implicit.

Dominances en programmation linéaire : ordonnancement autour d'une date d'échéance commune par

  Anne-Elisabeth FalqThèse de doctorat en informatique dirigée par Pierre Fouilhoux et Safia Kedad-Sidhoum

				présentée et soutenue publiquement le 2 Novembre 2020
	Jury :
	Nadia Brauner	rapporteuse Professeure, Université Grenoble Alpes, G-SCOP
	Pierre Fouilhoux	co-directeur Professeur, Université Sorbonne Paris Nord, LIPN
	Claire Hanen	examinatrice Professeure, Université de Nanterre, LIP6
	Safia Kedad-Sidhoum co-directrice Professeure, CNAM, CEDRIC
	Quentin Louveaux	examinateur Professeur associé, Université de Liège, Institut Montefiore
	Maurice Queyranne	rapporteur	Professeur émérite, University of British Columbia
	Françis Sourd	examinateur HDR, entreprise Sun'R
	0	a	d
	i		js	j
	d-a

task-independent arbitrary penalties → α i = α and β i = β

			UCDDP
			unrestrictive	NP-hard
	unrestrictive common due date	∈ P O(n log n)	common due date since already when symetric task-dependent arbitrary penalties
			→ α i and β i
		[4]
			HALL and POSNER [21]
			unrestrictive	NP-hard
			common due date	by reduction from
			symmetric penalties	EOPP
			task-dependent	weakly NP-h.
				O(np(J))
	1

→ α i = β i = ω i

	restrictive	NP-hard
	common due date	since already
	task-independent	when symetric
	arbitrary penalties	weakly
		NP-hard [25]
			DE VELDE [22]
		restrictive	NP-hard
		common due date	since already
		task-dependent	without weigths
		symmetric penalties weakly NP-h.
			O(n 2 d)

→ α i = α and β i = β CDDP restrictive

			NP-hard
		common due date since already
		task-dependent arbitrary penalties → α i and β i	without weights or when symetric
	restrictive	∈ P
	common due date	O(n log n)
	task-dependent
	symmetric penalties
	→

α i = β i = ω i

		restrictive	∈ P
		common due date	O(n log n)
		task-dependent	LPT order,
		symmetric penalties →	d placed in the middle
	p i = p	[22]

α i = β i = ω i

	GAREY, TARJAN, WILFONG [16]
	distinct due dates	NP-hard
	task-independent	by reduction
		from EOPP
		ω i = p i	[22]

symmetric penalties → α i = β i = 1

	distinct due dates	NP-hard
	task-independent	since already
	arbitrary penalties	when symetric
	→

α i = α and β i = β

	distinct due dates	NP-hard
	task-dependent	since already
	symmetric penalties	without weighs
	→

α i = β i = ω i

	distinct due dates task-independent	???
	arbitrary penalties
	→
	distinct due dates	∈ P
	task-independent	O(n log n)
	symmetric penalties
	→ α i = β i = 1
	p i = p
		distinct due dates strongly
		task-dependent	NP-hard
		arbitrary penalties since stronger
			than	ω i T i [30]

α i = α and β i = β p i = p

	distinct due dates task-dependent	???
	symmetric penalties
	→

α i = β i = ω i

		distinct due dates ??? task-dependent
		arbitrary penalties
		p i = p
		p i = p
	distinct due dates	∈ P
	task-independent	O(n log n)

symmetric penalties → α i = β i = 1

	distinct due dates	∈ P
	task-independent	O(n log n)
	arbitrary penalties
	→
	fixed sequence	[16]

α i = α and β i = β

	fixed sequence	[16]
		distinct due dates	∈ P
		task-dependent	O(n log n)

symmetric penalties → α i = β i = ω i

	0				wei ght ing				wei ght ing
			loss of	symetry		loss of	symetry	loss of	symetry	loss of	symetry
					wei ght ing				we ig ht in g
	p i =	p				loss of due date unicity
					wei ght ing
		loss of	symetry		wei ght ing	loss of	symetry	res tric tivn ess	wei ght ing
	fi x in g se			wei ght ing	distinct due dates ∈ P task-dependent O(n log n) arbitrary penalties fixed sequence [16]	loss of	symetry	weig hting	loss of	symetry
	q u en ce		loss of	symetry			loss of	symetry
					we igh tin g
						fixed sequence			[16]

.4 MIP formulations for scheduling problems In

  order to present MIP formulations, we first define what is a linear formulation for a minimization problem. Of course they can be transposed to a maximization problem. The convex analysis definitions used (polyhedron, convex...) are recalled in appendix (Cf. page 203).

0.4.1 Linear formulations and polyhedra Let

  d ∈ N * . A linear inequality7 in dimension d is defined by a normal vector a ∈ R d \{0}, a real number α ∈ R, and an inequality symbol, i.e.or . A vector x ∈ R d satisfies the inequality if a • x α (resp. a • x α). Otherwise, one say that x violates the inequality. An inequality is valid for a set S ⊆ R d if all the points of S satisfies it. A linear program (LP) in dimension d is defined by a linear objective function f from R d to R and a finite set of linear inequalities, indexed by I. Such an LP can be written as follows for a cost vector c ∈ R d and a family (a

Table 2 .

 2 1 presents the results obtained on Biskup and Feldmann's benchmark, while Table 2.2 presents those obtained on long processing times instances, for p max ∈ {100, 200, 300}.

			F LO			F TI			F 3			F 2
	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 -

Table 2 .

 2

1: Solving Biskup and Feldmann's unrestrictive instances using F LO , F TI , F 3 and F 2

Table 2 .

 2

2: Solving unrestrictive instances generated with p max 100, 200, 300 using F TI , F 3 and F 2

Table 2 .

 2

3: Solving Biskup and Feldmann's restrictive instances using F LO , F TI and F

4

Table 2 .

 2

4: Solving restrictive instances generated with p max = 200 using F TI and F

4

Table 3 .

 3

1: Improvement of the lower bound by adding cplex cuts and the triangle inequalities

Table 3 .

 3

2: Improvement of the lower bound by adding cplex cuts and the clique inequalities

  K,L ) for different values of K and L, which will allow to prove that a /E = α 2 (I C -I u,v ) i.e. ∀i ∈ [1..n[, a i,i+1 = α 2 , a u,v = -α 2 and other a e = 0 for e ∈ E \C s.t. e = {u, v}.

  Property 5.3 is based on a solution-centered point of view as all the neighbors of one given solution are taken into account. Conversely, constraints ( Îu ) and ( Î u ) are based on an operation-centered point of view as only one neighbor of each solution -the one obtained by a given operationis taken into account. Figures 5.5 and 5.6 illustrate these two points of view on the same set of solutions {A, B, . . . , N } represented by some blue points. We consider a given set of operations and the associated neighborhood function. An arrow is drawn from a solution X to a solution Y if X is compared to Y in order to determine whether X is dominated by Y .

Table 6 .

 6 2: Effect of adding insert and swap inequalities on lower bounds

				BF	BF +	R1		R1+	R2	R2+
			n	U-gap U-gap	U-gap U-gap	U-gap U-gap
			10	2.04% 0.00%	170% 0.00%	0.00% 0.00%
			20	0.95% 0.00%	196% 0.00%	1.33% 0.00%
			50	0.35% 0.02%	203% 0.00%	13.83% 0.00%
			60	0.26% 0.01%	170% 0.01%	16.80% 0.01%
			80	0.22% 0.01%	172% 0.00%	16.36% 0.00%
			100	0.18% 0.00%	174% 0.00%	15.72% 0.00%
			120	0.10% 0.00%	170% 0.00%	15.77% 0.00%
			150	0.10% 0.00%	171% 0.00%	15.27% 0.00%
			180	0.10% 0.00%	171% 0.00%	16.09% 0.00%
			200	0.10% 0.01%	171% 0.01%	16.28% 0.00%
		Table 6.3: Comparison of different heuristics providing an upper bound
	to obtain:	an upper bound	a lower bound	a 5%-approximation	an exact solution
	use:		F 2 -lp → R1+	F i+s d	-rn → R2+		F i+s d	-5%	F i+s d
	n	L-gap U-gap time	L-gap U-gap time	time	#nd	time	#nd
	50	86% 0.00% <1	11% 0.00% 3	8		0	4	34
	100	93% 0.00%	2	14% 0.00% 25	160	114	165	141
	200	97% 0.01% 20	15% 0.01% 418	7420	928	8317	1474
	500	-	-(99%) 778	-	-	-	-		-	-	-

Table 6 .

 6 4: Different ways of using insert and swap inequalities

	Chapter 7

Index of polyhedra and formulations

  J, b j δ j d (1.24) ∀j ∈ J, b j a -(1-δ j ) d (1.25)

	sequence, 24	linear ordering variables, 39 trivial (cut) , 118
	∀j ∈ J, e j +p j δ j d-a j∈J p j δ j d-a a 0 j∈J γ j = 1 ∀j ∈ J, δ j 1-γ j ∀j ∈ J, t j p j + (1-γ j ) (p(J)-p j ) ∀j ∈ J, a p j +(1-γ j ) d ∀j ∈ J, b j 0 ∀j ∈ J, b j a α-ratio, 14 β-ratio, 14 ρ-σ-shaped (schedule), 42 A ∼ nodes on a cycle, 201 stable set, 187 F f obj -cut inequality, 158 starting time, 10 straddling (task), 14 f obj -enhancing inequality, 158 sub-graph, 201 f obj -valid inequality, 158 F 2 -F 4 procedure, 93 face, 209 facet, 209 G generalized cut inequalities ∼ for P n δ,X , 113 ∼ for QP n , 99 (undirected) graph, 201 ∼ programm (LP), 33 support ∼ of a cycle, 201 ∼ of a path, 201 swap ∼ inequality, 163 ∼ local optimum, 152 ∼ operation, 152 swap-dominated, 152 symmetric (penalties), 15 ∀j ∈ Index of definitions affine ∼ combination, 204 ∼ map, 210 ∼ set, 204 B barycenter, 205 block, 14 boolean quadric polytope, 98 bounding function, 35 Branch-and-Bound, 35 Branch-and-Cut, 38 branching ∼ decision, 35 ∼ rule, 35 ∼ tree, 35 ∼ variable, 36 C CDDP, 12 CDWP, 80 clique, 201 clique inequalities ∼ for CU T n , 99 ∼ for P n δ,X , 112 ∼ for QP n , 99 common (due date), 12 compact (formulation), 34 complete graph, 201 completion time, 10 completion time variables, 38 cone, 206 consecutive H half-space, 209 Hamiltonian ∼ cycle, 201 T tardiness, 11 tardy (task), 14 task, 9 time horizon, 38 ∼ path, 201 hyperplane, 209 I idle time, 14 independent set, 187 time-indexed variables, 38 transposition (inequality ∼), 104 triangle inequalities ∼ for CU T n , 99 ∼ for P n δ,X , 112 ∼ for QP n , 99 induced cut, 202 induced sub-graph, 201 inedependent affinely ∼, 204 linearly ∼, 204 insert ∼ inequalities, 155 ∼ local optimum, 152 ∼ operation, 152 insert-dominated, 152 integer program (IP), 34 invariant ∼ under a function, 110 L left-block, 14 length ∼ of a cycle , 201 ∼ of a path , 201 line, 203 linear ∼ inequality, 33 CU T n , 98 F 1 , 41 F 2 , 43 F LO , 40 F max-cut , 183 δ,X F TI , 39 F 3 , 61 F 3 -extr, 87 F 3 -int, 87 P 3 , 61 P 4 , 71 P n δ,X , 98 F 3 -lp, 87 F 4 , 71 F edges , 187 P n δ,X , 118 ≈ P n δ,X , 118	j∈S convex p 2 j (1-δ j ) ∼ combination, 205 ∼ hull, 205 ∼ set, 205 covariance map, 106 equivalent (V-shaped d-blocks), 41 locally optimal, 151 trivial inequalities M ∼ for P n δ,X , 112 ∼ for QP n , 98 machine, 9 max-cut, 202 max. w. indep. set, 187 min-cut, 202 Minkowski sum, 203 mixed-integer program (MIP), 34 N natural variables, 49 neighbor, 151 separation U u-canonical, 153 -shaped, 14 UCDDP, 12 undirected graph, 201 unrestrictive (due date), 12 cut, 85, 202 cut inequalities ∼ for P n δ,X , 113 ∼ for QP n , 99 cut inequality, 158 cut polytope, 98 cutting plane based algorithm, 37 cycle, 201 D d-block, 14 d-or-left-block, 14 d-schedule, 14 dimension neighborhood, 151 neighborhood function, 151 node, 201 non-negativity constraint, 10 non-overlapping constraint, 10 V V-shaped, 14 valid ∼ hyperplane, 211 ∼ inequality, 33 valid inequality, 158 O vertex, 209 odd sub-cycle inequalities ∼ for CU T n , 99 ∼ for P n δ,X , 113 W ∼ for QP n , 99 on-time (task), 14 WETP, 25 operation, 151 optimality gap, 114 ordered bi-partition, 41 ∼ of an affine set, 204 ∼ of an arbitrary set, 204 P direction of an affine set, 204 partition, 41 distinct (due dates), 29 path, 201 dominance inequalities, 151 pointed sequence, 24 dominant (set), 14 polyhedron, 209 dominated, 151 polytope, 209 due date, 11 E earliness, 11 early (task), 14 early-tardy partition (from δ variables), 60 (from C j variables), 59 edge, 201 endpoint (of a path), 201 EOPP, 25 processing times, 10 pruning, 35 R recession cone, 206 regular criterion, 49 representative, 41 S schedule, 10 (line) segment, 203 P G F 2 , 183 P edges , 187 P n F 2 , 43 P LO , 40 P Q , 52 P Q M , 55 P T I , 39 QP n , 98 QP n LP , 98	(Q2) (1.15) (1.16) (1.17) (1.18) (1.19) (1.20) (1.21) (1.22) (1.23)
	∼ nodes on a path, 201 ∼ relaxation, 34	extreme direction, 207 ∼ algorithm, 37
	consistent, 58 ∼ relaxation value, 36	extreme point, 207 ∼ problem, 37

1.8) ∀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 +

In such a context, for a given schedule C, we call "an" idle time a maximal time interval between two task execution periods (maximal for ⊆).

Since the two tasks are identical, the two possible left-blocks are identical, idem for the two possible d-blocks.

By extension of the definition for a schedule, the early tasks of a pointed sequence are those place before the on-time task in the sequence, including the on-time task itself, and the tardy tasks are the other tasks.

According to the authors themselves.

Note that a linear inequality a•x α corresponds to an half-space delimited by an affine hyperplane, since the right member α is not necessarily zero.

They are the same, as soon as variables n gl , n cp , and n s are renamed into w gl , w cp , and w s respectively.

For the sake of readability, we use X i,j regardless of whether i < j, that is to denote the variable X min(i,j),max(i,j) .

since task 7 and 8 will never complete before d = 2.

Here we use a vector denoted y instead of C since these constraints will be used in the following for other variables, which will not represent completion times.

Such a reasoning would be valid for polytopes, but P Q is unbounded.

Implicitely, inequalities (Q0) are written for the whole set of tasks J. In case where the non-overlapping only involves a subset of tasks I ⊆ J, the condition is M p(I).

This paragraph, along with Lemma 1.18, is not placed before, since the complete encoding and the functions θ d and θ d must be already introduced for a correct enunciation.

Cf. Section 1.4.2, variables (γ j ) j∈J and (b j ) j∈J , and inequalities (1.16 -1.17), (1.18 -1.20), (1.21), and (1.22 -1.25).

are not the transposition of any inequality(3.18).

Note that in general, a set S is said invariant by a function ψ when ψ(S) ⊆ S. In the particular case where ψ is a symmetry, i.e. ψ • ψ = id, this implies that S = ψ • ψ(S) ⊆ ψ(S), and hence ψ(S) = S.

For a given instance whose optimal value is OP T , the optimality gap of a lower bound LB is (OP T -LB)/OP T .

cplex cuts are linear inequalities generated by cplex to cut off fractional points.

Note that the clique inequalities are not all added since we use a heuristic separation algorithm to handle them.

Since the introduced families of valid inequalities are not disjoint, this distribution could be presented differently: for example some triangle inequalities could have been presented as cut, generalized cut, or clique inequalities.

for any J ∈ V , we obtain: α 2 -a I,I+2 + 0 + α 2 -a I,I+2 = α, and deduce that a I,I+2 = 0. Since this is true for any I ∈ [2..v-3], the property H 2 stands.

& & 2Q -X W < (|W |-1) |W | -& &

& &

These constraints are labeled by I as insert, not I as inequality.

For a conditional statement p ⇒ q, the consequent is q.

Function ψ {u,v} used to define θ u,v is the function ψ M defined on page 108 for M = {u, v}.

This question is not equivalent to the question of inequality redundancy: even if the swap inequality did not cut off more integer points than the insert inequalities, it could cut off more fractional extreme points. However, since the answer is yes, it suffices to answer to the question of inequality redundancy.

For sake of brevity, we use c-cut instead of f c -cut where f c would be the objective function, i.e. f c = (δ, X) → c•X in this case.

Note that an inequality is provided for each ordered pair of nodes, that is even for two nodes that are not adjacent in G, i.e. {u, v} ∈ E.

Note that for some instances such edge does not exist, and in this case this section does not hold.

Since only undirected graphs will be considered in this thesis, we will only say "graph".

Since only elementary paths (resp. cycles) will be considered in this thesis, we will only say "path" (resp. "cycle").

Unless P = N P

One can note that, when |S| is odd, the inequality (3.19) S,θ for θ = |S|-1 2 is exactly (3.18) S . As previously for QP n , the clique inequalities for P n δ,X generalize the clique inequalities for CU T n .

Transposition 3.21 (Cut inequalities)

Let (S, T ) ⊆ P(V ) 2 such that S ∩T = ∅, |S| 1, and |T | 2. We have (3.12) C,F ϕ,0 -→ (3.17) C,F .

We have

Note that the transposition of inequality (3.12) C,F produces the following inequality, which can be simplified into (3.17) C,F using that |F | is odd and thus

In the next section, we present some experimental results for assessing the reinforcement of Formulation F 2 using the triangle and clique inequalities for P n δ,X .

Without name inequalities

In this section, we assume that n 4. For any node (u, v) ∈ V < , we introduce the following inequality.

δ u +δ v -(n-3)X u,v + X {u, v} : V \{u, v} 2 (? u,v ) Property 4.4

For any node (u, v) ∈ V < , the inequality (? u,v ) defines a facet of P n δ,X

Proof : Let (u, v) ∈ V < . Let us denote by W the set of the other nodes, i.e. W = V \{u, v}. Inequality (? u,v ) can then be written as follows: • Validity Let (δ, X) ∈ S n δ,X .

-If (δ u , δ v ) = (1, 1) then X u,v = 0 and δ u +δ v -(n-3) X u,v = 2. Moreover, all X components are nonnegative, therefore δ u +δ v -(n-3) X u,v + X({u, v} : W ) 2, that is (δ, X) satisfies inequality (? u,v ).

-If (δ u , δ v ) = (1, 0) then X u,v = 1, and δ u +δ v -(n-3)X u,v = 1-(n-3) = 4-n. Moreover, for any i ∈ W we have X i,u = 1-X i,v , thus X {v} : W +X {v} : W = |W | = n-2. We deduce that (δ, X) satisfies inequality (? u,v ) and even that it satisfies it to equality.

-If (δ u , δ v ) = (0, 1), we show similarly that (δ, X) satisfies inequality (? u,v ) to equality.

-If (δ u , δ v ) = (0, 0), then X u,v = 0, and δ u +δ v -(n-3) X u,v = 0. Moreover, since δ = 0, there exists at least one node i ∈ W such that δ i = 1 , and thus such that X i,u = X i,v = 1. Therefore, we have X {u} : W + X {v} : W 2. We deduce that (δ, X) satisfies inequality (? u,v ).

We deduce that all the points of S n δ,X satisfy inequality (? u,v ). Since P = conv( S n δ,X ) , we deduce that any point in P n δ,X satisfies also this inequality. In other words, (? u,v ) is valid for P n δ,X .

• Introducing the including facet Let us consider a ∈ R V ×R E and α ∈ R such that F a = (δ, X) ∈ P n δ,X | a•(δ, X) = α is a facet of P n δ,X containing the face F associated with (? u,v ) , that is the face defined as follows.

F = (δ, X) ∈ P n δ,X δ u +δ v -(n-3) X u,v + X {u} : W + X {v} : W = 2

Star inequality

In this section, we assume that n 4. For any node u ∈ V , we introduce the following inequality.

-(n-3) δ u + δ V \{u} + X {u} : V \{u} 2 (Star u ) Property 4.5

For any node u ∈ V , the inequality (Star u ) defines a facet of P n δ,X

Proof : Let u ∈ V . Let us denote by W the set of the other nodes, i.e. W = V \{u}. Inequality (Star u ) can then be written as follows: • Validity Let (δ, X) ∈ S n δ,X .

-If δ u = 1, then for every i ∈ W we have X {i,u} = 1-δ i , thus δ W + X {u} :

We deduce that (δ, X) satisfies (Star u ), and even that is satisfies it to equality.

-If δ u = 0, then there exists at least i ∈W such that δ i = 1 since δ = 0. We then have X {i,u} = 1, and since components of δ and X are non-negative, we deduce that (δ, X) satisfies (Star u ).

We deduce that all the points of S n δ,X satisfy inequality (Star u ). Since P n δ,X = conv( S n δ,X ) , we deduce that any point in P n δ,X satisfies also this inequality. In other words, (Star u ) is valid for P n δ,X .

• Introducing the including facet

containing the face F associated with (Star u ), that is the face defined as follows.

• Integer points satisfying inequality (Star u ) to equality For any U ⊆ W , let us denote by p U the point of S defined by δ = I u +I U . As previously said, such a point satisfies (Star u ) to equality, since δ u = 1. Therefore, p U ∈ F ⊆ F a , then we have a.p U = α, which can be written as follows.

Linear inequalities for the insert dominance property

• Some notations and definitions to describe V-shaped d-blocks In order to provide an expression of the penalty variation induced by such an operation, it is convenient to choose a specific V-shaped d-block as the representative of an equivalence class. More precisely, the chosen representative will depend on the inserted task. Let us introduce some notations, related to a given task u ∈ J. To describe the early side of a V-shaped d-block with regard to u, the set of remaining tasks J\{u} can be split according to their α-ratio into two subsets A(u) and Ā(u) defined as follows.

Similarly, we introduce the two following subsets to describe the tardy side.

Note that if u is early in a V-shaped d-block, early tasks belonging to A(u), i.e. tasks of A(u)∩E, are necessarily scheduled after u, because of their α-ratio. Conversely, an early task of Ā(u) is not necessarily scheduled before u, when its α-ratio is the same as the one of u. However, we will consider a representative where u is placed after all the early tasks of Ā(u), that is as tardy as possible according to its α-ratio. Similarly, in case where u is tardy, we will consider a representative where u is scheduled before all the tardy tasks of B(u). Such a representative will be called a u-canonical V-shaped d-block. • Penalty variation induced by an insert operation Given u ∈ J, let (E, T ) be a partition such that u ∈ E. We aim to express the variation of f induced by the insertion of u into T, i.e. between (E, T ) and (E \{u}, T ∪{u}). To this end, we consider a u-canonical representative S of (E, T ), and the V-shaped d-block S obtained from S by inserting u in T , as early as possible, that is just after tardy tasks of B(u). Note that S is thus a u-canonical representative of E\{u}, T ∪{u} . Let (e, t) (resp. (e , t )) denote the earliness and tardiness vector of tasks in S (resp. S ).

As we can observe in Figure 5.4, early tasks of A(u) and tardy tasks of B(u) are identically scheduled in S and S . The penalty variation induced by the insertion of u is then only induced by the move of u and by the right-shifting of early tasks of Ā(u) and tardy tasks of B(u). Each task j ∈ Ā(u)∩E of S is shifted p u time units later in S , while staying early. We then have e j = e j -p u and t j = t j = 0. The earliness penalty of each task j in S is therefore α j e j = α j e j -α j p u , which represents a reduction of α j p u compared to its earliness penalty in S. Summing up over Ā(u)∩E, we obtain a reduction of the earliness penalties of p u α Ā(u)∩E . Similarly, the rightshifting of tasks in B(u)∩T induces an increase of the tardiness penalties of p u β B(u)∩T , since for each j ∈ B(u)∩T we have β j t j = β j (t j +p u ).

Moreover, since e u = p A(u)∩E , removing u from the early side induces a reduction of the earliness penalty of α u p A(u)∩E . Similarly, introducing u on the tardy side induces an increase of the tardiness penalty of

Finally, the penalty variation between S and S , is given by the following expression.

Since S and S are representative of (E, T ) and (E \{u}, T ∪{u}) respectively, ∆ u (E, T ) is the variation of f induced by the insertion of u in T . Property 5.4.(i) follows.

The insert operation of the tardy task u on the early side applied on schedule S provides schedule S. Note that this statement requires that S is u-canonical. This observation allows to establish that the penalty variation induced by inserting u on the early side in S is simply -∆ u (E, T ), and results in Property 5.4.(ii).

Property 5.4

Let (E, T ) be a partition.

Let us introduce, for a given task u ∈ J, the two following constraints 1 .

Thanks to Property 5.4, ( Îu ) (resp. ( Î u )) discards every partition where u is early (resp. tardy) that would have a lower penalty if u was tardy (resp. early). Note that only considering constraints ( Îu ) and ( Î u ) for a given u is not sufficient to discard all insert-dominated partitions. Indeed, these constraints do not take into account the whole insert-neighborhood of the solutions as each one is only

A way to obtain a dominance inequality from an operation

Let us consider the minimization problem min S∈S f obj (S), where S is a finite subset of R n .

Property 5.6

Let θ be an operation on S , i.e. θ ∈ F(S , S ), where S ⊆ S denotes its domain of definition. Let N θ be the related neighborhood function, i.e. N θ (S) = {θ(S)} if S ∈ S , N θ (S) = ∅ otherwise. By definition of m, we deduce that M Π(S) -∆(S), that is -M Π(S) ∆(S). In other words, S satisfies the inequality.

If

If S ∈ S , Π(S) = 0 by definition, then ∆(S) -M Π(S) ⇔ ∆(S) 0 ⇔ f obj θ(S) -f obj (S) 0. In other words, S satisfies the inequality if and only if S is θ-dominant.

In the case of a maximization problem, under the same assumptions, the N θ -dominance is translated by the inequality ∆(S) M Π(S) where M is defined from an upper bound Note that these properties can also be used for a set of operations Θ instead of for a single operation. Indeed, if I θ denotes the inequality build according to Property 5.6 for the operation θ ∈ Θ, then the family (I θ ) θ∈Θ translates the N Θ -dominance property, where N Θ is the neighborhood function associated with the operation set Θ, that is

We apply Property 5.6 to the swap operation for UCDDP in the next sub-section. In Chapter 7, the maximization version of this property will be used for other problems.

Application for swap operations

Let (u, v) ∈ J 2 such that u = v. We have defined, on page 152, the swap operation as an operation on ordered bi-partitions. However, to stick to the Property 5.6 framework, we need to consider an operation on vectors. Therefore we introduce the following operation 3 .

Note that S u,v is exactly the set of vectors that encode a partition (E, T ) such that u ∈ E and v ∈ T .

In order to apply Property 5.6, we have to identify suitable functions ∆ and Π, before defining a constant M , and finally obtain a dominance inequality.

• Identifying function Π To identify the domain of θ u,v , i.e. S u,v , we introduce the following linear function.

Therefore, Π u,v is suitable with Property 5.6. Moreover, one can already note that max Π u,v = 2, which will be useful subsequently to define M u,v .

• Identifying function ∆ To identify ∆ u,v , we have to express the variation of h α,β -the objective function -between a vector (δ, X) in S u,v and its image θ u,v (δ, X). By construction, that corresponds to the variation of f between a partition (E, T ) such that u ∈ E and v ∈ T , and its image (E \{u}∪{v}, T \{v}∪{u}), then it also corresponds to the penalty variation between a V-shaped d-block S in which u is early and v is tardy and its image swap u,v (S). As we find it easier, we choose to express the penalty variation between V-shaped d-blocks, and even between specific V-shaped d-blocks as done for the insert operation.

Let (E, T ) be a partition such that u ∈ E and v ∈ T , and S be a u and v-canonical representative of (E, T ). We denote by S the schedule obtained from S by swapping u and v so that S is also both u and v-canonical, that is by scheduling u after all the early tasks having the same α-ratio α u /p u and v before all the tardy tasks having the same β-ratio β v /p v . S is a representative of E\{u}∪{v}, T \{v}∪{u} . Let (e, t) (resp. (e , t )) denote the earliness and tardiness vector of tasks in S (resp. S ).

If αv pv < αu pu , all the early tasks of Ā(v) are scheduled before u in S, since the V-shaped property holds, but the early tasks of A(v)\{u} can be scheduled before or after u. This case is illustrated in Figure 5.9. Conversely, if αv pv αu pu , all the early tasks of A(v) are scheduled after u in S, but those of A(v)\{u} can be scheduled before or after u. This case is illustrated in Figure 5.10.

Similarly, we can distinguish two cases depending on the relative order of the β-ratios of u and v, as illustrated in Figures 5.11 and 5.12.

.12: Tardy side variation induced by swapping u and v when

As shown in Figures 5.9 and 5.10, the earliness of u in S is e u = p A(u)∩E , while the tardiness of u in S is e u = p B(u)∩T +p u (Cf. Figures 5.11 and 5.12). Note that v is removed from B(u) since v is not tardy in S , and therefore cannot contribute to the tardiness of u. Similarly, we have

Moreover, the tasks of A(u)∩E are identically scheduled in S and S only if αv pv < αu pu . In this case, tasks of Ā(u)∩E are not consecutive in S since v separates them into two blocks: tasks of Ā(v)∩E which have been left-shifted by p v -p u time units, and tasks of A(v)∩ Ā(u)∩E which have been right-shifted by p u time units (Cf. Figure 5.9). In the opposite case, i.e. if αv pv αu pu , tasks of A(u)∩E are not consecutive in S . Indeed, v separates them into two blocks: tasks of A(v)∩E which are identically scheduled in S and S ; and tasks of A(u)∩ Ā(v)∩E which are left-shifted by p v time units. Moreover, in that case tasks of A(v)∩E are left-shifted by p v -p u time units (Cf. Figure 5.10).

NB:

In the two previous paragraphs, as in Figures 5.9 to 5.12, we assumed that p v -p u 0. In the contrary case, i.e. if p v -p u < 0, tasks are not left-shifted by p v -p u time units but rather right-shifted by p u -p v time units.

From these observations, we can express the earliness penalty variation of all the tasks in E\{u} by expressing, in each case, the penalty variation induced by a block shifting as described for the insert operation. The same method can be applied for the tasks of T \{v}. The reader can refer to Figures 5.11 and 5.12 for illustration. Finally, the penalty variation between S and S -which is equal to f (E\{u}∪{v}, T\{v}∪{u}) -f (E, T ) by construction -is given by the following expression.

Using δ variables, this variation can be written as follows.

Counter-example 5 : Schedules that are cut off by a swap inequality are not necessarily also cut off by the two corresponding insert inequalities

Let us consider the 6-task instance of UCDDP defined by the parameters on the right where α 4 , α 6 , β 1 , and β 3 can be chosen arbitrarily.

Let us denote by u the task 2, and by v the task 5.

In schedule S A , u is early and v is tardy. The total penalty of S A , which is equal to 65, is reduced neither by inserting v on the early side, resulting in S B whose total penalty is 69 65, neither by inserting u on the tardy side, resulting in S C whose total penalty is 73 65. However, swapping tasks u and v results in S D whose total penalty is 62 65.

3 5

The penalty variation between S 0 and S 1 , denoted by ∆ 1 , is only due to the move of u on the tardy side and the right-shifting of tasks in Ā(u )∩E and B(u )∩T . Therefore, this variation can be expressed as follows.

Similarly, the penalty variation between S 0 and S 2 is denoted by ∆ 2 and expressed as follows.

Finally, the penalty variation between S 0 and S 3 , denoted by ∆ 3 , can be expressed as follows.

Using equalities (♠), the property follows.

Insert inequalities are not h α,β -cuts

In the experimental results presented in Chapter 6, one can observe that neither insert inequalities nor swap inequalities do not improve the linear relaxation value of Formulation F 2 . In the following property, we prove this results for insert inequalities. We try to adapt the proof to swap inequalities, but do not succeed to conclude.

Property 5.10

The insert inequalities are not h α,β -cut for Formulation F 2 , i.e. ∀Y ∈ arg min

h α,β (δ, X), ∀u ∈ J, Y satisfies both (I u ) and (I u ).

Proof : Let us assume that there exist Y * ∈ arg min

By denoting Y * = (δ, X), we then have

By definition of M u , one can deduce that δ u 0 = 0, otherwise (I u ) would be valid. Therefore, we can build a point Y = (δ , X ) that is different from Y * as follows.

∀i ∈ J, δ j = δ j if j = u 0 0 otherwise and

Note that, if Y * is an integer point, Y is the points obtained by applying the insertion of u on the tardy side.

One can check that (δ , X ) satisfies (X.1 -X.4). Hence,

This difference can be written as follows.

Using the expressions of ∆ u (δ) and M u provided in pages 155 and 155 for u = u 0 , we obtain the following equation.

For any j ∈ J \{u 0 }, we have X j,u 0 2 -δ j -δ u 0 from inequality (X.4), then we have:

By summing up for any j ∈ B(u) (resp. j ∈ B(u)), we deduce that (a) (A) (resp. (b) (B)).

By summing up for any j ∈ A(u) (resp. j ∈ Ā(u)), we deduce that (d) (D) (resp. (e) (E)).

Since (c) = (C), we finally have

Hence, a minimizer Y * of h α,β on P n F 2 necessarily satisfies (I u ). Following the same lines, one can proof that it also satisfies (I u ).

In the next chapter, we provide experimental results to assess the practical efficiency of swap and insert inequalities for Formulation F 2 .

Using swap and insert inequalities to obtain an upper bound

In this section, we propose two upper bounds on the optimal value. The first one is derived from the fractional solution obtained at the root node by a simple rounding procedure. The second one is obtained by applying in addition a local search procedure.

• A simple rounding procedure We derive an integer solution (δ, X) by rounding a fractional solution ( δ, X), as follows.

By construction, (δ, X) satisfies inequalities (X.1-X.4) (Cf. Lemma 0.5). It is thus a solution of F 2 , and h α,β (δ, X) is an upper bound of the optimal value. However, it is not necessarily a solution for F i , F s and F i+s formulations, since (δ, X) does not necessarily satisfy the insert and swap inequalities.

In order to transform such a solution into a solution satisfying the dominance inequalities, we can benefit from the fact that each dominance inequality is based on an operation as explained below.

• Link between dominance properties and operations When a vector δ ∈ {0, 1} J encoding a partition (E, T ) does not satisfy a dominance inequality, applying the corresponding operation to (E, T ) provides a partition with a strictly lower penalty. The following property, formally states this result.

Property 6.1

Let δ ∈ {0, 1} J and let (E, T ) be the partition encoded by δ. For any u ∈ J, (i) δ does not satisfy (I u ) for u if and only if u ∈ E and f E \{u}, T ∪{u} < f (E, T ), (ii) δ does not satisfy (I u ) for u if and only if u ∈ T and f E ∪{u}, T \{u} < f (E, T ).

Moreover, for any (u, v) ∈ J 2 such that u = v, (iii) δ does not satisfy (S u,v ) for (u, v) iff (u, v) ∈ E×T and f E \{u}∪{v}, T \{v}∪{u} < f (E, T ).

Proof : Let us fix u ∈ J. From Property 5.5, δ does not satisfy inequality (I u ) if and only if (E, T ) does not satisfy constraints ( Îu ), which is equivalent to u ∈ E and ∆ u (E, T ) < 0. Using Property 5.4, it is equivalent to u ∈ E and f E \{u}∪{v}, T \{v}∪{u} -f (E, T ) < 0, which proves (i). The proofs of (ii) and (iii) follow the same scheme.

Corollary 6.2

Let δ ∈ {0, 1} J and let (E, T ) be the partition encoded by δ.

(i) (E, T ) is an insert local optimum if and only if δ satisfies (I u ) and (I u ) for all u ∈ J.

(ii) (E, T ) is a swap local optimum if and only if δ satisfies (S u,v ) for all (u, v) ∈ J 2 s.t. u = v.

• A local search procedure based on insert and swap operations Let us call Insert_swap_improvement the procedure that consists, from a given initial solution, in iteratively apply the operation associated with each violated dominance inequality, until all of them are satisfied. Algorithm 1 presents a way to implement this procedure. From Property 6.1, if an

Left-to-right insertion based dominance inequalities

• Defining an operation on the solutions Let u ∈ V . We consider an operation equivalent to the insertion of a tardy task on the early side. Let us introduce S + u the set of vectors that encode an ordered bi-partition (E, T ) such that u ∈ E, i.e. S + u = (δ, X) ∈ S G δ,X δ u = 0 . Note that, if (E, T ) is a partition encoded by a vector in S + u , then removing u from T and adding it to E results in another partition. Let us introduce the corresponding operation θ + u on the encoding vectors, using the function ψ M defined in page 108 for M = {u}.

In order to apply Property 5.6, we have to identify suitable functions ∆ and Π, before defining a constant M , and finally obtaining a dominance inequality.

• Identifying function Π To identify points belonging to S + u , we introduce the following linear function.

• Identifying function ∆ The variation of the objective function between a vector (δ, X) in S + u and its image θ + u (δ, X) is given by the following expression.

u }, following the method described in page 157 for a maximization problem, we derive the following constant.

|c {u,v} |

• Finally writing a dominance inequality Following Property 5.6 adapted to a maximization problem, we obtain the inequality below, which translates the N θ + u -dominance.

Right-to-left insertion based dominance inequalities

• Defining an operation on the solutions Let u ∈ V . We consider an operation equivalent to the insertion of a early task on the tardy side. Let us introduce S - u the set of vectors that encode an ordered bi-partition (E, T ) such that u ∈ E, i.e. S - u = (δ, X) ∈ S G δ,X δ u = 1 . Note that, if (E, T ) is a partition encoded by a vector in S - u , then removing u from E and adding it to T results in another partition. Let us introduce the corresponding operation θ - u on the encoding vectors, using the function ψ M defined in page 108 for M = {u}.

In order to apply Property 5.6, we have to identify suitable functions ∆ and Π, before defining a constant M , and finally obtaining a dominance inequality.

• Identifying function Π To identify points belonging to S - u , we introduce the following linear function.

• Identifying function ∆ The variation of the objective function between a vector (δ, X) in S + u and its image θ + u (δ, X) is given by the following expression.

|c {u,v} |.

• Finally writing a dominance inequality Following Property 5.6 adapted to a maximization problem, we obtain the inequality below, which translates the N θ - u -dominance.

Appendices

Convex analysis definitions and properties

CA.3 General properties and definitions

We recall here some well-known definitions and theorems in convex analysis. They can be found in the reference book of Rockafellar titled "Convex Analysis" [START_REF] Rockafellar | Convex Analysis[END_REF]. Results are given in R d (for d ∈ N * ), even if most of them are also true for an arbitrary real vector space. We denote by x•y the scalar product between two vectors of R d , i.e. x•y = d i=1 x i y i . Note that in finite-dimensional space, and thus in particular in R d , compact sets are bounded closed sets.

We give the definition of the different structures we use (affine space, convex, cone, polyhedron), some of their basis properties, along with some important theorems (Minkowski, Klee, Minkowski-Weyl), which ensure that such structures can be generated from a subset of key elements, as a vector space is generated by a basis.

In the sequel, R d , which is both a vector space and an affine space on itself, has to be seen sometimes as a vector set, sometimes as a point set. Moreover, several definitions are available for most of the considered structure. We chose one of them as "the definition", and propose equivalent definitions as remarks.

Let us start by defining some usual notations.

The line segment between x and y is {x

The line segment between x and y is denoted by [x,y] or [y,x].

Moreover, if B = {x}, then A+B can be denoted by A+x instead of A+{x}.

CA.3.1 Affine sets

y is an affine combination of points

In this case, F is called the direction of A, and is denoted by -→ A . The dimension of A is defined as the dimension of F , and denoted by dim(A).

Remark CA.6

An affine set can be defined as a set containing the line through each pair of points that it contains, or as a set that is stable by affine combination, i.e. a set containing all the affine combinations of its points.

Remark CA.7

Note that

Property CA.8

Let A 1 and A 2 two affine sets of R d . A 1 ∩A 2 is either the empty set, or an affine set.

Corollary CA.9

Let S ⊆ R d . There exists a smallest affine set containing S, called the affine set generated by S. This set is denoted by aff(S), and is given by aff(S) =

A affine S⊆A A.

Definition CA.10

The dimension of S is the one of the affine set that it generates, i.e. dim(S) = dim(aff(S)).

Definition CA.11

.m] are linearly independent.

Remark CA.12

In a linearly independent vector family, no vector can be written as a linear combination of the others. In other words, each vector does not belong to the vector space generated by the other vectors.

In an affinely independent point family, no point can be written as an affine combination of the others.

In other words, each point does not belong to the affine set generated by the other points.

Remark CA.13

If (u i ) i∈ [1..m] are linearly independent, then these m vectors generate a m-dimensionnal vectorial space.

If (x i ) i∈[0..m] are affinely independent, then these m+1 points generate a m-dimensionnal affine space.

CA.3.3 Cones

Definition CA.22

Remark CA.23

Equivalently, a cone can be defined as a set that is stable by positive multiplication. Similarly, a convex cone is as a set that is stable by positive linear combination.

Property CA.24

Let I be an arbitrary set.

Corollary CA.25

There exists a smallest convex cone containing S, called the cone generated by S. This set is denoted by cone(S), and is given by

Let cone 0 (S) denote the smallest convex cone containing S ∪{0}, i.e. cone 0 (S) = cone(S)∪{0}.

Remark CA.26

Beware, the notation does not show that cone(A) has to be a convex set.

CA.3.4 Recession Cones

Definition CA.27

Consequently, the set of recession directions for C is a convex cone containing 0. This justifies the following definition.

Definition CA.29

Let C be a convex set of R d .

The recession cone of C, denoted by 0 + (C), is the set of recession directions for C.

CA.3.5 Extreme points and extreme directions

Definition CA.30

⇔ x cannot be written as the middle of two other points in C

The set of the extreme points of C is denoted by extr(C).

Remark CA.31

Note that x ∈ extr(C) if and only if C \{x} is also a convex set. Therefore, if C = conv(S) then extr(C) ⊆ S, but in general extr(C) = S.

For example if S contains three aligned points, one of them cannot be extreme in conv(S).

Lemma CA.32

Let C 1 and C 2 be two convex sets of

x is a point of C 1 that cannot be written as convex combination of points in C 2 . Hence, it cannot be either written as a convex combination of points in C 1 . Thus x ∈ extr (C 1 ).

Remark CA.33

Note that in general the converse inclusion is not true, and hence no equality stands. However, in the case where C 2 is convex, and C 1 one of its faces, there is equality (Cf. Lemma CA.56).

Lemma CA.34

Let m ∈ N * . Let (C i ) i∈ [1..m] be a family of m convex sets of R d .

If

denotes the cartesian product, we have extr

extr(C i ).

Remark CA.35

If K is a convex cone, then extr(K) = {0} or extr(K) = ∅.

In other words, extreme points are not the good notion for cones, which have to be considered more as sets of directions than as sets of points.

Definition CA.36

Let K be a convex cone of R d . Let u ∈ K such that u = 0.

⇔ u cannot be written as the positive combination of two other directions in K

The set of the extreme directions of K is denoted by -→ extr(K).

CA.3.6 Generation of a convex set by its extreme points and directions

Theorem CA.37 (Minkowski)

Corollary CA.38

Let C be a compact convex set of R

Definition CA.42

A polyhedron is an intersection of finitely many half-spaces.

A polytope is a bounded polyhedron.

Remark CA.43

A polyhedron is a closed convex set. A polytope is a compact convex set.

Theorem CA.44 (Minkowski-Weyl)

Let P ⊆ R d such that P = ∅. P is a polyhedron if and only if P is convex and finitely generated i.e. there exist two finite sets E ⊆ R d and D ⊆ R d such that P = conv(E)+cone 0 (D).

Remark CA.45

The minimal subsets E and D suitable to define polyhedron P in the previous property are known.

According to Klee's theorem, if P is a polyhedron, we have P = conv(extr(P )) + cone 0 ( --→ extr(P )). In particular, if P is a polytope, we have P = conv(extr(P )).

CA.3.8 Face and facets

Definition CA.46

F is a face of P if and only if there exists an hyperplane H such that H ∩P = F P ⊆ H or P ⊆ H F is a facet of P if F is a face of P and dim(F ) = dim(P )-1.

x is a vertex of P if {x} is a 0-dimensional face of P .

Remark CA.47

• In order to have a lattice structure on the set of the faces of a polyhedron, the empty set and the polyhedron itself are sometimes considered as faces.

• Faces can also be defined for convex sets rather than for polyhedron. Of course the convex definition coincides with the above definition in the particular case where the convex set is a polyhedron. A face of a convex set C is a non-empty part of C, minimal for the inclusion, that can be removed without impairing the convexity of C. Note that removing a face of a polyhedron turns it into a convex set that is no more a polyhedron, since it is in particular no more a closed set.

Property CA.48

Let P ⊆ R d be a polyhedron. Let F ⊆ R d such that F = P . If F is a face of P , then there exists F a facet of P such that F ⊆ F .

Property CA.49

Let P ⊆ R d be a polyhedron. Let x ∈ R d . x is a vertex of P if and only if x ∈ extr(P ).

CA.4 Useful properties for transposing facets

We recall here some definitions and properties that are used to prove Property 3.10.

Definition CA.50

Let A 1 and A 2 be two affine spaces. Let ψ ∈ F(A 1 , A 2 ). ψ is an affine map between A 1 and A 2 if it preserves the affine combinations, i.e.

∀(λ

Lemma CA.51

Let A 1 and A 2 be two affine spaces. Let ψ ∈ F(A 1 , A 2 ) an affine map between these two spaces.

(i) If (s i ) i∈I ∈ (A 1 ) I are not affinely independent then ψ(s i ) i∈I are also not affinely independent.

) is also a convex set and extr(C 2 ) ⊆ ψ extr(C 1 ) .

(iii) If in addition ψ is bijective, then extr(C 2 ) = ψ extr(C 1 ) .

Proof : • Let (s i ) i∈I a family of points in A 1 . Let assume that (s i ) i∈I are not affinely independent. By definition, there exists i 0 ∈ I and (λ i ) i∈I\{i 0 } ∈ R I\{i 0 } such that :

Since ψ is an affine map, we then have:

In other words ψ(x i 0 ) is an affine combination of points ψ(s i ) i∈I\{i 0 } . Therefore, ψ(s i ) i∈I is not affinely independent. Hence, (i) is true.

), there exists (x 1 , y 1 ) ∈ C 1 ×C 1 such that ψ(x 1 ) = x 2 ψ(y 1 ) = y 2 . Then, for any θ ∈ [0, 1], we have:

By contradiction, let us assume that z 1 ∈ extr(C 1 ). Then, by definition, there exist (x 1 , y 1 ) ∈ C 1 ×C 1 and θ ∈ [0, 1] such that z 1 = θ x 1 + (1-θ) y 1 . Then we have:

Since ψ(x 1 ) ∈ C 2 and ψ(y 1 ) ∈ C 2 , we deduce that z 2 is not an extreme point of C 2 . A contradiction.

Then z 1 ∈ extr(C 1 ) and z 2 ∈ ψ extr(C 1 ) . Therefore, we deduce that extr(C 2 ) ⊆ ψ extr(C 1 ) . Finally, (ii) is true.

• In the case where ψ in bijective, ψ -1 is also an affine map.

Since C 1 = ψ -1 (C 2 ), we deduce from (ii) that extr(C 1 ) ⊆ ψ -1 extr(C 2 ) . Then we have ψ extr C 1 ⊆ ψ • ψ -1 extr(C 2 ) = extr(C 2 ). Hence, (iii) is true.

Remark CA.52

If ψ is not bijective, we have not necessarily ψ extr(C

Corollary CA.53

Let A 1 and A 2 be two affine spaces. Let ψ ∈ F(A 1 , A 2 ). If ψ is an affine map between A 1 and A 2 then for any S ⊆ A 1 , dim(ψ(S)) dim(S).

If in addition ψ is bijective, then for any S ⊆ A 1 , dim(ψ(S)) = dim(S).

Definition CA.54

Let A 1 be an affine space and H be an hyperplane of A Let assume that H is valid for S. Without loss of generality, we assume that S ⊆ H = x ∈ A 1 | f (x) 0 , even if f must be changed into -f . Let x ∈ P . Since P = conv(S), there exist I a finite set, (λ i ) i∈I ∈ [0, 1] I , and (s i ) i∈I ∈ S I such that x = i∈I λ i s i and i∈I λ i = 1. Then, since f is affine, we have:

Therefore, x ∈ H . Hence P ⊆ H , that is H is valid for P .

Property CA.56

Let A 1 be an affine space and C be a convex set of A 1 . Let H be an hyperplane of A |X| denotes the cardinality of X X denotes the complement of the set X X \Y denotes the relative complement of Y in X, for any set Y X ∩Y denotes the intersection of X and Y , for any set Y X ∪Y denotes the union of X and Y , for any set Y X Y denotes the disjoint union of X and Y , for any set Y such that X ∩Y = ∅ X Y denotes the symmetric difference X and Y , for any set Y , i.e. (X ∪Y )\(X ∩Y ) X/ ∼ denotes the quotient space of X by an equivalence relation ∼, that is the set of the equivalence classes for ∼ X < denotes {(i, j) ∈ X ×X | i < j} if (X, <) is an ordered set X denotes {(i, j) ∈ X ×X | i j} if (X, <) is an ordered set X << denotes {(i, j, k) ∈ X ×X ×X | i < j < k} if (X, <) is an ordered set X : Y denotes {{x, y} | (x, y) ∈ X ×Y }, for any set Y such that X ∩Y = ∅ P(X) denotes the set of the X subsets P * (X) denotes the set of the non-empty X subsets P 2 (X) denotes the set of oriented bi-partitions of X, i.e. (A, B) | {A, B} is a partition of X F(X, Y ) denotes the set of the functions from X to Y