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