Algoritma ini memiliki dua list order yaitu:
- Sebuah list dari job-job yang tidak terjadwal, yaitu sebuah list yang mengandung job-job dalam urutan EDD.
- Sebuah list dari job-job yang terjadwal, yaitu suatu sekuen job setengah jadi yang memungkinkan untuk dilakukan perbaikan.
Misalkan:
α = indeks dari job terakhir pada list terjadwal
β = indeks dari job pivot.
γ = indeks job pertama pada list tak terjadwal
Sehingga untuk evaluasi aturan keputusan (decision rule), digunakan tβ ≤ Fα.
Pada setiap tahapan, algoritma tersebut menunjukkan sebuah pairwise decision rule untuk job β dan γ, dimana dβ ≤ dγ. Jika Fα + max{tβ, tγ} ≤ dγ, atau jika tβ ≤ tγ, maka diinginkan agar β mendahului γ pada tahap ini di dalam sekuen tersebut, kemudian β dimasukkan ke list terjadwal.
Algoritma ini dapat diperinci sebagai berikut:
Langkah 1 : Inisialisasi satu set task dalam urutan EDD. Bandingkan dua task pertama (a dan b). Jika:
max(ta, tb) ≤ max(da, db)
maka masukkan task a ke kolom α dan b ke kolom β. Sebaliknya, untuk task yang terpendek masukkan ke α dan yang lainnya ke kolom β. Task ketiga dalam urutan EDD dimasukkan ke kolom γ.
Langkah 2 : Bandingkan β dan γ untuk melihat apakah β akan bergabung dengan α pada list terjadwal. Jika:
tβ ≤ tγ
atau jika
Fα + max{tβ, tγ} ≤ max{dα, dβ}
Maka pindahkan task pada kolom β tersebut ke kolom α dan task pada kolom γ ke kolom β. Task berikutnya pada list EDD menjadi γ. Jika tidak ada lagi task pada list EDD, maka tambahkan task α dan β ke dalam jadwal dan berhenti. Sebaliknya ulangi langkah ke 2. Jika kedua kondisi di atas gagal, ulangi langkah 3.
Langkah 3 : kembalikan β ke list EDD dan pindahkan task γ ke kolom β. Bandingkan α dan β untuk melihat apakah β akan menggabungkan α pada list terjadwal. Jika:
tα ≤ tβ
atau jika
Fα - tα + max{tβ, tγ} ≤ max{dα, dβ}
Maka pindahkan task yang ada di kolom β ke kolom α dan pilih dua task berikutnya dari list EDD sebagai β dan γ yang baru. Kembali ke langkah 2. Jika kedua kondisi sebelumnya gagal, maka menuju ke langkah 4.
Langkah 4 : Letakkan task pada kolom α kembali ke list EDD dan tempatkan task terakhir ke list yang terjadwal sebagai α yang baru. Kembali ke langkah 3. Jika tidak ada task pada daftar yang terjadwal, masukkan β pada list terjadwal, dan dua task pertama pada list EDD menjadi β dan γ. Kemudian kembali ke Langkah 2.
Pembaca yang saya hormati,
Tulisan-tulisan dalam blog ini insya Allah selalu diupayakan keorisinalitasnya. Saya berharap pembaca juga bersedia menjaga orisinalitasnya dengan mencantumkan nama blog ini (http://www.sitnah-aisyah.blogspot.com). Semoga Anda memperoleh manfaat dari blog ini.
Minggu, 06 Juni 2010
Langganan:
Posting Komentar (Atom)
0 comments:
Posting Komentar