• Tidak ada hasil yang ditemukan

Algoritma Genetik Dengan Sub Populasi Terurut untuk Desain Penjadwalan Multiprosesor

N/A
N/A
Protected

Academic year: 2021

Membagikan "Algoritma Genetik Dengan Sub Populasi Terurut untuk Desain Penjadwalan Multiprosesor"

Copied!
8
0
0

Teks penuh

(1)

e-Indonesia Initiative 2008 (eII2008)

Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia 21-23 Mei 2008, Jakarta

Algoritma Genetik Dengan Sub Populasi Terurut

untuk Desain Penjadwalan Multiprosesor

Marisa Widyastuti, Kuspriyanto

Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung

[email protected]

Abstraksi

Algoritma genetik dengan sub populasi terurut (Ordered-deme Genetic Algorithm – OGA) adalah algoritma genetik yang berbasis pada algoritma genetik ganda (multiple-deme GA), dimana sebuah populasi global dibagi menjadi beberapa sub-populasi (deme) yang dapat berkembang sendiri-sendiri. OGA mengurutkan sub-populasi dari yang tertinggi sampai terendah serta memigrasikan individu terbaik dan terburuk sekaligus pada saat bersamaan, sehingga meningkatkan kemampuan pencarian menurut kenyataan bahwa pencarian optimum global terjadi secara independen pada setiap sub-populasi untuk daerah solusi yang berbeda. Dengan memperkenalkan metoda operasi mutasi adaptif, kestabilan solusi yang diperoleh pada sub-populasi tinggi dengan kemampuan pencarian sedang pada sub-sub-populasi rendah dapat ditingkatkan pada waktu yang bersamaan.

Makalah ini membahas hasil eksperimen pada suatu algoritma penjadwalan berbasis genetik yang dapat meningkatkan kemampuan pencarian untuk menemukan jadwal terbaik secara efisien, sehingga dapat memaksimalkan unjuk kerja suatu sistem mikroprosesor.

Kata Kunci: algoritma genetik, sub populasi terurut, sistem multiprosesor, penjadwalan

tugas, pemrosesan paralel.

1. PENDAHULUAN

Pada sistem-sistem pemrosesan paralel, seperti sistem multiprosesor, pertimbangan paling mendasar adalah bagaimana memaksimalkan unjuk kerja sistem dengan penjadwalan tugas. Strategi penjadwalan yang baik dapat meningkatkan penggunaan sumber daya dan keluaran sistem secara signifikan. Bila terdapat sekumpulan tugas yang dijalankan secara serial dan paralel, maka tugas-tugas ini harus dijadwalkan secara optimal pada setiap prosesor sehingga waktu eksekusi total tersingkat dapat diperoleh.

Masalah penjadwalan yang merupakan salah satu masalah yang menantang dalam komputasi paralel ini diketahui bersifat NP-complete, yaitu semakin banyak tugas yang harus dijadwalkan maka semakin rumit untuk memperoleh jadwal optimal.

Algoritma heuristik yang digunakan untuk masalah penjadwalan pada umumnya hanya mencari sebagian saja dari daerah pencarian sehingga tidak memberikan kecepatan yang lebih baik. Karena itu teknik pencarian meta-heuristik seperti algoritma genetik, tabu, dan pencarian koloni semut, banyak digunakan untuk masalah penjadwalan tugas karena diperlukan pencarian yang cepat untuk mendapatkan jadwal yang

mendekati optimal dari semua kemungkinan jadwal yang ada[1].

Menurut penelitian-penelitian yang sudah pernah dilakukan sebelumnya dalam bidang penjadwalan multiprosesor, algoritma genetik terbukti sangat efektif dan dalam banyak kasus biayanya relatif lebih rendah[1,2,5]. Algoritma genetik banyak diaplikasikan dalam kehidupan sehari-hari dimana tugas dengan durasi yang berbeda-beda dijadwalkan pada sekelompok prosesor.

Dalam makalah ini dibahas hasil eksperimen pada suatu algoritma penjadwalan berbasis genetik yang dapat meningkatkan kemampuan pencarian untuk menemukan jadwal terbaik secara efisien, sehingga dapat memaksimalkan unjuk kerja suatu sistem multiprosesor.

2. MASALAH PENJADWALAN MIKROPROSESOR

Masalah penjadwalan mengasumsikan sejumlah sumber daya untuk melayani sejumlah penguna. Tujuannya adalah mencari aturan untuk mengatur akses sumber daya dan penggunaannya oleh pengguna

(2)

e-Indonesia Initiative 2008 (eII2008)

Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia 21-23 Mei 2008, Jakarta

yang berbeda untuk mengoptimasi sesuai ukuran unjuk kerja yang diinginkan. Panjang jadwal (schedule length) dan waktu rata-rata (mean-time) yang digunakan oleh sistem adalah contoh dari pengukuran unjuk kerja. Unjuk kerja dan efisiensi adalah dua karakteristik yang harus digunakan untuk mengevaluasi sebuah penjadwalan.

Tingkah laku program paralel sering direpresentasikan oleh directed acyclic graph (DAG), yang disebut task

graph. Sebuah task graph direpresentasikan sebagai

TG = (T,E), dimana T adalah sejumlah tugas dan

E:TxT adalah sejumlah edge. Directed edge antara tugas Ti dan Tj terjadi jika terdapat dependensi pada

tugas-tugas tersebut, yang berarti tugas Tj tidak dapat

dieksekusi sebelum tugas Ti selesai dieksekusi. Task graph seringkali diekspresikan sebagai graph dengan bobot (weighted graph). Bobot dari sebuah node

Wn(Ti), adalah waktu eksekusi yang diperkirakan

untuk tugas Ti, dimana bobot dari suatu edge, We(Ti,Tj), merepresentasikan biaya komunikasi antara

tugas dimana Ti dan Tj dijadwalkan untuk

prosesor-prosesor yang berbeda. Sebuah jadwal S didefinisikan sebagai sejumlah tuple terbatas (Ti,p,t) yang

mengindikasikan tugas Ti diberikan pada prosesor p

untuk dieksekusi pada waktu t. anggap Sp(Ti)

mewakili prosesor yang terjadwal dan St(Ti)

memwakili waktu Ti yang terjadwal.

Skema klasifikasi, pada level yang lebih tinggi, membedakan penjadwalan lokal dengan penjadwalan global. Penjadwalan lokal mengatur eksekusi proses pada satu prosesor. Penjadwalan global berkaitan dengan mesin paralel dan terdistribusi dan menentukan prosesor mana yang akan menyelesaikan suatu pekerjaan

Level selanjutnya pada hirarki membedakan antara penjadwalan dinamis dengan penjadwalan statis. Pada penjadwalan dinamis, keputusan diambil selama pengeksekusian program. Penjadwalan secara dinamis menyeimbangkan beban kerja setiap terjadi ketidakseimbangan. Pada kasus ini, proses dari penyeimbangan beban dapat dilakukan oleh sebuah prosesor (non-distributed), atau dapat juga didistribusikan secara fisik diantara prosesor-prosesor yang lain (distributed).

Pada penjadwalan dinamis global terdistribusi, dibedakan antara penjadwalan kooperatif dan no-kooperatif. Penjadwalan kooperatif dimana sebuah prosesor menyeimbangkan beban secara kooperatif dengan prosesor lain. Sedang pada penjadwalan non-kooperatif, sebuah prosesor menyeimbangkan beban hanya berdasarkan informasi lokal yang dimilikinya. Setiap prosesor tidak tergantung pada apa yang dilakukan prosesor lain. Kerugian yang paling utama dari algoritma penyeimbangan beban secara dinamis

dan terdistribusi adalah biaya runtime untuk pendistribusian beban informasi, membuat keputusan penempatan dan menstransfer sebuah pekerjaan ke suatu target host secara terus-menerus selama eksekusi program.

Pada penjadwalan statis, keputusan diambil pada saat kompilasi, sebelum eksekusi program dilakukan. Sumber daya yang dibutuhkan oleh proses dan informasi mengenai keadaan sistem telah diketahui. Suatu tugas optimal dapat dibuat menurut kriteria tertentu. Ini merupakan permasalahan NP-complete. Solusi sub-optimal dapat dibagi menjadi dua kategori. Algoritma untuk kategori pertama (approximate) dari kelas ”suboptimal” terdiri dari pencarian pada sub-bagian dari daerah penyelesaian, dan berhenti ketika sebuah solusi yang baik telah ditemukan. Kategori kedua ditentukan dengan menggunakan metoda heuristik, yang mengasumsikan pengetahuan apriori mengenai proses, komunikasi dan karakteristik sistem.

3. PENJADWALAN DENGAN ALGORITMA GENETIK

Untuk memecahkan penjadwalan multiprosesor dengan algoritma genetik, sebuah jadwal harus dienkodekan dalam bentuk susunan bilangan (string). Pada arikel ini, jadwal dienkodekan dalam susunan bilangan integer, T0, T1,..., Tn dimana n adalah jumlah

tugas dan Tk mewakili prosesor yang dijadwalkan

untuk tugas k. Gambar 3. mengilustrasikan representasi susunan bilangan dari jadwal yang tampak pada gambar 2 Karena skema pengenkodean hanya mengenai pemberian node pada prosesor, urut-urutan dari tugas harus ditentukan dalam prosesor.

(3)

e-Indonesia Initiative 2008 (eII2008)

Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia 21-23 Mei 2008, Jakarta

Gambar 2. Jadwal optimal untuk tiga prosesor

Gambar 3. Jadwal yang dienkodekan dalam bentuk

string

Task graph dapat direpresentasikan dalam bentuk tabel seperti bentuk tabel 1.

Tabel 1. Representasi task graph dalam bentuk tabel

0 1 2 3 4 5 0 0 100 100 100 0 0 1 0 0 0 0 100 0 2 0 0 0 0 100 0 3 0 0 0 0 0 100 4 0 0 0 0 0 100 5 0 0 0 0 0 0

Kemudian konsep prioritas dinyatakan dalam istilah

height. Konsep ini diambil dari teori graph dan secara rekursif didefinisikan pada Definisi 1. Nilai height dari suatu tugas ditentukan dari nilai maksimum tugas sesudahnya. Dengan menggunakan notasi height, kita dapat mengindetifikasi tugas-tugas mana yang harus didahulukan dan mengukur seberapa jauh suatu node terletak dari rootnode. Pada definisi, PRED(Ti) adalah

sejumlah tugas-tugas sebelum tugas Ti. Karena

pengurutan nilai height (height-ordering) dari tugas-tugas tergantung dari hubungan dari setiap tugas-tugas, banyak algoritma penjadwalan heuristik yang menggunakan nilai height untuk mengevaluasi urutan penjadwalan tugas yang valid. Seperti penggunaan metode list-scheduling yang mengurutkan tugas menurut prioritasnya dan mendahulukan tugas dengan prioritas lebih tinggi[5].

Definisi 1

Selama penjadwalan, waktu eksekusi sebuah jadwal (make span) harus dihitung dan setiap nilai kecocokan individu harus dievaluasi. Jadwal yang baik adalah jadwal yang memiliki waktu eksekusi yang singkat. Hasil perhitungan makespan ini dapat digunakan untuk menghitung nilai kecocokan dengan menggunakan fungsi kecocokan. Fungsi kecocokan (fitness function) berguna untuk membedakan kualitas satu jadwal dengan jadwal lainnya. Jadwal yang memiliki fungsi kecocokan tinggi memiliki kualitas yang lebih baik daripada jadwal dengan fungsi kecocokan yang lebih rendah. Fungsi kecocokan yang digunakan adalah Persamaan (1). Fungsi kecocokan didefinisikan waktu eksekusi jadwal yang dihitung nilai relatifnya sehingga algoritma genetik meminimumkan waktu eksekusi dan memaksimumkan fungsi kecocokan. Nilai kecocokan relatif memiliki rentang nilai antara 0 dan 1; suatu jadwal akan semakin baik jika nilai kecocokannya semakin mendekati 1. ( ) ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ = ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ = ∈ ∈ MAX S T S T p MAX S fit p i T T i t P p i ) ( (1)

Nilai kecocokan dapat ditentukan dengan memberikan tugas pada prosesor menurut jadwal S, yang dienkodekan pada setiap individu. Algoritma 1 menunjukkan prosedur untuk mencari waktu pembuatan jadwal. Selama penjadwalan, tugas secara berurutan dijadwalkan menurut nilai height-nya. Untuk menentukan waktu jadwal yang paling awal dari setiap tugas, algoritma mengevaluasi t1 dan t2

sebagai berikut: t1 adalah waktu mulai minimum yang

mungkin dari Ti yang ditentukan dari waktu

penyelesaian maksimum dari semua tugas sebelum tugas Ti. Ketika menentukan T1, waktu komunikasi

antar prosesor harus diperhitungkan ketika Sp(Ti) ≠ Sp(Ti). T2 adalah waktu yang tersedia dari prosesor

yang dijadwalkan untuk tugas Ti, misalnya waktu

penyelesaian maksimum dari suatu tugas yang telah diberikan sebelumnya pada prosesor. Akhirnya, waktu pembuatan suatu jadwal dapat ditentukan sebagai maksimum dari t1 dan t2 dari semua tugas-tugas yang

ada.

Algoritma 1: Menghitung makespan

m = makespan (task graph TG, jadwal S) for all tasks Ti do determine H (Ti) end for

for all tasks Ti, in the increasing order of

height

for all tasks Tj ∈ PRED (Ti)

(4)

e-Indonesia Initiative 2008 (eII2008)

Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia 21-23 Mei 2008, Jakarta tj = St (Tj) + Wn (Tj) +We (i,j) else tj = St (Tj) + Wn (Tj) end if end for t1 = MAX (tj)

for all tasks (Tj) scheduled at Sp (Ti)

t2 = MAX { St(Tj) + Wn(Tj) }

end for

St(Tj) = MAX (t1,t2)

end for

m = MAX (St(Ti) + Wn(Tj) )

4. ORDERED-DEME GENETIC ALGORITHM

Tidak seperti pendekatan algoritma genetik sub-popuasi ganda yang sebelumnya, Ordered-Deme Genetic Algorithm (OGA) memiliki skema migrasi baru yang terlihat pada gambar 4. Jika skema yang terdahulu hanya memigrasikan individu terbaik pada suatu saat, OGA memigrasikan individu terbaik ke sub-populasi yang lebih tinggi dan individu terburuk ke sub-populasi yang lebih rendah. Skema pengurutan dari OGA memperkenalkan hal-hal berikut. Sementara algoritma genetik sub-populasi ganda tradisional memberikan kesempatan yang sama untuk setiap sub-populasi untuk mencari solusi, OGA tidak. OGA memberikan kesempatan yang lebih tinggi kepada sub-populasi yang lebih tinggi sehingga individu-individu terbaik pada suatu saat akan selalu dapat ditemukan pada sub populasi tertinggi. Karena itu individu-individu yang baik akan berkonsentrasi pada sub-populasi tertinggi dan bersaing dengan individu-individu baik lainnya untuk menghasilkan keturunan yang lebih baik. Sebaliknya, individu-individu yang buruk masih mempunyai kemungkinan untuk mengeksplorasi daerah eksplorasi yang lain dengan berkompetisi dengan individu-individu lain yang relatif inferior. Oleh karena itu, skema pengurutan membantu meningkatkan kemampuan pencarian algoritma genetik karena pada kenyataannya pencarian solusi optimal terjadi pada setiap sub-populasi secara independen pada cakupan nilai kecocokan (fitness

range) yang berbeda-beda.

D1

D2

D4

D3

Individu terbaik

Gambar 4. Algoritma sub-populasi ganda tradisional

D4 D2 D3 D1 Individu terburuk Individu terbaik

Gambar 5. Ordered Genetic Algorithm (OGA) Skema pengurutan ini juga membantu memperlambat terjadinya konvergensi prematur. Pada algoritma genetik sub-populasi ganda tradisional, migrasi individu terbaik yang dilakukan berulang-ulang menghasilkan penyebaran cepat dari bibit yang baik dari seluruh sub-populasi. Karena itu ketika sebuah individu yang mempunyai nilai kecocokan tinggi di reproduksi pada suatu sub-populasi, ia dapat ditemukan di setiap sub-populasi selama beberapa generasi. Skema ini membuat populasi global cepat terkonvergensi pada solusi terbaik pada suatu saat tertentu, menghasilkan konvergensi prematur. Pada OGA, konvergensi yang cepat ini dapat diperlambat sebagai berikut: karena ada pengurutan sub-populasi, individu yang telah dimigrasi dari sub-populasi atas dapat dimigrasi setelah menjadi individu terburuk pada sub-populasi tersebut. Demikian juga, individu dengan nilai tinggi dari sub-populasi tinggi dapat dimigrasi ke sub-populasi yang lebih rendah setelah sub-populasi tersebut penuh dengan individu-individu yang sama. Karena itu, konvergensi prematur dapat diperlambat dengan kurang dari m kali, dimana m adalah jumlah sub-populasi.

Selain itu dengan menggunakan metoda pengurutan sub-populasi, hal yang paling penting dari OGA adalah memberikan laju mutasi yang lebih tinggi pada sub-populasi rendah dan memperlambat laju mutasi pada sub-populasi yang lebih tinggi. Dengan memberikan rate mutasi yang lebih rendah pada sub-populasi tinggi akan mempertinggi kestabilan dari individu-individu yang terkonsentrasi pada sub-populasi tinggi. Metoda mutasi adaptif juga membuat individu-individu buruk pada sub-populasi rendah untuk mencari daerah yang lebih luas dengan memberikan laju mutasi yang lebih tinggi. Definisi tersebut dapat dilihat pada algoritma 2.

Algoritma 2 : the ordered genetic algorithm (OGA)

g := 0 //g adalah generasi

Buat sub-populasi D1(g),D2(g),...,Dm(g),

secara acak

Evaluasi D1(g), D2(g),…,Dm(g)

Urutkan D1(g), D2(g),…,Dm(g) dengan

urutan dari besar ke kecil while(g < gmax)

(5)

e-Indonesia Initiative 2008 (eII2008)

Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia 21-23 Mei 2008, Jakarta

g := g + 1;

for all sub-populasi Di

//kembangkan setiap sub-populasi Pilih Di(g) dari Di(g-1)

//Roulette wheel

Lakukan crossover pada Di(g)

dengan probabilitas Pc

Lakukan mutasi pada Di(g)dengan

probabilitas Pm(Di)

Evaluasi Di(g)

end for

//Migrasi dilakukan mulai dari Dm //sampai D2

for all (Dimulai dari Dm sampai

D2)

Urutkan Di(g)

Tukar r individu pada urutan teratas di Di(g)

dengan individu pada urutan terbawah dari Di-1(g)

end for end while

Pada akhirnya, OGA mengurutkan populasi dari besar ke kecil menurut nilai kecocokan dan diletakkan pada array sub-popolasi D1, D2,...,Dm. Pada setiap evaluasi,

setiap sub-populasi berevolusi secara independen. Selama langkah migrasi, OGA menukar r individu terbaik dari setiap populasi Di dengan r yang terburuk

dari sub-populasi tetangga diatasnya. OGA mengurutkan setiap sub-populasi sebelum melakukan migrasi, yang terjadi secara berurutan dari Dm ke D2.

Sehingga hal ini memungkinkan individu-individu yang dimigrasikan dari sub-populasi dibawahnya untuk dimigrasikan ke sub-populasi diatasnya. Dengan bantuan skema pengurutan, dimungkinkan individu dengan nilai tinggi yang berada di sub-populasi rendah langsung bermigrasi ke sub-sub-populasi tertinggi.

Fungsi crossover adalah untuk membuat keturunan (offsprings) baru dengan melakukan kombinasi atau mengatur kembali bagian-bagian dari individu orang tuanya. Frekuensi dilakukannya crossover dikontrol oleh sebuah parameter yang disebut probabilitas

crossover, pc. Crossover menentukan posisi crossover

secara acak dari 1 sampai n, dan menukar sebagian dari susunan bilangan (substring) posisi tersebut dari satu orangtua ke orangtua lainnya. Prosedur crossover dilustrasikan pada gambar 6. ketika posisi crossover

i2 telah dipilih, OGA membuat keturunan baru dengan

menukar dua substring yang terdiri dari i3, i4 dan i5.

0 0 1 1 0 2 0 1 1 2 1 1 0 0 1 1 0 2 0 1 1 2 1 1 0 0 1 2 1 1 0 1 1 1 0 2 P0 P1 P0 P1 P0 P1 Posisi crossover

(a) Parents (b) Crossover (c) Offsprings

Gambar 6 Proses crossover

Proses mutasi pada algoritma genetik dapat dianggap sebagai pengubahan nilai pada string secara acak yang dilakukan sekali-sekali. Untuk penjadwalan multiprosesor, mutasi didefinisikan sebagai penempatan acak dari prosesor yang telah dijadwalkan untuk dipilih secara acak kepada prosesor lain yang telah dipilih secara acak, seperti pada gambar 5. Frekuensi mutasi dapat diatur dengan menggunakan probabilitas mutasi, pm. Jadi probabilitas mutasi

dipilih dengan probabilitas yang rendah dibandingkan probabilitas crossover, dan harus ditentukan melalui percobaan. Pada gambar 7 dapat dilihat contoh proses mutasi. Ketika tugas 2 dipilih untuk dimutasi, prosesor yang dijadwalkan untuk task tersebut diubah secara acak dari prosesor 1 menjadi prosesor 2.

0 0 1 1 0 2 0 0 2 1 0 2

P0 P0

Posisi Mutasi

(a) Sebelum mutasi (b) Setelah mutasi

Gambar 7. Proses mutasi

5. HASIL EKSPERIMEN

Untuk melihat kinerja dari OGA, pengujian dilakukan dengan menjalankan algoritma dengan variasi parameter algoritma genetik dan dilakukan dengan tiga metoda pencarian yang berbeda. Tiga metoda pencarian yang digunakan dalam pengujian adalah algoritma genetik dengan sub populasi terurut (OGA), algoritma genetik sederhana (SGA)[3] dan metoda pencarian acak. SGA digunakan sebagai pembanding algoritma genetik sejenis, sedang metoda acak sebagai pembanding tambahan. Ketiga metoda pencarian menggunakan data populasi awal yang sama. SGA menggunakan parameter algoritma genetik yang sama dengan OGA. Adapun task graph yang digunakan dapat dilihat pada gambar 8.

Gambar 8. Task Graph yang digunakan dalam percobaan

(6)

e-Indonesia Initiative 2008 (eII2008)

Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia 21-23 Mei 2008, Jakarta berikut 0 1 2 3 4 5 0 0 75 50 90 0 0 1 0 0 0 0 30 0 2 0 0 0 0 45 0 3 0 0 0 0 0 80 4 0 0 0 0 0 60 5 0 0 0 0 0 0

Task graph yang umum digunakan untuk kasus

penjadwalan multiprosesor memang umumnya memiliki tingkat kompleksitas tinggi, dengan tingkat kepadatan (density) yang lebih tinggi dan jumlah tugas yang lebih banyak. Task graph dalam percobaan ini dipilih sedemikian rupa sehingga cukup menggambarkan pemetaan tugas pada prosesor dan menjelaskan kinerja algoritma genetik dengan baik, tanpa menjadi terlalu rumit.

Tahap-tahap pengujian yang dilakukan pada algoritma penjadwalan ini adalah :

1. Pengujian dilakukan pada beberapa set data. 2. Setiap set data memiliki variasi parameter yang

berbeda-beda, yang kira-kira dapat mewakili sejumlah kasus yang sering terjadi, sehingga dapat dengan jelas menggambarkan tingkah laku metoda pencarian yang diamati.

3. Untuk setiap set data, dicatat individu dengan nilai kecocokan maksimum yang diperoleh oleh setiap algoritma individu pada setiap generasi kemudian dibuat grafik perbandingan dari ketiga metoda pencarian.

Percobaan I

Dibawah ini adalah parameter algoritma yang digunakan oleh OGA.

Ordered-Deme Genetic Algorithm Program

Jumlah individu : 12 Jumlah sub populasi : 3

Generasi maksimum : 7 Probabilitas crossover : 0.3000 Probabilitas mutasi : 0.0100 Jumlah individu yang bermigrasi : 2

Pada OGA populasi dibagi menjadi tiga sub-populasi yang memiliki nilai probabilitas mutasi berbeda-beda (adaptif).

Berikut adalah parameter-parameter yang digunakan untuk SGA.

Simple Genetic Algorithm Program

Jumlah individu : 12 Generasi maksimum : 7 Probabalitas crossover : 0.3000 Probabilitas mutasi : 0.0100

Pada SGA populasi tidak dibagi-bagi dan tidak juga ada skema pengurutan

Selanjutnya adalah metoda random, yang dilakukan dengan membuat suatu populasi secara acak, kemudian diambil individu yang nilai kecocokannya paling tinggi. Kemudian pada generasi berikutnya dibuat lagi suatu populasi secara acak, diambil individu dengan individu dengan nilai kecocokan tertinggi dan seterusnya.

Random Search for Multiprocessor scheduling

Jumlah individu : 12 Generasi maksimum : 6 0.95300 0.95400 0.95500 0.95600 0.95700 0.95800 0.95900 0.96000 0.96100 1 2 3 4 5 6 7 8 Generasi N ila i K e c o c o k a n T e rt in g g i OGA SGA Random

Gambar 9. Grafik perbandingan OGA, SGA dan random

Pada grafik di atas terlihat bahwa OGA memberikan hasil yang terbaik. Pada generasi kedua OGA telah berhasil menemukan jadwal yang jauh lebih baik dari yang dihasilkan algoritma lain. Sehingga generasi terakhir OGA memberikan kurva yang stabil. Hasil yang diperoleh SGA pada percobaan ini kurang baik walaupun tampak meningkat sampai generasi keempat, pada generasi ketujuh hasilnya menurun. Pemilihan parameter sangat berpengaruh pada hasil keluaran SGA yang hanya mengandalkan mekanisme

crossover dan mutasi. Berbeda dengan OGA yang mempunyai mekanisme lain seperti pengurutan sub populasi dan migrasi, sehingga hasil yang diperoleh jauh lebih konvergen. Kurva random terlihat turun-naik, dan tidak memberikan alternatif yang diharapkan.

Percobaan II

Ordered-Deme Genetic Algorithm Program

Jumlah individu : 18 Jumlah sub populasi : 3

Generasi maksimum : 10 Probabilitas crossover : 0.4000 Probabilitas mutasi : 0.0500 Jumlah individu yang bermigrasi : 2

Simple Genetic Algorithm Program

Jumlah individu : 18 Generation maksimum : 10 Probabalitas crossover : 0.4000 Probabilitas mutasi : 0.0500

(7)

e-Indonesia Initiative 2008 (eII2008)

Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia 21-23 Mei 2008, Jakarta

Random Search for Multiprocessor scheduling

Jumlah individu : 18 Generation maksimum : 10 0.96650 0.96700 0.96750 0.96800 0.96850 0.96900 0.96950 0.97000 0.97050 0.97100 0.97150 0.97200 1 2 3 4 5 6 7 8 9 10 11 Generasi N ila i K e c o c o k a n T e rt in ggi OGA SGA Random

Gambar 10. Grafik perbandingan OGA, SGA dan random

Pada percobaan ini OGA sangat baik, stabil dan dapat mencapai nilai yang jauh lebih tinggi dari yang lain. SGA tampak tidak konvergen dan hal ini tentu dipengaruhi parameter algoritma genetik yang digunakan. Kurva random memberikan hasil yang makin buruk diakhir generasi.

Percobaan III

Ordered-Deme Genetic Algorithm Program

Jumlah individu : 12 Jumlah sub populasi : 3

Generasi maksimum : 10 Probabilitas crossover : 0.4000 Probabilitas mutasi : 0.0500 Jumlah individu yang bermigrasi : 2

Simple Genetic Algorithm Program

Jumlah individu : 12 Generation maksimum : 10 Probabalitas crossover : 0.4000 Probabilitas mutasi : 0.0500

Random Search for Multiprocessor scheduling

Jumlah individu : 12 Generation maksimum : 10 0.96650 0.96700 0.96750 0.96800 0.96850 0.96900 0.96950 0.97000 0.97050 0.97100 0.97150 1 2 3 4 5 6 7 8 9 10 11 Generasi N il a i K e co co k a n Te rt in g g i OGA SGA Random

Gambar 11. Grafik perbandingan OGA, SGA dan random

Pada percobaan ini OGA memperoleh hasil yang

stabil dari awal, dengan nilai yang mendekati angka 1. SGA tampak stabil dan pada generasi ke-10 mulai mendapatkan hasil yang lebih baik, tapi tetap belum sebaik OGA. Kurva random sempat naik dan lebih baik nilainya dari kurva SGA, tapi turun dan kemudian naik lagi lalu menurun pada akhir generasi.

5. ANALISIS

Hasil yang diberikan oleh OGA lebih baik dari kedua metoda pencarian lain. Kurva OGA stabil dan mempunyai bentuk hampir sama pada setiap percobaan. SGA tidak sestabil OGA , karena variasi parameter algoritma genetik yang digunakan SGA sangat mempengaruhi kestabilan SGA. Pada umumnya hasil terbaik yang diharapkan diperoleh pada generasi ke-1 sampai ke-3. Hal ini sangat dipengaruhi oleh kombinasi parameter-parameter algoritma genetik yang digunakan serta populasi awal yang diperoleh pada setiap percobaan. Dari hasil penelitian, harga probabilitas crossover yang lebih besar dari 0.4 akan membuat terlalu banyak variasi individu sehingga individu-individu yang baik hilang sehingga butuh lebih banyak generasi untuk memperoleh hasil yang diinginkan. Tetapi nilai

crossover yang lebih kecil dari 0,1 akan

mengakibatkan kurangnya variasi sehingga memperlambat kekonvergenan hasil yang diperoleh. Demikian pula untuk nilai probabilitasi mutasi lebih besar dari 0.05 atau lebih kecil dari 0.01. memberikan hasil yang kurang baik. Pemilihan nilai probabilitas

crossover dan mutasi harus dilakukan dengan sangat teliti karena dapat memberikan perbedaan hasil yang signifikan. Karena ini harus dilakukan percobaan yang sangat banyak dan bervariasi untuk memperoleh kombinasi nilai probabilitas crossover dan mutasi yang terbaik. Pada pengaplikasian nilai probabilitas mutasi adaptif, perlu juga diperhatikan perbedaan skala nilai tersebut pada sub populasi tertinggi dengan sub populasi-sub populasi berikutnya, karena hal ini juga sangat mempengaruhi kestabilan sistem serta waktu yang diperlukan untuk mendapatkan hasil yang diinginkan.

6. KESIMPULAN

Dari hasil percobaan, dapat disimpulkan:

1. Eksperimen ini berhasil membuktikan bahwa algoritma genetik dengan sub populasi terurut berhasil menemukan jadwal yang umumnya lebih baik secara efisien, sehingga dapat memaksimalkan unjuk kerja suatu sistem multiprosesor.

2. Algoritma genetik dengan sub populasi ganda terurut dan proses migrasi memberikan hasil lebih

(8)

e-Indonesia Initiative 2008 (eII2008)

Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia 21-23 Mei 2008, Jakarta

konvergen, sehingga dapat diperoleh jadwal-jadwal terbaik dalam waktu relatif singkat.

3. Pemberian nilai probabilitas mutasi adaptif terhadap urutan sub populasi ternyata memberikan hasil yang baik karena sub populasi terendah dengan nilai probabilitas mutasi tertinggi memiliki kesempatan lebih tinggi dibanding sub populasi yang lain untuk menemukan individu-individu baru dengan kualitas yang lebih baik. Populasi terendah ini akan berkembang menjadi populasi yang lebih baik dan akan membantu sub populasi untuk menjadi lebih baik dengan memigrasikan individu-individu terbaiknya ke sub populasi yang lebih baik.

4.

Hal-hal yang mempercepat terjadinya konvergensi selain distribusi frekuensi huruf adalah parameter algoritma yang digunakan, jumlah kromosom, serta keberuntungan mendapatkan nilai kecocokan yang tinggi saat pembangkitan acak pertama kali dalam populasi.

DAFTAR REFERENSI

[1] Andrew J. Page, Thomas J. Naughton, Dynamic Task Scheduling using Genetic Algorithm for Heterogeneous Distributed Computing. [2] Annie S. Wu, Han Yu, Shiyuan Jin, Kuo-Chi

Lin, Guy Schiavone, An Incremental Genetic Algorithm Approach to Multiprocessor Scheduling, Proceeding of the IEEE Transactions on Parallel and Distributed Systems, Vol. 15, No. 9, September 2004. [3] Bong-Joon Jung, Kwan-Il Park, Kyu Ho Park,

And Ordered-Deme Genetic Algorithm Scheduling, Proceeding of the IEIDE

Transactions on Information System, Vol E83-0 No. 6 pp 1207, June 2000.

[4] Goldberg, D.E., Genetic Algorithm in Search, Optimization and Machine Learning, Addison-Wesley Publishing Company, 1989.

[5] William A. Greene, Dynamic Load-Balancing via a Genetic Algorithm.

Gambar

Gambar 2.  Jadwal optimal untuk tiga prosesor
Gambar 4.  Algoritma sub-populasi ganda tradisional
Gambar 6  Proses crossover
Gambar 9.   Grafik perbandingan OGA, SGA dan  random
+2

Referensi

Dokumen terkait

Lantunan zikir debuspun demikian sesuai peminat. Setelah selesai berzikir dan sebagainya, syech dan para jamaah berdiri dan syech bermunajjah kepada auliya yang bersangkutan

Pendekatan distribusi kerugian agregat membantu pihak bank atasu sebuah instansi untuk mengestimasi risiko sebuah bisnis yang dilakukan instansi, menghitung probabilitas

Masyarakat Minangkabau menganut sistem kekerabatan matrilineal memandang masalah perkawinan sebagai sesuatu peristiwa yang sangat penting, karena perkawinan merupakan

Menindaklanjuti surat kami nomor 1186/E4/KD.02.01/2021 tanggal 4 Mei 2021 perihal “Pendaftaran Program Talent Scouting Tahun 2021,” dengan hormat kami sampaikan daftar nama

sebagaimana dimaksud pada ayat (1) tersebut di atas, masing-masing dipimpin oleh seorang Kepala Badan, Inspektur dan Kepala Kantor serta Direktur yang berada dibawah dan

sebagai Kepala Daerah yang dijelaskan dalam Undang-Undang Nomor 23 Tahun 2014 tentang Pemerintahan Daerah adalah bahwa, Pertama, berdasarkan putusan Mahkamah Agung

• Format data encoding yang umum untuk text adalah : • Plain text (ASCII) merupakan text dalam format elektronik. yang dapat dibaca dan dinterpretasikan oleh manusia • Rich text