1 / 25

Insertion of Random Tasks in a schedule

Insertion of Random Tasks in a schedule. 2005. 2. 19 MAI Lab. 김지연. Papers. Insertion of a random task in a schedule: a real-time approach - Cyril Duron et. al. (2005) Insertion techniques for the heuristic solution of the job shop problem Frank Werner et. al. (1995).

bruis
Télécharger la présentation

Insertion of Random Tasks in a schedule

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Insertion of Random Tasks in a schedule 2005. 2. 19 MAI Lab. 김지연

  2. Papers • Insertion of a random task in a schedule: a real-time approach - Cyril Duron et. al. (2005) • Insertion techniques for the heuristic solution of the job shop problem • Frank Werner et. al. (1995)

  3. Insertion of a random task in a schedule :a real-time approach European Journal of Operational Research, vol.164, 2005 Cyril Duron a*, Jean-Marie Proth b, Yoraï Wardic a Laboratoire d’Optimisation des Systemes Industriels, Universite de Technologie de Troyes, France b INRIA/SAGEP, UFR scientifique, Universite de Metz, France c School of Electrical and Computer Engineering, Georgia Institute of Technology, USA

  4. Contents • Introduction • When the unexpected task is a simple task • When the unexpected task is a bitask • Complexity • Conclusion

  5. Introduction • The problem • To integrate an unexpected task in a given schedule • The goal • To minimize the increase of the total tardiness in the existing schedule and to complete the unexpected task by a given due date • Assumptions • The resource in charge of operations is unique • The tasks are non-preemptive

  6. fi ti Δi μi di μi+1 A simple task : Problem formulation • Given conditions • n tasks : a1, a2, ᆢ , an • Duration : t1, t2, ᆢ , tn • Starting time : μ1, μ2, , μn • Due date : d1, d2, ᆢ , dn • The deadline of the unexpected task(A) : D • Duration of the unexpected task : Θ • The idle period : Δi Δi = μi+1 – (μi + ti) • Earliness : fi fi = [ di – (μi + ti) ]+ • The criterion of the initial schedule Cn • The sum of the delays • Cn = Σi=1n[ μi + ti - di]+

  7. A simple task : Properties of the problem • Result 1. We have: 1. Starting A as soon as ak ends minimizes the increase of criterion Cn for this position 2. Furthermore • If , then ak+s, s=1, ᆢ ,nk are the only tasks that will be postponed • The starting time of ak+s becomes: μk+s’ = μk+s + (Θ - Σi=0s-1 Δk+i ) • If Θ ≤ Δk , none of the tasks is postponed • Result 2. • If A is inserted as soon as task ak is completed, then the increase of the criterion Cn is Lk(Θ) = 0 if Δk ≥ Θ Σs=0nk (Θ - Σp=0s-1 Δk+p – fk+s )+if Δk < Θ

  8. A simple task : Properties of the problem • Result 3. • Assume that Δk+i =0 for i =1, 2, ᆢ , h and Δk+i+1 > 0. Then inserting the random task A as soon as ak+h+1 ends is never worse than inserting A as soon as ak+i is completed, i =1, 2,ᆢ,h • Corollary 1. • Let 0 be the instant when a random task of duration Θ and deadline D appears, and let a1, a2, ᆢ , aQ be the tasks already scheduled, where Q is the greatest integer such as μQ + tQ + Θ ≤ D • 1. Let WQ = {k/ k ∈ {1, 2, ᆢ , Q } and Δk > 0 } U {Q} . Then, the optimal position for the random task is just after one element of WQ. In other words, it is not useful to take into consideration tasks ak such as Δk < 0, except may be for aQ • 2. If WQ = ф, starting task A just after the end of aQ is optimal

  9. A simple task : Real-time strategy • Algorithm 1 1. Off-line computation • Compute Lk(Θ) for k = 1, ᆢ, n and Θ ∈[-,+∞] 2. On-line computation • Compute the greatest integer Q such that μQ + tQ + Θ ≤ D (b) Compute WQ = {k/ k ∈ {1, 2, ᆢ , Q } and Δk > 0 } U {Q} (c) Compute the increase zA(Θ ) = mink ∈ WQ Lk(Θ) Let k* be the value of k ∈ WQ that leads to the minimum (d) Set the schedule up to date : s=1, ᆢ ,Q

  10. A simple task : A numerical example • Insert a task • Θ=59, D=361 • 302(=361-59) 이전에 시작 • Q=16 • WQ = {2, 3, 5, 7, 8, 10, 11, 15, 16} • mink ∈ WQ Lk(Θ) = 133 • k* = 15

  11. A bitask • Problem formulation • A bitask is composed of two subtasks denoted by A1 and A2, separated by an idle period of duration L • The increase Ck of the criterion • Ck = Σi=1r ( (μk+i + tk+i - dk+i)-- μk+i + μk+i’ )+ -( earliness ) + (time delayed)

  12. A bitask : Properties of the problem • Result 4. • An upper bound for the starting time of A1 • Result 5. • The optimal solution for z is one of the values {μk+i + tk+i – Θ1 – L } i=1,2, ᆢ, r • If z = μk+i + tk+i – Θ1 – L • ak+1, ak+2, ᆢ , ak+i are inserted between A1 and A2 • ak+i+1, ak+i+2, ᆢ , are performed after A2 • If r = 0, that is if tk+1 > L, then z = μk + tk is optimal.

  13. A bitask • The new starting times • Between A1 and A2 • μk+1’ = max {μk+1 , z+ Θ1 } • μk+h’ = max {μk+h , μk+h-1’ + t k+h-1 } where h= 2,ᆢ,r • μk+i’ =μk+i • After A2 • μk+i+1’ = max {μk+i+1 , z+ Θ1 + L + Θ2 } • μk+i+s’ = max {μk+i+s , μk+i+s-1’ + t k+i+s-1 } where s= 2,ᆢ

  14. A bitask : Optimal Algorithm • Algorithm 2 • BEGIN 1. General initialization 2. Computation of the index of the last task after which we may insert A1 3. Initialization for the case of the insertion of the random task after task k 4. Computation of the change of criterion and computation of the new starting times for the tasks located between A1 and A2 5. Keeping trace of the index of the first task following A2 6. Computation of the change of criterion and computation of the new starting times for the tasks located after A2 7. Optimization of the criterion using Results 4 8. If the value of the criterion obtained when the bitask is inserted after ak is the smallest computed so far, we keep record of it. Go to Step 4 • END

  15. A bitask : heuristic algorithms • Algorithm 3 • 1. Off-line computation • (a) Compute Lk(Θ) for k =1, ᆢ , n and Θ ∈[-,+∞] • 2. On-line computation • (a) Compute the greatest integer Q such that μQ + tQ + Θ1 + L +Θ2 ≤ D • (b) Compute WQ = {k/ k ∈ {1, 2, ᆢ , Q } and Δk > 0 } U {Q} • (c) Compute the increase zA(Θ ) = mink ∈ WQ Lk(Θ). Let k* be the value of k ∈ WQ that leads to the minimum • (d) Set the schedule up to date • Algorithm 4 • works as the optimal one (Algorithm 2) • we do not execute step 7

  16. A bitask : Numerical Example (1) • Generate a schedule at random using the following rules : • Processing times • Interval [1, 8] ~ p=0.3, Interval [9, 13] ~ p=0.2, Interval [14, 20] ~ p=0.5 • An idle period • 0 ~ p=0.5, Interval [1, 20] ~ p=0.5 • The deadline of a task • selected at random in the interval [z-1, z+10] where z is the completion time of the task. • Bitasks are generated at random • Θ1, L, Θ2 are generated on [1, 30], [1, 50] and [1, 20] • The deadline D = 600 is the same for each bitask • We consider 11 cases

  17. Algorithm 2 > Algorithm 4 > Algorithm 3 > Algorithm 1 A bitask : Numerical Example (2) • a

  18. Complexity • Assumptions • Any event (jump, operation and test) has the same complexity • We only consider the worst case • Example : Algorithm 1 • Off-line computation • 1. The computation of the Δi and fi for i ∈ {1, ᆢ , n-1} This complexity is in O(n) • 2. Computation of the zk,s, k ∈ {1, ᆢ , n} and s ∈ {1, ᆢ , n-(k-1) } zk,s=Σp=0s-1 Δk+p – fk+s . This complexity is in O(n3) • 3. Sorting of the zk,s in their increasing value A good sorting algorithm is in O(n log n) • 4. Computation of Lk(Θ) Lk(Θ) = Σs=0nk (Θ - zk,s )+ . Complexity in O(n2)

  19. Insertion techniques for the heuristic solution of the job shop problem Discrete Applied Mathematics, vol.58, 1995 Frank Werner, Andreas Winkler Fakultiit fiir Mathematik, Technische Universitiit “Otto von Guericke”, Germany

  20. Content • Introduction • The job shop problem and feasible schedules • An insertion algorithm for constructing a feasible schedule • Iterative improvement algorithm • Computational results • Concluding remarks

  21. The job shop problem • The objective • To minimize the maximum completion time Cmax of a job • Each job has to be processed on each machine at most once • Ex : • Job J2 has machine order M3⇒ Ml⇒ M2⇒ M4 • Job order J2⇒ J3⇒ J1 on machine M3

  22. Block-matrices-model • All machine and job orders can be described in a suitable manner by the matrices MO and JO • moij : The position of Mj in the machine order of Ji • joij : The position of Ji in the job order on machine Mj • Ex) Fig. 1 we have the following matrices: • This model is based on a one-to-one correspondence between feasible schedules and special latin rectangles

  23. Insertion of a new job using A Latin Rectangle • A latin rectangle • LR [n, m, r] = [Uij] is an (n, m) matrix with elements from an insertion set S = {1, ᆢ , r} • Every element of S occurs at most once in each row and in each column • Insertion of a new job using A Latin Rectangle • The goal • To minimize the cost g(LR) • g(LR) = rij + tij + qij • A head rij : The length of a longest path from one of the sources to (i, j) • A tail qij : The length of a longest path from (i, j) to one of the sinks • tij : The vertex cost of (i, j) 3 4

  24. Insertion of a new job Insert operation (3,2) g(LR1) = 37 (= 0+15+22) g(LR2) = 76 (= 12+17+10+15+6+3+13) Insert operation (1,2) g(LR3) = 71 g(LR4) = 55 (=min(15, 12+8) +14+ min(9, 10+11) ) g(LR5) = 62

  25. Discussion • 현장에서 생산 스케줄 변동에 대응하기 위한 algorithm 필요 • Cyril Duron 등의 논문에 제시된 알고리즘 • 가정을 변경시켜 다양한 상황에 적용 가능 • Earliness로 인한 penalty를 고려하지 않으므로, backward scheduling과 결합 시도 필요 • Result들의 타당성 검증 필요 • 논문에 가정 사항 부족

More Related