• Tidak ada hasil yang ditemukan

Variable Neighbourhood Search (VNS)

Dalam dokumen BAB 2 LANDASAN TEORI (Halaman 30-35)

VNS adalah metaheuristik pencarian lokal lainnya yang mengambil berbagai kelas transformasi yang lain, atau neighbourhood untuk menghindari local optima. Ketika terjadi local optima, dengan memberitahukan pada neighbourhood yang sudah terbentuk, neighbourhood lain dipilih dan digunakan pada iterasi berikutnya.

Misalkan diberikan himpunan neighbourhood (biasanya berangkai), dan sebuah solusi dihasilkan secara acak dari neighbourhood pertama dari solusi sementara, yang berasal dari keturunan sementara yang telah terbentuk (dapat pula berasal dari neighbourhood yang memiliki struktur yang berbeda). Jika local optima yang terjadi tidak lebih baik dari solusi sementara, maka prosedur diulang pada neighbourhood selanjutnya dalam struktur berangkai. Pencarian ini diulang dari neighbourhood pertama ketika ada solusi yang lebih baik dari atau ketika semua neighbourhood telah dicoba.

2.9 Soft Computing

Soft Computing mengacu pada koleksi dari teknik-teknik komputasi pada ilmu komputer, intelejensia semu, pembelajaran mesin, dan ilmu teknik lainnya, yang bertujuan untuk membuat model dan menganalisis setiap masalah yang kompleks. Pendekatan komputasi yang sebelumnya hanya dapat memodelkan dan menganalisis permasalahan yang relatif sederhana.

Secara umum, soft computing lebih melakukan pendekatan secara biologis daripada pendekatan secara teknis. Adapun ruang lingkup soft computing adalah sebagai berikut.

1. Neural Networks 2. Fuzzy System

3. Evolutionary Computation, yang terdiri dari Evolutionary Algorithm dan Harmony Search

4. Swarm Intelligence 5. Bayesian Network 6. Chaos Theory

2.9.1 Evolutionary Algorithm

Dalam intelejensia semu, Evolutionary Algorithm (EA) adalah himpunan bagian dari Evolutionary Computation, sebuah algoritma optimisasi metaheuristik berbasis populasi. EA menggunakan mekanisme-mekanisme yang terinspirasi dari evolusi biologi, seperti reproduksi, mutasi, rekombinasi, dan seleksi. Kandidat solusi pada masalah optimisasi berperan sebagai individu pada populasi, dan cost function atau

fitness function merupakan lingkungan di mana solusi ada. Evolusi terjadi ketika ada reproduksi populasi yang berulang.

EA dapat menghasilkan solusi pendekatan yang konsisten untuk hampir semua tipe permasalahan pada optimisasi, karena algoritma ini tidak membuat asumsi tentang fitness landscape yang ada.

Terlepas dari penggunaan EA sebagai mesin optimisasi, digunakan juga untuk memvalidasi teori evolusi biologi dan seleksi alam pada model kehidupan semu. Pembatasan pada EA adalah kepunahan dari genotype dan phenotype. Secara alamiah melalui proses embriogenesis, sel telur yang telah dibuahi akan tumbuh menjadi phenotype yang dewasa. Pengkodean ini dipercaya dapat membuat pencarian genetik lebih cepat, karena mengurangi mutasi yang fatal, dan juga dapat meningkatkan kemampuan berevolusi pada organisme.

2.9.2 Genetic Algorithm

Genetic Algorithm (GA) banyak dipengaruhi oleh ilmu Biologi. Sesuai dengan namanya, proses-proses yang terjadi dalam GA sama dengan apa yang terjadi pada evolusi biologi. Dalam biologi, sekumpulan individu yang sama, yang disebut spesies, hidup, bereproduksi, dan mati dalam suatu area, yang disebut populasi. Jika anggota-anggota populasi terpisah, misalkan karena terjadi banjir atau gempa, maka individu-individu tersebut akan membentuk beberapa populasi yang terpisah. Dalam waktu yang cukup lama, mungkin saja akan terjadi proses pembentukan spesies baru atau dikenal dengan istilah speciation. Dalam hal ini, terjadi perubahan hereditas secara bertahap yang membentuk ciri-ciri baru pada spesies tersebut. Perubahan bertahap secara bersamaan pada kedua spesies dikenal sebagai co-evolution.

Konsep yang penting di sini adalah hereditas, yaitu sebuah ide yang menyatakan bahwa sifat-sifat individu dapat dikodekan dengan cara tertentu sehingga sifat-sifat tersebut dapat diturunkan kepada generasi berikutnya. Setiap individu dari suatu spesies membawa sebuah genome yang berisi beberapa kromosom dalam bentuk molekul-molekul DNA (Deoxyribo Nucleic Acid). Setiap kromosom berisi sejumlah gen, di mana unit-unit hereditas dan pengkodean informasi diperlukan untuk membangun dan menjaga suatu individu. Setiap gen dibangun dari suatu urutan bases. Terdapat empat bases dalam kromosom yang dinyatakan sebagai A, C, G, dan T. Jadi, informasi disimpan dalam suatu pola digital, menggunakan keempat simbol tersebut. Selama perkembangan dan juga selama kehidupan suatu individu, DNA dibaca dengan suatu enzim yang disebut RNA (Ribo Nucleic Acid) polymerase. Proses ini dikenal sebagai transcription yang menghasilkan mesenger RNA (mRNA). Selanjutnya, protein dibentuk dalam suatu proses yang disebut translation menggunakan mRNA sebagai sebuah template.

Masing-masing gen dapat memiliki beberapa setting, yang dikenal dengan allele. Selanjutnya, genome yang lengkap dari suatu individu dengan semua setting-nya disebut sebagai genotype. Suatu individu dengan semua sifat-sifat dikenal dengan istilah phenotype.

Konsep penting dalam teori evolusi adalah fitness dan selection untuk proses reproduksi. Pada proses evolusi di dunia nyata, terdapat dua cara reproduksi, yaitu reproduksi seksual dan aseksual. Pada reproduksi seksual, kromosom-kromosom dari dua individu (sebagai orang tua) dikombinasikan untuk menghasilkan individu baru. Artinya, kromosom pada individu baru berisi beberapa gen yang diambil dari orangtua pertama dan beberapa gen lainnya diambil dari orangtua kedua. Hal ini disebut dengan

crossover (pindah silang). Namun demikian, proses pengkopian gen orangtua ini tidak luput dari kesalahan. Kesalahan pengkopian gen ini dikenal dengan istilah mutation (mutasi). Sedangkan pada reproduksi aseksual, hanya satu individu orangtua yang diperhatikan, sehingga tidak terjadi proses crossover. Tetapi proses mutasi juga mungkin terjadi pada reproduksi aseksual.

Sejak pertama kali dirintis oleh John Holland pada tahun 1960-an, genetic algorithm telah dipelajari, diteliti dan diaplikasikan secara kuat pada berbagai bidang. Genetic algorithm sangat berguna dan efisien untuk masalah dengan karakteristik sebagai berikut.

a. Ruang masalah sangat besar, kompleks, dan sulit dipahami.

b. Kurang atau bahkan tidak ada pengetahuan yang memadai untuk merepresentasikan masalah ke dalam tuang pencarian yang lebih sempit.

c. Tidak tersedianya analisis matematika yang memadai.

d. Ketika metode-metode konvensional sudah tidak mampu menyelesaikan masalah yang dihadapi.

e. Solusi yang diharapkan tidak harus paling optimal, tetapi cukup dapat diterima. f. Terdapat batasan waktu, misalnya dalam real time system.

Berikut adalah langkah-langkah dalam genetic algorithm. Inisialisasi populasi, N kromosom

Loop

Loop untuk N kromosom Dekodekan kromosom Evaluasi kromosom End

Buat satu atau dua kopi kromosom terbaik (elitisme) Loop sampai didapatkan N kromosom baru

Pilih dua kromosom Pindah silang Mutasi End

End

Algoritma 2.1 Genetic Algorithm Pseudocode

Dalam dokumen BAB 2 LANDASAN TEORI (Halaman 30-35)

Dokumen terkait