Mixed integer formulations using natural variables for single machine scheduling around a common due date
Anne-Elisabeth Falq, Pierre Fouilhoux, Safia Kedad-Sidhoum

TL;DR
This paper introduces new mixed integer programming formulations for single machine scheduling around a common due date, using natural variables, and demonstrates their theoretical validity and practical effectiveness through algorithms and experiments.
Contribution
It proposes novel compact and non-compact mixed integer formulations with polynomial separation algorithms, advancing optimization methods for scheduling problems.
Findings
The non-overlapping inequalities formulation is valid and solvable in polynomial time.
The proposed Branch-and-Cut algorithm effectively solves the scheduling problem.
Experimental results show practical relevance of the formulations and algorithms.
Abstract
While almost all existing works which optimally solve just-in-time scheduling problems propose dedicated algorithmic approaches, we propose in this work mixed integer formulations. We consider a single machine scheduling problem that aims at minimizing the weighted sum of earliness tardiness penalties around a common due-date. Using natural variables, we provide one compact formulation for the unrestrictive case and, for the general case, a non-compact formulation based on non-overlapping inequalities. We show that the separation problem related to the latter formulation is solved polynomially. In this formulation, solutions are only encoded by extreme points. We establish a theoretical framework to show the validity of such a formulation using non-overlapping inequalities, which could be used for other scheduling problems. A Branch-and-Cut algorithm together with an experimental…
| (F) | (F) | (F1) | (F2) | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #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 | - | |||||||||||
| (F) | (F1) | (F2) | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #opt | avg-T | gap | #opt | avg-T | gap | #opt | avg-T | gap | ||||||||
| 100 | 10 | 10 | 6 | - | 10 | 0 | - | 10 | 3 | - | ||||||
| 20 | 10 | 74 | - | 10 | 3 | - | 10 | 3 | - | |||||||
| 30 | 10 | 186 | - | 10 | 68 | - | 10 | 13 | - | |||||||
| 40 | 10 | 494 | - | 8 | 1335 | 4% | 10 | 294 | - | |||||||
| 50 | 8 | 690 | 0% | 0 | - | 22% | 9 | 1743 | 2% | |||||||
| 200 | 10 | 10 | 15 | - | 10 | 0 | - | 10 | 3 | - | ||||||
| 20 | 10 | 361 | - | 10 | 3 | - | 10 | 3 | - | |||||||
| 30 | 10 | 886 | - | 10 | 56 | - | 10 | 12 | - | |||||||
| 40 | 7 | 1322 | 0% | 6 | 1173 | 8% | 10 | 359 | - | |||||||
| 50 | 7 | 1289 | 2% | 1 | 1859 | 29% | 4 | 1738 | 6% | |||||||
| 300 | 10 | 10 | 27 | - | 10 | 0 | - | 10 | 3 | - | ||||||
| 20 | 10 | 380 | - | 10 | 4 | - | 10 | 3 | - | |||||||
| 30 | 6 | 1508 | 3% | 10 | 87 | - | 10 | 15 | - | |||||||
| 40 | 8 | 2533 | 0% | 9 | 1572 | 11% | 10 | 210 | - | |||||||
| 50 | x | x | x | 0 | - | 29% | 5 | 2662 | 5% | |||||||
| (F) | (F) | (F3) | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #opt | avg-T | gap | #opt | avg-T | gap | #opt | avg-T | gap | ||||||||
| 10 | 0.2 | 10 | 1 | - | 10 | 1 | - | 10 | 0 | - | ||||||
| 0.4 | 10 | 1 | - | 10 | 1 | - | 10 | 1 | - | |||||||
| 0.6 | 10 | 1 | - | 10 | 1 | - | 10 | 1 | - | |||||||
| 0.8 | 10 | 1 | - | 10 | 1 | - | 10 | 1 | - | |||||||
| 20 | 0.2 | 0 | - | 437% | 10 | 3 | - | 10 | 36 | - | ||||||
| 0.4 | 0 | - | 245% | 10 | 4 | - | 10 | 116 | - | |||||||
| 0.6 | 0 | - | 159% | 10 | 4 | - | 10 | 125 | - | |||||||
| 0.8 | 0 | - | 145% | 10 | 3 | - | 10 | 118 | - | |||||||
| 30 | 0.2 | 10 | 17 | - | 10 | 1255 | - | |||||||||
| 0.4 | 10 | 22 | - | 3 | 1620 | 6% | ||||||||||
| 0.6 | 10 | 9 | - | 4 | 962 | 8% | ||||||||||
| 0.8 | 10 | 13 | - | 5 | 1405 | 9% | ||||||||||
| (F) | (F3) | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #opt | avg-T | gap | #opt | avg-T | gap | |||||||
| 200 | 10 | 0.2 | 10 | 22 | - | 10 | 1 | - | ||||
| 0.4 | 10 | 24 | - | 10 | 1 | - | ||||||
| 0.6 | 10 | 15 | - | 10 | 1 | - | ||||||
| 0.8 | 10 | 14 | - | 10 | 1 | - | ||||||
| 200 | 20 | 0.2 | 10 | 116 | - | 10 | 30 | - | ||||
| 0.4 | 9 | 343 | 1% | 10 | 91 | - | ||||||
| 0.6 | 10 | 299 | - | 10 | 93 | - | ||||||
| 0.8 | 10 | 333 | - | 10 | 89 | - | ||||||
| 200 | 30 | 0.2 | 8 | 821 | 2% | 10 | 1377 | - | ||||
| 0.4 | 7 | 1293 | 3% | 4 | 1143 | 4% | ||||||
| 0.6 | 10 | 803 | - | 7 | 1479 | 5% | ||||||
| 0.8 | 10 | 740 | - | 7 | 1166 | 6% | ||||||
| (F2-LP) | (F2-LP) | (F2-LP) | (F2-LP) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| + Cplex Cuts | + Triangle | + Triangle + Cplex Cuts | |||||||||||
| time | gap | time | gap | time | gap | time | gap | ||||||
| 10 | 0.14 | 41.1% | 2.72 | 0.00% | 0.05 | 3.29% | 1.61 | 0.00% | |||||
| 20 | 0.03 | 67.9% | 3.19 | 0.00% | 0.52 | 13.2% | 2.11 | 10.3% | |||||
| 30 | 0.12 | 77.0% | 4.86 | 3.72% | 0.52 | 19.4% | 11.7 | 18.1% | |||||
| 40 | 0.29 | 82.9% | 9.86 | 26.7% | 31.9 | 21.5% | 48.3 | 20.9% | |||||
| 50 | 0.62 | 86.1% | 26.6 | 42.1% | 177 | 22.5% | 145 | 22.4% | |||||
| 60 | 0.74 | 92.8% | 375 | 44.9% | 746 | 23.5% | 337 | 23.5% | |||||
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Mixed integer formulations using natural variables
for single machine scheduling around a common due date
Anne-Elisabeth Falq a, Pierre Fouilhoux a, Safia Kedad-Sidhoumb
a Sorbonne Université, CNRS, LIP6, 4 Place Jussieu, 75005 Paris, France
b CNAM, CEDRIC, 292 rue Saint Martin, 75141 Paris Cedex 03, France
Abstract
While almost all existing works which optimally solve just-in-time scheduling problems propose dedicated algorithmic approaches, we propose in this work mixed integer formulations. We consider a single machine scheduling problem that aims at minimizing the weighted sum of earliness tardiness penalties around a common due date. Using natural variables, we provide one compact formulation for the unrestrictive case and, for the general case, a non-compact formulation based on non-overlapping inequalities. We show that the separation problem related to the latter formulation is solved polynomially. In this formulation, solutions are only encoded by extreme points. We establish a theoretical framework to show the validity of such a formulation using non-overlapping inequalities, which could be used for other scheduling problems. A Branch-and-Cut algorithm together with an experimental analysis are proposed to assess the practical relevance of this mixed integer programming based methods.
Keywords: Just-in-time scheduling, Mixed integer programming formulation, polyhedral approaches
1 Introduction
In the most general statement, single-machine scheduling is to process a set of tasks non-preemptively on a single machine. Each task is ready for processing at time zero and has a processing time , that is neither time-dependent nor sequence-dependent (w.l.o.g. we assume that ).
A schedule can be then encoded by the vector of its completion times . Such an encoding allows us to express a wide range of criteria, particularly the so-called regular criteria, which are decreasing functions of for each task . Using these continuous variables, Queyranne [20] provided useful polyhedral tools for minimizing one of the most studied regular criteria: . To the best of our knowledge, the scheduling literature lacks similar results for non-regular criteria. The contribution of this work falls within this scope. Our focus is on minimizing a non-regular criterion occurring in just-in-time scheduling.
We consider a single machine scheduling problem where all tasks share a common due date . A task is early (resp. tardy) if (resp. ). Using to denote the positive part of , the earliness (resp. tardiness) of any task is given by (resp. ). Given unit earliness penalties (resp. tardiness penalties ), the problem aims at finding a schedule that minimizes the total penalty defined as follows.
[TABLE]
When , the common due date is called unrestrictive since the due date does not restrict the total duration of early tasks [13]. In this case, the so-called V-shaped dominance property [13] ensures that there exists an optimal solution such that early tasks are scheduled by increasing ratio while tardy tasks are scheduled by decreasing ratio . In addition, according to some strong dominance properties [13], there exists an optimal schedule without idle time and with an on-time task, i.e. completing exactly at . For the common due date setting, idle time only refers to an idle time between tasks, regardless of the interval between 0 and the starting time of the schedule. The problem with an unrestrictive common due date is NP-hard even if for any task [13]. However, if for any task , the problem is solvable in polynomial time [15].
In the general case, there might be a straddling task, i.e. a task starting before and completing after , in all optimal schedules: the problem is shown to be NP-hard, even if for all [14, 12].
In addition to these fundamental results of the common due date problem, the just-in-time field scheduling benefits from a rich literature. These problems have been solved by several approaches: with heuristics (e.g. [5], [17]), with branch-and-bound algorithms (e.g. [24]), and with dynamic programming methods (e.g. [14], [25]). The reader can refer to the seminal surveys of [1], [17] and [16] for the early results in this field.
Furthermore, there exist several ways to encode a single machine schedule leading to distinct formulations. Such encodings can be based on completion times, time-indexed variables, linear ordering, positional date and assignement variables [21]. Some of these encodings allow to formulate just-in-time scheduling problems as Mixed Integer Program (MIP). However, few solving approaches based on these formulations have been proposed for just-in-time scheduling problems [5].
We focus in this article on natural variables, similar to completion times variables. To the best of our knowledge, no linear formulation with such variables has been considered for just-in-time scheduling, in contrast with scheduling problems dealing with regular criteria. Since tasks have to be processed on a single machine, a schedule is feasible if it satisfies the task non-overlapping, i.e. if they are executed on disjoint time slots. Providing a linear formulation of non-overlapping is an important issue to solve a single-machine scheduling problem using linear programming. Studying the polyhedron defined as the convex hull of the feasible completion times vectors provides LP or MIP formulations. [2] and [20] propose seminal works in this research line. The authors consider the problem of minimizing . Other works consider the same problem with additional constraints: release dates (e.g. [8]) or precedence constraints (e.g. [7], [22]).
A particularity of an encoding based on such natural variables is the non connectivity of the feasible vectors set. Therefore, a vector in the convex hull of feasible vectors can correspond to an infeasible schedule. In this context, providing a linear formulation describing this polyhedron is not sufficient. [20] describes the convex hull of feasible completion times vectors by linear inequalities, and shows that the extreme points of this polyhedron encode feasible schedules. He deduces a formulation which can be solved by LP algorithms. This formulation is an LP with an additional constraint: the solution must be an extreme point. This constraint will be called an extremality constraint.
In this article, we provide MIP based methods to solve a core problem in just-in-time scheduling. Such approaches can be easily extended to tackle other variants embedding this core structure, in contrast with the dedicated methods commonly used in scheduling field. We use natural variables to handle the common due date problem, dealing with a non-regular criterion. Using few additional binary variables, we describe a polyhedron containing the convex hull of dominant vectors for the unrestrictive case, and another one for the general case. We show that, in both cases, extreme points of this polyhedron correspond to feasible schedules. Thanks to these theoretical results, we derive two non-compact MIP formulations with an additional extremality constraint. We explain how both formulations can be solved using a branch-and-cut algorithm. We also propose a compact MIP formulation for the unrestrictive case, which is more efficient but cannot be adapted to the general case. Finally we provide an experimental analysis to assess the practical relevance of the proposed approaches. The analysis is based on the reference benchmark proposed by [5] and also used by [24], as well as a new benchmark covering larger processing times. For sake of comparison, MIP formulations of the literature are also considered.
This article is organized as follows. Section 2 presents basic tools to express the task non-overlapping. We recall Queyranne’s linear inequalities for the non-overlapping [20]. We also provide two lemmas, which permit to extend the framework in which those inequalities can be used. In Sections 3, 4 and 5, we provide new formulations for the unrestrictive case and the general one. In each section we first enunciate dominance properties, then we give the formulation, and finally we prove its validity. All separation algorithms for these formulations are gathered in Section 6. In Section 7 we present some experimental results and compare the different formulations.
2 Linear inequalities for non-overlapping
For a single-machine problem, a schedule must only satisfy two conditions to be feasible: each task must begin after time 0 and two tasks must not be executed at the same time. In the sequel, the first condition will be called positivity and the second one will be called non-overlapping. Given the processing times , a vector encodes a feasible schedule by its completion times if and only if it satisfies the two following constraints.
[TABLE]
The set will denote the set of all vectors encoding a feasible schedule by its completion times, i.e. all vectors satisfying constraints ( ‣ 2) and (1). Completion times allow an easy way to express feasibility at the expense of the non-linearity of constraints (1). However, [20] introduces linear inequalities using completion times to handle the non-overlapping. We first recall notations and results proposed by [20] as we will generalize them to a larger framework. To this end, we use vector to represent more than completion times. In the next sections, will be either the earliness or tardiness of tasks. For and ,
[TABLE]
We give some properties about the function , useful for the next proofs.
[TABLE]
The non-overlapping Queyranne’s inequalities are defined as follows.
[TABLE]
We denote by the polyhedron defined by inequalities (Q0). The following property establishes that these inequalities are valid for all vectors of , inducing .
Property 1
If satisfies constraints ( ‣ 2) and (1), then satisfies inequalities (Q0).
- Proof :
Let . If , inequality (Q0) is satisfied. If , then inequality (Q0) is , that is since . So constraints ( ‣ 2) ensure that the inequalities (Q0) associated to the singletons are all satisfied. If , we need to exhibit an order on . Since processing times are strictly positive, the constraints (1) ensure that are distinct and so that there exists a (single) total order on such that . Then constraints (1) translate into . Using inequalities ( ‣ 2) we deduce that for and such that for all .
This allows to prove by induction on the cardinality of that all inequalities (Q0) are satisfied. Indeed let us assume that they are satisfied for all sets of cardinality where and let with . By setting and , then, on one hand, by induction , and, on the other, by previous arguments . Consequently p*y(S)\!=\!p*y(U)+p_{j}y_{j}\geqslant g_{p}(U)+p_{j}\big{(}\,p(U)\!+\!p_{j}\,\big{)}\!=\!g_{p}(S) using (3), hence satisfies the inequality (Q0) associated to .
Some points in conv correspond to infeasible schedules due to the disjunction inherent to the problem. Figure 2 illustrates and for an instance with only two tasks. The two cones represent the set of feasible schedules: each corresponding to an order in the task execution. Vectors in between correspond to schedules where the tasks overlap. By definition of conv, these vectors are in conv, so they cannot be cut by the non-overlapping Queyranne’s inequalities. Note that there are only two extreme points and that they correspond to feasible schedules. This observation is true in general. Indeed, [20] shows that the extreme points of correspond to feasible schedules. This inclusion (extr) and the previous one (conv) are sufficient to say that for any given linear function , but not sufficient to conclude that is exactly conv. [20] shows this equality using a geometrical argument, that is the equality of the two recession cones. The following theorem sums up these results.
Theorem 2 ([20])**
(i) extr
(ii)
Moreover, [20] shows that each extreme point of encodes a left-tight schedule, i.e. a feasible schedule without idle time starting at time zero. Conversely each left-tight schedule is encoded by an extreme point of since, according to the Smith rule [23], it is the only point in (and then in conv) minimizing for such that the tasks are scheduled by strictly decreasing ratio .
We now provide two lemmas which will be the key for showing the validity of our formulations. The first one gives a new proof of Theorem 2(i). In this lemma, we explain how a vector of can be slightly disrupted in two directions without leaving if an overlap is observed in the schedule it encodes. Figure 1 illustrates the two ways of disrupting the overlapping tasks so that the corresponding vectors stay in .
Lemma 3
Let us assume that satisfies inequalities (Q0).
If there exists with such that ,
then there exists such that and also satisfy (Q0).
- Proof :
Let
where
and .
Since satisfies inequalities (Q0), and , thus .
Let . We first check that vector defined by satisfies inequality (Q0) associated to .
If and then .
If and then .
If and then since .
If and then .
In each case , then satisfies (Q0). Similarly we can check that satisfies (Q0) using that . Finally, we have to check that . For this purpose we use the next two claims.
Claim
Let .
If , then .
- Proof :
Let us assume on the contrary that there exists such that , and .
Setting , we have and by (3). Since we assume that these two terms are equal, and since from inequalities (Q0), we deduce that and even since .
Moreover p\!*\!y\big{(}S\!\sqcup\!\{i\}\big{)}=p\!*\!y\,(S)+p_{i}y_{i}=g_{p}(S)+p_{i}y_{i}\leqslant g_{p}(S)+p_{i}y_{j} by assumption.
Using these two inequalities, we get p\!*\!y\big{(}S\!\sqcup\!\{i\}\big{)}\leqslant g_{p}(S)+p_{i}p(S)<g_{p}(S)+p_{i}\big{[}p(S)\!+\!p_{i}\big{]} since . Furthermore, g_{p}(S)+p_{i}\big{[}p(S)\!+\!p_{i}\big{]}=g_{p}\big{(}S\!\sqcup\!\{i\}\big{)} from (3) and g_{p}\big{(}S\!\sqcup\!\{i\}\big{)}\leqslant p\!*\!y\big{(}S\!\sqcup\!\{i\}\big{)} from inequality (Q0). We finally get p\!*\!y\big{(}S\!\sqcup\!\{i\}\big{)}\!<\!p\!*\!y\big{(}S\!\sqcup\!\{i\}\big{)}, a contradiction.
\begin{subarray}{c}\\[2.84544pt] {\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}\blacksquare}\end{subarray}
This first claim ensures that .
Claim
Let .
If , then
- Proof :
Let us assume on the contrary that there exists such that , and .
Like in the previous proof we can show that .
Moreover p\!*\!y\big{(}S\!\sqcup\!\{j\}\big{)}=p\!*\!y\,(S)+p_{j}y_{j}=g_{p}(S)+p_{j}y_{j}<g_{p}(S)+p_{j}\big{[}y_{i}\!+\!p_{j}\big{]} by assumption.
Using these two inequalities, we can write p\!*\!y\,(S\!\sqcup\!\{j\})<g_{p}(S)+p_{j}\big{[}p(S)\!+\!p_{j}\big{]} since . Furthermore, g_{p}(S)+p_{j}\big{[}p(S)+p_{j}\big{]}=g_{p}\big{(}S\!\sqcup\!\{j\}\big{)} from (3) and g_{p}\big{(}S\!\sqcup\!\{j\}\big{)}\leqslant p\!*\!y\big{(}S\!\sqcup\!\{j\}\big{)} from inequality (Q0). We finally get p\!*\!y\big{(}S\!\sqcup\!\{j\}\big{)}\!<\!p\!*\!y\,(S\!\sqcup\!\{j\}), a contradiction.
\begin{subarray}{c}\\[2.84544pt] {\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@color@gray@fill{.5}\blacksquare}\end{subarray}
This second claim ensures that , we can deduce that .
To obtain an alternative proof of Theorem 2(i), Lemma 2 can be reformulated as follows. If is a vector of that gives the completion times of a schedule with an overlap, then is the middle of two other vectors of , and . That implies that is not an extreme point of . By contraposition, we deduce that an extreme point of encodes a schedule without overlap, and since inequalities (Q0) associated to singletons ensure the positivity, an extreme point of encodes a feasible schedule, i.e. extr.
This way of proving that the extreme points correspond to feasible schedules can be adapted to a more complex polyhedron, that is a polyhedron defined by inequalities (Q0) and additional inequalities. Indeed, it is then sufficient to check that the two vectors and also satisfy these additional inequalities. However, for some extreme points, the two vectors introduced by Lemma 2 may not satisfy the additional inequalities. For example, if the completion times of the tasks are limited by a constant (with ), the additional inequalities are the following.
[TABLE]
Note that inequalities (4) induce extreme points encoding infeasible schedules as depicted in Figure 2 for a 2-task instance. Adding the inequalities and leads to the extreme point which encodes a schedule with an overlap. We can see that this point will never be proposed as an optimum during the minimization of if . In general, the aim is to minimize a non-negatively weighted sum of variables. For any given polyhedron of , we consider the following set of extreme points which are unique minimizer of such function. The unicity is required to deal with some zero weights.
[TABLE]
Since the extreme points are exactly the points that can be written as the unique minimizer of a linear function, . Let denote the polytope defined by inequalities (Q0) and (4). Let us assume that is the completion time vector of a schedule with an overlap. If one of the two overlapping tasks has a completion time equal to , applying Lemma 2 to provides a vector which does not satisfy inequalities (4) and therefore is not in . Point cannot be proved to not be extreme in . In order to prove that such point is not a unique minimizer, we provide the following lemma.
Lemma 4
Let us assume that satisfies inequalities (Q0).
If there exist with such that , and ,
then there exists such that also satisfies inequalities (Q0).
- Proof :
Since satisfies inequalities (Q0), setting suffices to ensure that also satisfies inequalities (Q0) and that . It remains to show that , that is for any subset containing , the associated inequality (Q0) is not tight.
Let such that and let . First remark the following equivalent inequalities.
[TABLE]
If , then , thus p_{j}\big{[}p(S)-y_{j}\big{]}\!<\!0. Moreover since satisfies the inequality (Q0) associated to . We deduce that in this case.
If , then p_{j}\big{[}p(S)-y_{j}\big{]}\!\leqslant\!0 since . In this case, p_{j}\big{[}p(S)-y_{j}\big{]} can be equal to zero if , but we prove that as follows.
[TABLE]
By assumption y_{i}>y_{j}\!-\!p_{j}\geqslant p(J)\!-\!p_{j}=p\big{(}J\!\setminus\!\{j\}\big{)}, thus p_{i}\big{[}p\big{(}J\!\setminus\!\{j\}\big{)}-y_{i}\big{]}<0 and since also satisfies the inequality (Q0) associated to , we have p\!*\!y\big{(}J\!\setminus\!\{i,j\}\big{)}-g_{p}\big{(}J\!\setminus\!\{i,j\}\big{)}\geqslant 0. We deduce that in this case, and finally that .
Combining Lemmas 2 and 2, we prove that a vector in is in , that is it encodes a feasible schedule by its completion times. Indeed, since such a vector satisfies inequalities (Q0), an overlap between tasks and such that contradicts either the extremality of or its minimality. If , we can construct and as proposed in Lemma 2 for set in , so that and satisfy inequalities (Q0) and (4). Thus, can be written as the middle of two other vectors of , then it is not an extreme point. If conversely , we can construct a vector as proposed in Lemma 2, so that is component-wise smaller than and satisfies inequalities (Q0). Thus, is another point of , which has a smaller value than for any linear function with positive (or zero) coefficients, then cannot be the single minimizer of such a function on . Moreover, using the same argument as for , we can say that every left-tight schedule is encoded by an extreme point of , and even by a vector of .
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 , 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.
3 A first formulation for the unrestrictive common due date problem
In this section, we consider the common due date problem when the due date is unrestrictive, i.e. . Before providing the formulation, we recall some well known dominance properties which allow not only to reduce the search space but also to restrict the instances set.
3.1 Dominance properties
We say that a set of solutions is dominant if it contains (at least) one optimal solution, and that it is strictly dominant if it contains all optimal solutions. In both cases, the search of an optimal solution can be limited to the dominant set.
For the common due date scheduling problem, we define a block as a feasible schedule without idle time, a -schedule as a feasible schedule with an on-time task, and a -block as a block which is also a -schedule. The following lemma gives dominance properties for the common due date problem, already known for symmetric penalties [13]. These results can be extended to asymmetric penalties, using the same task shifting arguments.
Lemma 5
Let .
(i) In the general case, the blocks are dominant when minimizing .
Moreover, if and the blocks are strictly dominant.
(ii) In the unrestrictive case, the -schedules are dominant when minimizing .
Thanks to these dominance properties, only blocks will be considered in the sequel, and only -blocks in the unrestrictive case.
From Lemma 3.1, in the unrestrictive case we only have to consider instances with strictly positive earliness and tardiness penalties, i.e. with and . Indeed, if the tardiness penalty of a task is zero, solving the instance obtained by removing task provides a -block, which is optimal for . Placing task at the end of the -block does not increase the cost, since is then tardy. Thus, the obtained schedule is an optimal -block. Conversely, if the earliness penalty of a task is zero, placing task at the beginning of an optimal -block for , which is always possible when is unrestrictive, provides an optimal -block. Hence, for the unrestrictive case, we will set and .
3.2 A natural formulation for the unrestrictive case
* A linear objective function using and variables
*Since earliness and tardiness are not linear with respect to completion times, the objective function is not linear. Therefore, we propose an encoding by earliness and tardiness of each task, by introducing the corresponding variables: for the earliness of the tasks, and for their tardiness. In this way, the total penalty of a schedule encoded by vector is which is linear. If encodes a schedule by its completion times, the encoding by earliness and tardiness of this schedule is given by \theta(C)=\left(\,\big{(}[d\!-\!C_{j}]^{+}\big{)}_{j\in J},\,\big{(}[C_{j}\!-\!d]^{+}\big{)}_{j\in J}\,\right). Using function , we have .
*Consistency between and using variables
*A vector in is consistent if , either ( and ) or ( and ). There exists in such that if and only is consistent. In order to ensure consistency, we introduce the following inequalities using new boolean variables . For each task , indicates if is early.
(5)
(6)
(7)
(8)
Inequalities (5) and (6) force to be zero when . Since we only consider -blocks, is an upper bound on the earliness of task . Thus, inequality (6) does not restrict when . Note that in the unrestrictive case, is tighter than . of Similarly, inequalities (7) and (8) force to be zero when , without restricting when , since is an upper bound on the tardiness in a -block. Consequently, we have the following lemma.
Lemma 6
Let .
If satisfy inequalities (5)- (8), then is consistent and C\!=\!\big{(}d\!-\!e_{j}\!+\!t_{j}\big{)}_{j\in J} satisfies .
For a consistent vector, we define . Besides, inequalities (5)- (8), ensure the positivity of the encoded schedule. Indeed, for any in , inequalities (6) and (7) ensure that . Since is unrestrictive, we deduce that . Hence, we obtain the following lemma.
Lemma 7
Let . If satisfy (5)- (8), then satisfies ( ‣ 2).
*Handling the non-overlapping
*To ensure the non-overlapping, it suffices that early tasks are fully processed before and do not overlap each other, and that tardy tasks are fully processed after and do not overlap each other either. Note that for a -schedule, the non-overlapping reduces to these two constraints related to early and tardy tasks respectively.
In order to use the partition between early and tardy tasks induced by the completion times , we introduce the following notations.
[TABLE]
For a tardy task, the tardiness can be seen as a completion time with respect to . Therefore, ensuring that the tardy tasks are fully processed before (resp. they do not overlap each other) is equivalent to imposing positivity constraints for tardy tasks (resp. the non-overlapping constraint for tardy tasks). As shown on Figure 3, for an early task , the value can be seen as a completion time. Using to denote \big{(}x_{j}\big{)}_{j\in S} for any subset of and for any vector in , the following lemma sums up these observations.
Lemma 8
Let and set . If there is no such that and ,
then satisfies (1) and satisfy ( ‣ 2) and (1).
In the formulation, describes the partition between early and tardy tasks, denoted as follows.
[TABLE]
According to Section 2, we want to apply Queyranne’s inequalities (Q0) to the vectors and respectively, so that they satisfy ( ‣ 2) and (1). Therefore, we consider the following inequalities.
[TABLE]
These inequalities are not linear as and depend on variables. Replacing (resp. ) by raises non valid inequalities. Indeed, inequality (10) for where , would become since by (7) and (8). This implies that , which is not valid for all the feasible schedules.
To ensure that only the terms corresponding to early (resp. tardy) tasks are involved in (9) (resp. in (10)), we multiply each term of index in by (resp. by ). If , then , from inequality (6) and from inequality (8). We obtain the following quadratic inequalities.
[TABLE]
*Linearization of the quadratic terms using variables
*In order to remove the quadratic terms, we introduce a new variable representing whether is different than for each in . Since the quadratic terms are the products of boolean variables, the following inequalities ensure their consistency with respect to .
[TABLE]
The following lemma provides the correspondence between quadratic and linear terms.
Lemma 9 ([9])**
If then for all :
(i) and satisfy (13)-(16) associated with if and otherwise.
(ii) In case (i) holds, then and .
The proof can be easily done by considering the two cases and .
*Non-overlapping inequalities
*Using Lemma 3.2(ii), we obtain the following inequalities.
[TABLE]
The following lemma summarizes the relationship between the inequalities (Q1), (Q2) and (Q0).
Lemma 10
Let satisfying inequalities (13)-(16).
(i) If satisfies inequalities (5) and (6) for all ,
then satisfy inequalities (Q1) for all satisfies inequalities (Q0).
(ii) If satisfies inequalities (7) and (8) for all ,
then satisfy inequalities (Q2) for all satisfies inequalities (Q0).
The following lemma allows to make the bridge between from Lemma 3.2 and from Lemma 3.2 (resp. between and ).
Lemma 11
Let .
If satisfy (5)-(8) and (Q2) then E(\delta)\!=\!\mathsfit{E}\big{(}\theta^{-1}(e,t)\big{)} and T(\delta)\!=\!\mathsfit{T}\big{(}\theta^{-1}(e,t)\big{)}.
- Proof :
Let . If , then by definition. That is since . From inequality (5), we deduce that and from inequality (8), that . Since is an integer, . That proves . Conversely, if , inequalities (5) and (6) ensure that , since by definition. Thus, . Since from inequality (Q2) for , we deduce that , that proves .
Similarly, we can prove the equality for the early tasks (without using (Q1)).
*Formulation (F1)
*Let us define \boldsymbol{P^{1}}\!=\!\left\{\begin{tabular}[]{@{ }l|l@{ }}(e,t,\delta,x)!\in!\mathbb{R}^{J}!\times!\mathbb{R}^{J}!\times![0,1]^{J}!\times!\mathbb{R}^{J^{<}}&\eqref{e0}-\eqref{t1}, \eqref{x.1}-\eqref{x.4}, \eqref{S1} and \eqref{S2} are satisfied\end{tabular}\right\}. Note that this polyhedron does not depend on either , , or even , but is only defined from . Moreover, this polyhedron is defined by an exponential number of inequalities, inducing the use of a separation algorithm, this subject will be the purpose of Section 6.
Since are boolean variables, we are only interested in vectors for which is an integer, that are integer points. Therefore, we introduce the operator , which only keeps the integer points of a set. For included in \mathbb{R}^{J}\!\times\!\mathbb{R}^{J}\!\times\!\mathbb{R}^{J}\!\times\!\mathbb{R}^{J^{<}}\!,\enskip\text{int}_{\delta}(V)\!=\!\big{\{}(e,t,\delta,x)\!\in\!V\,|\,\delta\!\in\!\{0,1\}^{J}\big{\}}. However, the formulation is not a classical MIP formulation, since some integer points do not encode feasible schedules. The same observation holds for , as discussed in Section 2 (apart from the integrity constraints on ). Therefore, we need to add an extremality condition (and consider the minimality condition) to ensure the feasibility. Finally, our formulation for the unrestrictive common due date problem defined by the unit penalties is the following.
[TABLE]
3.3 Validity of Formulation (F1)
The following theorem establishes that a feasible schedule, under some assumptions, is encoded by an integer point of . In particular a -block is encoded by an integer point of .
Theorem 12
If vector gives the completion times of a feasible schedule without any straddling task such that tasks are processed between and , i.e. and
then there exists , such that .
- Proof :
From , let us set: .
Note that the definition of ensures that , and that (resp. ), which allows the notation (resp ) for sake of brevity. Inequalities (5) and (7), as well as (6) for in and (8) for in , are automatically satisfied by construction of , and . The assumption that (resp. ) ensures that inequalities (6) for in (resp. inequalities (8) for in ) are satisfied.
Using Lemma 3.2(i), and satisfy inequalities (13)-(16).
Since encodes a feasible schedule, satisfies ( ‣ 2) and (1). Using Lemma 3.2, (resp. ) satisfies ( ‣ 2) and (1). Applying Property 2 to these two vectors, we deduce that they satisfy (Q0), and using Lemma 3.2, that satisfy (Q1) and satisfy (Q2). Thus, belongs to , and even to since .
The following theorem establishes that an optimal solution of formulation (F1) is a solution for the unrestrictive common due date problem.
Theorem 13
Let .
If and minimizes then encodes a -block.
- Proof :
The first step is to show that encodes a feasible schedule.
From Lemma 3.2, is consistent and we can set . Then encodes a schedule defined by the completion times . This schedule will be denoted by . Proving that is feasible consists then in showing that satisfies ( ‣ 2) and (1). From Lemma 3.2, satisfies ( ‣ 2). From Lemma 3.2, (resp. ), which allows the notation (resp. ) for sake of brevity. Using Lemma 3.2, to show that satisfies (1), it remains to show that (resp. ) satisfies ( ‣ 2) and (1).
From Lemma 3.2, we know that (resp. ) satisfies inequalities (Q0).
On one hand, using these inequalities for the singletons, ensures that (resp. ) satisfies ( ‣ 2). We deduce that no straddling task occurs in .
On the other hand, inequalities (Q0) will allow us to show that (resp. ) satisfies (1) in the same way that we have shown that a vector in encodes a schedule without overlapping in Section 2.
Let us assume that does not satisfy (1). Then there exists such that . Two cases have to be considered:
If , then from Lemma 2 on there exists such that setting both and satisfy (Q0). Using Lemma 3.2, both and satisfy (Q1). Since changing the value of for \min\big{(}\varepsilon,\,p(J)\!-\!p_{j}\!-\!e_{j}\big{)} does not affect the satisfaction of (Q1), we can assume , while ensuring . Since , using this latter assumption and , we obtain . For in , , and since satisfies (6), we deduce that . Thus satisfies inequalities (6).
Besides, since satisfies inequalities (Q0) for the singletons, for all in . Since for all in and satisfies (5), we deduce that satisfies inequalities (5). Similarly, satisfies inequalities (5) and (6). Finally, and , are two points of whose middle point is . A contradiction, since is extreme.
If , then , and from Lemma 2 on there exists such that setting , satisfies (Q0). Using Lemma 3.2, satisfy (Q1). Since is component-wise smaller than , also satisfies inequalities (6). Besides, the inequality (Q0) for the singleton ensures that , thus satisfies inequalities (5). Finally, setting , we exhibit a point of , which has a smaller value than according to . A contradiction, since minimizes .
Finally, satisfies (1). In the same way, we can prove that satisfies (1). We deduce that is a feasible schedule. The second step consists in showing that is a -block.
Since we already know that does not hold a straddling task, it suffices to show that it is a block with at least one early task to conclude that is a -block. Let us assume that holds an idle time or has no early task. Let denotes the schedule obtained by tightening tasks around to fill idle times between tasks and, if there is no early task, shifting backward all the tasks such that the first one becomes on-time. Since the due date is unrestrictive, no task is scheduled before [math] despite the backward shifting, then is a -block by construction. If denotes the completion times defining , then and . Then using Theorem 3.3, there exists , such that . Moreover, , 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 , which contradicts the minimality of .
Finally, encodes a -block.
The following theorem establishes that the unrestrictive common due date problem reduces to solving formulation (F1).
Theorem 14
(i) Any optimal -block is encoded by a vector minimizing on \text{int}_{\delta}\big{(}\text{extr}(P^{1})\big{)}.
(ii) Conversely, any vector minimizing on \text{int}_{\delta}\big{(}\text{extr}(P^{1})\big{)} encodes an optimal -block.
- Proof :
Let us consider an optimal -block . From Theorem 3.3, there exists a vector in encoding . We introduce P^{\,\delta^{*}}\!\!=\big{\{}(e,t)\,|\,(e,t,\delta^{*},x^{*})\!\in\!P^{1}\big{\}}, which is the slice of according to , i.e. the projection of set of points of satisfying and therefore .
To show that is an extreme point of , it suffices to prove that is an extreme point of . Indeed, if there were and in such that , and would necessarily be equal to since , and . By Lemma 3.2, we deduce that (resp. ), and thus (resp. ) is in . Yet (e^{*},t^{*})\!=\!\frac{1}{2}\big{(}(e^{1},t^{1})\!+\!(e^{2},t^{2})\big{)}, and would not be an extreme point of .
Let denote the partition of tasks given by , i.e. and . Using Lemma 3.2, we decompose as a Cartesian products of polyhedra as follows.
[TABLE]
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 and that . Note that is the polyhedron called in Section 2, where the index set is replaced by while keeping . Similarly, is a translation according to of , where is replaced by while keeping . Then it suffices that (resp. ) encodes a left-tight schedule of tasks in (resp. ) to ensure its extremality in (resp. ). Both conditions are satisfied since encodes a -block. We deduce that belongs to extr. Thus belongs to \text{int}_{\delta}\big{(}\text{extr}(P^{1})\big{)}.
To prove item (i), it remains to show that , or more precisely , is a minimizer of . By contradiction, let us assume that there exists \widehat{X}\!=\!(\hat{e},\hat{t},\hat{\delta},\hat{x})\!\in\!\text{int}_{\delta}\big{(}\text{extr}(P^{1})\big{)} such that minimizes and . According to Theorem 3.3, encodes a schedule inducing a total penalty , which is lower than the total penalty of a contradiction.
The second item (ii) is then a direct corollary of Theorem 3.3. The schedule encoded by a vector minimizing on \text{int}_{\delta}\big{(}\text{extr}(P^{1})\big{)} is a -block, and if it is not optimal, there would exist a strictly better -block, and a vector in \text{int}_{\delta}\big{(}\text{extr}(P^{1})\big{)} with a smaller value according to , a contradiction.
3.4 Dealing with formulation (F1)
The aim of this section is to show that formulation (F1) can be solved by a classical branch-and-cut algorithm. Let us consider three relaxations of (F1).
[TABLE]
The formulation (F1-LP) is obtained by relaxing the integrity and the extremality conditions. It is a linear program defined by an exponential number of inequalities. We will explain in Section 6 that the separation problem associated with the non-overlapping inequalities defining is solvable in polynomial time. Then (F1-LP) can be solved in polynomial time using a cutting plane algorithm [11].
Using the simplex algorithm for each LP-relaxation of a cutting plane algorithm, the extremality of the solution is ensured. Then in this case, solving (F1-LP) is equivalent to solving (F1-extr). A classical way to manage the integrity constraint is to use a branch-and-bound algorithm, and even in this case a branch-and-cut algorithm. Using an algorithm which provides an extreme point to solve each LP-relaxation, a branch-and-bound algorithm directly computes a solution of (F1).
Property 15
Let us consider a branch-and-bound algorithm , where the LP-relaxation at each node provides an extreme point. Using to solve (F1-int) by branching on variables solves (F1).
- Proof :
By assumption, the solution provided at each node of the branch-and-bound tree is an extreme point of the polyhedron defined by the decisions previously taken, and we will prove that this solution is also an extreme point of .
Formally, if variables for (resp. for ) have been fixed to [math] (resp. to ), the polyhedron considered is where:
[TABLE]
We consider an arbitrary node defined by and , and a vector X\!=\!(e,t,\delta,x)\!\in\!\text{extr}\big{(}P^{1}\cap F^{J_{0},J_{1}}\big{)}.
By definition of and , . Moreover, and , thus we have . Recall that if , then , we deduce that X\!\in\!\text{extr}\big{(}P^{1}\!\cap F^{T(\delta),E(\delta)}\big{)}. Since is exactly the set denoted by in the previous proof, we get extr. We deduce that .
Note that in general, such an algorithm is not sufficient to minimize a linear function under both integrity and extremality constraints in a polyhedron. To illustrate this observation, let us consider the following formulation. where inty denotes the operator keeping only the points such that is an integer.
[TABLE]
provides a solution which does not belong to extr. Indeed, since is the solution at the root node, the search space is divided into and , and the extreme points maximizing in these polyhedra are respectively , and . The provided point is then , with a value of whereas the best value for an integer extreme point is , reached by .
The particularity of formulation (F1) is that the integrity constraint on can be rewritten as \delta_{j}\!\in\!\text{extr}\big{(}[0,1]\big{)}, for any . Therefore, the integrity of and the extremality in induce the extremality in .
For any formulation (F), let us denote by value(F) the value of any optimal solution for the optimization problem F. Using any algorithm to solve each LP-relaxation, a branch-and-bound algorithm can solve (F1-int), that gives value(F1), but not directly a solution of (F1). Indeed, if denotes the provided vector, is [math]- and minimizes on by construction. Then, there exists in such that . Since X^{*}\!=\!(e^{*},t^{*},\delta,x)\!\in\!\text{int}_{\delta}\big{(}\text{extr}(P^{1})\big{)}, we get .
In addition to this theoretical way to come down to an extreme point, and then to a feasible solution, there is a computational way to do that from the partition between early and tardy tasks defined by . It will be the purpose of the next section.
4 A second formulation for the unrestrictive case
The unrestrictive common due date problem is NP-hard, so the problem associated with (F1) is NP-hard. In contrast, (F1-extr) is solvable in polynomial time. We deduce that the hardness of the formulation (F1) is only due to the integrity constraints on variables This suggests that the main difficulty of the unrestrictive common due date problem lies in choosing which tasks are early and which ones are tardy. This observation is corroborated by the following dominance property known in the just-in-time scheduling field, which ensures in the unrestrictive case once the partition between early and tardy tasks is fixed, it suffices to sort tasks to obtain an optimal schedule. A question is then: how to exploit the strength of this property in a linear way? This issue leads to a compact formulation for the unrestrictive case, presented in this section.
4.1 Dominance properties
We recall some dominance properties known for the symmetric penalties case [14], but given here in their most general statement.
Lemma 16
Let .
In the general case, the schedules where the tasks ending before or at (resp. starting at or after ) are in order of nondecreasing (resp. nonincreasing ) are strictly dominant when minimizing .
For given unit penalties and , a feasible schedule is said V-shaped if the early tasks are scheduled in nondecreasing order of and the tardy ones in nonincreasing order of . Since the tasks ending before or at are exactly the early ones in any schedule, and the tasks starting after or at are exactly the tardy ones in a -schedule, we deduce from Lemmas 3.1 and 4.1, that V-shaped -blocks are dominant in the unrestrictive case.
In case of equality between two ratios and (resp. and ), swapping tasks and does not change the total penalty of a schedule if both are early (resp. tardy). Thus in this case, there exist different optimal V-shaped -blocks with the same partition between early and tardy tasks. To ensure there is only one way to decode a partition between early and tardy tasks into a dominant schedule, we fix a priori two orders on tasks : one by decreasing , and one by decreasing . Let and denote two functions from to such that:
[TABLE]
We say that a feasible schedule is --shaped when early (resp. tardy) tasks are processed in decreasing order of (resp. increasing order of ). These schedules are dominant in the unrestrictive case, and will only be considered in the remainder of this section. Note that there is a one-to-one correspondence between the --shaped -blocks and the vectors .
4.2 A compact formulation for the unrestrictive case
If the partition between early and tardy tasks of a --shaped -block is given by , then the earliness and tardiness are given by:
[TABLE]
Using the same variables as those in Section 3 to linearize these terms, we consider
[TABLE]
where we use without carrying if , that is to denote the variable .
Therefore, the total penalty is simply expressed by h_{\alpha,\beta}^{\rho,\sigma}(\delta,x)\!=\!f_{\alpha,\beta}\big{(}\,e^{\rho}(\delta,x),\,t^{\sigma}(\delta,x)\,\big{)}, which is linear. We then consider the polyhedron \boldsymbol{P^{2}}\!=\!\left\{\begin{tabular}[]{@{ }l|l@{ }}(\delta,x)!\in![0,1]^{J}!\times!\mathbb{R}^{J^{<}}&\eqref{x.1}-\eqref{x.4} are satisfied\end{tabular}\right\}.
By definition of and , a vector in cannot encode an infeasible schedule. So there is no need to add non-overlapping inequalities, and hence we do not have to provide a separation algorithm or to only consider the extreme points of .
Finally, a compact formulation for the unrestrictive common due date problem defined by the penalties is
[TABLE]
where and are pre-computed.
Note that polyhedron does not depend on or . Indeed, it is an extended polytope of the classical cut polytope for the complete undirected graph on [3]. A linear transformation of this polytope has been studied in [18]. From this work we can directly derive that is a full-dimensional polytope and that inequalities (13)-(16) define facets of .
5 General case
In this section, we provide a formulation for the general case based on the ideas of the formulation (F1). In the general case, we have to consider arbitrary earliness unit penalties, that is positive or zero unit earliness penalties. We can no longer derive an optimal solution from the one obtained for the instance which does not include zero unit earliness penalty tasks. Indeed, the due date could not allow to add these tasks at the beginning of the schedule. For some instances, such tasks are tardy in all optimal schedules. For example if , , , , , , and , then the optimal schedule is given by , , . Note that, conversely, tasks with a zero unit tardiness penalty can still be added at the end of an optimal schedule obtained for the instance reduced to the non-zero earliness penalty tasks in order to obtain an optimal schedule for the original instance. Hence, for the general case, we will set and .
5.1 Dominance properties
In the general case, the dominance of the -blocks is no longer valid. Let us define a -or-left-block as a block which is a -schedule or which starts at time [math], or both, to enunciate the following dominance property [12].
Lemma 17
In the general case, -or-left-blocks are dominant when minimizing .
In the sequel, only -or-left-blocks will be considered.
Due to the potential occurrence of a straddling task in all optimal schedules for some instances, the partition between early and tardy tasks is no longer sufficient to deduce an optimal schedule. As explained in Section 4, we can compute the best -block with respect to this partition. Conversely, computing the best left-block (i.e. the best block starting at time 0) with respect to this partition is not straightforward, since we cannot say a priori which is the straddling task among the tardy ones.
Let us consider the best left-block with respect to a given partition. Then the time between the beginning of the straddling task and is equal to and the straddling task belongs to , where (resp. ) denotes the set of early (resp. tardy) tasks given by the partition. One can conjecture that the straddling task maximizes over this set. However, it is not the case, as we shown by the following instance: and . We can easily verify that the optimal partition is , and . According to Lemma 4.1, an optimal schedule can be found among the left-blocks starting by task and ending by task , or starting by task and ending by task . The order of the other tasks is arbitrary, since they all have the same ratio. Figure 4 represents one optimal schedule of each type.
The best ones are those starting by task and ending by task . Nevertheless the ratio is smaller than the ratio . This example can be extended to an example where by adding tasks with zero unit earliness penalty and large unit tardiness penalty.
In this example, the non optimality seems to be induced by an incorrect ratio choice: if we consider the ratio instead of , task has a greater ratio than task . Then one can conjecture that the straddling task maximizes over tardy tasks with a processing time larger than . Unfortunately, this is also false, as shown by the following instance: and We can easily verify that the optimal partition is , and . According to Lemma 4.1, an optimal schedule can be found among the left-blocks starting by task and ending by task , or starting by task and ending by task . The order of the other tasks is arbitrary, since they all have the same ratio. Figure 5 represents one optimal schedule of each type.
The best ones are those starting by task and ending by task . Nevertheless the ratio is smaller than the ratio . This example can also be extended to an example where .
The idea of the compact formulation (F2) for the unrestrictive case was to obtain the value of a best schedule for a fixed partition between early and tardy tasks . In the general case, to derive from a partition which is feasible (i.e. such that ), we have to consider several cases before using the dominance property.
Firstly, if we assume that is achieved by a schedule having an on-time task. then we simply obtain as for the unrestrictive case. Secondly, if we assume that is achieved by a schedule having a straddling task, then we can also assume, without lost of generality, that the schedule starts at time [math] (using Lemma 5.1). We have then to consider the case where the straddling task is for each such that . In each case, Lemma 4.1 allows to derive the optimal schedule and we obtain the value in a similar way as for the unrestrictive case. It seems difficult to derive a linear function from this observation. Therefore, we adapt the first formulation and not the second for the general case.
5.2 A natural formulation for the general case
*An encoding based on a new reference point
*In case of a schedule with a straddling task , i.e. , the tardiness of tardy tasks do not satisfy the non-overlapping constraints, i.e. does not satisfy inequalities (Q0), particularly . 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 instead of the due date .
We introduce a new variable , so that is the starting time of . The schedule is then a )-schedule. For each task in , we consider a variable (resp. ) instead of (resp. ), representing the earliness (resp. the tardiness) according to the new reference point . Figure 6 illustrates this encoding for a schedule holding a straddling task.
Since we do not know a priori if there is a straddling task in the optimal schedule, our formulation must also handle -blocks. Hence, we also need to encode -blocks by variables .
In case of a schedule holding an on-time task , we can keep as the reference point, since we can use earliness and tardiness as proposed in formulation (F1). Hence, the first encoding consists in setting , and using (resp. ) to represent earliness (resp. tardiness). Figure 7 illustrates this encoding for a schedule holding an on-time task.
Unfortunately, to ensure that takes the expected value in case of a schedule holding a straddling task, we will introduce a boolean variable to identify the task beginning at . It force to have in every schedule a task beginning at . Therefore, this first encoding is not valid in case of a -block without tardy task. We then propose a second encoding for the -blocks. It consists in choosing the starting time of as the new reference point, which is setting , This second encoding can be also used for a schedule holding an on-time task and having tardy tasks, as illustrated by Figure 8.
To sum up, the first encoding, with , is suitable for -blocks, except those without tardy tasks, and the second encoding, with , is suitable for any -block. Fortunately, the three encodings proposed in this section can be decoded in the same way : C\!=\!\big{(}d\!-\!a\!-\!e^{\prime}_{j}\!+\!t^{\prime}_{j}\big{)}_{j\in J} gives the completion times of the encoded schedule.
*Consistency between and using variables
*To ensure consistency between and , we use again variables . In the previous formulation, indicated if task completes before or at . In this formulation indicates if the task completes before or at . We also use inequalities (5)-(8) where (resp. ) are replaced by (resp. ). These inequalities will be denoted by (5’)-(8’) in the sequel.
Note that no longer necessarily indicates if task is early or not. Keeping the previous notations and , \big{(}E(\delta),T(\delta)\big{)} is not the partition between early and tardy tasks as soon as we use the second encoding for a -block. Therefore, we introduce a new partition of tasks: if encodes a schedule by its completion times, we define and .
Note that if there is a straddling task in the schedule, then and . Moreover, the only encoding in this case is such that and .
In the case of a -block, using the first encoding we also have and , but using the second one we have and .
*Handling the positivity
Since the due date can be smaller than , avoiding overlaps and idle times does not ensure the positivity constraint. Therefore, we add the following inequalities ensuring that for each task completing before . They are valid since is an upper bound of .
[TABLE]
*Handling the non-overlapping
*To ensure the non-overlapping, we use again variables , satisfying (13-16) and the inequalities (Q1) and (Q2), where (resp. ) are replaced by (resp. ). These inequalities will be denoted by (Q1’) and (Q2’) in the sequel.
In order to ensure that tasks completing before or at do not overlap using inequalities (Q1’), inequalities (17) must not restrict too much from above. Indeed, an inequality of the form is compatible with the non-overlapping inequalities (Q0) only if . If , adding such an inequality makes appear extreme points which can be reached by minimization, whereas they do not correspond to feasible schedules.
For example, let us consider the instance defined by , , , and the polyhedron P\!=\!\left\{\begin{tabular}[]{@{ }l|l@{ }}(e,t,\delta,x,a)!\in!\mathbb{R}^{J}!\times!\mathbb{R}^{J}!\times![0,1]^{J}!\times!\mathbb{R}^{J^{<}}!\times!\mathbb{R}&(\ref{e0}')-(\ref{t1}'), \eqref{x.1}-\eqref{x.4}, (\ref{S1}'),(\ref{S2}'), \eqref{a1}\end{tabular}\right\} defined by the inequalities introduced for the general case so far. The vector , is an integer extreme point of . It corresponds to the schedule where both tasks complete at time , since and . The induced penalty is 4, which is the minimal penalty over . However, is infeasible since the two tasks overlap. This overlapp occurs in spite of inequalities (Q1’) because , implying that is a too restrictive upper bound in inequalities (17). To prevent this restrictiveness, we introduce the following inequality.
[TABLE]
To ensure that inequalities (Q1’) (resp. (Q2’)) prevent overlaps of tasks completing before (resp. after) do not overlap, the total penalty must be a nonincreasing function of variable (resp. ) for each task such that (resp. ). We have to provide linear inequalities ensuring that the variable takes a value such that the objective function fulfils these two conditions. If is such that is the starting time of the straddling task, the on-time task or the first tardy task as proposed by the previous encodings, then these two conditions are ensured.
*Ensuring that takes the expected value
*In spite of their apparent symmetry, the two conditions are completely different.
To ensure the first one, it suffices to ensure that any task completing before or at completes before or at . Indeed, reducing for such a task while satisfying the inequality (Q1’) associated with , i.e. , task remains early and its tardiness decreases, which reduces the induced penalty. Therefore, the first constraint is guaranteed by the following inequality.
[TABLE]
To ensure the second one, ensuring that any task completing after completes after or at is not sufficient. Indeed, reducing for such a task while satisfying the inequality (Q2’) associated with , i.e. , task can become early, so the induced penalty does not necessarily decrease. Figure 9 illustrates the extreme case of this phenomenon, that is when , , and all early tasks overlap each others to be on-time.
Note that this case appears even if we add inequalities . Adding inequalities , could avoid this issue, but unfortunately they are not valid, since a task completing after can be shorter than , as longer it is not the first one.
In order to ensure that the first task completing after completes after or at , we introduce a boolean variable for each task , representing if is , and the following inequalities.
[TABLE]
Whereas inequalities (20)-(21) ensure that designates one and only one task among those completing after , inequalities (22) ensure that is the first one, i.e. . Indeed, they ensure that , and since by inequality (Q2’) associated to the singleton , we deduce that . Then, the inequality (Q2’) associated to a pair with , suffices to prove that task completes after .
Lemma 18
Let .
(i) and (,) satisfies (20)-(21)
(ii) If (i) holds and satisfy (13)-(16), (22) and (), then and .
Using , which identifies , we add the following valid inequalities to ensure that .
[TABLE]
*A linear objective function using ,, and variables
*Using and variables instead of and offers an easy way to ensure positivity, consistency and non-overlap at the expense of a linearization of the product . Indeed, in the objective function, we need a linear expression for the earliness (resp. the tardiness) of any task in , which is equal to (resp. to ).
Then we introduce a variable for each task in to replace the product . We add the following inequalities to ensure that variables take the expected values.
[TABLE]
Since is an upper bound of by construction, we get the following lemma.
Lemma 19
Let .
and satisfy inequalities (24)-(27) .
Then the total penalty of a schedule encoded by is
[TABLE]
which is linear. If encodes a schedule by its completion times, the two possible vectors encoding this schedule are the following.
[TABLE]
[TABLE]
Note that if the schedule holds a straddling task, then , since and . Even for a schedule admitting two different encodings, (i.e. for a -schedule with at least one tardy task) the function holds the total penalty, as long as the schedule satisfies the non-overlapping constraint.
Lemma 20
Let . If satisfies (1), then h_{\alpha,\beta}\big{(}\theta^{\prime}(C)\big{)}\!=\!h_{\alpha,\beta}\big{(}\widetilde{\theta^{\prime}}(C)\big{)}\!=\!f_{\alpha,\beta}\big{(}\theta^{\prime}(C)\big{)}.
*Formulation (F3)
*Let us define the polyhedron
[TABLE]
Note that this polyhedron depends on , in addition to . Inequalities (Q1’) and (Q2’) require the same separation algorithm as for (Q1) and (Q2), which will be developed in Section 6.
We introduce the operator , which only keeps points with integer and . For , the set \text{int}_{\delta,\gamma}(V)\!=\!\big{\{}(e^{\prime},t^{\prime},\delta,x,a,b,\gamma)\!\in\!V\,|\,\delta\!\in\!\{0,1\}^{J},\,\gamma\!\in\!\{0,1\}^{J}\big{\}}.
Finally, our formulation for the general common due date problem is
[TABLE]
5.3 Validity of Formulation (F3)
Thanks to the natural variables and , ensuring the non-overlapping constraint reduces to ensuring the positivity and non-overlapping constraints for two subsets of tasks. In contrast with Formulation (F1) where these two subsets are the early and the tardy tasks (cf. Lemma 3.2), in Formulation (F3), the subsets to consider depend on the occurrence of a straddling or an on-time task, as detailed in the following lemma.
Lemma 21
Let .
(i) If there exists such that and ,
then satisfies (1) satisfies ( ‣ 2) and (1).
(ii) If there exists such that and ,
then satisfies (1) satisfies ( ‣ 2) and (1).
The following theorem establishes that a feasible schedule, under some assumptions, is encoded by an integer point of . In particular a -or-left-block is encoded by an integer point of .
Theorem 22
Let satisfying ( ‣ 2) and (1).
(i) If there exists such that , and ,
then there exists such that .
(ii) If there exists such that , and ,
then there exists such that .
- Proof :
Let us start by proving (i).
From , let us set: and . We will prove that .
Note that the definition of ensures that , and that and , which allows the notation and for sake of brevity. By Lemma 3.2(i), the definition of ensures that inequalities (13)-(16) are satisfied. By Lemma 5.2(i), the definition of ensures that inequalities (20)-(21) are satisfied, since . By Lemma 5.2, inequalities (24)-(27) are satisfied, since .
For the straddling task , we have , so , by definition of .
Since task starts at or after [math] and before , i.e. , we have . Thus inequality (19) is satisfied, and for any task , . More precisely, task starts after all early tasks, and since they do not overlap, , thus inequality (18) holds. Since task completes after , i.e. , we get . We deduce that inequalities (23) are satisfied.
Inequalities (5’) and (7’) are satisfied by construction of and .
For a task in , since and do not overlap, then and . The corresponding inequality (8’) is thus satisfied, as well as (22) since p_{j}+(1\!-\!\gamma_{j})\,\big{(}p(J)\!-\!p_{j}\big{)}=p(J)\geqslant 0. By assumption , thus , and inequality (6’) is also satisfied for . Moreover, , and by positivity constraint , thus and inequality (17) is satisfied for .
For a task in , , then and . The corresponding inequality (6’) is thus satisfied. Moreover, , then inequality (17) is satisfied for . By assumption , thus t^{\prime}_{j}\!\leqslant\!\big{(}d\!+\!p(J)\big{)}-(d\!-\!a) and then . We deduce that the corresponding inequality (8’) is also satisfied, as well as inequality (22), since p_{j}+(1\!-\!\gamma_{j})\,\big{(}p(J)\!-\!p_{j}\big{)} is equal to (resp. to ) if (resp. if ).
Since encodes a feasible schedule, satisfies (1). Using Lemma 5.3, , as well as , satisfies ( ‣ 2) and (1). Applying Property 2 to these two vectors, we deduce that they satisfy (Q0), and using Lemma 3.2, that satisfy (Q1’) and satisfy (Q2’). Thus, belongs to .
Rewriting the proof by replacing by , by , by , and the straddling task by the on-time task provides almost the proof of (ii). The only difference lies in the justification of inequality (23) for : in this case , then .
The following theorem establishes that an optimal solution of formulation (F3) is a solution for the general common due date problem. The proof is given in Appendix.
Theorem 23
Let .
If , and minimizes then encodes a -or-left-block, by or .
If some tasks have a zero unit earliness penalty, formulation (F3) provides a vector which partially encodes an optimal schedule. Indeed, except for early tasks having a zero unit earliness penalty, the completion time of a task is given as previously by . Conversely, for an early task such that , could be for instance and the previous encoding would give . If there are several early tasks having zero unit earliness penalty, an overlap would appear at time [math].
Since their unit earliness penalty is zero, the minimality of does not ensure that these tasks are well spread out (in this context Lemma 2 cannot be applied). However, the minimality of ensures that the other early tasks (i.e. having a non-zero unit earliness penalty) are right-tight with respect to . Hence, using inequality (18), there is enough time between [math] and their processing duration to process the overlapping tasks. Thus, it suffices to schedule these tasks in an arbitrary order from time [math] to obtain a feasible schedule . Since these tasks do not induce any penalty, the total penalty of is , regardless of their order. We deduce that is an optimal schedule.
The following theorem establishes that the general common due date problem reduces to solving formulation (F3). We omit the proof since it follows the same lines as the one of Theorem 3.3.
Theorem 24
Any optimal -or-left-block, is encoded by a vector minimizing on \text{int}_{\delta,\gamma}\big{(}\text{extr}(P^{3})\big{)}.
Conversely, any vector minimizing on \text{int}_{\delta,\gamma}\big{(}\text{extr}(P^{3})\big{)}, encodes an optimal -or-left-block.
6 Separation algorithms
In this section, we explain how to separate inequalities (Q1),(Q2), (Q1’) or (Q2’), by solving a min-cut problem in a suitable graph. We write the following development for inequalities (Q1) and (Q2), but a rewriting exercise suffices to obtain the equivalent results for inequalities (Q1’) and (Q2’).
Let a vector satisfying inequalities (5-8) and (13-16). The separation problem for inequalities (Q1) is to find a subset of such that does not satisfy the associated inequality (Q1) or to guarantee that satisfies all inequalities (Q1).
We will first show that this separation problem reduces to the maximization of a set function defined from parameters as .
Indeed we have:
[TABLE]
where c^{1}\!=\!-2\,\Big{(}p_{j}e_{j}\Big{)}_{j\in J} and q^{1}\!=\!\Big{(}p_{i}p_{j}\,(\delta_{i}\!+\!\delta_{j}\!-\!x_{i,j})\Big{)}_{(i,j)\in J^{<}}. Then it suffices to maximize over the subsets of . Indeed, if the obtained value is negative or zero, then satisfies all inequalities (Q1), conversely if the obtained value is positive, then the maximizing set is not empty and corresponds to an inequality (Q1) that does not satisfy. Similarly, the separation problem of inequalities (Q2), is equivalent to the maximization of where c^{2}\!=\!2\,\Big{(}(1\!-\!\delta_{j})p_{j}^{2}-p_{j}t_{j}\Big{)}_{j\in J} and q^{2}\!=\!\Big{(}p_{i}p_{j}\,(2\!-\!\big{(}\delta_{i}\!+\!\delta_{j})\!-\!x_{i,j}\big{)}\Big{)}_{(i,j)\in J^{<}}.
Note that in both definitions of and , the parameter is non-negative since and satisfy inequalities (15-16). Therefore, let us now explain how to reduce the maximization of for to a min-cut problem in an undirected graph as proposed by [19]. Let us assume that for sake of brevity. We consider the weighted undirected graph , where , A\!=\!\big{\{}\{i,j\}\,|\,(i,j)\!\in\!V^{2},\{i,j\}\!\neq\!\{0,n\!+\!1\}\big{\}}, where , and . Figure 10 gives an illustration of such a graph for .
Note that and only depend on , and only depends on parameters and . For a cut , i.e. and , let denote its weight according to , i.e. .
Let us introduce three constants: , and .
Hence, for any :
[TABLE]
Since do not depend on , finding a subset maximizing is equivalent to finding a minimum cut separating the additional vertices [math] and . Since is positive, this problem is solvable in polynomial time, using the [10] algorithm, as it will be explained in the next section.
7 Experimental results
The experiments are conducted on a single thread on a machine with Intel(R) Xeon(R) CPU E5-2630 v2 @2.60GHz, and 16Gb RAM. We use the solver CPLEX version 12.6.3.0, and the open source C++ optimization library LEMON [6]. The branching scheme and the management of the current bounds is done by CPLEX. The time limit is set to 3600 seconds. For sake of comparison, all the formulations use CPLEX Default.
*Implementation of the separation algorithm
*The separation of inequalities (Q1) and (Q2) is implemented using the so-called Callback functions proposed by CPLEX. The separation algorithm consists in the following steps.
Computing the weights introduced in Section 6 according to the value of variables (resp. ) in the solution provided by CPLEX.
Running the [10] algorithm provided by LEMON to obtain the Gomory-Hu tree rooted in [math].
Finding all minimum cost edges along the path between [math] and in the Gomory-Hu tree.
Testing for any of such edges if the related cut such that corresponds to a negative value.
Adding in the model the inequality (Q1) (resp. (Q2)) associated to , where , if there exists.
Due to these Callback functions, some CPLEX features are disabled in (F1) and (F3).
* Biskup and Feldmann’s benchmark
*We test our three formulations on the benchmark proposed by [5], available online on OR-Library [4]. For each number of tasks , ten triples of \big{(}\mathbb{N}_{*}^{n}\big{)}^{3} are given. For each one, setting for , gives five instances, including one with an unrestrictive due date corresponding to . We obtain -task and -task instances, by considering only the first tasks of -task instances. In the following, the average values considered are computed over the ten instances proposed by this benchmark for fixed values of and , unless otherwise specified.
[24] succeeded in solving instances of this benchmark having up to tasks. The running time does not exceed seconds, and the average running time for -tasks instances is between and seconds depending on the value of . 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 variables and hence nodes in the graph used for computing the Lagrangian lower bound. The Biskup and Feldmann’s benchmark considers small values for the job processing times which ensures a fast computation time of the Lagrangian lower bound.
*New benchmark with long processing times
*In the Biskup and Feldmann’s benchmark, processing times range is . We propose a benchmark where processing times are randomly drawn from the uniform distribution for . For each and each , we randomly generate ten triples of \big{(}\mathbb{N}_{*}^{n}\big{)}^{3}. For each task , and are randomly drawn from the uniform distribution . By setting for , each triple gives five instances, including one unrestrictive, which results in 750 instances.
*MIP formulations from the literature
*In order to assess our formulation efficiency, we implement two other MIP formulations proposed in the literature: the formulation (F) based on linear-ordering variables proposed by [5] and the time-indexed formulation (F) used in [24].
*Entries of the following tables
:
the number of tasks
:
the parameter setting the due date to (in the general case only)
#opt :
number of instances optimally solved among the ten proposed by the benchmark under the 3600 seconds time limit
avg-T :
the average running time in seconds over the optimally solved instances
gap :
the average gap over the instances not solved to optimality, that is the relative gap between the best lower and upper bounds
7.1 Formulations for the unrestrictive case
In this section the problem is solved using formulations (F1) and (F2), as well as formulations (F) and (F). Table 1 presents the results obtained on Biskup and Feldmann’s benchmark, while Table 2 presents those obtained on long processing times instances, for .
As shown in Table 1, (F) is unable to solve any -task instance within the time limit. Thus, (F) is not used neither for larger instance size, nor for the new benchmark. Other experiments show that (F) can only solve 5 over 10 instances for . (F) is able to optimally solve Biskup and Feldmann’s instances up to size in less than 40 seconds. (F1) is able to optimally solve instances up to size in around 40 seconds. In contrast, ten minutes are required to optimally solve -task instances and (F1) fails to solve -task instances within the time limit. However, other experiments show that, under a time limit of 10 000 seconds, (F1) solves 9 over the 10 instances for , with an average computation time of 4721 seconds. (F2) is able to optimally solve all the instances up to size within the time limit. Other experiments conducted without CPLEX features show that (F2) can be faster: 22 seconds for , 215 seconds for and 4063 seconds for .
As shown in Table 2, the efficiency of (F) greatly depends on the value of parameter , which was expected since the number of variables is related to the length of the horizon, i.e. . While it only takes 40 seconds in average to solve all the -task Biskup and Feldmann’s instances, (F) solves 8 over the 10 -task instances in the new benchmark for , within 690 seconds in average. In addition, (F) fails at solving any instance for due to memory limitations. CPLEX could not even provide a solution or a lower bound in this case. We can notice that for -task instances, the computation time required is at least 360 seconds for and . (F1) is able to optimally solve all instances up to size regardless of value, faster that (F). The same observation holds for (F2) up to size regardless of value.
To sum up for the unrestrictive case, (F) 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. ), and is unable to solve the -task instances with long processing times (). In contrast, the results obtained with (F1) and (F2) do not significantly get worse with processing time increase.
7.2 Formulations for the general case
In this section the problem is solved using formulations (F3) as well as (F) and (F). Table 3 presents the results obtained on the Biskup and Feldmann’s benchmark, while Table 4 presents those obtained on long processing times instances, for .
As shown in Table 3, (F) is unable to solve any restrictive instance for within the time limit. Thus, (F) is not used neither for larger instance size, nor for the new benchmark. Other experiments show that (F) cannot solve -task instance when and . When ( resp. ), (F) solves 5 over the 10 instances for , using in average 2278 seconds (resp. 1575 seconds). (F) is able to optimally solve all the Biskup and Feldmann’s restrictive instances. Moreover, the computation times are similar to those obtained for the unrestrictive instances: less than 25 seconds for -task instances. (F3) is able to optimally solve all the instances up to size 20 as well as the -task instances when . However, the computation time is much larger than for (F): around 2 minutes for and 20 minutes for when .
As shown in Table 4, for long processing time instances with , (F) optimally solves almost all the instances within the time limit up to . It is important to notice that, for similar size, (F) computation time is significantly larger for long processing times instances than for Biskup and Feldmann’s ones: for , at least 116 seconds against a few seconds. In contrast, (F3) optimally solves all instances up to size 20 along with -task instances when . Note that, for these instances, (F3) is rather faster than (F) for . However, (F3) fails to solve instances with .
For general case instances, we obtain the same conclusion drawn for the unrestrictive instances. (F) is faster than (F3) for Biskup and Feldmann’s instances, while this is not the case for long processing times instances.
Other experiments show that (F3) used on unrestrictive Biskup and Feldmann’s instances (i.e. with ) is less efficient than (F1): 77 seconds in average for the -task instances, and more than 1300 seconds for the six optimally solved -task instances. The following paragraph will exploit this remark.
*What is really an unrestrictive instance?
*We have defined a due date as unrestrictive as soon as , since it is the common definition. But according to [5], a due date must be said unrestrictive if solving the problem for an arbitrary due date gives a solution for this due date. This definition raises two issues. First, since for some instances there exist several optimal solutions whose early tasks do not have the same total length, this definition depends on the algorithm, or even on the execution of the algorithm. Secondly, this definition requires an optimal solution to be found to say if the instance is unrestrictive or not. Therefore the prior definition is more convenient. But this remark leads to the following (F2)-(F3) procedure to solve a general instance.
Solving the instance without considering using the formulation (F2).
Testing if the total duration of early tasks is smaller than the due date i.e. .
If it is the case, then the solution obtained is optimal.
Otherwise solving the instance considering using (F3)
On average on the Biskup and Feldmann’s benchmark, the total length of the early tasks in the optimal solutions is 60% of the total length. That means that in this benchmark, instances with (i.e. ) are mostly unrestrictive as defined by [5]. For these instances, the (F2)-(F3) procedure can be relevant (but we do not present corresponding numerical results).
7.3 Linear relaxations analysis for (F2)
Table 5 shows that the lower bound provided by the linear relaxation (F2-LP) of (F2) is far from the optimal value (see the third column). Note that other experiments show that (F1) provides the same lower bound. We try to strengthen this lower bound by adding CPLEX cuts and/or the triangle inequalities introduced by [18].
For , 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 , adding the triangle inequalities provides a much better lower bound than adding the CPLEX cuts, and combining both of them provides almost the same bound as adding only triangle inequalities, but reduces the running time. For instance, for -task instances, adding triangle inequalities reduces the gap from to , and combining them with the CPLEX cuts reduces the running time from seconds to seconds.
These observations lead to look for other valid inequalities for the quadratic polytope defined and studied by [18], in order to strengthen our formulations. Indeed, as triangle inequalities, such inequalities can improve the lower bounds given by the linear relaxation of (F2), but also (F1) and (F3), where and variables satisfy the same inequalities. These observations also drive to deal with the related algorithmic aspects. Indeed, since directly adding such inequalities in the model increases significantly the computation times, we should define how to manage these inequalities, for instance by providing a cutting-plane based algorithm.
8 Conclusion
In this paper, thanks to our theoretical contributions on the non-overlapping inequalities, we proposed three new formulations based on earliness/tardiness variables to solve the common due date scheduling problem. Our formulations allow to solve unrestrictive instances with up to tasks and general instances up to tasks within few minutes. While scheduling literature proposes pseudo-polynomial methods strongly dependant on the total length of processing times, our formulation size does not rely on this value. Even if our results for the Biskup and Feldmann’s benchmark are far from those presented by [24], our MIP formulations outperform the compact MIP formulation based on linear ordering variables. In addition, for instances with long processing times, our formulations outperform the time-indexed formulation in the unrestrictive case. A key part in our work is the theoretical study of the non-overlapping inequalities, in particular Lemmas 2 and 2 and the scheme of proof used for Theorems 3.3 and 3.3 (resp. 5.3 and 5.3), which should allow to extend our approach to other related scheduling problems.
Further works will focus on the earliness-tardiness scheduling problem with parallel machines, where each machine imposes the same due date for all the tasks. Another issue is to address the single machine common due date scheduling problem with machine unavailability constraints. For both problems formulations similar to (F3) can be derived.
An interesting issue is to study the polyhedra associated to such formulations, to strengthen them using facet defining inequalities, as triangle inequalities, which can be used in any formulation using and variables to describe a cut in a graph.
Appendix : Proof of Theorem 5.3
Let us set, for any task in , .
The first step of the proof is to show that gives the completion times of the schedule encoded by using or i.e. that or .
First we derive from inequalities (5’)-(8’) that and .
Since and are in , and satisfies (13)-(16), (20)-(21) and (Q2’), Lemma 5.2 ensures that there exists such that , , and . Since is in , and . Then for any other task in , . We deduce that , and then .
The question is is whether or . Indeed, if , the value of is the one expected with the encoding , whereas if , it is the one expected with .
For any task in , . Since , inequality (23) gives , thus . We deduce that . Conversely, for a task in , , which is equivalent to . Since by inequality (19), , which would be impossible if was in , according to inequalities (5’) and (8’). We deduce that . Two cases have to be considered.
If , then , i.e. , and then and .
If , then and , we deduce that . For in , either or , that is , and necessarily . We conclude that and .
For the remainder of the proof, we assume that we are in the first case. Then (resp. ) will denote (resp. ), and we will use the encoding . To handle the second case, it suffices to replace by , by , and by in the second step, and using that is an on-time task in the third step.
We can rewrite as , and thus as , since by inequalities (24)-(27) and Lemma 5.2. Using inequalities (5’-8’), it is easy to show that e^{\prime}\!=\big{(}[d\!-\!a\!-\!C^{*}_{j}]^{+}\big{)}_{j\in J} and t^{\prime}\!=\big{(}[C^{*}_{j}\!-\!(d\!-\!a)]^{+}\big{)}_{j\in J}. Then we can conclude that , that is that and encode the same schedule, which will be denoted by .
The second step is to show that is feasible, by proving that satisfies ( ‣ 2) and (1).
For a task in , inequality (17) ensures that . For a task in , inequality (17) ensures that , then . For another, we deduce that from inequality (Q2’) associated to . Thus satisfies ( ‣ 2).
To show that satisfies (1) using Lemma 5.3, it remains to show that vectors and satisfy ( ‣ 2) and (1). Since inequalities (Q1’) and (Q2’) are satisfied, we know from Lemma 3.2 that and satisfy inequalities (Q0). On one hand, these inequalities for the singletons ensure that both vectors satisfy ( ‣ 2). On the other hand, inequalities (Q0) will allow us to show that both vectors satisfy (1).
Let us assume that does not satisfy (1). Then there exist two tasks and in such that . Three cases have to be considered.
If , then . Applying Lemma 2, we can construct a vector such that is in and since , which contradicts the minimality of .
If , we can derive the same contradiction since from inequality (18).
If and , then applying Lemma 2 to , we can construct two vectors and such that and are in and that is the middle point of the segment . which contradicts the extremality of .
Similarly, let us assume that does not satisfy (1). Then there exist two tasks and in such that . Since , we deduce that . Then for tasks and , inequalities (8’) and (22) are equivalent, and and are only bounded from above by . Then two cases have to be considered:
If , then . Applying Lemma 2, we can derive a contradiction to the minimality of .
If , Applying Lemma 2 we can derive a contradiction to the extremality of .
Finally, is feasible.
The third step is to show that is a -or-left-block. We first prove that is a block using the same method as in the proof of Theorem 3.3. Assuming that is not a block, we construct a better schedule by tightening tasks arround . Using Theorem 5.3, there exists encoding , and it contradicts he minimality of .
Thus is a block. Now we have to show that starts at time [math] or holds an on-time task. Let us assume that it is not the case, then setting where denotes the starting time of , we have . Setting and (resp. and ), (resp. ) encodes using the schedule obtained by shifting backward (resp. forward) by time unit all the tasks. By definition of , (resp. ) still satisfies inequalities (17), (23), (19) and (18), thus (resp. ). Since is the middle of , that contradicts the extremality of .
We deduce that encodes a -or-left-block.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Kenneth R. Baker and Gary D. Scudder. Sequencing with earliness and tardiness penalties: A review. Operations Research , 38(1):22–36, 1990.
- 2[2] Egon Balas. On the facial structure of scheduling polyhedra. Mathematical Programming , 24:179–218, 1985.
- 3[3] Francisco Barahona and Ali Ridha Mahjoub. On the cut polytope. Mathematical Programming , 36(2):157–173, 1986.
- 4[4] Dirk Biskup and Martin Feldmann. ORLIB common due date scheduling. http://people.brunel.ac.uk/ mastjjb/jeb/orlib/schinfo.html, 1998.
- 5[5] Dirk Biskup and Martin Feldmann. Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates. Computers & Opeartions Research , 28(8):787–801, 2001.
- 6[6] Coin-OR. LEMON, library for efficient modeling and optimization in networks. http://lemon.cs.elte.hu/, 2003.
- 7[7] José R. Correa and Andreas S. Schulz. Single-machine scheduling with precedence constraints. Mathematics of Operations Research , 30(4):1005–1021, 2005.
- 8[8] Martin E. Dyer and Laurence A. Wolsey. Formulating the single machine sequencing problem with release dates as a mixed integer program. Discrete Applied Mathematics , 26(2-3):255–270, 1990.
