1||∑wjTj (NP Hard)

Raunak Singh (ras2192)
IEOR 4405: Production Scheduling
28th April 2009
Simple rules do not work ! And not many complicated ones do too!!
Exact Solution Procedures
Approx. Solution Procedures
MIP based
Search heuristics
• Branch & Bound alg.
• Strong valid inequalities
• Iterated Dynasearch
• Ant Colony Optimization
:
Prohibitively large!!
Combinatorial Explosion!!
Overview of Proposed Heuristic
Clever MIP
formulation
LP Solver
Local search in
small
neighborhood
Post
Processing
Improved
Solution
“Good”
Solution
Modify MIP
formulation
Resolve LP
Simulated Annealing Alg.
Combine MIP and local search to iteratively look for improvements in objective
Divide time into discrete polynomial number of “Intervals”
0
∑pj
Divide time into discrete polynomial number of “Intervals”
• LP of reasonable size, relaxation can be quickly solved with modern solvers
• Don’t know the exact completion time of jobs, objective value is approx.
• Needs post-processing to come up with feasible schedule
Overestimate Model: End pts of Intervals used to approximate Tardiness
Observations
•Solution Quality depends on closeness of intervals to end points in optimal sequence
•If intervals contain optimal end points, this model guarantees to find opt solution
0
∑pj
How can we initially define Intervals?
“Intervals as union of feasible schedules”
Example: 5 job instance
EDD
2 - 3 - 1 - 4 - 5 | 4 - 14 - 18 - 20 - 25 | Value: 178
SPT
4 - 1 - 2 - 5 - 3 | 2 - 6 - 10 - 15 - 25 | Value: 124
Intervals: (0,2], (2,4], (4,6], (6,10], (10,14], (14,15], (15,18], (18, 20], (20,25]
LP Solution: 2 - 4 - 1 - 3 - 5 | 4 - 6 - 10 - 20 - 25 | Value: 91 (optimal)
0
∑pj
How can we initially define Intervals?
Dispatch Rules used for defining intervals:
End points given by:
(EDD) U (WSPT) U (ATC)
Apparent Tardiness Cost Rule (ATC):
Ref. Parameter k mapping function from [6] Valente
0
∑pj
Steps to get initial “Good Solution”
• Form the initial intervals using the 3 dispatching rules
• Feed data to CPLEX
Solve as an LP not IP
40 job instance:
4,800 variables; 160 constraints
100 job instance:
30,000 variables; 400 constraints
 Schedule by α – point (α taken 0.98)
• Post-processing to get a feasible schedule
 Break ties by EDD
• Use this as a seed solution for simulated annealing
0
∑pj
Local Search in well-defined neighborhood
0
Neighborhood 1
Neighborhood 2
Adjacent Pair-wise Interchanges
Acceptance Probability
(0 < β < 1; k = 1..# stages)
Termination Condition for Simulated Annealing:
• All pair-wise interchanges in neighborhoods exhausted, or
• Maximum number of iterations reached
Ref. Simulated Annealing algorithm from [3] Matsou, Suh, Sullivan
∑pj
• Solution after Simulated Annealing ≤ LP solution
• Add the end points of current best solution to MIP formulation
• Resolve the LP ….
• Implementation completed in C++ (1,200 lines of code) including:
Interval creation
Interfacing with CPLEX to solve LP
Simulated Annealing
 Data structures and running time considerations
• Testing and Statistical Analysis of Quality of Solution (in progress..)
• Comparison with other heuristics (in progress..)
Test Instances from OR-library (125 instances of 40, 50, 100 jobs each)
http://people.brunel.ac.uk/~mastjjb/jeb/info.html
Quality of Initial Solution (Before Simulated Annealing)
Deviation
≤ 1%
1 - 2%
2 - 5%
5 - 10%
> 10%
Mean
Median
# of instances
73
12
20
11
9
3.85
0.71
Instance size: 100 jobs
# tested: 30
Run time: 4 - 5 sec
Instance size: 40 jobs
# tested: 125
Run time: 0.2 sec
Deviation # of instances
≤ 1%
24
1 - 2%
4
2 - 5%
0
5 - 10%
0
> 10%
2
Mean
3.05
Median
0.15
Quality of Final Solution (After iterations of Simulated Annealing)
TO BE COMPLETED…
Instance size: 100 jobs
# tested:
Run time:
Instance size: 40 jobs
# tested:
Run time:
TO BE COMPLETED…
[1] Interval-indexed formulation based heuristics for single machine total
weighted tardiness problem - Altunc, Keha
[2] Scheduling To Minimize Average Completion Time: Off-line and On-line
Algorithms - Hall, Shmoyst , Wein
[3] A Controlled Search Simulated Annealing Method for the single machine
weighted tardiness problem - Matsuo, Suh, Sullivan
[4] Local Search Heuristics for the Single Machine Total Weighted Tardiness
Scheduling Problem - Crauwels, Potts, Wassenhove
[5] A time indexed formulation of non-preemptive single machine scheduling
problems - Sousa, Wolsey
[6] Improving the performance of the ATC dispatch rule by using workload
data to determine the lookahead parameter value - Valente
[7] An Experimental Study of LP-Based Approximation Algorithms for
Scheduling Problems - Savelsbergh, Uma, Wein