Beranda > Engineering, Science > Algoritma Genetik

Algoritma Genetik


Goldberg (1989) menjelaskan bahwa algoritma genetik merupakan algoritma pencarian berdasarkan mekanisme seleksi alam dan genetika alam. Algoritma genetik mengkawinkan struktur string yang bertahan untuk membentuk algoritma pencarian baru. Pada setiap generasi sejumlah individu baru diciptakan melalui bagian yang kuat dari orang tuanya. Metode algoritma genetik dikembangkan oleh John Holland dan mahasiswanya di Universitas Michigan. Tujuan dari penelitian yang dilakukan adalah untuk meneliti proses adaptasi dari sistem alam serta mendesain perangkat lunak yang memiliki kecerdasan buatan dengan mencontoh mekanisme sistem alam.

Goldberg (1989) menjelaskan beberapa istilah yang digunakan dalam algoritma genetik. Istilah strings dalam sistem genetik buatan analog dengan kromosom dalam sistem biologi. Pada sistem biologi, satu atau lebih kromosom dikombinasi untuk membentuk resep genetik secara keseluruhan. Resep genetika ini digunakan untuk pembentukan dan operasi beberapa organisme.

Pada sistem alamiah, keseluruhan paket genetik disebut genotip. Pada sistem genetik buatan, keseluruhan paket strings disebut sebuah struktur. Pada sistem alamiah, organisme dibentuk oleh interaksi dari keseluruhan paket genetik dengan lingkungannya yang disebut fenotip.

Pada sistem genetik buatan, struktur di-decode untuk membentuk paket parameter, alternatif solusi, atau titik pada ruang solusi. Pada sistem alamiah, kromosom terdiri dari gen-gen, yang terdiri dari sejumlah nilai yang disebut allel. Pada genetik, posisi (locus) dari sebuah gen diidentifikasi secara terpisah dari fungsi gen. Tabel 1 menjelaskan perbandingan istilah yang digunakan oleh sistem alamiah dan algoritma genetik.

Tabel 1. Perbandingan Istilah pada Sistem Alamiah dan Algoritma Genetik.

Sistem Alamiah

Algoritma Genetik

Kromosom String
Gen Fitur, Karakter, atau detektor
Allel Nilai fitur
Locus Posisi String
Genotip Struktur
Fenotip Set parameter, solusi alternatif, struktur yang di-decode
Epitasis Non linieritas

Sumber: Goldberg (1989)

Gen dan Cheng (2000) menjelaskan bahwa secara umum algoritma genetik memiliki lima komponen dasar yang telah diringkaskan oleh Michalewicz. Lima komponen dasar tersebut adalah:

1. Sebuah genetik yang merepresentasikan solusi dari masalah.

2. Sebuah cara untuk menciptakan populasi awal dari penyelesaian masalah.

3. Sebuah fungsi evaluasi untuk menilai fitness.

4. Operator genetik yang mengubah komposisi genetik anak selama reproduksi.

5. Nilai untuk parameter algoritma genetik.

Gen dan Cheng (2000) menjelaskan bahwa algoritma genetik memelihara populasi dari individu (Pi) pada setiap generasi i. Setiap individu merepresentasikan sebuah solusi potensial. Setiap individu dievaluasi untuk dinilai fitness-nya. Setiap individu menjalani stochastic transformations dengan menggunakan opreasi genetik untuk membentuk individu baru. Ada dua jenis transformasi yang digunakan yaitu mutasi dan kawin silang (crossover). Individu baru yang disebut offspring C(i) dievaluasi kembali. Setelah beberapa generasi diharapkan setiap individu menjadi konvergen menjadi individu terbaik. Individu terbaik inilah yang diharapkan menjadi solusi optimal atau suboptimal dari masalah. Struktur umum dari algoritma genetik dijelaskan sebagai berikut:

Teroma Skema

Tahap1
Teorema skema merupakan dasar teori yang menjelaskan bagaimana Algoritma Genetik bekerja. Skema adalah keserupaan pola dalam mendeskripsikan suatu himpunanan bagian dari beberapa string yang mempunyai kesamaan pada posisi tertentu. Sebuah skema dibentuk dengan menambahkan sebuah simbol spesial, yaitu sebuah simbol * (don’t care) dalam representasi biner (0 atau 1).

Contoh: *01 adalah 101 atau 001 yaitu 5 atau 1

Tahap2
Tingkatan dari sebuah skema S(dinotasikan denga o(S)) menunjukkan jumlah dari posisi angka 0 atau 1 yang sudah tetap(Bukan posisi don’t care) yang ada dalam skema. Tingkatan ini menunjukkan spesialisasi dari sebuah skema. Contoh:

S1=(* * * 0 0 1 * 1 1 0)

S2=(* * * * 0 0 * * 0 * )

S3=(1 1 1 0 1 * * 0 0 1)

Dimana

o(S1)= 6

o(S2)= 3

o(S3)= 8

Tahap3
Batasan panjang dari skema S (dinotasikan dengan δ(S)) adalah jarak antara posisi angka 0 atau 1 yang pertama hingga terakhir. Angka ini menunjukkan kerapatan informasi yang ada dalam sebuah skema. Contoh:

δ(S1)= 10-4=6

δ(S2)= 9-5 =4

δ(S3)= 10-1=9

Procedure: Algoritma Genetik

begin

i ← 0;

initialize P(i);

evaluate P(i);

while (not termination condition) do

begin

recombine P(i);

evaluate C(i);

select P(i+1) from P(i) and C(i);

i ← i + 1;

end

end

Besarnya populasi pada setiap generasi akan mempengaruhi kecepatan konvergensi. Semakin besar jumlah populasi akan mengakibatkan konvergensi yang lambat, akan tetapi bila jumlah populasi awal semakin kecil maka dapat terjadi konvergensi prematur. Jumlah titik coba yang dipakai oleh Harb dan Matthews pada tahun 1987 adalah sebesar jumlah variabel desain ditambah 1. Box mengusulkan jumlah titik coba adalah 2 kali jumlah variabel desain. Sedangkan Biles pada tahun 1983 mengusulkan jumlah titik coba adalah jumlah variabel desain ditambah dengan 2.

Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai kandidat solusi suatu masalah ke dalam suatu kromosom. Gen dan Cheng (2000) juga menjelaskan bahwa pengkodean merupakan kunci pokok persoalan, dalam melakukan pengkodean harus diperhatikan apakah dapat membangun pencarian genetik yang efektif menggunakan pengkodean. Beberapa prinsip untuk mengevaluasi pengkodean adalah yang diajukan oleh Rechenberg (1973) dalam Gen dan Cheng (2000):

1. Tidak berlebihan (non redundancy), pemetaan antara kode dan solusi harus 1-to-1 mapping. Pemetaan 1-to-1 menjamin tidak ada operasi sia-sia yang terjadi ketika membuat keturunan. Pada pemetaan n-to-1, algoritma genetik akan membuang waktu saat mencari, karena dua individu diduplikasi pada ruang fenotip tetapi tidak pada ruang genotip, pengukuran jarak pada ruang genotip tidak dapat memperlakukan individual sebagai identik, hal ini akan menjadikan algoritma genetik menjadi konvergen secara prematur. Pada pemetaan 1-to-n, dibutuhkan prosedur tambahan pada ruang fenotip untuk menentukan sebuah solusi di antara banyak kemungkinan solusi.

2. Legality, permutasi dari sebuah pengkodean berhubungan pada sebuah solusi. Prinsip ini menjamin bahwa sebagian besar operator genetik yang ada dapat dengan mudah diaplikasikan pada pengkodean.

3. Completeness, solusi mempunyai hubungan dengan pengkodean. Prinsip ini menjamin bahwa suatu titik pada ruang solusi dapat dicapai pada pencarian genetik.

4. Sifat Lamarckian, allel untuk sebuah gen tidak tergantung pada konteks. Sifat Lamarckian pada pengkodean berhubungan dengan apakah sebuah kromosom dapat mewariskan sifatnya pada generasi yang akan datang melalui operasi genetik. Sebuah teknik pengkodean diharapkan dapat mewariskan sifat baik orang tua.

5. Causality, berarti variasi kecil pada ruang genotip karena mutasi berimplikasi pada variasi kecil pada ruang fenotip.

Gen dan Cheng (2000) menjelaskan bahwa berdasarkan jenis simbol yang digunakan sebagai nilai suatu gen maka pengkodean dapat diklasifikasikan sebagai berikut:

1. Pengkodean biner, yaitu metode pengkodean yang menggunakan bilangan biner. Metode ini banyak digunakan karena sederhana untuk diciptakan dan mudah dimanipulasi (Davis, 1991).

2. Pengkodean bilangan riil, yaitu metode pengkodean dalam bentuk bilangan riil. Masalah optimalisasi fungsi dan optimalisasi kendala lebih tepat jika diselesaikan dengan pengkodean bilangan riil karena struktur topologi ruang genotip untuk pengkodean bilangan riil identik dengan ruang fenotipnya, sehingga mudah membentuk operator genetika yang efektif dengan cara memakai teknik yang dapat digunakan yang berasal dari metode konvensional.

3. Pengkodean bilangan bulat, yaitu metode pengkodean menggunakan bilangan bulat. Pengkodean ini baik digunakan untuk masalah optimasi kombinatorial.

4. Pengkodean struktur data, yaitu model pengkodean yang menggunakan struktur data.

Goldberg (1989) mengemukakan bahwa ada empat hal yang membedakan algoritma genetik dari teknik optimasi tradisional. Perbedaan tersebut adalah:

1. Manipulasi langsung dari pengkodean.

2. Pencarian dari sebuah populasi, bukan dari single point.

3. Pencarian melalui metode sampel.

4. Pencarian menggunakan operator stochastic, bukan deterministik.

Gen dan Cheng (2000) menjelaskan bahwa selama dua dekade beberapa metode seleksi telah diperkenalkan, dipelajari dan dibandingkan. Beberapa jenis seleksi yang umum dipakai adalah:

1. Roulette wheel selection. Metode ini diajukan oleh John Holland. Ide dasarnya adalah untuk menentukan proporsi probabilitas seleksi atau probabilitas survival pada tiap kromosom sesuai dengan nilai fitness-nya. Individu dipetakan dalam suatu segmen garis secara berurutan sedemikian hingga tiap segmen individu memiliki ukuran yang sama dengan ukuran fitness-nya. Sebuah bilangan random dibangkitkan dan individu yang memiliki segmen dalam kawasan bilangan random tersebut akan terseleksi. Proses ini diulang hingga diperoleh sejumlah individu yang diharapkan.

2. (μ + λ) selection. Metode ini merupakan prosedur deterministik yang memilih kromosom terbaik dari orang tua dan keturunan. Metode ini biasanya digunakan pada masalah optimasi combinatorial.

3. Tournament selection. Metode ini memilih secara acak sejumlah kromosom dan memilih kromosom terbaik untuk reproduksi.

4. Steady-state reproduction. Pada metode ini sejumlah fitness parents yang terburuk digantikan dengan sejumlah individu baru (offspring).

5. Ranking and scaling. Ide dasar metode ini adalah mengurutkan berdasarkan ranking fitness-nya, kemudian menetapkan probabilitas seleksi tiap kromosom berdasarkan urutan ranking-nya.

6. Sharing. Teknik sharing diperkenalkan oleh Goldberg dan Richardson untuk optimasi dengan fungsi multi model. Teknik ini digunakan untuk menjaga keanekaragaman populasi. Fungsi sharing adalah sebuah cara untuk menentukan degradasi fitness individu dikarenakan jaraknya dengan tetangga. Dengan adanya degradasi, probabilitas reproduksi individu pada puncak keramaian ditahan, individu lain akan memperoleh keturunan.

Gen dan Cheng (2000) menjelaskan bahwa beberapa operator cross-over untuk pengkodean dengan bilangan riil dapat dibagi menjadi 4 metode:

1. Operator konvensional. Operator konvensional merupakan adaptasi operator biner untuk yang dipakai untuk operator bilangan riil.

2. Operator aritmatika. Konsep dasar operator jenis ini diambil dari convex set theory. Operator kawin silang (cross-over) aritmatika didefinisikan sebagai kombinasi dari dua kromosom yang menggunakan persamaan di bawah ini.

x1′ = λ1. x1 + λ2. x2

x2′ = λ1. x2 + λ2. x1

λ1 + λ1 = 1

λ1 ≥ 0

λ2 ≥ 0

3. Operator berdasarkan arah. Pada metode ini digunakan nilai dari fungsi sasaran untuk menentukan arah dari pencarian genetik. Operator akan membuat keturunan tunggal x’ dari dua orang tua x1 dan x2 sesuai dengan persamaan (21), r merupakan bilangan acak antara 0 dan 1. Diasumsikan bahwa x2 lebih baik dari x1.

x’ = r(x2 – x1) + x2

4. Operator Stokastik. Metode ini menggunakan bilangan acak untuk melakukan mutasi genetik individu. Mutasi diperlukan untuk memperluas ruang pencarian genetik, sehingga hasil optimasi tidak terjebak pada solusi optimum lokal.

Kategori:Engineering, Science
  1. ani
    Januari 25, 2008 pukul 11:33 am

    terapan algoritma genetika utk masalah optimasi bs g?

  2. yohanli
    Januari 25, 2008 pukul 1:39 pm

    Penerapan algoritma genetik sudah banyak, salah satu contohnya adalah untuk penyelesaian salesman travelling problem (TSP), untuk contoh lainnya coba cari di google deh

  3. Eko Andrianto
    Februari 29, 2008 pukul 11:07 pm

    wah aku malah udah lupa soal optimasi, udah lama ga pake

  4. vicky
    Maret 4, 2008 pukul 1:41 pm

    punya landasan teori tentang proses mutasi dan contohnya?terus penerapan algoritma genetika untuk kasus penjadwalan job shop gimana yach?thx banget yach..

  5. Maret 5, 2008 pukul 1:37 pm

    Proses mutasi bertujuan untuk memperluas ruang pencarian, sehingga diharapkan hasil optimasi tidak terjebak pada optimum lokal. Metode mutasi ada banyak cara. Coba baca buku dari Gen dan Cheng dan buku karangan Goldberg di sana banyak dijelaskan aplikasi ag.

  6. yk merlin
    Maret 24, 2008 pukul 7:30 pm

    bs ga bt artikel yg lbh lngkp tntg algoritma genetik yg brhbngn dgn kecerdasan buatan(AI)?

  7. Maret 25, 2008 pukul 9:21 am

    coba di
    en.wikipedia.org/wiki/Genetic_algorithm
    http://www.genetic-programming.com
    http://www.genetic-programming.org
    http://www.cs.bgu.ac.il/~sipper/ga.html
    fog.neopages.org/helloworldgeneticalgorithms.php
    xxx.lanl.gov

  8. April 1, 2008 pukul 3:08 pm

    mau tanya info ttg perbandingan metode2 untuk decoding, crossover, mutasi.. kan banyak tuh metode2nya,,, apa ada yang terbaik?

  9. April 2, 2008 pukul 8:04 am

    Metode terbaik? Harus dilihat dari kasusnya dulu, contohnya decoding dengan metode decoding dengan bilangan riil tentunya lebih baik bila digunakan untuk kasus yang memerlukan hitungan presisi (desimal) daripada decoding biner, Pengkodean biner baik digunakan untuk data diskrit, dlsb. Semua metode memiliki keunggulan dan kelemahan masing-masing.

  10. nisa
    April 7, 2008 pukul 11:19 am

    saya skrng lg buat skripsi ttg optimalisasi fungsi kendala menggunakan algoritma genetika..pengkodeannya dalam bentuk biner..tp kasus ini sudah pernah dibahas dalam skripsi seniorku tapi dalam kode riil..bisa berikan kelemahan dan kelebihan antara kode biner dan kode rill secara umum dan terkhusus dalam kasusku…klo bisa scepatnya yah…krn sudah 2 semester sy berkutat di mslah ini…plisss..thanks b4

  11. April 7, 2008 pukul 4:27 pm

    “Masalah optimalisasi fungsi dan optimalisasi kendala lebih tepat jika diselesaikan dengan pengkodean bilangan riil karena struktur topologi ruang genotip untuk pengkodean bilangan riil identik dengan ruang fenotipnya, sehingga mudah membentuk operator genetika yang efektif dengan cara memakai teknik yang dapat digunakan yang berasal dari metode konvensional”

    Apa Keuntungan pengkodean bilangan biner?
    1. Biasanya (tidak selalu) pengkodean bilangan biner menghasilkan perhitungan yang lebih cepat (karena adanya pembulatan angka)
    2. Mudah digunakan untuk kasus yang menggunakan bilangan diskrit (tidak kontinyu)

    Apa kerugian pengkodean bilangan biner?
    1. Harus membuat coding untuk menerjemahkan bilangan riil ke biner
    2. Harus membuat decoding untuk menerjemahkan bilangan biner ke riil
    3. Ruang fenotip tidak identik dengan ruang genotip, sehingga harus ada pembulatan angka

  12. bimo
    April 27, 2008 pukul 8:37 pm

    Konvergensi AG dengan JST untuk aplikasi prediksi bagus ga ya mas?trus untuk itu pake metode apa ya yg bagus? misalnya untuk prediksi gempa…mas tolong email ke saya ya, minta tolong bgt nih…thanks

  13. April 28, 2008 pukul 10:42 am

    Semua metode memiliki keunggulan dan kelemahannya sendiri-sendiri. Tentunya bagus sekali kalau bimo melakukan prediksi gempa menggunakan gabungan dari teknik AG dan JST, hal yang perlu dicermati dalam penelitian tersebut adalah dalam membangun modelnya sehingga akan menghasilkan prediksi yang handal dan akurat.

  14. Ajunk
    April 29, 2008 pukul 7:50 pm

    bisa gak kasi tau contoh codink untuk permasalahan optimalisasi pemanfaatan ruang?…..thank bepore

  15. Mei 1, 2008 pukul 12:40 am

    coba lihat buku ag di gen dan cheng utk contohnya

  16. wida
    Mei 14, 2008 pukul 4:34 pm

    bisa ga minta algoritma seleksi roulette wheel untuk kasus penjadwalan job shop… thx b4..

  17. Mei 22, 2008 pukul 3:31 pm

    Berikut listing untuk rws, silakan modifikasi untuk kasus anda

    void Seleksi
    (
    int JumlahPopulasi,
    int JumlahVariabel,
    int Generasi,
    int JumlahGenerasi,
    long double *Fitness,
    long double (*KoefisienC)[MaxVariabel]
    )
    {
    /****************************************************************************
    Rutin untuk Seleksi Individu dengan Metode Roulette Wheel
    ****************************************************************************/
    long double (*TempKoefisienC)[MaxVariabel];
    TempKoefisienC = new long double [JumlahPopulasi][MaxVariabel];
    for (int i = 0; i < JumlahPopulasi; i++)
    {
    for (int j = 0; j < JumlahVariabel; j++)
    {
    TempKoefisienC[i][j] = KoefisienC[i][j];
    }
    }

    long double JumlahFitness = 0.;
    for (int i = 0; i < JumlahPopulasi; i++)
    {
    JumlahFitness = JumlahFitness + Fitness[i];
    }
    long double *Share = new long double [JumlahPopulasi];
    for (int i = 0; i < JumlahPopulasi; i++)
    {
    Share[i] = Fitness[i]/JumlahFitness;
    if (i != 0)
    {
    Share[i] = Share[i] + Share[i-1];
    }
    }
    for (int i = 0; i < JumlahPopulasi; i++)
    {
    long double Roulette = random(100)/100.;
    for (int j = 0; j < JumlahPopulasi; j++)
    {
    // Pilih individu ke-j
    if (Roulette <= Share[j])
    {
    for (int k = 0; k < JumlahVariabel-1; k++)
    {
    KoefisienC[i][k] = TempKoefisienC[j][k];
    }
    j = JumlahPopulasi-1;
    }
    }
    }

    // Preserve Individu Terbaik
    for (int i = 0; i < JumlahVariabel-1; i++)
    {
    KoefisienC[0][i] = TempKoefisienC[0][i];
    }
    delete Share;
    delete [] TempKoefisienC;
    }

  18. opi
    Juli 10, 2008 pukul 12:10 pm

    bagaimana hubungan antara algoritma genetik dengan optimasi sistem kelistrikan

  19. Juli 10, 2008 pukul 12:46 pm

    AG hanyalah salah satu metode optimasi heuristik. Aplikasinya untuk memecahkan masalah optimasi non linier (linier juga bisa!).

  20. tika
    Juli 19, 2008 pukul 3:50 pm

    mas bs g jelasin penggunaann GA pd studi kasus yg dinamis,mis dlm nentuin arsitektur dari jaringan syaraf tiruan dimana kendala dlm penggunaan GA ad di pindah silang n mutasiny (panjang tiap kromosom dinamis/berubah-ubah)

  21. rain
    Juli 23, 2008 pukul 2:56 pm

    gmn ci solusi untuk konvergensi prematur?skrg kan sy lg ngbuat sistem iris recognition pake JST FFNN puls AG (AG digunain bwt algoritma pelatihan JSTx), tp hasil fitness-nya konvergensi prematur..kl bs tlg bales ke email y.tks

  22. Juli 26, 2008 pukul 10:05 pm

    bagaimana hubungan antara efisiensi saluran transmisi tegangan tinggi 150 kV dengan algoritma genetik

  23. Juli 27, 2008 pukul 10:05 am

    To Tika: Coba perhatikan beberapa prinsip untuk mengevaluasi pengkodean adalah yang diajukan oleh Rechenberg (1973)

    To Rain: Tinjau kembali populasi awal anda, pastikan populasi awal benar benar acak dan memungkinkan untuk mengeksplore ruang variabel desain

    To Sofyan: Pertanyaannya tidak jelas, bisa lebih dijelaskan pertanyaan anda

  24. e3
    Agustus 5, 2008 pukul 7:49 am

    mas, bisa g kasih algo untuk partial schedule exchange crossover?
    lalu pada job pair exchange mutation bilangan random yang harus dibangkitkan apkah hrs 2 untuk setiap ortu yang melakukan mutasi? lalu bagaimana penggunaan untuk prob mutasi pada metode ini, bisa tolong jelaskan.. trims.

  25. e3
    Agustus 5, 2008 pukul 7:55 am

    oya mas 1 lg.. punya referensi buku AG selain gen n cheng g? boleh aku pinjam? atau aku bisa dapetin buku itu dimana? thx a lot…

  26. Agustus 5, 2008 pukul 8:57 am

    Ada beberapa buku mengenai AG. 2 buku AG pemberian dari teman kuliah saya Dr. Saludin Muis yaitu karangan gen dan cheng serta goldberg.

    Ini info dari teman saya kalau membutuhkan buku import seperti AG karangan goldberg (fotocopy) hubungi Mr. Aliong: 0811224598 (Lokasi Bandung, buku bisa dikirim) mungkin masih banyak lagi…

  27. e3
    Agustus 6, 2008 pukul 8:44 am

    trims atas informasinya.. oya maaf bagaimana dengan pertanyaan saya yang pertama? mas bisa bantu ga? tentang job pair exchange mutation dan partial schedule exchange crossover..

  28. bestari
    Agustus 13, 2008 pukul 12:51 pm

    apa kelebihan&kekurangan antara routewheel selection sm tournament selection? makasih sblmnya ^^

  29. hendry
    Agustus 13, 2008 pukul 4:00 pm

    aku boleh nanya..,?
    apa ada yang tau dmana dapatin buku yg bahas ga dalam aplikasinya untuk menemukan rute optimum untuk mobile robot?

  30. yendrika
    Oktober 18, 2008 pukul 11:44 am

    aq bisa minta algoritma untuk membuat kromosom pada kasus penjadwalan kuliah ga n bentuk kromosomnya bagaimana?
    tolong ya, makasih

  31. Saiful
    Oktober 20, 2008 pukul 3:40 pm

    Bang bisa minta tolong pengimplementasian Algoritma Genetik ke PHP untuk membuat sebuah Recommender System pada search engine untuk memberikan hasil link informasi yang sesuai dengan user profile

  32. Oktober 20, 2008 pukul 4:26 pm

    to: Hendry, Yendrika, dan Saiful

    Bagi yang bertanya mengenai Implementasi GA, tolong dijelaskan lebih terinci, karena implementasi GA setiap kasus dapat berbeda, sebagai contoh mengenai algoritma untuk membuat kromosom pada kasus yendrika, anda akan menggunakan pengkodean bilangan riil/biner/kompleks/atau lainnya? lalu bagaimana mengenai variabel desain anda? fungsi optimasinya mau seperti apa, dlsb. Mengenai pertanyaan mas Saiful, apakah anda sudah punya bentuk matematika fungsi optimasi/kendala-nya

  33. Saiful
    Oktober 30, 2008 pukul 11:37 am

    Itu dia masalahnya mas apa yang harus saya lakukan untuk membentuk matematika fungsi optimasi dari permasalhan saya?bisa kasih contoh Permasalahan dan Bentuk Matematika Optimasi.
    yang pasti nantinya adalah pada saat User melakukan searching maka dari keyword yang dimasukkan kita optimasi kebiasaan user.
    sperti contoh:
    Keyword yang dimasukkan User adalah “PHP”, maka pola kebiasaan Link web yang diBuka oleh user yang memasukkan Keyword itu adalah yang nantinya dapat dijadikan rekomendasi bagi user laen yang memasukkan Keyword sama atau hampir sama.
    makasi mas sebelumnya.

  34. Oktober 30, 2008 pukul 12:48 pm

    To Saiful:

    Dari yang saya tangkap, maksud mas saiful adalah membuat program seperti adsense (google), ini adalah masalah selection pada database.

    1. Buat database link yang dimaksud.
    2. Beri tiap database keyword, keyword bisa lebih dari satu.
    3. Masukkan parameter lainnya, bila perlu, misalnya lokasi user, dlsb.
    4. Apabila user mengetik input, program akan menentukan database mana yang paling optimal dengan input-an user.

    Tentunya anda harus bisa membuat kriteria yang diperlukan.

    Untuk memahami masalah ini mungkin lebih tepat mas saiful memperdalam database untuk php.

    Contoh referensi: W. Jason Gilmore. Beginning PHP and MySQL From Novice to Professional, Penerbit Apress

    Selamat belajar.

  35. Saiful
    Oktober 30, 2008 pukul 5:23 pm

    saya udah punya web crawler dengan database MySQL, dan sudah melakukan Crawling ke Internet jadi saat ini saya sudah punya sekumpulan data berupa Link-Link web site, skumpulan Keyword dari masing2 Web yang saya Crawl dan priority dari tiap2 link.
    emang pola adsense(google) sperti itu ya mas?
    jadi tiap user yang search sperti qta menyedian log yang merekam dari keyword yang dimasukkan dia membuka link apa aja nantinya kita optimasi dengan hasil log user laen dan dijadikan suatu rekomendasi.
    klo dengan GA nantinya hasil log masing2 user dioptimasi untuk dihasilkan suatu Populasi yang akan dijadikan suatu rekomendasi,
    Tapi kata mas Klo dengan GA harus dibentuk dulu pola Matematikanya biar bisa di dapet iterasinya,itu dia masalahnya aq belum bentuk pola Matematikanya soalnya bingung mau dibentik dari mana?
    makasi sbelumnya ya mas udah nanggepin smua permasalhanq.

  36. Oktober 31, 2008 pukul 9:44 am

    To Mas Saiful:

    Pertama-kali buat indeks pada keyword berdasarkan kelompok
    1. C++
    2. PHP
    3. VB
    4. .Net
    5. Google

    Maka untuk situs dapat dibuat stringnya masing-masing (dalam contoh string mungkin pendek, aktualnya bisa panjang, sepanjang jumlah keyword !, bisa dipikirkan cara lain supaya string tidak panjang)

    Jadi string untuk situs adalah:
    http://www.google.com = 00001 (artinya keyword google itu true)
    http://www.codegear.com = 11000 (hanya keyword c++ dan PHP yang true)
    http://www.php.net = 01000

    Lalu bisa kita formulasikan

    minimumkan f(x) , x ε X

    yang memenuhi kendala :

    gj(x) ≤ 0 j=1,2,…,n

    hj(x) = 0 j=1,2,…,m

    f(x) = x0 – x1

    x0 = nilai string input

    x1 = nilai string dari random search database

    sehingga yang menjadi variabel adalah x1, karena x0nyakan variabel tetap, pencarian variabel dengan melakukan penelusuran variabel x1
    misal user input google,

    maka string x0 adalah 00001

    pada pembangkitan populasi awal didapat

    individu 1 untuk x2 = 00000
    individu 2 untuk x2 = 11111
    individu 3 untuk x2 = 10101

    dari 3 individu kita hitung (operatornya silahkan tentukan sendiri, ini saya cuma contoh ya)

    f(x) = 00001 – 00000 = 00001
    f(x) = 00001 – 11111 = 11110
    f(x) = 00001 – 10101 = 10100

    dari hasil penghitungan fitness individu pertama paling fit, sehingga berhak kawin dengan individu yang kedua fitnessnya (aturan ini hanya contoh ya) misalnya ditentukan lokasi kawin silang pada stiring ke 3 dengan tetap mempertahankan individu awal

    sehingga 000 00 dikawinkan dengan 101 01
    anak 1 = 000 01
    anak 2 = 101 00
    anak 3 = 000 00

    hitung lagi nilai fitnessnya

    anak 1 = 00001 – 00001 = 00000
    anak 2 = 00001 – 10100 = 10101
    anak 3 = 00001 – 00000 = 00001

    dilihat dari fitnessnya, anak 1 paling fitness! karena proses meminimumkan sudah ditemukan maka proses optimasi dihentikan dan didapatkan dari database kalau link http://www.google.com adalah link yang paling optimal dengan input user.

    Di samping cara ini masih banyak cara lainnya yang mungkin bisa didapatkan

    silahkan coba (contoh memang dibuat sederhana supaya garis besar-nya mudah dipahami)

  37. Saiful
    Oktober 31, 2008 pukul 2:07 pm

    aq crawlernya pake sphider yang open source, mas tau kan software itu?
    aq download di http://www.sphider.eu.
    mas, boleh ga minta alamat Email?klo boleh sih da nomor yang bisa dihubungi biar saya ntar bisa nanya lebih lanjut atau sekedar konsultasi.

  38. Oktober 31, 2008 pukul 3:52 pm

    alamat email bisa lihat di daftar isi…
    email saja

    Sebagai info:

    Ada 2 tujuan kenapa harus menyediakan link suggestion
    1. Sebagai search engine
    Untuk ini tidak perlu optimasi jadi tinggal berikan list
    semua link terkait (contoh google, yahoo)
    2. Untuk keperluan advertising
    Untuk ini perlu optimasi advertising mana yang bayar paling
    mahal dan keyword mana yang cocok, serta lokasi user
    (contoh google ad sense)

  39. Oktober 31, 2008 pukul 3:58 pm

    Satu lagi, sebaiknya mas saiful batasi jumlah link-nya, berat kalau sekaligus membuat search engine… yang penting untuk keperluan akademik adalah ide dasarnya saja, pembuatan search engine seperti google membutuhkan perangkat keras dan engine database yang handal, mySQL gratisan yang digunakan spidher kurang handal dalam meng-handle database yang besar.

  40. dhy
    Desember 9, 2008 pukul 3:16 pm

    mas, bisa kasih tau kelebihan dan kekurangan GA pada TSP?

  41. Desember 10, 2008 pukul 9:25 am

    Sebenarnya AG hanya tools saja, semuanya tergantung metode coding anda.

  42. Qning
    Januari 27, 2009 pukul 8:39 pm

    mas, bisa gak kasih tau kelebihan dan kekurangan AG pada job-shop scheduling dengan pengkodean operation based representation. trims sebelumnya..

  43. Januari 31, 2009 pukul 3:31 pm

    Mas Boleh minta Algoritma GA pada Job Shop tapi di Proses Inisialisasi

  44. Tri Sari
    Februari 17, 2009 pukul 7:47 pm

    Saya sedang melakukan penelitian pada permasalahan transportasi umum. Pada masalah ini saya menggunakan pendekatan GA. Bisa beritahu literatur yg dpt saya pelajari ndk?! Makasih sebelumnya

  45. Tri Sari
    Februari 17, 2009 pukul 7:50 pm

    Saya sedang melakukan penelitian pada permasalahan transportasi umum. Pada masalah ini saya menggunakan pendekatan GA. Bisa beritahu literatur yg dpt saya pelajari ndk?! Makasih sebelumnya …

  46. leonard
    Maret 10, 2009 pukul 8:39 am

    gimana mendapatkan program evolver 5.1?

  47. nathalia
    Mei 29, 2009 pukul 5:02 pm

    sore mas…aq bikin skripsi ttg alg genetik utk penjadwalan kuliah di fakultasku…
    aq msh bingung menentukan seleksi yg hrs aq pke…pengkodeannya aq pke biner…cmn seleksinya pilih pke roulette wheels atau tournament?
    bls ya mas…makasih

  48. Ayun Triyansah
    Oktober 22, 2009 pukul 11:13 am

    siang mas…. nama saya ayun, saya sedang mengambil skripsi tentang implementasi solver optimasi untuk masalah integer dan mixed integer dengan menggunakan algoritma pengkodean real. Yang ingin saya tanyakan:
    1. bagaimana konsep dari RCGA itu sendiri?, dan beda dari GA dengan RCGA itu apa?
    2. saya menggunakan software matlab 7.0.1 dalam implementasinya, dan kesulitan saat membentuk kromosom. Tlg dijelaskan ya mas, klo bisa dengan studi kasus dan source codenya.

    Terima kasih sebelumnya ya mas…. makasih banget…

  49. Ayun Triyansah
    Januari 19, 2010 pukul 6:01 am

    Alow……Mas Yohan, saya mau bertanya tentang permasalahan implementasi RCGA pada masalah optimasi dengan kendala non linear, dan itu sudah saya sampaikan melalui email mas yohan di yohanli@gmail.com. Besar harapan saya untuk mas yohan bisa membaca dan juga membalasnya, makasi banyak ya mas…

  50. riris
    Desember 9, 2010 pukul 2:39 am

    mas, bisa lebih diperjelas sebenarnya konvergensi lokal terjadi karena apa? makasih

  51. Rida Fadila
    Mei 14, 2011 pukul 7:29 pm

    mas, ada gak listing program untuk pembuatan program TSP langsung dengan tampilan GUI nya…..????

  52. Rida Fadila
    Mei 14, 2011 pukul 7:31 pm

    mas, ada gak listing algoritma genetika untuk TSP lengkap dengan tampilan GUI nya pake matlab…. mohon bantuan….

  53. ade
    November 30, 2011 pukul 6:37 pm

    mas,, mau tanya…
    kalo AG untuk optimasi variabel dalam penjurusan SMU yang di jadiin kromosom apa ya maz??
    trus ngitung nilai fitnessnya gimana??
    mksih banyak

  54. Juni 10, 2012 pukul 7:40 pm

    Saya mau tanya
    Cara membuat program pencaria nama bagaimana ??
    Dengan menggunakan alritma genetia..
    Misalny begini
    Nama saya kan putri
    Di program itu waktu di run huruf Pu maka akan muncul Putri
    Seperti kita sedang melakukan pencarian kata pada google..

  55. togardi simarmata
    Agustus 16, 2012 pukul 5:16 pm

    source code penjadwalan pelajaran sma mas untuk inisialisasi awal dan membangkitkan populasi gimana??

  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: