Masalah Penugasan (Assignment Problem)
Masalah Penugasan (Assignment Problem) Amelia Kurniawati ST., MT.
Outline
① Rumusan masalah penugasan ② Pemecahan masalah penugasanGoal
Memahami konsep assignment dan
- penerapannya Memahami metode pencarian solusi
- optimal
① Rumusan Masalah Penugasan
Model Penugasan
Model penugasan merupakan kasus khusus dari- model transportasi , dimana sejumlah m sumber
ditugaskan kepada sejumlah n tujuan (satu sumber untuk satu tujuan) sedemikan sehingga didapat ongkos total yang minimum.
Biasanya yang dimaksud dengan sumber ialah mesin-
mesin, sedangkan yang dimaksud dengan tujuan ialah
pekerjaan (atau job). 1 2 m Terdapat m mesin (M , M , …, M- 1 2 n Terdapat n job (J , J , …, J ) yang harus ditugaskan
- (dikerjakan) pada mesin. Biaya pengerjaan untuk setiap job tergantung pada
- mesin yang ditugaskan.
Masalah Penugasan
Biaya pengerjaan job j pada mesin i dinyatakan dengan- c . Jika suatu job i tidak dapat ditugaskan pada mesin j, ij
maka c = M (M bilangan positif yang sangat besar) ij Tiap mesin hanya dapat mengerjakan satu job.
- Karena itu, bentuk standard model penugasan ini
adalah jumlah mesin (m) sama dengan jumlah job (n)
yaitu sama dengan n.Permasalahannya adalah menentukan penugasan job
- pada mesin yang meminimumkan biaya total.
Rumusan Pemrograman Linier
(Tepatnya: Pemrograman Linier Bilangan Bulat 0-1) n n Minimasi
Z c x ij ij
i 1 j 1
dengan pembatas-pembatas: n
x
1 , i = 1, 2, …, n
ij j n 1 x1 , j = 1, 2, …, n
ij i 1 1 jika job j ditugaskan pada mesin i
x ij
yang lain Tabel Transportasi Job
J J 1 2 J n c c 11 12 c 1n M 1
1 c c 22 22 c 1n M 2
1 Mesin
1 c c n1 n2 c nn M n
1
1
1
1
1
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 yang dapat digunakan untuk menyelesaikan masalah penugasan:
Pemecahan Masalah Penugasan
- Teknik untuk pemecahan masalah transportasi
- – Kendala: adanya degenerasi
- Metode pemecahan masalah pemrograman bilangan bulat biner
- Pemrograman dinamis
- Metode Hungarian (Hungarian Method)
) tak negatif.
Metode Hungarian (1)
- Asumsi adalah semua elemen biaya (c ij
- Prinsip dasar:
- –
Solusi optimal penugasan tidak terpengaruh jika
suatu konstanta ditambahkan atau dikurangkan dari sebarang baris atau kolom dari matriks biaya.
Metode Hungarian (2)
i ij j
j i ij
i j ij ijZ x q p c x c
i j ij j i j ij i i ij j ij x q x p x c
i j ij j i j ij i i ij j ij x q x p x c
i i ij j i j ij i i ij j ij x q x p x c
1
1
i j i i i ij j ij q p x c konstanta
i ij j ij x c
Struktur Algoritma dari
Metode Hungarian
Langkah 0:- –
Matriks biaya Langkah 1:
- –
Periksa apakah di setiap baris sudah terdapat angka ‘0’. Jika belum, lakukan reduksi baris . Jika sudah, maka lanjutkan ke langkah 2.
- –
Langkah 2:
Periksa apakah di setiap kolom sudah terdapat angka ‘0’. Jika belum, lakukan reduksi kolom . Jika sudah, hubungkan setiap angka ‘0’ dengan garis-garis, dengan jumlah garis seminimum mungkin. Jika jumlah garis sama dengan jumlah job / mesin, maka berhenti, cari solusi optimal. Jika sebaliknya, lanjutkan ke langkah 3.
- –
Langkah 3
Modifikasi matriks biaya . Algoritma berhenti apabila telah
diperoleh solusi layak (dan optimal).
Struktur Algoritma dari
Metode Hungarian
Langkah 0:- –
Matriks biaya Langkah 1:
- –
Reduksi baris. Jika diperoleh solusi layak maka berhenti dan diperoleh solusi layak. Jika sebaliknya, lanjutkan ke Langkah 2.
- –
Langkah 2:
Reduksi kolom. Jika diperoleh solusi layak maka berhenti dan diperoleh solusi layak. Jika sebaliknya, lanjutkan ke Langkah 3.
- –
Langkah 3
Modifikasi matriks biaya. Algoritma berhenti apabila telah
diperoleh solusi layak (dan optimal).Contoh #1
1
6 Penugasan empat job dan empat mesin Biaya penugasan :
5
3
4
2 M 4
1
J 1 J 2 J 3 J 4 M 1
10
6 M 3
5
4
3
7 M 2
8
9
2
Contoh #1 Reduksi Baris
1
6 Nilai Minimum Baris 1
5
3
4
2 M 4
1
J 1 J 2 J 3 J 4 M 1
10
6 M 3
5
4
3
7 M 2
8
9
2
Contoh #1 Reduksi Baris
1
Kurangkan masing-masing nilai biaya dengan nilai biaya minimum tiap barisnya
6 Nilai Minimum Baris 1
5
3
4
2 M 4
1
J 1 J 2 J 3 J 4 M 1
10
6 M 3
5
4
3
7 M 2
8
9
2
Contoh #1 Reduksi Baris
J 1 J 2 J 3 J 4 M 1
10 – 7 9 – 7 8 – 7 7 – 7
M 2
3 -3 4 – 3 5 – 3 6 – 3
M 3
2 – 1 1 – 1 1 – 1 2 – 1
M 4
4 – 3 3 – 3 5 – 3 6 - 3
Contoh # 1 Reduksi Baris
J 1 J 2 J 3 J 4 M 1
3
2
1 M 2
1
2
3 M 3
1
1 M 4
1
2
3 Solusi dinyatakan layak jika terdapat nilai nol yang memasangkan masing-masing 1 mesin terhadap 1
Periksa nilai no l Periksa nilai no l
Contoh # 1 Reduksi Baris
J 1 J 2 J 3 J 4 M 1
3
2
1 M 2
1
2
3 M 3
1
1 M 4
1
2
3 Solusi dinyatakan layak jika terdapat nilai nol yang memasangkan masing-masing 1 mesin terhadap 1
Jumlah Garis = Jumlah Mesin /
Job Jumlah Garis = Jumlah
Mesin / Job
Contoh # 1 Solusi Optimal
J 1 J 2 J 3 J 4 M 1
3
2
1 M 2
1
2
3 M 3
1
1 M 4
1
2
3 M 1 J 4 M 2 J 1 M 3 J 3 M 4 J 2 Biaya penugasan total Z = 7 + 3 + 1 + 3 = 14
Contoh #2
4
5 Penugasan empat job dan empat mesin Biaya penugasan :
4
3
2
5 M 4
6
J 1 J 2 J 3 J 4 M 1
10
7 M 3
7
8
5
8 M 2
7
9
5
Contoh #2 Reduksi Baris
J 1 J 2 J 3 J 4 M 1 10 – 7 9 – 7 8 – 7 7 – 7
M 2 5 – 5 8 – 5 7 – 5 7 – 5
M 3 5 – 4 4 – 4 6 – 4 5 – 4
M 4 2 – 2 3 – 2 4 – 2 5 - 2
Contoh # 2 Hasil Reduksi Baris
J 1 J 2 J 3 J 4 M 1
3
2
1 M 2
3
2
2 M 3
1
2
1 M 4
1
2
3 Solusi Belum Layak
Contoh # 2 Reduksi Kolom
J 1 J 2 J 3 J 4 M 1
3
2
1 M 2
3
2
2 M 3
1
2
1 M 4
1
2
3
Contoh # 2 Reduksi Kolom
J 1 J 2 J 3 J 4 M 1
3 – 0 2 – 0 0 – 0 1 – 1
M 2
0 – 0 3 – 0 2 – 0 2 – 1
M 3
1 – 0 0 – 0 2 – 0 1 – 1
M 4
0 – 0 1 – 0 2 – 0 3 – 1
Contoh #2 Reduksi Kolom
J 1 J 2 J 3 J 4 M 1
3
2 M 2
3
2
1 M 3
1
2 M 4
1
2
2 Solusi Belum Layak
Contoh #2 Modifikasi Matrix
J 1 J 2 J 3 J 4 M 1
3
2 M 2 M 3
1
2 M 4
1
2
2 Tarik garis (horizontal/vertikal) yang
menghubungkan nilai-nilai nol; Buat garis seminimum mungkin (biasanya jumlah kolom - 1)
Contoh #2 Modifikasi Matrix
J 1 J 2 J 3 J 4 M 1
3
2 M 2 M 3
1
2 M 4
1
2
2 Elemen terkecil
yang tak tertutup garis Tandai elemen terkecil yang tidak tertutupi garis.
Contoh #2 Modifikasi Matrix
J 1 J
2
J 3 J 4 M 13
2 M 2 M 3
1
2 M 4
1
2
2 Tambahkan nilai elemen yang berada
pada titik potong dua garis dengan nilai elemen terkecil yang tidak tertutup baris
3 + 1
Contoh #2 Modifikasi Matrix
J 1 J 2 J 3 J 4 M 1
3
2 M 2 M 3
1
2 M 4
1
2
2 Kurangi nilai elemen-elemen yang
tidak tertutup garis dengan nilai elemen terkecil 3 - 1
Contoh #2 Modifikasi Matrix
J 1 J 2 J 3 J 4 M 1
3
2 M 2 M 3
1
2 M 4
1
2
2 Abaikan nilai elemen-elemen yang
tertutup satu garis
2
Contoh #2 Modifikasi Matrix
J 1 J 2 J 3 J 4 M 1
3 + 1
2 M 2 M 3 1 + 1
2 M 4 1 – 1 2 - 1 2 - 1
Contoh operasi: Contoh operasi:
Contoh #2 Solusi Layak
J 1 J 2 J 3 J 4 M 1
4
2 M 2 M 3
2
2 M 4
1
1
Contoh #2 Solusi Layak (dan Optimal)
J 1 J 2 J 3 J 4 M 1
4
2 M 2
2
1 M 3
2
2 M 4
1
1 M 1 J 3 M 2 J 1 M 3 J 4 M 4 J 2 Biaya penugasan total Z = 7 + 5 + 5 + 3 = 20
Contoh #2 Solusi Optimal Alternatif
J 1 J 2 J 3 J 4 M 1
4
2 M 2
2
1 M 3
1
2 M 4
1
1 M 1 J 3 M 2 J 1 M 3 J 4 M 4 J 2 Biaya penugasan total Z = 7 + 7 + 4 + 2 = 20
Masalah Maksimasi
- Konversikan ke masalah minimasi dengan
Langkah 1
- –
mengalikan semua elemen (c ) dari matrix biaya
ij penugasan dengan -1. - Jika beberapa elemen matrix biaya adalah negatif maka tambahan suatu bilangan positif yang besar
untuk masing-masing baris dan kolom sehingga
elemen-elemen biaya menjadi positif.
Langkah 2
- Terapkan metode Hungarian.
Langkah 3
- –
Contoh # 3
7 M 4
x (-1)
M 3
M 2
J 1 J 2 J 3 J 4 M 1
4 Max Profit:
3
5
8
7
J 1 J 2 J 3 J 4 M 1
6
3
1 M 3
2
5
4
2 M 2
6 4 -M
- 6 -4 M -2
- 4 -5 -2 -1
- 3 -6 -7 -7
Contoh # 3
J 1 J 2 J 3 J 4 + M 1
- 6 -4 M -2
6 M 2
- 4 -5 -2 -1
5 M 3
- 3 -6 -7 -7
7 M 4
- 8 -5 -3 -4
2 M+6
4 M 2
1
3
4 M 3
4
1 Solusi belum layak
8 J 1 J 2 J 3 J 4 M 1
Contoh #3 Modifikasi Matrix
J 1 J 2 J 3 J 4 M 1
2 M+6 – 3 4 – 3
M 2
1 3 – 3 4 – 3
M 3
4 + 3 1 + 3
M 4
3 5 - 3 4 - 3
Contoh #3 Modifikasi Matrix
J 1 J 2 J 3 J 4 M 1
2 M + 3
1 M 2
1
1 M 3
7
4 M 4
3
2
1
Contoh #3 Modifikasi Matrix #2
J 1 J 2 J 3 J 4 M 1
2 M + 3
1 M 2
1
1 M 3
7
4 M 4
3
2
1
Contoh #3 Modifikasi Matrix #2
J 1 J 2 J 3 J 4 M 1
2 – 1 M + 3 - 1 1 – 1
M 2
1 + 1
1 M 3 7 + 1
4 M 4 3 – 1 2 – 1 1 – 1
Contoh #3 Solusi Layak Optimal
J 1 J 2 J 3 J 4 M 1
1 M + 2
M 2
2
1 M 3
8
4 M 4
2
1 M1-J1
M2-J2 M3-J3 M4-J4 Z = 6 + 5 + 7 + 4 = 22
Contoh #3 Solusi Layak Optimal Alternatif
J 1 J 2 J 3 J 4 M 1
1 M + 2
M 2
2
1 M 3
8
4 M 4
2
1 M1-J4
M2-J2 M3-J3 M4-J1 Z = 2 + 5 + 7 + 8 = 22
(TRANSSHIPMENT PROBLEM) Setiap sumber dan tujuan dapat juga menjadi titik perantara pengiriman dari sumber-sumber atau tujuan-tujuan lain. Masalah pemindahan dapat diselesaikan dengan beberapa
penyesuaian kecil terhadap metode solusi masalah transportasi.
Setiap sumber dan tujuan dapat juga menjadi titik perantara pengiriman dari sumber-sumber atau tujuan-tujuan lain. Masalah pemindahan dapat diselesaikan dengan beberapa
penyesuaian kecil terhadap metode solusi masalah transportasi.
Contoh: Tabel 1
Tabel 1 Jika setiap sumber I dan tujuan J dapat juga menjadi titik perantara pemindahan ke sumber atau tujuan lain, diperoleh tabel yang dimodifikasi seperti berikut:
Tabel 2 Tabel 2 Masalah asli ditempatkan pada sisi kanan atas .
Kotak-kotak baru yang lain mencerminkan kemungkinan perantara pemindahan. Contohnya kotak i=1 ke kotak i=3 menunjukkan barang dapat dikirim dari sumber 1 ke sumber 3 sebelum dikirim ke tujuan akhir j.
Tabel 2
Penawaran dan permintaan untuk baris-baris dan kolom-kolom baru menunjukkan
kenyataan bahwa setiap sumber dan tujuan sekarang sama dengan semua yang ditawarkan dan yang diminta. Dengan kata lain, sementara hanya 60 unit yang diminta pada tujuan 1, sisanya sebesar 140 unit dapat dikirim melalui titik perantara ini sebelum mencapai tujuan akhir. Karena itu, 200 unit sesungguhnya dapat disalurkan melalui tujuan 1. Sehingga penawaran dan permintaan dapat
ditingkatkan dengan suatu jumlah yang sekurang-kurangnya sama besar dengan jumlah permintaan dan penawaran. Karena itu, dalam masalah ini, sejumlah 200 unit ditambahkan ke masing-
masing nilai penawaran baris dan nilai permintaan kolom awal. Juga 200 unit
penawaran disisipkan pada masing-masing baris baru yang ditambahkan, dan 200 unit permintaan disisipkan pada masing-masing kolom baru yangditambahkan. Nilai-nilai penawaran dan permintaan yang dihasilkan disajikan
pada tabel berikut: Tabel 3Tabel 3 Solusi ini diperoleh
(2) dengan VAM.
Jumlah yang (3) dialokasikan adalah maximum dari
(1) supply yang tersedia.
Solusi ini diperoleh dengan stepping stone
Nilai-nilai cij untuk kotak-kotak baru adalah biaya pemindahan
yang ditentukan oleh manajemen. Biaya pengiriman untuk arah
yang berlawanan kadang-kadang berbeda karena pilihan mode tranportasi dan kondisi jalan.
Contohnya, kotak yang menunjukkan rute dari i=1 ke j=3 adalah
70 per unit, sementara biaya dari j =3 ke i=1 adalah 3 per unit.
Nilai-nilai pada diagonal dari kiri atas ke kanan bawah adalah nol
karena tak ada pengiriman dari sumber ke dirinya sendiri (i=i) atau tujuan ke dirinya (j=j).
Tabel 3 juga menunjukkan solusi optimum yang diperoleh
dengan menggunakan VAM dan Stepping Stone. Dalam
penafsiran solusi optimum, semua nilai-nilai pada kotak diagonal
dapat diabaikan karena mereka tak berarti. Nilai-nilai yang dilingkari memberikan solusi optimum. Jaringan Pemindahan yang optimum disajikan pada gambar 1 Untuk menunjukkan titik pengiriman perantara dari masalah pemindahan, teliti bahwa 70 unit yang dikirim langsung dari sumber 1 (i=1) ke tujuan 3 (j=3). Namun, yang 30 unit selanjutnya dipindah dari tujuan 3 (j=3) ke tujuan 2 (j=2), tinggal 40 unit pada tujuan 3 (jumlah) yang diminta. 30 unit yang dipindah dari
tujuan 3 ke tujuan 2 digabung dengan 80 unit yang dikirim langsung dari sumber
2 (j=2), sehingga seluruhnya 110 unit. Namun, yang 10 unit dipindahkan dari tujuan 2 ke tujuan 1, tinggal 100 unit yang diminta pada tujuan 2. 10 unit yang dipindah dari tujuan 2 digabung dengan 50 unit yang dikirim dari sumber 3, menghasilkan 60 unit pada tujuan 1.Contoh II.
Asumsikan bahwa seluruh ongkos per unitnya
telah ditentukan, maka model transshipment- nya adalah:Elemen-elemen diagonal diabaikan dari tabel di atas, 100 karena tidak mempengaruhi
apa-apa.
Solusi optimal di atas menyatakan bahwa:
1.S2 mengirimkan seluruh supplynya pada T1, dimana 100 unit disimpan untuk memenuhi demand pada tujuan 1 tersebut dan sisanya, yaitu sebanyak 100 unit, kemudian dikirimkan kepada tujuan 3 (T3) untuk memenuhi demand pada tujuan 3. Adapun pada tujuan 2 (T2) dipenuhi langsung dari sumber 1 (S1)