Stochastic Optimization Methods in Scheduling Rolf H. Möhring Technische Universität Berlin Combinatorial Optimization and Graph Algorithms
More expensive and longer... Eurotunnel Unexpected loss of 400,000,000 in first half of 995 Delays in project start and excecution
More expensive and longer... Government & parliament buildings in Berlin Not ready for move of the government & parliament Expected to be (much) more expensive July 7, 999
We are deeply disappointed and even somewhat depressed
Reasons Planning assumes certainty about project details deterministic models Project excecution is subject to many influences that are beyond control machine breakdowns, weather, illness, leads to underestimation of expected makespan and cost Fulkerson 96 Therefore Need models and techniques to cope with uncertainty
Coworkers M. & Frederik Stork DFG Project Scheduling Problems with Varying Processing Times M., Andreas Schulz, Martin Skutella & Marc Uetz Esther Frostig & Gideon Weiss GIF Project Polyhedral Methods in Stochastic Scheduling Background M., Radermacher & Weiss 98-986
Overview The model Classes of policies Computation and approximation Open problems
The discrete data a set V of n jobs j =,..., n (no preemption) a graph (partial order) G of precedence constraints a system F of forbidden sets (resource constraints ) G 3 4 5 6 7 F {3,4,5}, {,4}
The continuous data a joint distribution Q of job processing times job j has random processing time X j with distribution Q j a cost function κ ( C,..., C n ) depending on the (random) completion times C,..., C n Examples: C max and w j C j
The objective Plan jobs non-preemptively over time and... respect the precedence constraints resource constraints minimize expected cost or other parameters of the cost distribution
Planning with policies The dynamic view t S(t) t planned time Decision at decision time t non-anticipative start set S(t) (possibly empty) fix tentative next decision time t planned next planned next, t = min{ t, C } Minimize expected cost: min{ E[ κ Π ] Π is a policy}
Policies An Example 3 4 m = machines F ={,3,4} forbidden X j ~ exp(a), independent common due date d penalties for lateness: v for job, w for jobs 3,4, v << w Minimize E( Σ penalties )
Example: starting job and early 3 4 Start jobs and at t = 0 Danger: job blocks machine d expensive jobs 3 and 4 sequentially
Example: leaving the second machine idle 3 4 Start only job and wait for its completion Danger: deadline is approaching d expensive jobs 3 and 4 in parallel short span to deadline
Example: use tentative decision times Start at time 0. Fix tentative decision time t panic panic if C t start 3 and 4 at C else start at t panic panic 3 4 d 3 4 panic Jobs may start when no other job ends d
Example: best policy uses tentative decision time Expected cost for a =, d = 3, v = 0, w = 00 43.4 4.6 d = 3 panic t
Comparison with Stochastic Programming -stage stochastic program: min E[ f (ξ, x, x (ξ ))] s.t. x C x C ( ξ, x ) ξ x x observation first stage decision second stage decision ξ independent from x in this model but not in stochastic scheduling!
Stability of policies Data deficiencies, use of approximate methods (simulation) require stability condition: Q approximates Q κ approximates κ OPT( Q, κ ) approximates OPT( Q, κ)
Excessive information yields instability 4 min EC ( max ) 3 5 Q j : x y j with probability j with probability = (,,, 4, ) = (, 4,,, ) Exploit info when completes x j y 4 3 5 4 3 5 8 E j ( C ) Q max j 8
Q j j Q : x y = = ( 4,,,, ) ( 4,,,, ) with probability with probability No info when completes. So start after x y 4 3 5 4 3 5 EQ ( C ) = max 9 lim E ( C ) = j Q max j 8 8 0
Robust information and decisions S(t) t t planned Robust information at time t which jobs have completed by t which jobs are running at t Start jobs only at completions of other jobs
Overview The model Classes of policies Computation and approximation Open problems
Policies viewed as functions Π : IR n IR n processing time vector x schedule ( x,..., x ) ( S,..., S ) n n Π( x) Discuss properties of policies like being continuous convex monotone...
A policy is three objects dynamic planning rule function n IR IR n combinatorial object
Classes of policies priority policies preselective policies earliest start policies (ES-policies) linear preselective policies distinct conflict solving strategies on forbidden sets a general class of robust policies
Priority policies Solve resource conflicts by priorities At every decision time t, use a priority list Lt : j < j <... < j Start as many jobs as possible in the order of L k Greedy use of scarce resources
Priority policies are neither continuous nor monotone (Graham anomalies) 4 6 identical machines 5 min Cmax 3 7 L = < <...< 7 x = (4,,,5,5,0,0) 4 6 3 5 7 y = x = (3,,,4,4,9,9) 4 5 6 3 7
Classes of policies priority policies preselective policies earliest start policies (ES-policies) linear preselective policies distinct conflict solving strategies on forbidden sets a general class of robust policies
Preselective policies Solve resource conflicts by pre-selecting a waiting job i j k i k j for every forbidden set F, select waiting job j from F, j must wait for at least one job from F Start every job as early as possible w.r.t. to G + waiting conditions delaying alternative waiting condition
A preselective policy for Graham s example 4 5 6 identical machines F = {4,5,7} is only forbidden set 3 7 7 x = (4,,,5,5,0,0) 4 6 3 5 7 y = x = (3,,,4,4,9,9) 4 6 3 5 7
Preselective policies and AND/OR networks G 3 F 6 F 4 6 F 4 5 7 3 5 F 7 F : {3,4,5}, {,4} 4 4 waiting jobs define policy Π AND/OR network representing Π start in Π = min of longest paths lengths = min of max of sums of processing times Π is monotone and continuous
Problems related to AND/OR networks may contain cycles 5 F Tasks test feasibility 3 4 F 6 F 3 9 detect forced waiting conditions (transitivity) compute earliest start 7 F 4 8 F 5 0 Fast algorithms available
3 views on preselective policies early start scheduling w.r.t. waiting conditions dynamic planning rule function n IR IR n combinatorial object continuous, monotone stability AND/OR networks
Classes of robust policies priority policies preselective policies earliest start policies (ES-policies) linear preselective policies distinct conflict solving strategies on forbidden sets a general class of robust policies
Set policies: A general class of robust policies Only exploitable information at time t set of completed jobs set of busy jobs Jobs start only at completions of other jobs S(t) Special cases priority policies preselective policies t t planned
Set policies behave locally like ES-policies For every set policy Π, there exists a partition of IR n into finitely many convex polyhedral cones Z,..., Z k and feasible partial orders G,..., G k such that Π( x) = ES ( x) for x Z G i i Π( x) = ES ( x) G Π( x) = ES ( x) G Graham anomalies only at boundaries of cones! Stability for continuous distributions!
Optimality of set policies If all jobs are exponentially distributed and independent the cost function κ is additive then there is an optimal set policy Π (among all policies). κ is additive if there is a set function g : IR (the cost rate) with κ ( C,..., Cn ) = g( U( t)) dt U( t) = set of uncompleted jobs at t V g( ) g( ) g( )
Overview The model Classes of policies Computation and approximation Open problems
How to find good policies efficiently? Determining an an optimal policy is is NP-hard Exact methods: limited applicability Construct policies with provable performance guarantee Heuristics: use good deterministic schedules to to construct policies
Algorithms 3 4 6 5 7 Heuristics {,} Extract good policies from several deterministic schedules 3 3 6 4 4 5 7 5 6 7 Exact methods Branch & Bound and exterior sampling {3,4,5} 3 4 5 3 6 3 6 3 4 4 4 5 7 5 7... 6 7 5 Rolf Möhring 00
Computing (linear) preselective policies Truncated Erlang distribution on [0.*mean;.6*mean] 57 forbidden sets, 5 jobs 55 4 4 54 56 3 34 4 35 5 3 36 6 37 7 38 39 8 9 0 4 5 6 7 8 9 43 44 48 7 0 8 9 30 3 3 3 40 4 5 45 33 6 47 46 59 5 5 60 53 6 58 57 6 49 50 Optimum deterministic makespan 03 CPU:.7 sec Optimum expected makespan 43. Optimal preselective policy Nodes: 5007 CPU: 377.0 sec Opt. linear pres. policy Nodes: 409 CPU: 49.85 sec
How good are simple policies? Simple = priority or linear preselective or?? A simple setting: m identical machines κ = wc j j Use ideas from the deterministic case LP-relaxation LP-guided construction of a list L defining the policy
The LP-based approach Consider the achievable region Π Π n ( EC [ ], K, EC [ n ]) IR Π policy } Find a polyhedral relaxation P Solve the linear program LP j LP (LP) min{ wc C P} j j Use the list L: i i i n defined by C LP C LP C LP i i... i n as list for priority/lin. pres./other policy C LP
Performance guarantees from the LP Let Π L be the policy induced by L: i i i n L Hope that E[ κ Π LP ] α OPT, α /α. OPT α. OPT OPT OPT LP cost of Π L
The case without precedence constraints Generalize valid inequalities from deterministic scheduling Hall, Shmoys, Schulz & Wein 97 Π EX [ k] EC [ k ] EX [ k ] + EX [ k ] m k A k A k A m m k A Var[ X k ] for all A {,,n } and all policies Π
The term k Var[X k ] Var[ X j ] [ ] Coefficient of variation CV[X j ] = ( EX ) for all distributions that are NBUE New Better than Used in Expectation EX [ t X > t] EX [ ] for all t> 0 j j j Assume CV[X j ] j
The modified polyhedral relaxation Assume CV[X j ] Π EX [ k] EC [ k ] EX [ k ] + EX [ k ] m k A k A k A ( m )( ) m k A for all A {,,n } and all policies Π EX [ k ] RHS depends only on E[X j ], LP can be solved in polynomial time
Performance guarantees for NBUE The LP leads to a linear preselective policy with performance 3 m WSEPT leads to a priority policy with performance m Adding release dates: WSEPT: EX [ ] EX [ ]... w w EX [ n] w The LP leads to a linear preselective policy with performance 4 n m WSEPT may be arbitrarily bad
Dealing with precedence constraints Skutella & Uetz 00: Combine valid inequalities for the stochastic case with delay list scheduling by Chekuri, Motwani, Natarajan & Stein 97 Use inequalities Π m EX [ j] EC [ j ] EX [ j ] EX [ j ] m + m j A j A j A j A Var[ X j ] EC [ ] EC [ ] + EX [ ] if i j j i j for constructing the list L from an optimum LP-solution
Delay list scheduling Use list L for linear preselective policy Use tentative decision times to avoid too much idle time Consider decision time t Let i be the first unscheduled and available job in L Let j be the first unscheduled job in L if j is available then start j at t charge uncharged idle time in [r j,t] to j else if there is at least β E[X i ] uncharged idle time in [r i,t] then start i at t and charge this idle time to i else set next tentative decision time to t + β E[X k ] for suitable k
Performance guarantees LP-based delay list scheduling leads to a policy with performance m m + + ( + β ) + max, max mβ m 5.83 for NBUE processing times j VX [ ] j EX [ ] j
Overview The model Classes of policies Computation and approximation Open problems
Open problems Better computational methods When do tentative decision times help? They help for P w j C j. What about P C max?? What are optimal policies for exponential models P p j ~ exp κ LEPT/SEPT optimal for C / C max j [Weiss & Pinedo 80] What about w j C j? Detailed policy analysis (cost distribution function) #P complete for earliest start scheduling (PERT model) How to approximate?
Additional information Contact the speaker: Prof. Dr. Rolf Möhring TU Berlin, MA 6- Straße des 7. Juni 36 063 Berlin Tel. +49 30-34 4594, Fax: +49 30-34 59 email: moehring@math.tu-berlin.de Browse our web pages: http://www.math.tu-berlin.de/coga/ in particular http://www.math.tu-berlin.de/coga/research/scheduling/