Single-Facility Scheduling over Long Time Horizons by Logic-Based Benders Decomposition

We use logic-based Benders decomposition to minimize tardiness in single-facility scheduling problems with many jobs and long time horizons. Release dates and due dates are given. A mixed integer linear programming (MILP) based master problem allocates jobs to segments of the time horizon, and a constraint programming (CP) based subproblem schedules the jobs in each segment.


Introduction
Scheduling is a decision-making process occurring frequently not only in service industries but also in manufacturing.The allocation of limited resources to jobs over time is the main concern.The resources and the jobs have many forms.For example, the resources may be machines, crews at a construction site, or processing units in a computing environment.The respective jobs may be operations in a production process, stages in construction project, executions of computer programs, and so on.Each job may have different priority level, release and due dates.Minimization of completion time of the last job (makespan), minimization of total tardiness, minimization of total cost are some possible objective functions of scheduling problems [20].
We study a single-facility scheduling over long time horizons.The goal is to assign jobs to facilities subject to the release and due dates of the jobs and minimize total tardiness.
Single-facility scheduling problems can be thought as simple and rare.In practice a complicated facility environment is often decomposed into subproblems that deal with single facility.The results obtained by singlefacility models provide a basis for heuristics for more complicated facility environments [20].Furthermore, there are obvious cases involving single facility scheduling, e.g. the processing of jobs through a small non-time-sharing computer.There are less obvious cases such as a large complex plant acts as if it was one facility, e.g. in paint manufacture whole plant may have to be committed to produce one color of paint at a time [6].A complicated facility environment with a single bottleneck may result also in a single facility model [20].Additionally, the problem of minimizing the total tardiness on a facility is shown to be NP-hard [5].When the time horizon is long, the problem becomes harder as the possible number of slots where a job can be scheduled may increase.
We consider the single-facility scheduling problem for many jobs and a long time horizon as a multiple facility scheduling problem.We divide the long time horizon into segments and consider each segment as a fictitious facility.The objective function is to minimize total tardiness, in addition all jobs might have different release and due dates.
We can decompose the problem into two portions: assignment, and scheduling.Central managers assign jobs to the facilities (in our work, fictitious facilities), whereas operations managers prepare detailed schedules for each facility.If the assignment done by central managers causes infeasibility, then operations managers call central managers and ask for a different allocation of jobs.Until a mutually satisfactory solution is reached, the calls will be necessary to obtain a feasible schedule.The solution found at the end might not be necessarily a good solution [13].
Benders decomposition can be seen as a form of "learning from mistakes".In this problem-solving strategy we assign some of the variables trial values and find the best solution consistent with these solutions.Then, information about the quality of other trial solutions is obtained and used for reducing the number of solutions we have to generate to find the optimal solution [10].Applying Benders decomposition is one of the possible approaches mimicking the feedback loop between central and operations managers.The Benders master problem is the planning problem by which jobs are allocated for each facility, and the subproblem separates into several independent scheduling problems.Benders cuts are the telephone calls [13].
The classical Benders approach [1,7] requires the subproblem to be a continuous linear or nonlinear programming problem.However, scheduling is a highly combinatorial problem without any practical linear or nonlinear programming model [13].Furthermore, even if integer programming (IP) has been successfully applied to a wide range of problems, such as capital budgeting, bin packing, etc., in the last two decades CP has been shown to be a flexible, efficient and commercially successful technique for scheduling problems.IP models may become very large and intractable as scheduling problems involve permutations [15].
We first decompose single-facility scheduling problem with long time horizons into assignment (master problem) and scheduling (subproblem) parts.Then, scheduling part decouples for each facility.By solving separate scheduling problems for each fictitious facility in the subproblem, we take advantage of working with smaller problems.Therefore, in this paper we extend Benders decomposition to a logic based context to solve single-facility scheduling problem with long time horizons by integrating CP and MILP.
We can also model the scheduling problem entirely as MILP or CP but these models are hard to solve because MILP is not effective for scheduling problems and CP is not effective for optimization problems with complex structure and many feasible solutions.By integrating them, we take advantage of relative strengths of MILP and CP [13,19].
In contrast to classical Benders, unfortunately, there is no standard form to generate Benders cuts in logicbased Benders decomposition.Thus, we develop Benders cuts specific to minimum total tardiness problem in which jobs may have different release and due dates.We also develop relaxations of the subproblem in the master problem to obtain better performance.

Previous Work
In the last two decades, extending Benders decomposition to logic-based context becomes increasingly attractive as substantial speedups can be achieved.By modeling some problems entirely as MILP or CP may not be effective as MILP performs good for optimization problems and CP performs good when highly constrained discrete optimization problems are considered and finding a feasible solution is enough [17].Thus, there is a growing trend for integrating CP and MILP.
Certainly, while integrating CP and MILP, one has to highlight inference duality, which is a general approach to sensitivity analysis that applies to both continuous and discrete problems.Key point is inferring from the constraints a best possible bound on the optimal value.A generalization of Benders decomposition to any optimization problem is achievable by inference duality.In logic-based Benders, we obtain the Benders cuts by solving the inference dual of the subproblem.The solution of the inference dual is a proof of optimality for the fixed values of master problem variables (primary variables) and by using the same proof, Benders cut is developed.Hence, a valid bound is obtained on the optimal value when the primary variables take other values.[11,13].(Details of inference duality can be found in Section 7.1.) Hooker and Yan introduced the logic-based Benders decomposition for circuit verification in [16] (whether a logic circuit correctly implements a given boolean function).The authors concluded that Benders approach performed better than BDD for circuits that do not contain many irreducible gates.In [10], Hooker extended the Benders decomposition to a logic-based context for propositional satisfiability and 0-1 programming problem.
In [15], the authors exploited the CP and LP structure.Unifying modeling and solution framework are proposed in the paper to show the strength of integrating CP and LP.Motivated by the complementary strength of CP and MILP, Jain and Grossman applied logic-based Benders to multiple-machine scheduling [17].When relaxation is tight and optimization is the dominating aspect, MILP is very efficient.However, for highly constrained discrete optimization problems and when feasibility is the main concern, CP works better than MILP.Therefore, while considering minimum-cost planning and scheduling problems, the authors exploited integration of MILP and CP.According to computational results, the hybrid models are shown to perform two to three orders of magnitude reduction in CPU time compared to standalone MILP and CP models [17].The subproblems are disjunctive scheduling problems (jobs must be run one at a time) which is a similar case to our work.However, the objective function is to minimize cost which is an easy problem.Harjunkoski and Grossmann considered multistage scheduling problems in which the subproblems are feasibility problems rather than optimization problems [9].Thus, the Benders cuts are generally simple.
Hooker and Ottosson applied logic-based Benders decomposition to the propositional satisfiability problem, the 0-1 programming problem, and a machine scheduling problem.They concluded that logic-based Benders approach can be applied to any optimization or feasibility problem as inference duality can be defined for these problems.The performance depends on not only defining the variables (primary and secondary variables) and the subproblem solvability but also on developed Benders cuts [14].Furthermore, in [3] logic-based Benders methods were adapted while solving integer programming variables.Minimal dispatching of automated guided vehicles [4], steel production scheduling [8], real-time scheduling of computer processors [2], traffic diversion [3], batch scheduling in a chemical plant [19], and polypropylene batch scheduling [21] are examples in which similar ideas were applied.However, in all these examples, the subproblem is a feasibility problem, not an optimization problem.
Additionally, in [18], the author provided a broad review and extensions of single-facility scheduling problems in which the objective functions are to minimize total tardiness.However, the release dates are equal to zero which makes the problem simple.

The Problem
We consider single-facility scheduling problems for many jobs and long time horizons.The objective function is to minimize total tardiness, in addition all jobs might have different release and due dates.We divide the long time horizon into segments and consider each segment as a facility, represented in Figure 1.z 1 and z m+1 are the start and finish time of the long time horizon, respectively.Each artificial facility is assumed to be one time segment.As represented in Figure 1, time segments can differ in length.With these time segments, we create m artificial facilities (i.e.i ∈ {1, 2, ..., m}).Currently, in the master problem and subproblem we assume that time segments are equal for the sake of simplicity.

Mixed Integer Linear Programming Model
Each job j ∈ {1, ..., n} will be assigned to fictitious facility i ∈ {1, ..., m}.p j , r j , and d j represent the processing time, the release date and the due date for job j, respectively.If job j will start at time t, then the decision variable, x jt , is equal to 1, and 0 otherwise.As t carries the information about what time the job starts, finding to which fictitious facility job is assigned becomes trivial.Thus, there is no extra index, i, at decision variable x jt representing facility.
If we want to model the scheduling problem entirely as MILP, then the model is x jt + x j,t ≤ 1 for all j, j, t, and t = t, ..., t + p j − 1 (3) x jt = 0 for all t < r j (4) x jt = 0 for all i, j, t, where t = z i+1 − p j + 1, ..., z i+1 − 1 (5) x jt ∈ {0, 1} for all j, t (7) Every job must be assigned to one of the facilities is represented in (2).( 3) prevents overlap of jobs.A job can not start when there is a job which has already started and not finished yet.A job cannot start before its release date is represented in (4).Additionally, a job cannot overlap from one time segment (namely, fictitious facility) to another time segment.Therefore, pre-emption is prevented by (5).Relaxing this constraint is a future research.Currently, we are motivated by the case that there may be recurrent times when a facility will not work, such as weekends, holidays, and so on.We consider our fictitious facilities are divided by such breaks.For instance, consider a facility, which is working during weekdays and is closed during weekends.Additionally, any job has to be finished during weekdays.Thus, preventing pre-emption is rational.Tardiness is defined by (6), and (8).

Constraint Programming Model
y j and z ij are decision variables representing the time intervals during which job j and assignment of job j to facility i are done, respectively.w i is another decision variable of the subproblem defining the sequence of y j time intervals at facility i.Then, if we want to model scheduling problem entirely as CP, the model is s.t.startOf (y j ) ≥ r j for all j (10) alternative (y j , all (i in Machines) z ij ) for all j (11) noOverlap (w i ) for all i (12) Minimization of total tardiness is formulated by (9).A job can start only after its release date.This constraint is formulated by (10).By (11), a time interval during which a job is done will correspond to a time interval on the respective facility.Lastly, the sequence of jobs' time intervals will not overlap on each facility.In other words, only one job can be processed at a time.We formulate CP model by using the high-level modeling language of ILOG OPL Development Studio 6.1.1 for computational analysis.The code for CP version of minimization of total tardiness can be found in Section 7.2.

Logic-Based Benders Decomposition
In logic-based Benders decomposition, we acquire Benders cuts by solving the inference dual of the subproblem.Firstly, primary variables (variables of master problem) are distinguished from secondary variables (variables of subproblem).Secondly, planners solve the master problem for fixing primary variables to some trial value.There may be two possible outcomes: either master problem is feasible or infeasible.If master problem is infeasible, planners stop trying to find the optimal solution as there is no optimal solution for this instance.
On the other hand, if the master problem is feasible, the primary variables are fixed and the solution of the inference duality becomes a proof of optimality.For each trial value of primary variables, schedulers solve the subproblem which is decoupled for each facility.If the solution is suboptimal, planners and schedulers search for its reasons and develop constraints, Benders cuts, by following the same proof and obtain a valid bound on the optimal value to reduce the number of possible solutions.Benders cuts may not only eliminate the current suboptimal solution but also may eliminate a class of solutions for the same reason.As the Benders cuts are added to the master problem, which is formulated as MILP, the Benders cuts have to be formulated as linear inequalities.Afterwards, planners resolve the master problem including the Benders cuts.Logic-based Benders method is represented in Figure 2.

Master Problem and Subproblem
In the Benders approach by the master problem jobs are assigned to fictitious facilities and by the subproblem jobs are scheduled.Before mentioning the Benders cut and the subproblem relaxations proposed, we would like to introduce the master problem and subproblem of single-facility scheduling with long time horizons.
New decision variables are introduced in the master problem.T ij , and T represent tardiness of job j at facility i, and total tardiness, respectively.Furthermore, let Z i is the set of time periods representing time window of fictitious facility i (Z i = {t : z i ≤ t ≤ z i+1 − 1}).In iteration h of Benders method, the master problem is min T (13) s.t.
Suppose T i is the decision variable in MILP formulation instead of T ij as shown in (24).While calculating tardiness of job j, we need to take maximum of 0 and t∈Zi (t + p j − d j ) * x jt .In (24) we sum (t + p j − d j ) * x jt over every job j and over every time period t ∈ Z i .Then, we consider the nonnegativity of the summation ( T i ≥ 0).Assume job k is not tardy and is assigned to facility i (If a job is not tardy, then If we consider the nonnegativity after summing the terms over every job j assigned to facility i, we will obtain wrong value for facility i's tardiness as we decrease the real tardiness by The subproblem decouples into a single-facility scheduling problem for each facility i.Let J hi be a set of jobs assigned to facility i in iteration h.Then, the subproblem becomes min j max{endOf (y j ) − d j , 0} for all j ∈ J hi (25) s.t.startOf (y j ) ≥ r j for all j ∈ J hi (26) startOf (y j ) ≥ z i for all j ∈ J hi (27) endOf (y j ) ≤ z i+1 for all j ∈ J hi (28) noOverlap (w i ) for all i (29) There is no need to define interval decision variables z ij as in Section 3.2 because for each facility i CP will be solved separately.( 25) and ( 26) are same as in Section 3.2.Only, as we solve CP one by one for each facility, we consider all constraints will be valid for the jobs j which are assigned to respective machine.( 27) and ( 28) satisfy the time interval decision variables will be scheduled in the time windows of the respective fictitious machine.

Benders Cuts
Logic-based Benders cuts need to provide a valid bound for any given fixed primary variables' value during iterations.For the sake of simplicity and tractability, let T i be another decision variable representing the tardiness of fictitious facility i ( T i = j T ij where j = 1, ..., n).Additionally, let J hi be a set of jobs assigned to facility i in iteration h and let Z i is the set of time periods representing time window of fictitious facility i Suppose the current tardiness of facility i is We propose Benders cut in (30) that will give bound on total tardiness of facility i that can be stated after removing some jobs which are previously assigned to facility i.
Let t 0 j be start time of job j in the current schedule and suppose jobs are all indexed such that t 0 1 ≤ t 0 2 ≤ ... ≤ t 0 n (we know the previous schedule of the jobs from the scheduling problem).x kt is the decision variables of master problem (assignment variables).x kt takes value 1 when job k starts at time t, otherwise 0.
B k is the maximum amount of decrease in tardiness of facility i when we remove job k from facility i.We consider each job j which is performed after job k (j > k) and we check how much the tardiness of each job j will decrease if we remove job k.Then, we sum over all jobs which are performed after job k (j > k where j = 1, ..., n).
), then we do not want to decrease the current tardiness.Furthermore, T 0 j and T 0 k in (31) are current tardiness of job j and current tardiness of the removed job (job k).Then, the Benders cut in iteration h + 1 becomes where Let's consider a job j which is performed just after job k and job k is removed.There will be three possible conditions resulting from the removal of job k, represented in Figure 3.We choose to show the conditions in which we can observe tardiness and a positive decrease in tardiness if we remove job k.However, there are other possible conditions in which removing job k does not decrease tardiness (minimum of the three components in (31) and T k may be zero).
In part a of Figure 3, the schedule before removing job k is shown.In part b, the new schedule with the change in tardiness is represented.Red colored line shows the reduction in tardiness of job j if we remove job k.We consider there are some other jobs performed before job k (because in case ii and iii, job k cannot start right after its release time).The brackets, "["and "]", show the release and due dates of jobs, respectively.Figure 3: Examples for three cases realized while calculating B k .Tardiness decreases by i. p k ii.t 0 j − r j iii.T 0 j .

Subproblem Relaxation
It is hard to find tight and valid relaxations.We have tried several candidate relaxations and checked if they are always valid.Unfortunately, we could not find a tight subproblem relaxation because of diverse release dates, therefore, we modify the previous relaxations for our problem.We change the relaxation in [13] by adding z i to (33) and (34).z i is the start time of the fictitious facility i's time interval (namely, respective time segment).T ik represents tardiness of job k at facility i where T is total tardiness.Let Z i is the set of time periods representing time window of fictitious facility i Let π(j) be an ordering such that p π(1) ≤ p π(2) ≤ p π(3) ≤ ... ≤ p π(n) .Additionally, the jobs will be indexed according to their deadlines ( Otherwise, this relaxation will not be valid.By this relaxation, a lower bound on tardiness incurred by the job with the k th latest deadline will be obtained by supposing that the job will finish no sooner than the job interval of the k jobs with the smallest processing times.We also add z i on the right hand side of (33) because if job k is assigned to facility i, there is no chance that job k may start earlier than the start time of the facility's time window (namely, z i ).
Right-hand side of (32) is actually formulated as x kt ).However, if we formulate like multiplication of two decision variables, then the constraint will be nonlinear.Therefore, we linearize the bound by including U ik which is the maximum value that x π(j)t = 1 for all first k jobs in π(j) ordering).Whenever job k is not assigned to facility i ( x kt = 0, we subtract U ik from the right hand side of (33) so T ik becomes either equal to 0 or less than 0. U ik can be negative, however, right-hand side is never positive when t∈Z i x kt = 0).Lastly, nonnegativity feature of tardiness is represented in (35).
The second relaxation is also similar to the relaxation in [13].J(0, d k ) is the set of jobs with time windows between 0 and d k and we do not assume that the jobs are indexed according to their deadlines.For any k, the last scheduled job in the set J(0, d k ) can finish no earlier than time t = j∈J(0,d k ) p j .The last task has due date no later than d k .In our problem, we may have different release dates for jobs so we adjust the relaxation by adding the minimum of the release dates on the right-hand side of (37).
The third relaxation is from [12].J(t 1 , t 2 ) is the set of the jobs with time windows between t 1 and t 2 .With (39), we prevent over-scheduling of jobs between time t 1 and t 2 .For t 1 and t 2 , our current approach is considering the time windows of each fictitious facility, such as t 1 = z i and t 2 = z i+1 − 1.However, it is also reasonable to select some large sets J(r j , d k ).Let Z t 1 ,t 2 is the set of time periods between t 1 and t then, the third relaxation becomes 5 Problem Generation Random instances were generated from the uniform distribution on the intervals mentioned in Table 1.R is a large number representing the long time horizon of the single-facility (not fictitious facilities).Release date of each job, r j , were generated from the uniform distribution on the interval [0, R] or [0, α * R].For every job j, r j had to be in the time window of the single facility.When we multiplied the time horizon of the facility by a small coefficient, α, each release date can at most take value α * R. Therefore, we can say that the interval [0, α * R] may be more denser than the case in which we generated each r j from the interval [0, R].Generating r j more densely at the beginning of horizon may allow us to obtain different combinations of jobs' schedules.The length of time windows (d j −r j ) for every job were generated from the uniform distribution on the interval [0, α * R] or [1/4 * α * R, α * R].We left space for jobs to be tardy as we did not allow the time windows to spread from 0 to R. We multiplied R with small coefficients while generating time windows.In other words, we can say that we shortened the interval from which time windows' length will be generated.After creating the time windows, we generated the processing time of every job in the respective time window.We can also multiply the length of the time windows with a small coefficient to let jobs to have several configurations without being tardy.Otherwise, their r j , d j and p j will define at which fictitious facility they will be assigned to, without solving the models, which will make the scheduling problem simpler.
6 Conclusions and Future Research We integrate CP and MILP through a Benders scheme for single-facility scheduling problem with long-time horizons.By the nature of the problem, we can first decompose the scheduling problem into two: assignment, and scheduling.Then, we can decouple scheduling part of the problem which is the key motivation in implementing logic-based Benders decomposition.Thus, we have a chance to solve much smaller problems and add some cuts which will impose bounds on the objective function, minimization of total tardiness, to obtain the optimal solution by achieving some speed-ups.Computational experiments will be done to analyze the performance of hybrid model compared to pure MILP and pure CP models for the single-facility scheduling problem with long time horizons.
One of the future research would be updating the time windows of facility at which there is a job overlapping to another facility.For example, job j is the last job at facility i − 1 overlapping facility i.We propose shifting z i to the finish time of job j.Not only forward shifting but also backward shifting of z would be studied.Suppose the remaining time slot at the end of the facility i's time window is not enough for any of the jobs to be scheduled on facility i, therefore, shifting respective z (z i+1 ) would allow us to gain the lost time slot.Addition of new constraints and new objective function term in the master problem become necessary when shifting is allowed.
We would also consider updating z i when preemptive scheduling is allowed.

Inference Duality
In logic-based Benders decomposition, the linear programming dual of the subproblem is generalized to become an inference dual [10].The inference dual of x ≥ 0 (42) is finding the strongest inequality c T x that can be inferred from ( 41) and (42) [14]. [

Figure 1 :
Figure 1: Long time horizon divided into time segments.

Table 1 :
Data elements are uniformly distributed on the respective intervals.
OPL Studio code for the CP modelAs mentioned in Section 3.2 decision variables are defined as interval variables (dojob, actOnRes) and sequence variable (seq).M is an upper bound on the finish time of interval variables dojob.machjob[1,j].durationcorresponds to processing time of job j(namely, p j ).segmentLength is the length of each fictitious facility.With (i − 1) * segmentLength..(i) * segmentLength we define the time windows for facility i.