15: �
′
← � � , �
′
← � ∪ � , �
′
← � ∀ = 1, … , �, ≠ ,
16: =
�
1 ′
, … , �
� ′
17: if �, � � �� �, � then
18: ← ∪
19: count
← count + 1
20: end if 21: if jika semua kemungkinan pada langkah 13 dan 14 telah
dipertimbangkan then
22: NOMORE ← true 23: end if
24: end while 25: if
=
∅then
26: EMPTY ← true 27: else
28:
′
← suatu kandidat di L sedemikan sehingga
′
∀
29: if
′
� then
30: � ←
′
− 1
31: end if
32: � ← � ∪ �, , where � � di s dan � �
′
di
′
33: if � then
34: Hapus entri terlama di T
35: end if
36: ←
′
; ←
′
37: itcount ← itcount + 1 38: end if
39: end while 40: if
then
41: �
Δ
← � 42:
← 43: x
← x - 1
44: else
45: STOP ← true
46: end if 47: end while
48: return
�
Δ
, =
�
1
, … , �
�
Δ
Gagasan utama dari algoritma diatas adalah upaya untuk menentukan suatu
Δ , � −coloring dari suatu graf G dengan menggunakan bilangan tetap x
Universita Sumatera Utara
sebagai warna-warna. Dimulai dari suatu initial random x-coloring G yang paling mungkin, dari suatu
Δ , � −coloring yang invalid. Strategi ini kemudian berulang menurunkan x dan mencoba mencari
Δ , � -coloring yang valid pada suatu graf G menggunakan bilangan terkecil sebagai warna, sehingga diperoleh.
Dengan demikian batas atas x pada Δ −chromatic number direduksi sampai
algoritma menemukan Δ , � -coloring tidak valid untuk batas atas terkecil.
Jika himpunan verteks dipartisi menjadi suatu bilangan tetap c dari himpunan bagian kelas warna, menghasilkan suatu pewarnaan dengan kelas
warna =
�
1
, … , �
�
, tujuannya adalah untuk meminimalkan kelas warna terbesar yang diinduksi derajat maksimum, yaitu untuk minimize
= max
1 �
Δ � . Jelas, bahwa , untuk nilai d yang telah ditentukan,
dimana Δ −chromatic number dari graf G, harus ditentukan, Δ , � -coloring
yang valid telah diperoleh. Oleh karena itu, ini adalah yang pertama dari tiga stopping kriteria yang diterapkan pada algoritma. Stopping kriteria kedua adalah
ketika algoritma melakukan sebelum ditentukan jumlah maksimum dari iterasi, maxit, dimana tidak ada solusi coloring, s, dimana
diperoleh, sehingga
Δ , � −coloring G tidak valid diperoleh. Stopping kriteria yang terakhir adalah ketika tidak ada candidate solution yang dibangkitkan generated.
Pada penerapan tabu search , oleh Hertz dan De Werra 1987 untuk pewarnaan graf yang tepat, setiap candidate solution dibangkitkan dengan cara
memilih current solution, s, sebarang verteks v, dengan derajat tak nol dalam hal ini kelas warna khusus diinduksi subgraf, dan kemudian recoloring v dengan
warna yang berbeda, dipilih secara acak dari warna - warna lain yang digunakan di s. Agar menjadi benar, sifat deterministik asli dari teknik tabu seach. Setiap
candidate solution, s , pada algoritma 2 di bangkitkan dengan memilih dari
current solution, s, suatu kelas warna i, dimana kelas warna diinduksi derajat maksimum untuk s. Verteks v kemudian diwarnakan kemudian diwarnakan
dengan warna yang berbeda, j, dari warna - warna lain yang digunakan di s, dimana j adalah warna dengan kelas warna terkecil di induksi derajat maksimum
untuk s. Candidate solution dibangkitkan dengan langkah berurutan melalui semua kelas warna dengan kelas warna terbesar diinduksi derajat maksimum
Universita Sumatera Utara
untuk s, semua verteks - verteks v dalam kelas warna dengan kelas warna diinduksi derajat sama dengan kelas warna terbesar diinduksi derajat maksimum
dan semua kelas warna dengan kelas warna terkecil diinduksi derajat maksimum digunakan sebagai warna baru untuk v, sampai total dari candidate solution
ℓ dibangkitkan dan disimpan di candidate list. Jika semua kemungkinan candidate
solution dapat dibangkitkan, seperti dijelaskan diatas, dan jumlah candidate solution adalah lebih kecil dari pada
ℓ, maka proses pembangkitan candidate solution diatas diulang untuk suatu verteks u dengan kelas warna diinduksi derajat
sama dengan kelas warna terbesar kedua diinduksi derajat maksimum, dimana u juga dalam kelas warna dengan kelas warna diinduksi derajat maksimum sama
dengan kelas warna terbesar diinduksi derajat maksimum untuk s. Akhirnya, jika diinginkan, prosedur diatas dapat diulang sekali lagi dimana warna j dengan
memilih verteks v yang akan diwarnai, jika sekarang suatu warna dengan kelas warna terkecil kedua diinduksi derajat maksimum untuk s. Jika kekardinalan dari
candidate list, adalah masih terkecil daripada ℓ, maka pembangkit dari candidate
solution berakhir. Dari candidate list jika ini tidak kosong, candidate solution,
′
, dengan nilai fungsi objektif terkecil yang dipilih, yang dapat atau tidak dapat sesuai untuk nilai fungsi objektif terkecil, maka didapat current solution s,
sebagai solusi selanjutnya untuk bergerak move. Ini sangat kontras dengan tabu search proper coloring algorithm oleh Hertz dan De Werra 1987 dimana,
candidate solution,
′
,dipilih secara acak diantara candidate solution dengan nilai maksimum untuk
′
, jika suatu hubungan terjadi selama eksekusi pada Δ , � −coloring heuristic, satu dengan jumlah terkecil dari kelas warna dengan
suatu kelas warna diinduksi derajat maksimum lebih besar dari d maka dipilih.
Bilamana suatu verteks v di kelas warna � pada current solution, s,
bergerak ke kelas warna � pada solusi selanjutnya,
′
,diantara v,i menjadi tabu dan dimasukkan ke dalam tabu list, T. Kemudian, verteks v tidak dapat
dikembalikan ke kelas warna � untuk menentukan jumlah iterasi dari algoritma
diatas. Jika size dari tabu list T sesudah disisipkan diantara v,i kedalam T, adalah lebih besar dari pada tabu tenure, t, entri yang terlama di T dihilangkan.
Suatu kriteria aspirasi dari suatu tabu bertransisi sebagai fungsi �� yang
Universita Sumatera Utara
didefinisikan sebagai berikut : Jika suatu tabu diantara v,i dimasukkan kedalam solusi yang berdekatan,
, current solution, s, dan nilai fungsi objektif, ,
solusi yang berdekatan lebih besar atau sama dengan nilai fungsi aspirasi,
� , nilai fungsi objektif dari current solution, s, maka status tabu dari v,i ditolak, dan solusi yang berdekatan
dimasukkan ke kandidat list. Pada awalnya kriteria aspirasi,
��, untuk setiap nilai z, ditetapkan sebagai � − 1.Kemudian, jika suatu solusi
′
memenuhi
′
� yang dipilih dari candidate list,
� ditetapkan sebagai
′
-1 Berikut rincian bagaimana aspek diatas diimplementasikan pada algoritma,
Langkah 1 algoritma, suatu batas atas x pada �
Δ
� graf G, diberikan sebagai derajat d. Jika
Δ , � −coloring G layak untuk batas atas ini maka tercapai, sehingga
Δ , � −coloring layak disimpan langkah 41 dan 42 pada algoritma dan batas atas x pada
�
Δ
� dikurangi dengan 1, pada langkah 43. Iterasi langkah 4-47, dieksekusi menggunakan nilai terbaru dari x. Iterasi ini berlanjut sampai
Δ , � −coloring tidak layak, diperoleh, dimana kasus variabel boolean STOP pada langkah 45, maka ditetapkan benar. Pada point ini ditetapkan batas atas
χ
Δ
langkah 41 pada �
Δ
� didapat dari algoritma diatas yaitu � + 1, dimana x adalah batas atas pertama yang mana
Δ , � −coloring yang valid, diperoleh. Kemungkinan
algoritma diatas
tidak menghasilkan
suatu Δ , � −coloring G yang layak, untuk batas atas pertama pada �
Δ
� menggunakan x =
Δ � + 1 + 1 warna. Batas atas χ
Δ
pada �
Δ
� ditetapkan tak layak dengan nilai
−1 pada langkah 2. Jika pada akhir eksekusi algoritma, nilai
χ
Δ
diberikan −1 , ini jelas bahwa algoritma tidak dapat menetukan
solusi yang layak untuk masalah Δ , � −coloring.
Untuk suatu nilai x dengan batas atas di χ
Δ
, pewarnaan awal pada verteks - verteks didapat pada langkah 6 algoritma, dimana nilai fungsi objectif untuk
pewarnaan ditentukan pada langkah 7. Pencarian untuk suatu Δ , � −coloring
yang layak di G di jalankan pada langkah 10 - 39. Suatu candidate list dari size ℓ
dibangkitkan pada langkah 12 - 24. Pada langkah 28, solusi selanjutnya dipilih
Universita Sumatera Utara
dari candidate list asal saja bahwa candidate list tidak kosong langkah 27, dan kriteria aspirasi di perbaharui pada langkah 30, jika perlu. Akhirnya, tabu list di
perbaharui pada langkah 32 - 35. Jika candidate list kosong langkah 25 maka variabel boolean EMPTY pada langkah 26 ditetapkan benar dan pencarian untuk
suatu Δ , � −coloring G yang layak, berakhir.
2.4. Riset Terkait