Algoritma Kuhn-Munkres Representasi Algoritma Kuhn-Munkres Padagraf Bipartit

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

Untuk menyelesaikan optimal assignment problem, algoritma Kuhn-Munkres dapat direpresentasikan dengan graf bipartit. Adapun langkah-langkah dalam Algoritma Kuhn-Munkres adalah sebagai berikut: Universitas Sumatera Utara Dimulai dengan sebarang feasible vertex labeling l, tentukan Gl, dan pilih sebarang matching M di Gl. 1. Jika X saturated oleh matching M, maka M adalah matching sempurna pada G karena |X| = |Y|. maka M optimal. Stop. Sebaliknya, jika terdapat beberapa unmatched x X. Definisikan S={X} dan T = Ø S ⊆X dan T⊆Y, S dan T adalah himpunan simpul yang unsaturated M pada lintasan M-alternating Gl Lanjutkan ke langkah 2. 2. Jika N Gl S ≠T dengan N Gl adalah himpunan persekitaran dari S pada equality subgraph Gl, maka lanjutkan ke langkah 3. Sebaliknya jika N Gl S=T, hitunglah: , min { , } c l x S y T l x l y w x y α ∈ ∉ = + − dan tentukan feasible vertex labelling l baru dengan: 1 1 l v l l v l v α α −   = +   untuk untuk untuk v S v T v lainnya ∈ ∈ Catatan : l α 0 dan N Gl S ≠T. Ganti l dengan l’dan Gl dengan Gl. 3. Pilih node y di N Gl S, yang tidak pada T. Jika y matched di bawah M, dengan z X ∈ dan zy adalah matching maka ganti S dengan S ∪ {z} dan T dengan T ∪ {y}, ulangi ke langkah 2 dalam algoritma Kuhn-Munkres. Sebaliknya akan terdapat M-augmenting path dari x ke y, dan kita dapat menggunakannya untuk menemukan matching M’ yang lebih besar pada Gl. Ganti M dengan M’ dan ulangi langkah1. Bentuk flowchart dalam algoritma Kuhn-Munkres dalam menyelesaikan optimal assignment problem di bawah ini: Universitas Sumatera Utara start Apakah X adalah saturated M Stop X saturated M ya M M S {x} T Ø NS=T Stop |NSS| S ∪zS T ∪yT y adalah saturated M no x ฀X unsaturated M ya ya xy ฀ matching M no x,y ada lintasan M- augmenting no y adalah NST M=M Δ฀P Gambar 3.4 Bentuk flowchart dari algoritma Kuhn Munkres Universitas Sumatera Utara Contoh masalah 3.4: Akan dicari solusi dari masalah 3.1 dengan menggunakan algoritma Kuhn- Munkres. Penyelesaian: 1. Akan ditentukan feasible vertex labeling dan equality subgraph Seperti yang telah dijelaskan sebelumnya, selalu terdapat kemungkinan untuk menemukan feasible vertex labeling. Salah satu caranya dengan menghimpun semua l y = dan 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 = untuk y Y ∈ Hal ini dapat diilustrasikan dengan Tabel 3.6, dengan menuliskan bobot maksimum xy yaitu w xy di kiri tabel untuk x X ∈ dan menuliskan 0 untuk y Y ∈ pada bagian bawah tabel. Tabel 3.6 Feasible vertex labeling ke-1 y1 y2 y3 x1 3 5 4 5 x2 4 2 5 5 x3 2 4 5 5 Selanjutnya karena equality subgraph l G didefinisikan sebagai spanning subgraph dari G dengan himpunan edge E 2 dengan { : , } l E xy E G l x l y w x y = ∈ + = , maka equality subgraph dapat diilustrasikan dengan Gambar 3.5. Universitas Sumatera Utara x 1 5 y 1 x 2 5 x 3 5 y 3 y2 Gambar 3.5 Equality subgraph ke-1 2. Akan dipilih sebarang matching M ditandai dengan edge yang dicetak tebal di Gl , yang diilustrasikan dengan Gambar 3.6. x 1 x 2 x 3 5 5 5 y 1 y 2 y 3 Gambar 3.6 Sebarang matching M 3. Dari Gambar 3.5 dapat dilihat masih terdapat unmatched 2 x X ∈ , sehingga 2 { } S x = dan T = Ø. Lanjutkan pada langkah2 dalam algoritma Kuhn-Munkres. 4. Karena N Gl S ≠T, maka dilanjutkan pada langkah ke-3 dalam algoritma Kuhn-Munkres. Yaitu, pilih node y di N Gl S, yang bukan pada T. Jika y matched di bawah M, dengan z X ∈ dan zy adalah matching maka ganti S dengan S ∪ {Z} dan T dengan T ∪ {y}. 5. Dalam hal ini y 3 matched di bawah M. Karena x 3 X dan 3 3 x y matching, maka ganti S dengan { } { } 2 3 x x ∪ atau 2 3 { , } S x x = dan T ganti Universitas Sumatera Utara dengan 3 { } T y ∪ atau 3 { } T y = . Selanjutnya kembali ke langkah 2 dalam algoritma Kuhn-Munkres. Karena l G N S=T maka akan dicari l α . , min { } c l x S y T l x l y w xy α ∈ ∈ = + − , 5 0 4, 5 0 2, min 5 0 2, 5 0 4, c l x S y T α ∈ ∈ + −   + −  =  + −   + −  2 1 2 2 3 1 3 2 x y x y x y x y 1 = Selanjutnya akan dikonstruksi feasible vertex labeling baru dengan: 1 1 l v l l v l v α α −   = +   untuk untuk untuk v S v T v lainnya ∈ ∈ Diperoleh l’ pada Tabel 3.7 Tabel 3.7 Feasible vertex labeling ke-2 y1 y2 y3 x1 3 5 4 5 x2 4 2 5 4 x3 2 4 5 4 1 dan diperoleh equality subgraph baru dan sebarang matching M yang ditandai dengan edge yang dicetak tebal, diilustrasikan dengan Gambar 3.7. x 1 5 x 2 5 x 3 5 y 3 y 2 y 1 Gambar 3.7 Equality subgraph ke -2 Karena equality subgraph baru G l telah mengandung matching sempurna perhatikan Gambar 3.6 dengan M=x 1 y 2 ,x 2 y 1 ,x 3 y 3 , maka diperoleh nilai Universitas Sumatera Utara solusi optimal dengan menjumlahkan nilai-nilai feasible vertex labeling baru, yaitu 5+4+4+0+0+1=14. Perhatikan bahwa nilai ini akan sama dengan total bobot dari matching sempurnaMyaitu:M = w x1y2 +w x2y1 +w x3y3 =5+5+4=14

3.3 Penentuan Bobot Minimum