Title: Planning and Scheduling to Minimize Tardiness
1Planning and Scheduling to Minimize Tardiness
- John HookerCarnegie Mellon University
- September 2005
2The Problem
Given a set of tasks, each with a deadline
3The Problem
Given a set of tasks, each with a deadline
and processing facilities that run at different
speeds.
4The Problem
Allocate tasks to facilities.
5The Problem
Allocate tasks to facilities.
Schedule tasks on each facility(cumulative
scheduling)
6The Problem
Allocate tasks to facilities.
Schedule tasks on each facility(cumulative
scheduling)
Each task has a given processing time on each
facility.
7The Problem
Allocate tasks to facilities.
Schedule tasks on each facility(cumulative
scheduling)
Each task has a given processing time on each
facility. Each task consumes resources at a given
rate on each facility.
8The Problem
Allocate tasks to facilities.
Schedule tasks on each facility(cumulative
scheduling)
Each task has a given processing time on each
facility. Each task consumes resources at a given
rate on each facility. Each facility has a
resource limit.
9The Problem
Allocate tasks to facilities.
Schedule tasks on each facility(cumulative
scheduling)
- Objectives
- Minimize number of late tasks.
- Minimize total tardiness
10Approach
- In practice, problem is often solved by
give-and-take.
Planner
Planner allocates tasks to facilities
Schedulers
11Approach
- In practice, problem is often solved by
give-and-take.
Planner
If there are problems, schedulers telephone
planners and ask for a different allocation.
Schedulers
12Approach
- In practice, problem is often solved by
give-and-take.
Planner
Planner allocates tasks differently
Schedulers
13Approach
- In practice, problem is often solved by
give-and-take.
Planner
And so forth until agreement is reached.
Schedulers
14Approach
- In practice, problem is often solved by
give-and-take.
Planner
And so forth until agreement is reached.
Schedulers
- Benders decomposition is a mathematical
formulation of this process. - Planning is the master problem.
- Scheduling is the subproblem.
- Telephone calls are Benders cuts.
15Approach
- Use logic-based Benders.
- Since classical Benders requires that the
subproblem be a linear or nonlinear programming
problem.
- Decomposition permits hybrid solution
- Apply MILP to planning master problem.
- MILP is generally better at resource allocation.
- Apply CP to scheduling subproblem.
- CP is generally better at scheduling.
16Related Work
- 1995 (JH Yan) Logic-based Benders.
- Applied to logic circuit verification.
- 2000 (JH) Theory of logic-based Benders.
- Branch-and-check proposed.
- 2000 (JH) Application to planning scheduling
proposed. - Combine CP MILP.
- Application to integer programming, SAT.
- 2001 (Jain Grossmann) Application to machine
assignment and disjunctive scheduling. - Simple Benders cuts, since subproblem is a
feasibility problem.
17Related Work
- 2001 (Thorsteinsson) Branch and check applied
to Jain Grossmann problems. - Update solution of master problem.
- 2002 (Harjunkowski Grossmann) Generalization
of Jain Grossmann to multistage. - 2002 (Timpe) Polypropylene batch scheduling at
BASF. - Similar approach applied to automobile assembly
(Peugeot/Citroën), paint mixing (Barbot). - 2003 (JH, Ottosson) Integer programming.
- Benders cuts less obvious, since subproblem is
an optimization problem. - Suitable for stochastic integer programming.
18Related Work
- 2004 (JH) Min-cost and min-makespan planning
cumulative scheduling. - Benders cuts less obvious in min makespan, since
subproblem is optimization problem. - 2004 (Cambazard et al.) Real-time scheduling of
computer processes. - CP master problem.
- 2004 (Chiu Xia) Integer programming.
- Used min-conflict classical Benders cuts.
- 2004 (Maravelias and Grossmann) Batch
scheduling in chemical plants. - 2004 (Correa, Langevin Rousseau) Automated
guided vehicles.
19Todays Presentation
- Planning and cumulative scheduling to minimize
tardiness. - Number of late jobs.
- Total tardiness.
- Main contribution
- Analysis of cumulative constraint to provide
linear relaxation of the scheduling subproblem. - This is most difficult when minimizing total
tardiness. - Add relaxation to master problem.
- The relaxation is essential to computational
performance.
20Logic-Based Benders Decomposition
Basic idea Search over values of x in master
problem. For each examined, solve
subproblem for y.
Solution of master problem
Subproblem
Master Problem
21Logic-Based Benders Decomposition
Subproblem
After solving the subproblem, generate a Benders
cutwhere is the optimal value of
the subproblem. The Benders cut is based on a
logical analysis of subproblem solution. Re-solve
the master problem and continue until it has the
same optimal value as the subproblem.
22Applying Benders to Planning Scheduling
- Decompose problem into
- assignment
resource-constrained
assign tasks
scheduling - to facilities
schedule tasks on
each facility
- Use logic-based Benders to link these.
- Solve master problem with MILP
- --
good at resource allocation - subproblem with Constraint
Programming - --
good at scheduling - We will use Benders cuts that require no
internal information from the CP solver.
23Notation
pij processing time of task j on facility i cij
resource consumption of task j on facility i Ci
resources available on facility i
Facility 1
Facility 2
C1
C2
c11
task 1
task 3
task 4
c22
task 2
task 5
p11
p22
Total resource consumption ? Ci at all times.
24Objective functions
Minimize late tasks
facility assigned to task j
start time of task j
Minimize tardiness
deadline for task j
25Minimize Late Tasks MILP Model
1 if task j is late
26Minimize Late Tasks MILP Model
1 if task j is late
1 if task j starts at time t on facility i
Number of discrete times t
27Minimize Late Tasks MILP Model
1 if task j is late
1 if task j starts at time t on facility i
Task j starts at one time on one facility
Number of discrete times t
28Minimize Late Tasks MILP Model
1 if task j is late
1 if task j starts at time t on facility i
Task j starts at one time on one facility
Number of discrete times t
Tasks underway at time t consume ? Ci in
resources
29Minimize Late Tasks MILP Model
1 if task j is late
1 if task j starts at time t on facility i
Task j starts at one time on one facility
Number of discrete times t
Tasks underway at time t consume ? Ci in
resources
Tasks observe time windows
30Minimize Late Tasks CP Model
start time of task j
yj facility assigned to task j
31Minimize Late Tasks CP Model
start time of task j
yj facility assigned to task j
start times of tasks assigned to facility i
32Minimize Late Tasks CP Model
start time of task j
yj facility assigned to task j
start times of tasks assigned to facility i
Observe resource limit on each facility
33Minimize Late Tasks CP Model
start time of task j
yj facility assigned to task j
start times of tasks assigned to facility i
Observe resource limit on each facility
Observe time windows
34Minimize Late Tasks Logic-Based Benders
Master Problem Assign tasks to
facilities Iteration h
1 if task j is assigned to facility i
35Subproblem Schedule tasks assigned to each
facility Separates into an independent
scheduling problem on each facility i.Solve by
constraint programming.
Set of tasks assigned to facility i by solution
of master problem.
36Benders Cuts
Lower bound on late tasks on facility i
Min late tasks on facility i (solution of
subproblem)
37Benders Cuts
Lower bound on late tasks on facility i
Min late tasks on facility i (solution of
subproblem)
subset of Jhi for which min late tasks is still
Lhi (found by heuristic that repeatedly solves
subproblem on facility i )
38Benders Cuts
Min late tasks on facility i (solution of
subproblem)
To reduce late tasks, must remove one of the
tasks in from facility i.
39Benders Cuts
Min late tasks on facility i (solution of
subproblem)
subset of Jhi for which min late tasks is still
Lhi (found by heuristic that repeatedly solves
subproblem on facility i )
Smaller subset of Jhi for which min late tasks
is Lhi ? 1 (found while running same heuristic)
40Benders Cuts
Min late tasks on facility i (solution of
subproblem)
To reduce late tasks by more than 1, must
remove one of the tasks infrom facility i.
41Benders Cuts
These Benders cuts are added to the master
problem in each iteration h.
42Relaxation of Subproblem
Lower bound on late tasks on facility i
43Relaxation of Subproblem
Lower bound on late tasks on facility i
Set of tasks assigned to facility i with deadline
at or before dj
Ci
task1
task 3
task 2
44Relaxation of Subproblem
Lower bound on late tasks on facility i
Set of tasks assigned to facility i with deadline
at or before dj
Ci
task1
task 3
task 2
Area pi1ci1
45Relaxation of Subproblem
Lower bound on late tasks on facility i
Area of tasks assigned to facility i with
deadline at or before dj
Ci
task1
task 3
task 2
Area pi1ci1
46Relaxation of Subproblem
Lower bound on (makespan ? latest deadline)
Ci
task1
task 3
task 2
47Relaxation of Subproblem
Lower bound on (makespan ? latest deadline)
Ci
task1
task 3
task 2
Max processing time
48Relaxation of Subproblem
Min of late jobs on facility i
49Relaxation of Subproblem
Min of late jobs on facility i
This relaxation is added to the master problem at
the outset.
50Minimize Total Tardiness MILP Model
tardiness of task j
51Minimize Total Tardiness CP Model
52Minimize Total Tardiness Logic-Based Benders
Master Problem Assign tasks to
facilities Iteration h
1 if task j is assigned to facility i
53Subproblem Schedule tasks assigned to each
facility Separates into an independent
scheduling problem on each facility i.Solve by
constraint programming.
Set of tasks assigned to facility i by solution
of master problem.
54Benders Cuts
Lower bound on tardiness for facility i
Min tardiness on facility i (solution of
subproblem)
55Benders Cuts
Lower bound on tardiness for facility i
Min tardiness on facility i (solution of
subproblem)
To reduce tardiness on facility i, must remove
one of the tasks assigned to it.
56Benders Cuts
Min tardiness on facility i (solution of
subproblem)
Set of tasks that can be removed, one at a time
from facility i without reducing min tardiness.
57Benders Cuts
Set of tasks that can be removed, one at a time
from facility i without reducing min tardiness.
Min tardiness on facility i when all tasks in Zhi
are removed simultaneously.
58Benders Cuts
To reduce tardiness below on facility i, must
remove one of the tasks in Jhi \ Zhi
Set of tasks that can be removed, one at a time
from facility i without reducing min tardiness.
Min tardiness on facility i when all tasks in Zhi
are removed simultaneously.
59Benders Cuts
These Benders cuts are added to the master
problem in each iteration h.
60Subproblem Relaxation I
Lower bound on total tardiness for facility i
61Subproblem Relaxation I
Lower bound on total tardiness for facility i
Set of tasks assigned to facility i with deadline
at or before dk
task1
task 3
task 2
62Subproblem Relaxation I
Lower bound on total tardiness for facility i
Area of tasks assigned to facility i with
deadline at or before dk
task1
task 3
task 2
63Subproblem Relaxation I
Lower bound on total tardiness for facility i
Lower bound on total tardiness
task1
task 3
task 2
64Subproblem Relaxation II
Lemma. Consider a min tardiness problem that
schedules tasks 1, , n on facility i, where d1 ?
? ? dn. The min tardiness T is bounded below by
where
and ? is a permutation of 1, , n such that
65Example of Lemma
Ci
task 2
task 1
task 3
d1
d2
d3
Min tardiness 4
66Idea of proof
For a permutation ? of 1,,n let
where
Let ?0(1), , ?0(n) be order of jobs in any
optimal solution, so that
and min tardiness is T
Consider bubble sort on ?0(1), , ?0(n) to obtain
1,,n. Let ?0,, ?S be resulting sequence of
permutations, so that ?s, ?s1 differ by a swap
and ?s(j) j.
67swap k and k1
Now we have
since
areas
def. of ?
So
since A ? a, B ? b
68Writing relaxation II
From the lemma, we can write the relaxation
where
To linearize this, we write
and
where
69Computational Results
- Random problems on 3 facilities.
- Facilities run at different speeds.
- All release times 0, due dates differ.
- Random due date parameters set so that a few
tasks tend to be late. - No precedence or other side constraints.
- They would make the problem easier.
- Implement with OPL Studio
- CPLEX for MILP.
- ILOG Scheduler for CP. Use AssignAlternatives
SetTimes.
70Min late tasks Smaller problems
71Min late tasks Larger problems
( ) optimalitynotproved
72Effect of subproblemrelaxation Min late tasks
73Min total tardiness Smaller problems
74Min total tardiness Larger problems
( ) optimalitynotproved
75Effect of subproblemrelaxation Min
totaltardiness
76Conclusions
- Benders is significantly faster than MILP (which
is faster than CP). - Speedup for min late tasks is often orders of
magnitude. - Smaller speedup for min total tardiness.
- Problems with more than a few late tasks are
hard for all methods. - Benders finds better suboptimal solutions.
- Even when Benders fails to prove optimality, it
obtains much better solutions than MILP in the
same time period. - Subproblem relaxation is important.
- Linear relaxation of cumulative constraint can
be critical to performance, especially when
minimizing total tardiness.
77Future Research
- Implement branch-and-check for Benders problem.
- Exploit dual information from the subproblem
solution process (e.g. edge finding). - Explore other problem classes.
- Integrated long- and short-term scheduling
- Vehicle routing
- SAT (subproblem is renamable Horn)
- Stochastic IP