Masalah Penugasan (Assignment Problem) Minggu 7
Masalah Penugasan Terdapat n mesin/manusia (M1, M2, …, Mn). Terdapat n job (J1, J2, …, Jn) yang harus ditugaskan (dikerjakan) pada mesin/manusia. Biaya pengerjaan untuk setiap job tergantung pada mesin/manusia yang ditugaskan. Biaya pengerjaan job j pada mesin/manusia i dinyatakan dengan cij. Jika suatu job i tidak dapat ditugaskan pada mesin/manusia j, maka cij = M (M bilangan positif yang sangat besar) Tiap mesin/manusia hanya dapat mengerjakan satu job. Permasalahannya adalah menentukan penugasan job pada mesin/manusia yang meminimumkan biaya total.
Rumusan Pemrograman Linier (Pemrograman Linier Bilangan Bulat 0-1) Minimasi dengan pembatas-pembatas: i = 1, 2, …, n j = 1, 2, …, n
Tabel Transportasi Job J1 J2 Jn Mesin M1 c11 c12 c1n 1 M2 c22 Mn cn1 cnn
Masalah Penugasan Tak Standar Jika jumlah mesin lebih banyak dari jumlah job (M > N) maka dibuat tambahan (M – N) job fiktif dengan biaya penugasan nol. Jika jumlah mesin lebih sedikit dari jumlah job (M < N) maka dibuat tambahan (N – M) mesin fiktif dengan biaya penugasan nol.
Pemecahan Masalah Penugasan Teknik untuk pemecahan masalah transportasi Kendala: adanya degenerasi Metoda pemecahan masalah pemrograman bilangan bulat biner Pemrograman dinamis Metode Hungarian (Hungarian Method)
Metode Hungarian Asumsi adalah semua elemen biaya (cij) tak negatif. Prinsip dasar: Solusi optimal penugasan tidak terpengaruh jika suatu konstanta ditambahkan atau dikurangkan dari sebarang baris atau kolom dari matriks biaya.
Struktur Algoritma dari Metode Hungarian Langkah 0: Matriks biaya Langkah 1: Reduksi baris. Jika diperoleh solusi layak maka berhenti dan diperoleh solusi optimal. Jika sebaliknya, lanjutkan ke Langkah 2. Langkah 2: Reduksi kolom. Jika diperoleh solusi layak maka berhenti dan diperoleh solusi optimal. Jika sebaliknya, lanjutkan ke Langkah 3. Langkah 3 Modifikasi matriks biaya. Algoritma berhenti apabila telah diperoleh solusi layak (dan optimal).
Contoh Penugasan empat job dan empat mesin Biaya penugasan : J1 J2 J3 10 9 7 8 M2 5 M3 4 6 M4 2 3
Contoh Reduksi Baris J1 J2 J3 J4 M1 3 2 1 M2 M3 M4
Contoh Reduksi Kolom J1 J2 J3 J4 M1 3 2 M2 1 M3 M4
Contoh Modifikasi Matrix J1 J2 J3 J4 M1 3 2 M2 1 M3 M4 Elemen terkecil yang tak tertutup garis
Contoh Solusi Layak J1 J2 J3 J4 M1 4 2 M2 1 M3 M4
Contoh Solusi Layak (dan Optimal) J1 J2 J3 J4 M1 4 2 M2 1 M3 M4 M1 J3 M2 J1 M3 J4 M4 J2 Biaya penugasan total Z = 7 + 5 + 5 + 3 = 20
Contoh Solusi Optimal Alternatif J1 J2 J3 J4 M1 4 2 M2 1 M3 M4 M1 J3 M2 J1 M3 J4 M4 J2 Biaya penugasan total Z = 7 + 7 + 4 + 2 = 20
Masalah Maksimasi
Masalah Maksimasi
Review Tabel Matrik Biaya A Rp 15 Rp 20 Rp 18 Rp 22 B 14 16 21 17 C 25 Suatu perusahaan mempunyai 4 pekerjaan yang berbeda untuk diselesaikan oleh 4 karyawan Tabel Matrik Biaya Pekerjaan Karyawan I II III IV A Rp 15 Rp 20 Rp 18 Rp 22 B 14 16 21 17 C 25 20 23 D 18
Review Suatu perusahaan mempunyai 5 pekerjaan yang berbeda untuk diselesaikan oleh 5 karyawan Tabel Matrik keuntungan Pekerjaan Karyawan I II III IV V A Rp 10 Rp 12 Rp 8 Rp 15 B 14 10 9 15 13 C 8 7 12 D 16 11 E 17
I II III IV V A Rp 10 Rp 12 Rp 8 Rp 15 B 14 10 9 15 13 C 8 7 12 D 16 Mengubah Matriks biaya menjadi matriks opportunity-loss dengan memilih elemen terbesar dari setiap baris, kurangkan pada seluruh elemen baris tersebut Opportunity-loss matrix Pekerjaan Karyawan I II III IV V A Rp 10 Rp 12 Rp 8 Rp 15 B 14 10 9 15 13 C 8 7 12 D 16 11 E 17 5 3 5 7 1 5 6 2 3 4 5 4 3 1 8 5 7 4 3 6
Total Opportunity-loss matrix 17 11 14 13 10 E 12 Rp 15 V 16 8 15 D 7 9 C B Rp 8 Rp 10 Rp 12 A IV III II I Pekerjaan Karyawan 5 3 1 6 2 4 4 2 2 2 5 4 3 4 2 3 1 2 2 2 5 7 6 3 2
Total Opportunity-loss matrix Karena jumlah garis = jumlah baris atau kolom, maka matrik penugasan optimal telah tercapai Total Opportunity-loss matrix 17 11 14 13 10 E 12 Rp 15 V 16 8 15 D 7 9 C B Rp 8 Rp 10 Rp 12 A IV III II I Pekerjaan Karyawan 5 3 1 6 2 4 2 4 5 3 1