Scheduling Shop Scheduling. Tim Nieberg


 Leo Matthew McKinney
 2 years ago
 Views:
Transcription
1 Scheduling Shop Scheduling Tim Nieberg
2 Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations O = {(i, j) j = 1,..., n; i M j M := {1,..., m}} with processing times p ij M j is the set of machines where job j has to be processed on PREC specifies the precedence constraints on the operations
3 Shop models: General Introduction Notation Shop Problems: m machines, n jobs 1,..., n operations O = {(i, j) j = 1,..., n; i M j M := {1,..., m}} with processing times p ij M j is the set of machines where job j has to be processed on PREC specifies the precedence constraints on the operations Flow shop: M j = M and PREC = {(i, j) (i + 1, j) i = 1,..., m 1; j = 1,..., n}
4 Shop models: General Introduction Notation Shop Problems: m machines, n jobs 1,..., n operations O = {(i, j) j = 1,..., n; i M j M := {1,..., m}} with processing times p ij M j is the set of machines where job j has to be processed on PREC specifies the precedence constraints on the operations Flow shop: M j = M and PREC = {(i, j) (i + 1, j) i = 1,..., m 1; j = 1,..., n} Open shop: M j = M and PREC = Job shop: PREC contain a chain (i 1, j)..., (i M j, j) for each j
5 Shop models: General Introduction Disjunctive Formulation of the constraints C ij denotes completion time of operation (i, j) PREC have to be respected:
6 Shop models: General Introduction Disjunctive Formulation of the constraints C ij denotes completion time of operation (i, j) PREC have to be respected: C ij p ij C kl for all (k, l) (i, j) PREC no two operations of the same job are processed at the same time:
7 Shop models: General Introduction Disjunctive Formulation of the constraints C ij denotes completion time of operation (i, j) PREC have to be respected: C ij p ij C kl for all (k, l) (i, j) PREC no two operations of the same job are processed at the same time: C ij p ij C kj or C kj p kj C ij for all i, k M j ; i k no two operations are processed jointly on the same machine:
8 Shop models: General Introduction Disjunctive Formulation of the constraints PREC have to be respected: C ij p ij C kl for all (k, l) (i, j) PREC no two operations of the same job are processed at the same time: C ij p ij C kj or C kj p kj C ij for all i, k M j ; i k no two operations are processed jointly on the same machine: C ij p ij C il or C il p il C ij for all (i, j), (i, l) O; j l C ij p ij 0 the or constraints are called disjunctive constraints some of the disjunctive constraints are overruled by the PREC constraints
9 Shop models: General Introduction Disjunctive Formulation  makes pan objective min C max s.t. C max C ij C ij p ij C kl C ij p ij C kj or C kj p kj C ij C ij p ij C il or C il p il C ij C ij p ij 0 (i, j) O (k, l) (i, j) PREC i, k M j ; i k (i, j), (i, l) O; j l (i, j) O
10 Shop models: General Introduction Disjunctive Formulation  sum objective min w j L j s.t. L j C ij d j C ij p ij C kl C ij p ij C kj or C kj p kj C ij C ij p ij C il or C il p il C ij C ij p ij 0 (i, j) O (k, l) (i, j) PREC i, k M j ; i k (i, j), (i, l) O; j l (i, j) O Remark: also other constraints, like e.g. release dates, can be incorporated the disjunctive constraints make the problem hard (lead to an ILP formulation)
11 Shop models: General Introduction Disjunctive Graph Formulation graph representation used to represent instances and solutions of shop problems can be applied for regular objectives only
12 Shop models: General Introduction Disjunctive Graph G = (V, C, D) V set of vertices representing the operations O a vertex is labeled by the corresponding processing time; Additionally, a source node 0 and a sink node belong to V ; their weights are 0 C set of conjunctive arcs reflecting the precedence constraints: for each (k, l) (i, j) PREC a directed arc belongs to C additionally 0 O and O are added to C D set of disjunctive arcs representing conflicting operations: between each pair of operations belonging to the same job or to be processed on the same machine, for which no order follows from PREC, an undirected arc belongs to D
13 Shop models: General Introduction Disjunctive Graph  Example Job Shop Data: jobs, machines; Jobs: 1 (, 1) (2, 1) (1, 1) 2 (1, 2) (, 2) (2, ) (1, ) (, ) p 1 = 4, p 21 = 2, p 11 = 1 p 12 =, p 2 = p 2 = 2, p 1 = 4, p = 1 M1 M2 M
14 Shop models: General Introduction Disjunctive Graph  Example Job Shop Jobs: 1 (, 1) (2, 1) (1, 1) 2 (1, 2) (, 2) (2, ) (1, ) (, ) p 1 = 4, p 21 = 2, p 11 = 1 p 12 =, p 2 = p 2 = 2, p 1 = 4, p = 1 Graph:,1 2,1 1,1 0 1,2,2 Conjunctive arcs Disjunctive arcs 2, 1,,
15 Shop models: General Introduction Disjunctive Graph  Example Open Shop Data: jobs, machines; Jobs: 1 (1, 1), (2, 1), (, 1) 2 (1, 2), (2, 2), (, 2) (1, ), (2, ), (, ) p 11 = 4, p 21 = 2, p 1 = 1 p 12 =, p 22 = 1, p 2 = p 1 = 2, p 2 = 4, p = 1
16 Shop models: General Introduction Disjunctive Graph  Example Open Shop Jobs: 1 (1, 1), (2, 1), (, 1) 2 (1, 2), (2, 2), (, 2) (1, ), (2, ), (, ) p 11 = 4, p 21 = 2, p 1 = 1 p 12 =, p 22 = 1, p 2 = p 1 = 2, p 2 = 4, p = 1 Graph: 1,1 2,1,1 0 1,2 2,2,2 Conjunctive arcs Disjunctive arcs 1, 2,,
17 Shop models: General Introduction Disjunctive Graph  Selection basic scheduling decision for shop problems (see disj. formulation): define an ordering for operations connected by a disjunctive arc turn the undirected disjunctive arc into a directed arc selection S: a set of directed disjunctive arcs (i.e. S D together with a chosen direction for each a S) disjunctive arcs which have been directed are called fixed a selection is a complete selection if each disjunctive arc has been fixed the graph G(S) = (V, C S) is acyclic
18 Shop models: General Introduction Selection  Remarks a feasible schedule induces a complete selection a complete selection leads to sequences in which operations have to be processed on machines a complete selection leads to sequences in which operations of a job have to be processed Does each complete selection leads to a feasible schedule?
19 Shop models: General Introduction Calculate a Schedule for a Complete Selection S calculated longest paths from 0 to all other vertices in G(S) Technical description: length of a path i 1, i 2,..., i r = sum of the weights of the vertices i 1, i 2,..., i r calculate length l ij of the longest path from 0 to (i, j) (using e.g. Dijkstra) start operation (i, j) at time l ij p ij (i.e. C ij = l ij ) the length of a longest path from 0 to (such paths are called critical paths) is equal to the makespan of the schedule resulting schedule is the semiactive schedule which respects all precedence given by C and S
20 Shop models: General Introduction Reformulation Shop Problem find a complete selection for which the corresponding schedule minimizes the given (regular) objective function
21 Flow Shop models Makespan Minimization Lemma: For problem F C max an optimal schedule exists with the job sequence on the first two machines is the same the job sequence on the last two machines is the same (Proof as Exercise) Consequence: For F 2 C max and F C max an optimal solution exists which is a permutation solution For Fm C max, m 4, instances exist where no optimal solution exists which is a permutation solution (Exercise)
22 Flow Shop models Problem F 2 C max solution can be described by a sequence π problem was solved by Johnson in 1954 Johnson s Algorithm: 1 L = set of jobs with p 1j < p 2j ; 2 R = set of remaining jobs; sort L by SPT w.r.t. the processing times on first machine (p 1j ) 4 sort R by LPT w.r.t. the processing times on second machine (p 2j ) 5 sequence L before R (i.e. π = (L, R) where L and R are sorted)
23 Flow Shop models Example solution problem F 2 C max ( ) n = 5; p =
24 Flow Shop models Example solution problem F 2 C max ( ) n = 5; p = L = {1,, 4}; R = {2, 5} sorting leads to L = {4,, 1}; R = {5, 2}
25 Flow Shop models Example solution problem F 2 C max ( ) n = 5; p = L = {1,, 4}; R = {2, 5} sorting leads to L = {4,, 1}; R = {5, 2} π = (4,, 1, 5, 2) M M
26 Flow Shop models Problem F 2 C max Lemma 1: If min{p 1i, p 2j } < min{p 2i, p 1j } then job i is sequenced before job j by Johnson s algorithm. Lemma 2: If job j is scheduled immediately after job i and min{p 1j, p 2i } < min{p 2j, p 1i } then swapping job i and j does not increase C max. Theorem: Johnson s algorithm solves problem F 2 C max optimal in O(n log(n)) time. (Proofs on the board)
27 Flow Shop models Problem F C max F C max is NPhard in the strong sense Reduction using PARTITION Proof on the board
28 Open Shop models Algorithm Problem O2 C max 1 I = set of jobs with p 1j p 2j ; J = set of remaining jobs; 2 IF p 1r = max{max j I p 1j, max j J p 2j } then order on M 1 : (I \ {r}, J, r); order on M 2 : (r, I \ {r}, J) r first on M 2, than on M 1 ; all other jobs vice versa M 1 M 2 I \ {r} r I \ {r} J J r
29 Open Shop models Algorithm Problem O2 C max 1 I = set of jobs with p 1j p 2j ; J = set of remaining jobs; 2 IF p 1r = max{max j I p 1j, max j J p 2j } then order on M 1 : (I \ {r}, J, r); order on M 2 : (r, I \ {r}, J) r first on M 2, than on M 1 ; all other jobs vice versa ELSE IF p 2r = max{max j I p 1j, max j J p 2j } then order on M 1 : (r, J \ {r}, I ); order on M 2 : (J \ {r}, I, r) r first on M 1, than on M 2 ; all other jobs vice versa M 1 M 2 r J \ {r} J \ {r} I I r
30 Open Shop models Remarks Algorithm Problem O2 C max complexity: O(n) algorithm solves problem O2 C max optimally Proof builds on fact that C max is either n j=1 p 1j or n j=1 p 2j or p 1r + p 2r
31 Open Shop models Remarks Algorithm Problem O2 C max complexity: O(n) algorithm solves problem O2 C max optimally Proof builds on fact that C max is either n j=1 p 1j or n j=1 p 2j or p 1r + p 2r Problem O C max Problem O C max is NPhard Proof as Exercise (Reduction using PARTITION)
32 Open Shop models Problem O pmtn C max define ML i := n j=1 p ij (load of machine i) define JL j := m i=1 p ij (load of job j) LB := max{max m i=1 ML i, max n j=1 JL j} is a lower bound on C max
33 Open Shop models Problem O pmtn C max define ML i := n j=1 p ij (load of machine i) define JL j := m i=1 p ij (load of job j) LB := max{max m i=1 ML i, max n j=1 JL j} is a lower bound on C max Theorem: For problem O pmtn C max a schedule with C max = LB exists. Proof of the theorem is constructive and leads to a polynomial algorithm for problem O pmtn C max
34 Open Shop models Notations for Algorithm O pmtn C max job j (machine i) is called tight if JL j = LB (ML i = LB) job j (machine i) has slack if JL j < LB (ML i < LB) a set D of operataions is called a decrementing set if it contain for each tight job and machine exactly one operation and for each job and machine with slack at most one operation Theorem: A decrementing set always exists and can be calculated in polynomial time (Proof based on maximal cardinality matchings; see e.g. P. Brucker: Scheduling Algorithms)
35 Open Shop models Algorithm O pmtn C max REPEAT 1 Calculate a decrementing set D; 2 Calculate maximum value with min (i,j) D p ij LB ML i if machine i has slack and no operation in D LB JL j if job j has slack and no operation in D; schedule the operations in D for time units in parallel; 4 Update values p, LB, JL, and ML UNTIL all operations have been completely scheduled.
36 Open Shop models Correctness Algorithm O pmtn C max after an iteration we have: LB new = LB old in each iteration a time slice of time units is scheduled the algorithm terminates after at most nm + n + m iterations since in each iteration either an operation gets completely scheduled or one additional machine or job gets tight
37 Open Shop models Example Algorithm O pmtn C max p ML p JL LB = 11
38 Open Shop models Example Algorithm O pmtn C max = p ML p JL LB = 11
39 Open Shop models Example Algorithm O pmtn C max = p ML p JL LB = 11 M M 2 M 1 2 1
40 Open Shop models Example Algorithm O pmtn C max = p ML p JL LB = 11 p ML p JL LB = 8 M M 2 M 1 2 1
41 Open Shop models Example Algorithm O pmtn C max = p ML p JL LB = 11 = 1 p ML p JL LB = 8 M M 2 M 1 M M 2 M
42 Open Shop models Example Algorithm O pmtn C max = 1 p ML p JL LB = 8 = p ML p JL LB = 7 M M 2 M 1 M M 2 M
43 Open Shop models Example Algorithm O pmtn C max = p ML p JL LB = 7 M M 2 M = 2 p ML p JL LB = 4 M M 2 M
44 Open Shop models Example Algorithm O pmtn C max = 2 p ML p JL LB = 4 M M 2 M = 1 p ML p JL LB = 2 M M 2 M
45 Open Shop models Example Algorithm O pmtn C max = 1 p ML p JL LB = 2 M M 2 M = 1 p ML p JL LB = 1 M M 2 M
46 Open Shop models Final Schedule Example Algorithm O pmtn C max p ML p JL LB = 11 M M 2 M iterations C max = 11 = LB sequence of time slices may be changed arbitrary
47 Job Shop models Problem J2 C max I 1 : set of jobs only processed on M 1 I 2 : set of jobs only processed on M 2 I 12 : set of jobs processed first on M 1 and than on M 2 I 21 : set of jobs processed first on M 2 and than on M 1 π 12 : optimal flow shop sequence for jobs from I 12 π 21 : optimal flow shop sequence for jobs from I 21
48 Job Shop models Algorithm Problem J2 C max 1 on M 1 first schedule the jobs from I 12 in order π 12, than the jobs from I 1, and last the jobs from I 21 in order π 21 2 on M 2 first schedule the jobs from I 21 in order π 21, than the jobs from I 2, and last the jobs from I 12 in order π 12 I 12 I 1 I M 2 I 21 2 I 12 M 1 21I
49 Job Shop models Algorithm Problem J2 C max 1 on M 1 first schedule the jobs from I 12 in order π 12, than the jobs from I 1, and last the jobs from I 21 in order π 21 2 on M 2 first schedule the jobs from I 21 in order π 21, than the jobs from I 2, and last the jobs from I 12 in order π 12 I 12 I 1 I M 2 I 21 2 I 12 M 1 21I Theorem: The above algorithm solves problem J2 C max optimally in O(n log(n)) time. Proof: almost straightforward!
50 Job Shop models Problem J C max as a generalization of F C max, this problem is NPhard it is one of the most treated scheduling problems in literature we presented a branch and bound approach a heuristic approach called the Shifing Bottleneck Heuristic for problem J C max which both depend on the disjunctive graph formulation
51 Job Shop models Base of Branch and Bound The set of all active schedules contains an optimal schedule Solution method: Generate all active schedules and take the best Improvement: Use the generation scheme in a branch and bound setting Consequence: We need a generation scheme to produce all active schedules for a job shop Approach: extend partial schedules
52 Job Shop models Generation of all active schedules Notations: (assuming that already a partial schedule S is given) Ω: set of all operations which predecessors have already been scheduled in S r ij :earliest possible starting time of operation (i, j) Ω w.r.t. S Ω : subset of Ω Remark: r ij can be calculated via longest path calculations in the disjunctive graph belonging to S
53 Job Shop models Generation of all active schedules (cont.) 1 (Initial Conditions) Ω := {first operations of each job}; r ij := 0 for all (i, j) Ω; 2 (Machine selection) Compute for current partial schedule t(ω) := min (i,j) Ω {r ij + p ij }; i := machine on which minimum is achieved; (Branching) Ω := {(i, j) r i j < t(ω)} FOR ALL (i, j) Ω DO 1 extend partial schedule by scheduling (i, j) next on machine i ; 2 delete (i, j) from Ω; add jobsuccessor of (i, j) to Ω; 4 Return to Step 2
54 Job Shop models Generation of all active schedules  example Jobs: 1 (, 1) (2, 1) (1, 1) p 1 = 4, p 21 = 2, p 11 = 1 2 (1, 2) (, 2) (2, ) (1, ) (, ) Partial Schedule: p 12 =, p 2 = p 2 = 2, p 1 = 4, p = 1 M 1 M 2 M 4 6
55 Job Shop models Generation of all active schedules  example Jobs: 1 (, 1) (2, 1) (1, 1) 2 (1, 2) (, 2) (2, ) (1, ) (, ) p 1 = 4, p 21 = 2, p 11 = 1 p 12 =, p 2 = p 2 = 2, p 1 = 4, p = 1 Partial Schedule: M 1 M 2 M 4 6 Ω={(1, 1), (, 2), (1, )}; r 11 = 6, r 2 = 4, r 1 = ; t(ω) = min{6 + 1, 4 +, + 4} = 7; i = M 1 ; Ω = {(1, 1), (1, )}
56 Job Shop models Generation of all active schedules  example (cont.) Partial Schedule: M 1 M 2 M 4 6 Ω={(1, 1), (, 2), (1, )}; r 11 = 6, r 2 = 4, r 1 = ; t(ω) = min{6 + 1, 4 +, + 4} = 7; i = M 1 ; Ω = {(1, 1), (1, )} Extended partial schedules: M 1 M 1 M 2 M 2 M M 6 6
57 Job Shop models Remarks on the generation: the given algorithm is the base of the branching nodes of the branching tree correspond to partial schedules Step branches from the node corresponding to the current partial schedule the number of branches is given by the cardinality of Ω a branch corresponds to the choice of an operation (i, j) to be schedules next on machine i a branch fixes new disjunctions
58 Job Shop models Disjunctions fixed by a branching Node v with Ω = {(i, j), (i, l)} Node v Node v selection (i, j) Add disjunctions (i, j) (i k) for all unscheduled operations (i, k) Consequence: Each node in the branch and bound tree is characterized by a set S of fixed disjunctions
59 Job Shop models Lower bounds for nodes of the branch and bound tree Consider node V with fixed disjunctions S : Simple lower bound: calculate critical path in G(S ) Lower bound LB(V )
60 Job Shop models Lower bounds for nodes of the branch and bound tree Consider node V with fixed disjunctions S : Simple lower bound: calculate critical path in G(S ) Lower bound LB(V ) Better lower bound: consider machine i allow parallel processing on all machines i solve problem on machine i
61 Job Shop models 1machine problem resulting for better LB 1 calculate earliest starting times r ij of all operations (i, j) on machine i (longest paths from source in G(S )) 2 calculate minimum amount q ij of time between end of (i, j) and end of schedule (longest path to sink in G(S )) solve single machine problem on machine i: respect release dates no preemption minimize maximum value of C ij + q ij Result: headbodytail problem (see Lecture )
62 Job Shop models Better lower bound solve 1machine problem for all machines this results in values f 1,..., f m LB new (V ) = max m i=1 f i
63 Job Shop models Better lower bound solve 1machine problem for all machines this results in values f 1,..., f m LB new (V ) = max m i=1 f i Remarks: 1machine problem is NPhard computational experiments have shown that it pays of to solve these m NPhard problems per node of the search tree jobshop instances are already hard to solve by branch and bound
64 Job Shop models M 6 Better lower bound  example Partial Schedule: M 1 M 2 Corresponding graph G(S ):,1 2,1 1,1 0 1,2,2 * 2, 1,, Conjunctive arcs fixed disj.
65 Job Shop models Graph G(S ) with processing times: 4 2 1,1 2,1 1,1 0 1,2,2 * 2, 1,, LB(V )=l(0, (1, 2), (1, ), (, ), )=8
66 Job Shop models Graph G(S ) with processing times: 4 2 1,1 2,1 1,1 0 1,2,2 * 2, 1,, LB(V )=l(0, (1, 2), (1, ), (, ), )=8 green blue red Data for jobs on Machine 1: r 12 = 0 r 1 = r 11 = 6 q 12 = 5 q 1 = 1 q 11 = 0 Opt. solution: Opt = 8, LB new (V ) = 8 M 1 7 8
67 Job Shop models Change p 11 from 1 to 2! 4 2 2,1 2,1 1,1 0 1,2,2 * 2, 1,, LB(V ) = l(0, (1, 2), (1, ), (, ), ) = l(0, (, 1), (2, 1), (1, 1), ) = 8
68 Job Shop models Change p 11 from 1 to 2! 4 2 2,1 2,1 1,1 0 1,2,2 * 2, 1,, LB(V ) = l(0, (1, 2), (1, ), (, ), ) = l(0, (, 1), (2, 1), (1, 1), ) = 8 green blue red Data for jobs on Machine 1: r 12 = 0 r 1 = r 11 = 6 q 12 = 5 q 1 = 1 q 11 = 0 Opt. solution: OPT = 9, LB new (V ) = 9 M 1 7 9
69 Job Shop models The Shifting Bottleneck Heuristic successful heuristic to solve makespan minimization for job shop iterative heuristic determines in each iteration the schedule for one additional machine uses reoptimization to change already scheduled machines can be adapted to more general job shop problems other objective functions workcenters instead of machines setup times on machines...
70 Shifting Bottleneck Heuristic for Job Shop Basic Idea Notation: M set of all machines Given: fixed schedules for a subset M 0 M of machines (i.e. a selection of disjunctive arcs for cliques corresponding to these machines) Actions in one iteration: select a machine k which has not been fixed (i.e. a machine from M \ M 0 ) determine a schedule (selection) for machine k on the base of the fixed schedules for the machines in M 0 reschedule the machines from M 0 based on the other fixed schedules
71 Shifting Bottleneck Heuristic for Job Shop Selection of a machine Idea: Chose unscheduled machine which causes the most problems (bottleneck machine) Realization: Calculate for each operation on an unscheduled machine the earliest possible starting time and the minimal delay between the end of the operation and the end of the complete schedule based on the fixed schedules on the machines in M 0 and the job orders calculate for each unscheduled machine a schedule respecting these earliest release times and delays chose a machine with maximal completion time and fix the schedule on this machine
72 Shifting Bottleneck Heuristic for Job Shop Technical realization Define graph G = (N, A ): N same node set as for the disjunctive graph A contains all conjunctive arcs and the disjunctive arcs corresponding to the selections on the machines in M 0 C max (M 0 ) is the length of a critical path in G
73 Shifting Bottleneck Heuristic for Job Shop Technical realization Define graph G = (N, A ): N same node set as for the disjunctive graph A contains all conjunctive arcs and the disjunctive arcs corresponding to the selections on the machines in M 0 C max (M 0 ) is the length of a critical path in G Comments: with respect to G operations on machines from M \ M 0 may be processed in parallel C max (M 0 ) is the makespan of a corresponding schedule
74 Shifting Bottleneck Heuristic for Job Shop Technical realization (cont.) for an operation (i, j); i M \ M 0 let r ij be the length of the longest path from 0 to (i, j) (without p ij ) in G q ij be the length of the longest path from (i, j) to (without p ij ) in G Comments: r ij is the release time of (i, j) w.r.t. G q ij is the tail (minimal time till end) of (i, j) w.r.t. G
75 Shifting Bottleneck Heuristic for Job Shop Technical realization (cont.) For each machine from M \ M 0 solve the nonpreemptive onemachine headbodytail problem 1 r j, d j < 0 L max Result: values f (i) for all i M \ M 0 Action: Chose machine k as the machine with the largest f (i) value schedule machine k according to the optimal schedule of the onemachine problem add k to M 0 and the corresponding disjunctive arcs to G C max (M 0 k) f (k)
76 Shifting Bottleneck Heuristic for Job Shop Technical realization  Example Given: M 0 = {M} and on M sequence (, 2) (, 1) (, ) Graph G : 4 2 1,1 2,1 1,1 0 1,2,2 * , 1,, Conjunctive arcs Selection M C max (M 0 ) = 1
77 Shifting Bottleneck Heuristic for Job Shop Technical realization  Example (cont.) Machine M 1 : (i, j) (1, 1) (1, 2) (1, ) r ij q ij p ij 1 4
78 Shifting Bottleneck Heuristic for Job Shop Technical realization  Example (cont.) Machine M 1 : (i, j) (1, 1) (1, 2) (1, ) r ij q ij p ij 1 4 M 1 1,2 1, 1, f (M 1 ) = 1
79 Shifting Bottleneck Heuristic for Job Shop Technical realization  Example (cont.) Machine M 1 : (i, j) (1, 1) (1, 2) (1, ) r ij q ij p ij 1 4 Machine M 2 : (i, j) (2, 1) (2, ) r ij 10 0 q ij 1 5 p ij 2 2 M 1 1,2 1, 1, f (M 1 ) = 1
80 Shifting Bottleneck Heuristic for Job Shop Technical realization  Example (cont.) Machine M 1 : (i, j) (1, 1) (1, 2) (1, ) r ij q ij p ij 1 4 Machine M 2 : (i, j) (2, 1) (2, ) r ij 10 0 q ij 1 5 p ij 2 2 M 1 1,2 1, 1, f (M 1 ) = 1 M 2 2, 2, f (M 2 ) = 1
81 Shifting Bottleneck Heuristic for Job Shop Technical realization  Example (cont.) Choose machine M 1 as the machine to fix the schedule: add (1, 2) (1, ) (1, 1) to G M 0 = {M 1, M } 4 2 1,1 2,1 1,1 0 1,2,2 * , 1,, Conjunctive arcs Selection M 1, M C max (M 0 ) = 1
82 Shifting Bottleneck Heuristic for Job Shop Reschedule Machines try to reduce the makespan of the schedule for the machines in M 0 Realization: consider the machines from M 0 one by one remove the schedule of the chosen machine and calculate a new schedule based on the earliest starting times and delays resulting from the other machines of M 0 and the job orders
83 Shifting Bottleneck Heuristic for Job Shop Technical realization rescheduling For a chosen machine l M 0 \ {k} do: remove the arcs corresponding to the selection on machine l from G call new graph G calculate values r ij, q ij in graph G reschedule machine l according to the optimal schedule of the single machine headbodytail problem
84 Shifting Bottleneck Heuristic for Job Shop Technical realization rescheduling  Example M 0 \ {k} = {M }, thus l = M removing arcs corresponding to M leads to graph G : 4 2 1,1 2,1 1,1 0 1,2,2 * , 1,, Conjunctive arcs Selection M 1 C max (G ) = 8;
85 Shifting Bottleneck Heuristic for Job Shop Technical realization rescheduling  Example M 0 \ {k} = {M }, thus l = M removing arcs corresponding to M leads to graph G : 4 2 1,1 2,1 1,1 0 1,2,2 * , 1,, Conjunctive arcs Selection M 1 C max (G ) = 8; (i, j) (, 1) (, 2) (, ) r ij 0 7 q ij 0 0 p ij 4 1
86 Shifting Bottleneck Heuristic for Job Shop Technical realization rescheduling  Example M 0 \ {k} = {M }, thus l = M removing arcs corresponding to M leads to graph G : 4 2 1,1 2,1 1,1 0 1,2,2 * , 1,, Conjunctive arcs Selection M 1 C max (G ) = 8; (i, j) (, 1) (, 2) (, ) r ij 0 7 q ij 0 0 p ij 4 1 M,1,2, 5 8 f (M ) = 8
87 Shifting Bottleneck Heuristic for Job Shop Technical realization rescheduling  Example (cont.) add (, 1) (, 2) (, ) to G New graph: 4 2 1,1 2,1 1,1 0 1,2,2 * , 1,, Conjunctive arcs Selection M 1, M C new max (M 0 ) = 8
88 Shifting Bottleneck Heuristic for Job Shop Heuristic: summary 1 Initialization: 1 M 0 := ; 2 G := graph with all conjunctive arcs; C max (M 0 ) := length longest path in G: 2 Analyze unscheduled machines: FOR ALL i M \ M 0 DO FOR ALL operation (i, j) DO 1 r ij := length longest path from 0 to (i, j) in G; 2 q ij := length longest path from (i, j) to in G; solve single machine head body tail problem f (i)
89 Shifting Bottleneck Heuristic for Job Shop Heuristic: summary (cont.) Bottleneck selection: 1 determine k such that f (k) = max i M\M 0 f (i); 2 schedule machine k according to the optimal solution in Step 2; add corresponding disjunctive arcs to G; 4 M 0 := M 0 {k};
90 Shifting Bottleneck Heuristic for Job Shop Heuristic: summary (cont.) 4 Resequencing of machines: FOR ALL i M 0 \ {k} DO 1 delete disjunctive arcs corresponding to machine k from G; 2 FOR ALL operation (i, j) DO 1 r ij := length longest path from 0 to (i, j) in G; 2 q ij := length longest path from (i, j) to in G; solve single machine head body tail problem f (i) 4 insert corresponding disjunctive arcs to G; 5 Stopping condition IF M 0 = M THEN Stop ELSE go to Step 2;
91 Shifting Bottleneck Heuristic for Job Shop SBH  Example (cont.) M 0 = {M 1, M }; thus M 2 is bottleneck graph G: 4 2 1,1 2,1 1,1 0 1,2,2 * , 1,, Conjunctive arcs Selection M 1, M C max (G) = 8;
92 Shifting Bottleneck Heuristic for Job Shop SBH  Example (cont.) M 0 = {M 1, M }; thus M 2 is bottleneck graph G: 4 2 1,1 2,1 1,1 0 1,2,2 * , 1,, Conjunctive arcs Selection M 1, M C max (G) = 8; (i, j) (2, 1) (2, ) r ij 4 0 q ij 1 5 p ij 2 2
93 Shifting Bottleneck Heuristic for Job Shop SBH  Example (cont.) M 0 = {M 1, M }; thus M 2 is bottleneck graph G: 4 2 1,1 2,1 1,1 0 1,2,2 * , 1,, Conjunctive arcs Selection M 1, M C max (G) = 8; (i, j) (2, 1) (2, ) r ij 4 0 q ij 1 5 p ij 2 2 M 2 2, 2, f (M 2 ) = 7
94 Shifting Bottleneck Heuristic for Job Shop SBH  Example (cont.) Situation after Step : M 0 = {M 1, M 2, M }, C max (M 0 ) = 8 Graph G: 4 2 1,1 2,1 1,1 0 1,2, , 1,, *
95 Shifting Bottleneck Heuristic for Job Shop SBH  Example (cont.) Situation after Step : M 0 = {M 1, M 2, M }, C max (M 0 ) = 8 Graph G: 4 2 1,1 2,1 1,1 0 1,2,2 * , 1,, Corresponding Schedule: M 1 M 2 M
96 Shifting Bottleneck Heuristic for Job Shop An Important Subproblem within the SBH the onemachine headbodytail problem occurs frequently: this problem was also used within branch and bound to calculate lower bounds the problem is NPhard (see Lecture ) there are efficient branch and bound methods for smaller instances (see also Lecture ) the actual onemachine problem is a bit more complicated than stated in Lecture (see following example)
97 Shifting Bottleneck Heuristic for Job Shop Example Delayed Precedences Jobs: (1, 1) (2, 1) (2, 2) (1, 2) (, ) (, 4)
98 Shifting Bottleneck Heuristic for Job Shop Example Delayed Precedences (cont.) after 2 iterations SBH we get: M 0 = {M, M 1 }; (, 4) (, ) and (1, 2) (1, 1) Resulting graph G: (C max (M 0 ) = 8) 1 1 1,1 2, ,2 1,2 0 * 4, 4,4
99 Shifting Bottleneck Heuristic for Job Shop Example Delayed Precedences (cont.). iteration: only M 2 unscheduled (i, j) p ij r ij q ij (2, 1) 1 0 (2, 2) 1 0 Possible schedules for M 2 : M M
100 Shifting Bottleneck Heuristic for Job Shop Example Delayed Precedences (cont.) Both schedules are feasible and might be added to current solution But: second schedule leads to 1 1 1,1 2, ,2 1,2 0 * 4, 4,4 which contains a cycle
101 Shifting Bottleneck Heuristic for Job Shop Delayed Precedences The example shows: not all solutions of the onemachine problem fit to the given selections for machines from M 0 the given selections for machines from M 0 may induce precedences for machines from M \ M 0 Example: scheduling operation (1, 2) before (1, 1) on M 1 induces a delayed precedence constraint between (2, 2) and (2, 1) of length operation (2, 1) has to start at least time units after (2, 2) this time is needed to process operations (2, 2), (1, 2), and (1, 1)
102 Shifting Bottleneck Heuristic for Job Shop Rescheduling Machines after adding a new machine to M 0, it may be worth to put more effort in rescheduling the machines: do the rescheduling in some specific order (e.g. based on their headbodytail values) repeat the rescheduling process until no improvement is found after rescheduling one machine, make a choice which machine to reschedule next (allowing that certain machines are rescheduled more often)... practical test have shown that these extra effort often pays off
Scheduling Single Machine Scheduling. Tim Nieberg
Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for nonpreemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe
More informationScheduling Parallel Machine Scheduling. Tim Nieberg
Scheduling Parallel Machine Scheduling Tim Nieberg Problem P C max : m machines n jobs with processing times p 1,..., p n Problem P C max : m machines n jobs with processing times p 1,..., p { n 1 if job
More informationClassification  Examples
Lecture 2 Scheduling 1 Classification  Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking
More informationClassification  Examples 1 1 r j C max given: n jobs with processing times p 1,..., p n and release dates
Lecture 2 Scheduling 1 Classification  Examples 11 r j C max given: n jobs with processing times p 1,..., p n and release dates r 1,..., r n jobs have to be scheduled without preemption on one machine
More informationSingle machine models: Maximum Lateness 12 Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...
Lecture 4 Scheduling 1 Single machine models: Maximum Lateness 12 Approximation ratio for EDD for problem 1 r j,d j < 0 L max structure of a schedule 0 Q 1100 11 00 11 000 111 0 0 1 1 00 11 00 11 00
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;
More informationAutomated Scheduling, School of Computer Science and IT, University of Nottingham 1. Job Shop Scheduling. Disjunctive Graph.
Job hop cheduling Contents 1. Problem tatement 2. Disjunctive Graph. he hifting Bottleneck Heuristic and the Makespan Literature: 1. cheduling, heory, Algorithms, and ystems, Michael Pinedo, Prentice Hall,
More information2.3 Scheduling jobs on identical parallel machines
2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed
More informationScheduling. Open shop, job shop, flow shop scheduling. Related problems. Open shop, job shop, flow shop scheduling
Scheduling Basic scheduling problems: open shop, job shop, flow job The disjunctive graph representation Algorithms for solving the job shop problem Computational complexity of the job shop problem Open
More information! Solve problem to optimality. ! Solve problem in polytime. ! Solve arbitrary instances of the problem. #approximation algorithm.
Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NPhard problem What should I do? A Theory says you're unlikely to find a polytime algorithm Must sacrifice one of three
More informationIntroduction to Scheduling Theory
Introduction to Scheduling Theory Arnaud Legrand Laboratoire Informatique et Distribution IMAG CNRS, France arnaud.legrand@imag.fr November 8, 2004 1/ 26 Outline 1 Task graphs from outer space 2 Scheduling
More information! Solve problem to optimality. ! Solve problem in polytime. ! Solve arbitrary instances of the problem. !approximation algorithm.
Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NPhard problem What should I do? A Theory says you're unlikely to find a polytime algorithm Must sacrifice one of
More informationJUSTINTIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004
Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUSTINTIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February
More informationSingle machine parallel batch scheduling with unbounded capacity
Workshop on Combinatorics and Graph Theory 21th, April, 2006 Nankai University Single machine parallel batch scheduling with unbounded capacity Yuan Jinjiang Department of mathematics, Zhengzhou University
More informationLecture 10 Scheduling 1
Lecture 10 Scheduling 1 Transportation Models 1 large variety of models due to the many modes of transportation roads railroad shipping airlines as a consequence different type of equipment and resources
More informationChapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling
Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NPhard problem. What should I do? A. Theory says you're unlikely to find a polytime algorithm. Must sacrifice one
More informationMinimum Makespan Scheduling
Minimum Makespan Scheduling Minimum makespan scheduling: Definition and variants Factor 2 algorithm for identical machines PTAS for identical machines Factor 2 algorithm for unrelated machines Martin Zachariasen,
More informationApproximation Algorithms. Scheduling. Approximation algorithms. Scheduling jobs on a single machine
Approximation algorithms Approximation Algorithms Fast. Cheap. Reliable. Choose two. NPhard problems: choose 2 of optimal polynomial time all instances Approximation algorithms. Tradeoff between time
More informationApproximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NPCompleteness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
More informationModels in Transportation. Tim Nieberg
Models in Transportation Tim Nieberg Transportation Models large variety of models due to the many modes of transportation roads railroad shipping airlines as a consequence different type of equipment
More information5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition
More informationComplexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar
Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples
More information5 Scheduling. Operations Planning and Control
5 Scheduling Operations Planning and Control Some Background Machines (resources) are Machines process jobs (molding machine, x ray machine, server in a restaurant, computer ) Machine Environment Single
More informationApplied Algorithm Design Lecture 5
Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design
More informationA Linear Programming Based Method for Job Shop Scheduling
A Linear Programming Based Method for Job Shop Scheduling Kerem Bülbül Sabancı University, Manufacturing Systems and Industrial Engineering, OrhanlıTuzla, 34956 Istanbul, Turkey bulbul@sabanciuniv.edu
More information5.1 Bipartite Matching
CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the FordFulkerson
More informationGraphs and Network Flows IE411 Lecture 1
Graphs and Network Flows IE411 Lecture 1 Dr. Ted Ralphs IE411 Lecture 1 1 References for Today s Lecture Required reading Sections 17.1, 19.1 References AMO Chapter 1 and Section 2.1 and 2.2 IE411 Lecture
More informationConstraint Propagation and Decomposition Techniques for Highly Disjunctive and Highly Cumulative Project Scheduling Problems
Constraint Propagation and Decomposition Techniques for Highly Disjunctive and Highly Cumulative Project Scheduling Problems PHILIPPE BAPTISTE 1,2 AND CLAUDE LE PAPE 1 baptiste@utc.fr, clepapeg@bouyguestelecom.fr
More information11. APPROXIMATION ALGORITHMS
11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005
More informationA generalized jobshop problem with more than one resource demand per task
A generalized jobshop problem with more than one resource demand per task Joachim Schauer Cornelius Schwarz Abstract We study a generalized jobshop problem called the Laser Sharing Problem with fixed
More informationScheduling and (Integer) Linear Programming
Scheduling and (Integer) Linear Programming Christian Artigues LAAS  CNRS & Université de Toulouse, France artigues@laas.fr Master Class CPAIOR 2012  Nantes Christian Artigues Scheduling and (Integer)
More informationLecture Notes on Spanning Trees
Lecture Notes on Spanning Trees 15122: Principles of Imperative Computation Frank Pfenning Lecture 26 April 26, 2011 1 Introduction In this lecture we introduce graphs. Graphs provide a uniform model
More informationDynamic programming. Doctoral course Optimization on graphs  Lecture 4.1. Giovanni Righini. January 17 th, 2013
Dynamic programming Doctoral course Optimization on graphs  Lecture.1 Giovanni Righini January 1 th, 201 Implicit enumeration Combinatorial optimization problems are in general NPhard and we usually
More informationIE 680 Special Topics in Production Systems: Networks, Routing and Logistics*
IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti
More informationResource Allocation with Time Intervals
Resource Allocation with Time Intervals Andreas Darmann Ulrich Pferschy Joachim Schauer Abstract We study a resource allocation problem where jobs have the following characteristics: Each job consumes
More informationAnswers to some of the exercises.
Answers to some of the exercises. Chapter 2. Ex.2.1 (a) There are several ways to do this. Here is one possibility. The idea is to apply the kcenter algorithm first to D and then for each center in D
More informationApproximability of TwoMachine NoWait Flowshop Scheduling with Availability Constraints
Approximability of TwoMachine NoWait Flowshop Scheduling with Availability Constraints T.C. Edwin Cheng 1, and Zhaohui Liu 1,2 1 Department of Management, The Hong Kong Polytechnic University Kowloon,
More informationAbstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling
Abstract number: 0150551 Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling Karuna Jain and Kanchan Joshi Shailesh J. Mehta School of Management, Indian Institute
More informationSolutions to Homework 6
Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example
More informationGRAPH THEORY and APPLICATIONS. Trees
GRAPH THEORY and APPLICATIONS Trees Properties Tree: a connected graph with no cycle (acyclic) Forest: a graph with no cycle Paths are trees. Star: A tree consisting of one vertex adjacent to all the others.
More informationWeek 5 Integral Polyhedra
Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory
More informationThe Goldberg Rao Algorithm for the Maximum Flow Problem
The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }
More informationScheduling Problem of JobShop with Blocking: A Taboo Search Approach
MIC 20014th Metaheuristics International Conference 643 Scheduling Problem of JobShop with Blocking: A Taboo Search Approach Yazid Mati Nidhal Rezg Xiaolan Xie INRIA/MACSI Project & LGIPM ENIMILE DU
More information8.1 Min Degree Spanning Tree
CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree
More informationApproximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai
Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques My T. Thai 1 Overview An overview of LP relaxation and rounding method is as follows: 1. Formulate an optimization
More informationDefinition 11.1. Given a graph G on n vertices, we define the following quantities:
Lecture 11 The Lovász ϑ Function 11.1 Perfect graphs We begin with some background on perfect graphs. graphs. First, we define some quantities on Definition 11.1. Given a graph G on n vertices, we define
More informationClustering and scheduling maintenance tasks over time
Clustering and scheduling maintenance tasks over time Per Kreuger 20080429 SICS Technical Report T2008:09 Abstract We report results on a maintenance scheduling problem. The problem consists of allocating
More informationGuessing Game: NPComplete?
Guessing Game: NPComplete? 1. LONGESTPATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTESTPATH: Given a graph G = (V, E), does there exists a simple
More informationCSC2420 Spring 2015: Lecture 3
CSC2420 Spring 2015: Lecture 3 Allan Borodin January 22, 2015 1 / 1 Announcements and todays agenda Assignment 1 due next Thursday. I may add one or two additional questions today or tomorrow. Todays agenda
More informationHeuristic Algorithms for Open Shop Scheduling to Minimize Mean Flow Time, Part I: Constructive Algorithms
Heuristic Algorithms for Open Shop Scheduling to Minimize Mean Flow Time, Part I: Constructive Algorithms Heidemarie Bräsel, André Herms, Marc Mörig, Thomas Tautenhahn, Jan Tusch, Frank Werner OttovonGuerickeUniversität,
More informationWhy? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
More informationIntroducción a Calendarización en Sistemas Paralelas, Grids y Nubes
CICESE Research Center Ensenada, Baja California Mexico Introducción a Calendarización en Sistemas Paralelas, Grids y Nubes Dr. Andrei Tchernykh CICESE Centro de Investigación Científica y de Educación
More informationCHAPTER 1. Basic Concepts on Planning and Scheduling
CHAPTER 1 Basic Concepts on Planning and Scheduling Scheduling, FEUP/PRODEI /MIEIC 1 Planning and Scheduling: Processes of Decision Making regarding the selection and ordering of activities as well as
More informationMinimum Caterpillar Trees and RingStars: a branchandcut algorithm
Minimum Caterpillar Trees and RingStars: a branchandcut algorithm Luidi G. Simonetti Yuri A. M. Frota Cid C. de Souza Institute of Computing University of Campinas Brazil Aussois, January 2010 Cid de
More informationDuplicating and its Applications in Batch Scheduling
Duplicating and its Applications in Batch Scheduling Yuzhong Zhang 1 Chunsong Bai 1 Shouyang Wang 2 1 College of Operations Research and Management Sciences Qufu Normal University, Shandong 276826, China
More informationMultiresource Shop Scheduling With Resource Flexibility and Blocking Yazid Mati and Xiaolan Xie
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING 1 Multiresource Shop Scheduling With Resource Flexibility and Blocking Yazid Mati and Xiaolan Xie Abstract This paper proposes a general scheduling
More informationBatch Production Scheduling in the Process Industries. By Prashanthi Ravi
Batch Production Scheduling in the Process Industries By Prashanthi Ravi INTRODUCTION Batch production  where a batch means a task together with the quantity produced. The processing of a batch is called
More informationResource Allocation and Scheduling
Lesson 3: Resource Allocation and Scheduling DEIS, University of Bologna Outline Main Objective: joint resource allocation and scheduling problems In particular, an overview of: Part 1: Introduction and
More informationOffline sorting buffers on Line
Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com
More informationLecture 3: Linear Programming Relaxations and Rounding
Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can
More informationRailway scheduling problems and their decomposition
Railway scheduling problems and their decomposition Dissertation im Fachbereich Mathematik/Informatik der Universität Osnabrück Christian Strotmann Osnabrück, Juli 2007 Abstract Railway scheduling problems
More informationLecture 7: Approximation via Randomized Rounding
Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining
More informationThe ResourceConstrained Project Scheduling Problem
Chapter 1 The ResourceConstrained Project Scheduling Problem 1.1. A combinatorial optimization problem Informally, a resourceconstrained project scheduling problem (RCPSP) considers resources of limited
More informationMinimize subject to. x S R
Chapter 12 Lagrangian Relaxation This chapter is mostly inspired by Chapter 16 of [1]. In the previous chapters, we have succeeded to find efficient algorithms to solve several important problems such
More informationEcient approximation algorithm for minimizing makespan. on uniformly related machines. Chandra Chekuri. November 25, 1997.
Ecient approximation algorithm for minimizing makespan on uniformly related machines Chandra Chekuri November 25, 1997 Abstract We obtain a new ecient approximation algorithm for scheduling precedence
More informationGood luck, veel succes!
Final exam Advanced Linear Programming, May 7, 13.0016.00 Switch off your mobile phone, PDA and any other mobile device and put it far away. No books or other reading materials are allowed. This exam
More informationThe relationship of a trees to a graph is very important in solving many problems in Maths and Computer Science
Trees Mathematically speaking trees are a special class of a graph. The relationship of a trees to a graph is very important in solving many problems in Maths and Computer Science However, in computer
More informationStrategic Deployment in Graphs. 1 Introduction. v 1 = v s. v 2. v 4. e 1. e 5 25. e 3. e 2. e 4
Informatica 39 (25) 237 247 237 Strategic Deployment in Graphs Elmar Langetepe and Andreas Lenerz University of Bonn, Department of Computer Science I, Germany Bernd Brüggemann FKIE, FraunhoferInstitute,
More informationTU e. Advanced Algorithms: experimentation project. The problem: load balancing with bounded lookahead. Input: integer m 2: number of machines
The problem: load balancing with bounded lookahead Input: integer m 2: number of machines integer k 0: the lookahead numbers t 1,..., t n : the job sizes Problem: assign jobs to machines machine to which
More informationDiversity Coloring for Distributed Data Storage in Networks 1
Diversity Coloring for Distributed Data Storage in Networks 1 Anxiao (Andrew) Jiang and Jehoshua Bruck California Institute of Technology Pasadena, CA 9115, U.S.A. {jax, bruck}@paradise.caltech.edu Abstract
More informationA Computer Application for Scheduling in MS Project
Comput. Sci. Appl. Volume 1, Number 5, 2014, pp. 309318 Received: July 18, 2014; Published: November 25, 2014 Computer Science and Applications www.ethanpublishing.com Anabela Tereso, André Guedes and
More informationTimeConstrained Project Scheduling
TimeConstrained Project Scheduling T.A. Guldemond ORTEC bv, PO Box 490, 2800 AL Gouda, The Netherlands J.L. Hurink, J.J. Paulus, and J.M.J. Schutten University of Twente, PO Box 217, 7500 AE Enschede,
More informationOn the kpath cover problem for cacti
On the kpath cover problem for cacti Zemin Jin and Xueliang Li Center for Combinatorics and LPMC Nankai University Tianjin 300071, P.R. China zeminjin@eyou.com, x.li@eyou.com Abstract In this paper we
More informationCommon Approaches to RealTime Scheduling
Common Approaches to RealTime Scheduling Clockdriven timedriven schedulers Prioritydriven schedulers Examples of priority driven schedulers Effective timing constraints The EarliestDeadlineFirst
More informationFacility Location: Discrete Models and Local Search Methods
Facility Location: Discrete Models and Local Search Methods Yury KOCHETOV Sobolev Institute of Mathematics, Novosibirsk, Russia Abstract. Discrete location theory is one of the most dynamic areas of operations
More informationBranchandPrice Approach to the Vehicle Routing Problem with Time Windows
TECHNISCHE UNIVERSITEIT EINDHOVEN BranchandPrice Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents
More information2.8 An application of Dynamic Programming to machine renewal
ex.6. Foundations of Operations Research Prof. E. Amaldi.6 Shortest paths with nonnegative costs Given the following graph, find a set of shortest paths from node to all the other nodes, using Dijkstra
More informationPractical Guide to the Simplex Method of Linear Programming
Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear
More informationFactors to Describe Job Shop Scheduling Problem
Job Shop Scheduling Job Shop A work location in which a number of general purpose work stations exist and are used to perform a variety of jobs Example: Car repair each operator (mechanic) evaluates plus
More informationLiSA  A Library of Scheduling Algorithms Handbook for Version 3.0
1 LiSA  A Library of Scheduling Algorithms Handbook for Version 3.0 Michael Andresen, Heidemarie Bräsel, Frank Engelhardt, Frank Werner Fakultät für Mathematik OttovonGuericke Universität Magdeburg
More informationReal Time Scheduling Basic Concepts. Radek Pelánek
Real Time Scheduling Basic Concepts Radek Pelánek Basic Elements Model of RT System abstraction focus only on timing constraints idealization (e.g., zero switching time) Basic Elements Basic Notions task
More informationSolutions to Exercises 8
Discrete Mathematics Lent 2009 MA210 Solutions to Exercises 8 (1) Suppose that G is a graph in which every vertex has degree at least k, where k 1, and in which every cycle contains at least 4 vertices.
More informationLecture 1: Course overview, circuits, and formulas
Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik
More informationLecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs
CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like
More informationCMSC 451: Graph Properties, DFS, BFS, etc.
CMSC 451: Graph Properties, DFS, BFS, etc. Slides By: Carl Kingsford Department of Computer Science University of Maryland, College Park Based on Chapter 3 of Algorithm Design by Kleinberg & Tardos. Graphs
More informationA Beam Search Heuristic for MultiMode Single Resource Constrained Project Scheduling
A Beam Search Heuristic for MultiMode Single Resource Constrained Project Scheduling Chuda Basnet Department of Management Systems The University of Waikato Private Bag 3105 Hamilton chuda@waikato.ac.nz
More informationTwo General Methods to Reduce Delay and Change of Enumeration Algorithms
ISSN 13465597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII2003004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration
More informationCS5314 Randomized Algorithms. Lecture 16: Balls, Bins, Random Graphs (Random Graphs, Hamiltonian Cycles)
CS5314 Randomized Algorithms Lecture 16: Balls, Bins, Random Graphs (Random Graphs, Hamiltonian Cycles) 1 Objectives Introduce Random Graph Model used to define a probability space for all graphs with
More informationSchool Timetabling in Theory and Practice
School Timetabling in Theory and Practice Irving van Heuven van Staereling VU University, Amsterdam Faculty of Sciences December 24, 2012 Preface At almost every secondary school and university, some
More informationProject and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi
Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture  15 Limited Resource Allocation Today we are going to be talking about
More informationA binary search algorithm for a special case of minimizing the lateness on a single machine
Issue 3, Volume 3, 2009 45 A binary search algorithm for a special case of minimizing the lateness on a single machine Nodari Vakhania Abstract We study the problem of scheduling jobs with release times
More informationData Structures and Algorithms Written Examination
Data Structures and Algorithms Written Examination 22 February 2013 FIRST NAME STUDENT NUMBER LAST NAME SIGNATURE Instructions for students: Write First Name, Last Name, Student Number and Signature where
More information2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]
Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)
More informationA Practical Scheme for Wireless Network Operation
A Practical Scheme for Wireless Network Operation Radhika Gowaikar, Amir F. Dana, Babak Hassibi, Michelle Effros June 21, 2004 Abstract In many problems in wireline networks, it is known that achieving
More informationAnalysis of Algorithms I: Binary Search Trees
Analysis of Algorithms I: Binary Search Trees Xi Chen Columbia University Hash table: A data structure that maintains a subset of keys from a universe set U = {0, 1,..., p 1} and supports all three dictionary
More informationThe multiinteger set cover and the facility terminal cover problem
The multiinteger set cover and the facility teral cover problem Dorit S. Hochbaum Asaf Levin December 5, 2007 Abstract The facility teral cover problem is a generalization of the vertex cover problem.
More informationSmall Maximal Independent Sets and Faster Exact Graph Coloring
Small Maximal Independent Sets and Faster Exact Graph Coloring David Eppstein Univ. of California, Irvine Dept. of Information and Computer Science The Exact Graph Coloring Problem: Given an undirected
More informationCHAPTER 9. Integer Programming
CHAPTER 9 Integer Programming An integer linear program (ILP) is, by definition, a linear program with the additional constraint that all variables take integer values: (9.1) max c T x s t Ax b and x integral
More informationTheorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.
Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the
More informationAn improved online algorithm for scheduling on two unrestrictive parallel batch processing machines
This is the PrePublished Version. An improved online algorithm for scheduling on two unrestrictive parallel batch processing machines Q.Q. Nong, T.C.E. Cheng, C.T. Ng Department of Mathematics, Ocean
More information