Tugas algoritma 2
4) Kasus: Menyusun Jadwal Kerja (Scheduling)
Cerita:
Ada 5 pekerjaan yang harus dikerjakan 1 mesin secara berurutan (tidak bisa paralel).
Setiap pekerjaan memiliki waktu pengerjaan (durasi) dan bobot kepentingan.
Kita ingin menentukan urutan pekerjaan agar total “waktu selesai × bobot” sekecil mungkin.
Data pekerjaan (durasi, bobot):
- A: (3 jam, bobot 4)
- B: (2 jam, bobot 2)
- C: (5 jam, bobot 10)
- D: (1 jam, bobot 1)
- E: (4 jam, bobot 3)
Tujuan:
Cari urutan pekerjaan yang meminimalkan total “waktu selesai × bobot”.
Metode Brute Force
Brute force mengevaluasi seluruh urutan yang mungkin (5! = 120 urutan).
Untuk setiap urutan (j₁,…,j₅):
- Hitung waktu kumulatif Cjₖ = Σ pjₜ
- Hitung nilai objektif: Z = Σ wjₖ × Cjₖ
- Pilih urutan dengan Z terkecil
Perhitungan Hasil Terbaik
Dari evaluasi seluruh 120 permutasi, nilai minimum Σ wjCj adalah 158. Terdapat dua urutan optimal dengan hasil sama:
Urutan 1: C → A → B → D → E
- C: CC=5 → 10×5=50
- A: CA=8 → 4×8=32
- B: CB=10 → 2×10=20
- D: CD=11 → 1×11=11
- E: CE=15 → 3×15=45
- Total = 158
Urutan 2: C → A → D → B → E
- C: CC=5 → 50
- A: CA=8 → 32
- D: CD=9 → 9
- B: CB=11 → 22
- E: CE=15 → 45
- Total = 158
B dan D dapat dipertukarkan karena rasio p/w sama (=1), sehingga kedua urutan sama-sama optimal.
Kesimpulan
Urutan pekerjaan optimal: C – A – B – D – E atau C – A – D – B – E.
Nilai minimum: Σ wjCj = 158.
Komentar
Posting Komentar