Deskripsi Probem Assignment Representasi Algoritma Kuhn-Munkres Padagraf Bipartit

Bab 3 REPRESENTASI ALGORITMA KUHN-MUNKRES

3.1 Deskripsi Probem Assignment

Dalam suatu perusahaan sering bermunculan permasalahan yang pada dasarnya dapat diselesaikan dengan menggunakan konsep graf, salah satunya adalah optimal assignment problem. Misalkan pada sebuah perusahaan terdapat sebanyak X karyawan dan Y pekerjaan, dalam hal ini banyak X dan Y diasumsikan sama. Maka penempatan X karyawan ke Y pekerjaan memperhatikan faktor tertentu seperti profit keuntungan sehingga diperoleh hasil yang optimal biasa dikenal dengan optimal assignment problem. Pada penjelasan sebelumnya, banyaknya karyawan dinyatakan dengan X dan banyaknya pekerjaan dinyatakan dengan Y. Jika banyaknya X karyawan dan Y karyawan masih dalam ruang lingkup kecil, maka dengan cara perhitungan biasa kita dapat menemukan solusi optimalnya. Contoh masalah 3.1 Dalam suatu perusahaan terdapat 3 posisi pekerjaan 1 2 3 , , y y y yang masih kosong. Perusahaan telah mengadakan penilaian terhadap 3 orang karyawan 1 2 3 , , x x x . Penilaian setiap karyawan terhadap masing- masing pekerjaan disajikan dalam Tabel 3.1 . Akan ditentukan solusi agar masing- masing karyawan menepati posisi pekerjaan sehingga menjadi penempatan paling optimal bagi perusahaan. Tabel 3.1 Daftar nilai karyawan y1 y2 y3 x1 3 5 4 x2 4 2 5 x3 2 4 5 Universitas Sumatera Utara Penyelesaian: Tabel 3.1 dapat diilustrasikan dengan graf bipartit berbobot seperti gambar berikut: 3 4 5 4 2 5 2 4 5 x 1 x 3 y 1 y 2 y 3 Gambar 3.1. Graf bipartit berbobot Untuk mencari solusi optimalnya sama halnya dengan matching sempurna dengan bobot maksimum pada graf bipartit pada Gambar 3.1. Karena graf G merupakan graf bipartit yang memiliki partisi {X,Y}dengan|X|=|Y|, berdasarkan teorema marriage yang telah dijelaskan pada bab sebelumnya, maka pada graf bipartit ini terdapat matching sempurna. Dalam hal ini karena |X|=|Y|=3 maka dapat ditentukan kemungkinan matching sempurnanya sebanyak 3=6 , yaitu: 1. 1 1 1 2 2 3 3 , , M x y x y x y = dengan 1 1 1 2 2 3 3 M x y x y x y w w w w = + + 3 2 5 10 = + + = 2. 2 1 1 2 3 3 2 , , M x y x y x y = dengan 2 1 1 2 3 3 2 M x y x y x y w w w w = + + 3 5 4 12 = + + = 3. 3 1 3 2 2 3 1 , , M x y x y x y = dengan 3 1 3 2 2 3 1 M x y x y x y w w w w = + + 4 2 2 8 = + + = 4. 4 1 2 2 1 3 3 , , M x y x y x y = dengan 4 1 2 2 1 3 3 M x y x y x y w w w w = + + 5 4 5 14 = + + = Universitas Sumatera Utara 5. 5 1 3 2 1 3 2 , , M x y x y x y = dengan 5 1 3 2 1 3 2 M x y x y x y w w w w = + + 4 4 4 12 = + + = 6. 6 1 2 2 3 3 1 , , M x y x y x y = dengan 6 1 2 2 3 3 1 M x y x y x y w w w w = + + 5 5 2 12 = + + = Dari keenam kemungkinan diperoleh matching sempurna dengan bobot maksimum yaitu 14 untuk matching sempurna 4 1 2 2 1 3 3 , , M x y x y x y = . Maka solusi optimal dari Contoh 3.1 yaitu: Karyawan ke-1 ditempatkan pada pekerjaan ke-2 Karyawan ke-2 ditempatkan pada pekerjaan ke-1 Karyawan ke-3 ditempatkan pada pekerjaan ke-3 Contoh masalah 3.1 adalah contoh optimal assignment problem yang diibaratkan dengan graf bipartit lengkap. Masing-masing simpul pada bipartisi X dan bipartisi Y sebanyak 3, kemungkinan matching sempurnanya sebanyak n yaitu 3=6. Dalam masalah ini, karena kemungkinan matching sebanyak 6, jadi pencarian solusi masih bisa dilakukan dengan mendaftar semua matching yang mungkin pada graf bipartit tersebut dan kemudian menghitung bobot masing-masing. Matching sempurna dengan bobot paling maksimal adalah solusinya. Namun, lain halnya jika masing-masing simpul pada bipartisi X dan Y sangat banyak, dengan kata lain nilai n sangat besar. Sangat tidak efisien jika dilakukan perhitungan dengan mendaftar semua kemungkinan matching sempurna seperti Contoh 3.1 . Oleh karena itu, untuk memudahkan pencarian solusi optimal assignment problem, akan digunakan sebuah algoritma optimasi yaitu algoritma Kuhn-Munkers. Namun sebelum menguraikan langkah-langkah dalam algoritma Kuhn-Munkers, akan didefinisikan terlebih dahulu Feasible vertex labeling dan Equality graph.

3.1.1 Feasible Vertex Labelling

Universitas Sumatera Utara Misalkan terdapat suatu graf bipartit lengkap G dengan bobot w yang dinotasikan dengan G,w. Feasible vertex labelling pada graf G didefinisikan sebagai fungsi nilai real l pada X U Y sedemikian sehingga untuk setiap x X ∈ dan y Y ∈ berlaku: lx+ l y ≥ wx,y Selalu terdapat kemungkinan untuk menemukan feasible vertex labelling. Salah satu caranya dengan mendefinisikan semua ly=0 untuk y Y dan untuk setiap x X, ambil bobot maksimum pada rusuk yang berajasen dengan x. max , y Y l x w x y ∈ = untuk x X l y=0 untuk y Y Contoh 3.2: Akan ditentukan Feasible vertex labelling dari graf bipartit berbobot pada Gambar 3.2 x 1 3 6 y 1 4 5 x 2 y 2 x 3 3 2 4 10 7 y 3 x 4 y 4 Gambar 3.2 Contoh graf bipartit berbobot Penyelesaian: Untuk memudahkan, maka masing-masing bobot kita daftarkan kedalam Tabel 3.2 Tabel 3.2 Daftar bobot y1 y2 y3 y4 x1 3 x2 6 5 3 Universitas Sumatera Utara x3 2 4 x4 4 10 7 Dari penjelesan sebelumnya, selalu terdapat kemungkinan untuk menemukan feasible vertex labelling. Salah satu caranya dengan mendefinisikan semua l y=0 untuk y Y dan untuk setiap x X, ambil nilai maksimum pada deretan yang sama. max , y Y l x w x y ∈ = untuk x X l y=0 untuk y Y Dari hal ini untuk mendefenisika semua l y=0, y Y dapat dilakukan dengan cara menuliskan 0 di bagian bawah tabel, untuk masing-masing y perhatikan Tabel 3.3. Tabel 3.3 l y=0 Selanjutnya untuk setiap x X , ambil nilai maksimum pada deretan yang sama. Hal ini dapat dilakukan dengan cara menentukan nilai x maksimum ditiap deretan yang sama, kemudian menuliskannya pada kanan tabelperhatikan Tabel 3.4. Tabel 3.4 Nilai x maksimum y1 y2 y3 y4 X max x1 3 3 x2 6 5 3 6 x3 2 4 4 x4 4 10 7 10 Maka diperoleh feasible vertex labelling yang diilustrasikan dengan Tabel 3.5. y1 y2 y3 y4 x1 3 x2 6 5 3 x3 2 4 x4 4 10 7 Universitas Sumatera Utara Tabel 3.5 Feasible vertex labeling dari graf bipartit berbobot y1 y2 y3 y4 x1 3 3 x2 6 5 3 6 x3 2 4 4 x4 4 10 7 10

3.1.2 Equality Subgraph

Misalkan terdapat suatu feasible vertex labelling pada graf G. Maka equality subgraph yang berkorespodensi dengan feasible vertex labelling l didefinisikan sebagai spanning subgraph dari G dengan himpunan edge E l dengan E l = {x,y EG: l x+ l y= wx,y}, dan dinotasikan dengan G l . Contoh 3.3: Akan ditentukan equality subgraph dari graf bipartit berbobot pada Gambar 3.2. Penyelesaian: Langkah pertama yaitu menghimpun edge El. Dari contoh 3.2 telah ditentukan feasible vertex labelling dari graf bipartit berbobot pada Gambar 3.2. E l ={x,y EG: l x+ l y=wx,y}, maka rusuk El adalah edge-edge yang mempunyai bobot yang sama dengan bobot feasible vertex labelling yang telah diperoleh, yaitu 1 3 2 1 3 3 4 3 , , , x y x y x y x y . Selanjutnya equality subgraph dapat diilustrasikan dengan Gambar 3.3. Dalam hal ini himpunan rusuk yang digambarkan hanyalah edge E l . Universitas Sumatera Utara x 1 3 x 2 6 4 x 3 x 4 10 y 4 y 3 y 1 y 3 Gambar 3.3 Equality subgraph dari graf bipartit berbobot Teorema 3.1 Misalkan l adalah feasible vertex labelling dari G. Jika equality subgraph G l mengandung sebuah matching sempurna M, maka M adalah matching optimal pada G. Bukti: Misalkan M adalah matching sempurna dari suatu equality subgraph Gl, maka M juga merupakan matching sempurna dari G karena G l adalah spanning subgraph dari G. Masing-masing e M merupakan anggota dari G l dan simpul-simpul akhir dari edge pada M cover setiap node tepat satu kali maka diperoleh: e M x V w M w e l x ∈ ∈ = = ∑ ∑ 3...1 jika M adalah sebarang matching sempurna lain dari G, maka e M x V w M w e l x ∈ ∈ = ≤ ∑ ∑ 3...2 dari 1 dan 2 diperoleh wM ≥ wM. Maka M adalah matching optimal dari G.

3.2 Algoritma Kuhn-Munkres