2. Inspirasi ?
Prinsip Evolusi : Siapa yang kuat dia yang bertahan.
Survival of the fittest
Teori Evolusi
Teori evolusi merupakan sebuah teori yang membahas
mengenai perubahan atau perkembangan makhluk
hidup, asal-usulnya, serta keterkaitan genetiknya antara
satu makhluk hidup dengan yang lainnya.
3. Definisi
The genetic algorithm is :
❑ A method for solving both constrained and unconstrained
optimization problems that is based on natural selection, the
process that drives biological evolution.
❑ The genetic algorithm repeatedly modifies a population of
individual solutions. At each step, the genetic algorithm
selects individuals at random from the current population to
be parents and uses them to produce the children for the
next generation. Over successive generations, the
population "evolves" toward an optimal solution.
❑ You can apply the genetic algorithm to solve a variety of
optimization problems that are not well suited for standard
optimization algorithms, including problems in which the
objective function is discontinuous, nondifferentiable,
stochastic, or highly nonlinear. The genetic algorithm can
address problems of mixed integer programming, where
some components are restricted to be integer-valued
(https://www.mathworks.com/)
Teori evolusi yang mendasari algoritma genetika,
merupakan sebuah teori yang membahas mengenai
perubahan atau perkembangan makhluk hidup, asal-
usulnya, serta keterkaitan genetiknya antara satu
makhluk hidup dengan yang lainnya. Jenis (Gen)
Individu makhluk hidup yang terakhir saat ini
dianggap yang terbaik disbanding gen generasi
sebelumnya (Survival of the fittest).
4. Sejarah
Algoritma Genetik pertama kali
dikembangkan oleh John Holland
pada tahun 1970-an di New York,
Amerika Serikat. Dia beserta murid-
murid dan teman kerjanya
menghasilkan buku berjudul
"Adaption in Natural and Artificial
Systems" pada tahun 1975.
5. Penerapan
Algoritma Genetik dapat
digunakan untuk apa ?
• Optimization − Genetic Algorithms are most commonly used in optimization problems wherein
we have to maximize or minimize a given objective function value under a given set of
constraints. The approach to solve Optimization problems has been highlighted throughout the
tutorial.
• Economics − GAs are also used to characterize various economic models like the cobweb
model, game theory equilibrium resolution, asset pricing, etc.
• Neural Networks − GAs are also used to train neural networks, particularly recurrent neural
networks.
• Parallelization − GAs also have very good parallel capabilities, and prove to be very effective
means in solving certain problems, and also provide a good area for research.
• Image Processing − GAs are used for various digital image processing (DIP) tasks as well like
dense pixel matching.
• Vehicle routing problems − With multiple soft time windows, multiple depots and a
heterogeneous fleet.
• Scheduling applications − GAs are used to solve various scheduling problems as well,
particularly the time tabling problem.
• Machine Learning − as already discussed, genetics based machine learning (GBML) is a niche
area in machine learning.
• Robot Trajectory Generation − GAs have been used to plan the path which a robot arm takes by
moving from one point to another.
• Parametric Design of Aircraft − GAs have been used to design aircrafts by varying the
parameters and evolving better solutions.
• DNA Analysis − GAs have been used to determine the structure of DNA using spectrometric
data about the sample.
• Multimodal Optimization − GAs are obviously very good approaches for multimodal
optimization in which we have to find multiple optimum solutions.
• Traveling salesman problem and its applications − GAs have been used to solve the TSP, which
is a well-known combinatorial problem using novel crossover and packing strategies.
6. Prinsip
Dasar
Algoritma Genetika memiliki 3 RULE selama
proses menghasilkan generasi lanjutan dari
generasi saat ini :
1. RULE : Selection, memilih individu (parent),
yang lebih berkontribusi untuk digunakan
menghasilkan generasi berikutnya (child).
2. RULE : Crossover : Mengkombinasikan 2
parent dalam rangka menghasilkan individu
generasi berikutnya (child).
3. RULE Mutation : Menggantikan individu yang
hilang dari populasi secara acak akibat proses
selection.
7. Prinsip Dasar
Inti cara kerja algoritma genetic
adalah :
Solusi ditawarkan pertama sekali,
kemudian diselidiki apakah
memenuhi kriteria kecocokan
dengan yang diinginkan (fitness),
jika belum memenuhi kriteria maka
solusi baru (populasi generasi baru)
digenerate berdasarkan populasi
sebelum dengan proses cross over
atau mutasi.
Jad teknik ini melakukan pencarian dari beberapa solusi yang
diperoleh sampai mendapatkan solusi terbaik sesuai dengan
kriteria yang telah ditentukan atau yang disebut sebagai fungsi
fitness tersebut.
8. Uraian
Prosedur
• Algoritma genetik yang umum menyaratkan dua hal untuk didefinisikan:
• (1) representasi genetik dari kromosom/individu sesuai permasalahan,
• (2) Sebuah fungsi untuk mengevaluasinya (fitness function).
• Representasi umum adalah sebuah array berbentuk bit-bit. Array lain atau struktur
data lain dapat digunakan dengan cara yang sama. Hal utama yang membuat
representasi genetik ini menjadi tepat adalah bahwa bagian-bagiannya mudah
diatur karena ukurannya yang tetap, yang memudahkan operasi cross over
sederhana. Representasi variable-length juga digunakan, tetapi implementasi cross
over lebih kompleks dalam kasus ini. Representasi lain seperti tree juga dapat
digunakan dalam pemrograman genetik dan representasi bentuk bebas dgunakan
pada HBGA (Human-Based Genetic Algorithm).
• Fungsi fitnes didefinisikan berdasarkan representasi genetik dengan mengukur
kualitas solusi yang dimiliki. Fungsi fitnes selalu tergantung pada masalah. Sebagai
contoh, jika pada ransel kita ingin memaksimalkan jumlah benda (obyek) yang
dapat kita masukkan ke dalamnya pada beberapa kapasitas yang tetap.
Representasi solusi mungkin berbentuk array bit, dimana tiap bit mewakili obyek
yang berbeda, dan nilai bit (0 atau 1) menggambarkan apakah obyek tersebut ada
di dalam ransel atau tidak. Tidak setiap representasi seperti ini valid, karena ukuran
obyek dapat melebihi kapasitas ransel. Krireria fitness dalam hal ini adalah jumlah
semua obyek di dalam ransel jika representasi itu valid, atau jika tidak 0. Dalam
beberapa masalah, kadang sulit atau bahkan tidak mungkin untuk mendefinisikan
fungsi fitnes, maka pada kasus ini digunakan IGA (Interactive Genetic Algorithm).
• Setelah mendefinisikan representasi genetik dan fungsi fitness, algoritma genetik
akan memproses inisialisasi populasi penyelesaian secara acak, dan
memperbaikinya secara looping (pengulangan) dengan operator-operator mutasi,
cross over, dan seleksi.
9. Contoh reprentasi gen untuk sebuah kasus
Page 9
Paling umum memang menggunakan representasi biner seperti di atas, tetapi tergantung kasusnya
10. Algoritma
Secara sederhana, algoritma umum dari algoritma
genetik ini dapat dirumuskan menjadi beberapa
langkah, yaitu:
1. Menyiapkan individu awal (Initial population)
2. Seleksi, memilih individu dan melakukan cross
over (kawinkan) individu-individu yang terbaik
berdasarkan fungsi fitness
3. Mengeliminasi individu yang kurang cocok
berdasarkan nilai dari fungsi fitness
4. Mutasi (random, optional kadang tidak
digunakan)
5. Kembali ke nomor 2 (looping sampai batas yang
ditentukan)
Note: Tahapan pada urutan ke-2, ke-3, dan ke-4 boleh
saja ditukar.
Flowchart
Variasi lain
Mana yang lebih dahulu :
Seleksi, cross over dan Mutasi ?
Proses utama dalam menghasilkan generasi terbaik adalah
memilih (selection) individu terbaik dan
mengkombinasikannya (cross over) untuk memperoleh
individu yang lebih baik lagi. Mutasi hanya untuk membantu
fungsi fitness jika hasilnya tidak mengarah pada solusi terbaik
11. ➢Kromosom/Individu : Sebuah individu direpresentasikan dengan himpunan gen; Sebuah individu
merupakan sebuah titik yang direpresentasikan dalam bentuk matriks posisi: Individu ‘P’ = (3)
yang merupakan titik di sumbu x. Himpunan semua individu dalam sistem disebut populasi.
➢Fungsi kecocokan (fitness function), lewat fungsi inilah suatu individu diukur kecocokannya.
Fungsi kecocokan ini tidak mesti menggunakan persamaan matematikanya, yang penting bisa
memetakan input dan output. Kita bisa ambil contoh: f=x² + 6x +9 sebagai fungsi kecocokan, dan
menemukan seberapa ‘cocok’ individu ‘P’.
➢Fungsi cross over (mate, combination). Lewat fungsi ini kita bisa mendapatkan individu lain
dengan ‘mengawinkan’ beberapa individu yang berbeda. Misalkan kita punya fungsi mate Child =
(Parent1+Parent2)/2, dan parent berupa individu P(3) dan Q(5), sehingga kita mendapatkan
individu baru Child = (3+5)/2 = 4.
– Eliminasi, aturan ini mengatur syarat-syarat tentang pelenyapan individu yang dinilai paling tidak cocok.
Misalkan kita membuat aturan eliminasi seperti ini: “Setiap generasi hanya boleh memiliki 2 individu, maka
jika terdapat lebih dari 2 individu, hanya 2 individu yang paling cocok saja yang boleh ada”.
– Cross over atau Mate, aturan ini mengatur bagaimana ‘perkawinan’ antar individu dalam populasi. Misal:
“Hanya 2 individu yang nilai fitness terbaik saja yang boleh mate”.
– Mutasi. Mutasi merupakan fenomena dimana individu mengalami perubahan gen yang entah dari mana
asalnya (bukan warisan orangtuanya). Pada algoritma, pemrogram bisa mengatur: kapan mutasi ini terjadi
(pada generasi keberapa), pada individu apa, dan bagaimana. Biasanya dibuat benar-benar random.
Beberapa Terminologi
Page 11
12. • Misal diketahui fungsi kuadrat f = x² + 6x +9
• Ditanyakan berapa nilai x agar nilai f merupakan nilai paling rendah (mencari titik minimum)
• Problem untuk kasus di atas bisa dipecahkan dengan perhitungan matematika biasa atau kalkulus difrensial.
• Misal df=2x +6, jika fungsi df=0 merupakan fungsi minimum maka nilai x minimum adalah 0 = 2x + 6, dan x = -3
• Selanjutnya sebagai pembanding dari perhitungan matematika konvensional, maka kita akan coba memecahkan
masalah di atas dengan menerapkan algoritma genetika.
Contoh Kasus Penerapan :
Mencari titik minimum fungsi kuadrat
Page 12
f = x² + 6x +9
f
x
• Penyelesaian untuk kasus ini bisa dipecahkan dengan
perhitungan matematika biasa atau kalkulus difrensial.
• Misal df=2x +6, jika fungsi df=0 merupakan fungsi minimum
maka nilai x minimum adalah 0 = 2x + 6, maka x = -3
• Kasus ini juga dapat dipecahkan menggunakan algoritma
genetika.
• Sebagai pembanding dari perhitungan matematika
konvensional, maka kita akan coba memecahkan masalah di
atas dengan menerapkan algoritma genetika.
13. Penyelesaian secara Algoritma Genetika
1. Individu : Pada kasus ini, individu direpresentasikan dengan angka yang menunjukkan posisinya pada
sumbu x. Apabila terdapat 2 individu, maka populasinya bisa direpresentasikan dengan array populasi =
[X1, X2]. X1 dan X2 disebut sebagai individu atau kromosom.
2. Fungsi kecocokan (fitness function) : Karena akan dicari individu yang mampu menghasilkan keluaran
fungsi f terendah, dengan demikian kita akan menggunakan fungsi f sebagai fungsi kecocokan, dimana
semakin rendah nilainya, maka dianggap akan semakin cocok (fitness). Pada kasus lain maka fungsi fitness
ini sesuai dengan domain permasalahannya.
3. Fungsi mate atau Cross Over : Pada kasus ini cukup dirata-ratakan saja, jika ada dua individu I₁ dan I₂ yang
disebut parent, maka anak (child) hasil hubungan mereka berdua (I₃) sama dengan (I₁+I₂)/2 atau (I₃ = (I₁ +
I₂) / 2)
4. Aturan-aturan lain yang ditentukan pada kasus ini :
a. Eliminasi dengan Selection- sort: Hanya boleh ada dua individu pada tiap iterasi/generasi. Hanya 2
individu yang memiliki nilai fungsi kecocokan terendah saja yang boleh lanjut ke iterasi selanjutnya.
b. Cross over atau Mate : Berhubung hanya ada dua individu yang boleh hidup tiap iterasi, maka pada
individu yang bisa dikawinkan adalah 2 individu yang ada dari iterasi sebelumnya (alias semua
populasi).
c. Mutasi : fenomena dimana individu (child) mengalami perubahan yang bukan dari pengaruh parent
nya. Pada beberapa kasus tahap ini bisa tidak digunakan.
14. Percobaan Dalam Python
Page 14
Interasi ke - 0 - Populasi Inisial
================
populasi: [-19 2]
Nilai f : [256 25]
Interasi ke - 1
================
populasi: [ 2. -8.5]
Nilai f : [25. 30.25]
Interasi ke - 2
================
populasi: [-3.25 2. ]
Nilai f : [ 0.0625 25. ]
Interasi ke - 3
================
populasi: [-3.25 -0.625]
Nilai f : [0.0625 5.640625]
Interasi ke - 4
================
populasi: [-3.25 -1.9375]
Nilai f : [0.0625 1.12890625]
Interasi ke - 5
================
populasi: [-3.25 -2.59375]
Nilai f : [0.0625 0.16503906]
Interasi ke - 11
================
populasi: [-3.00390625 -2.99365234]
Nilai f : [1.52587891e-05 4.02927399e-05]
Interasi ke - 12
================
populasi: [-2.9987793 -3.00390625]
Nilai f : [1.49011612e-06 1.52587891e-05]
Interasi ke - 13
================
populasi: [-2.9987793 -3.00134277]
Nilai f : [1.49011612e-06 1.80304050e-06]
Interasi ke - 14
================
populasi: [-3.00006104 -2.9987793 ]
Nilai f : [3.72529030e-09 1.49011612e-06]
Interasi ke - 15
================
populasi: [-3.00006104 -2.99942017]
Nilai f : [3.72529030e-09 3.36207449e-07]
Interasi ke - 6
================
populasi: [-2.921875 -3.25 ]
Nilai f : [0.00610352 0.0625 ]
Interasi ke - 7
================
populasi: [-2.921875 -3.0859375]
Nilai f : [0.00610352 0.00738525]
Interasi ke - 8
================
populasi: [-3.00390625 -2.921875 ]
Nilai f : [1.52587891e-05 6.10351562e-03]
Interasi ke - 9
================
populasi: [-3.00390625 -2.96289062]
Nilai f : [1.52587891e-05 1.37710571e-03]
Interasi ke - 10
================
populasi: [-3.00390625 -2.98339844]
Nilai f : [1.52587891e-05 2.75611877e-04]
Interasi ke - 16
================
populasi: [-3.00006104 -2.9997406 ]
Nilai f : [3.7252903e-09 6.7288056e-08]
Interasi ke - 17
================
populasi: [-3.00006104 -2.99990082]
Nilai f : [3.72529030e-09 9.83709469e-09]
Interasi ke - 18
================
populasi: [-2.99998093 -3.00006104]
Nilai f : [3.63797881e-10 3.72529030e-09]
Interasi ke - 19
================
populasi: [-2.99998093 -3.00002098]
Nilai f : [3.63797881e-10 4.40195436e-10]
Interasi ke - 20
================
populasi: [-3.00000095 -2.99998093]
Nilai f : [9.09494702e-13 3.63797881e-10]
16. Penjelasan Setiap Tahap Algoritma
Page 16
Generasi ke - 0 - Populasi Inisial ditentukan secara manual
================
Populasi Awal : [-19 2]
Perhitungan fitness ( x^2 + 6*x ) : [256 25]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-19. 2. -8.5]
Nilai fitness setiap individu: [256. 25. 30.25]
Urutan nilai fitness terbaik: [ 25. 30.25 256. ]
Urutan Populasi dengan nilai fitness terbaik : [ 2. -8.5 -19. ]
generasi ke - 1
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [ 2. -8.5]
Nilai fitnes dari rumus x^2 + 6*x : [25. 30.25]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [ 2. -8.5 -3.25]
Nilai fitness setiap individu: [25. 30.25 0.0625]
Urutan nilai fitness terbaik: [ 0.0625 25. 30.25 ]
Urutan Populasi dengan nilai fitness terbaik : [-3.25 2. -8.5 ]
generasi ke - 2
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 2. ]
Nilai fitnes dari rumus x^2 + 6*x : [ 0.0625 25. ]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 2. -0.625]
Nilai fitness setiap individu: [ 0.0625 25. 5.640625]
Urutan nilai fitness terbaik: [ 0.0625 5.640625 25. ]
Urutan Populasi dengan nilai fitness terbaik : [-3.25 -0.625 2. ]
generasi ke - 3
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 -0.625]
Nilai fitnes dari rumus x^2 + 6*x : [0.0625 5.640625]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 -0.625 -1.9375]
Nilai fitness setiap individu: [0.0625 5.640625 1.12890625]
Urutan nilai fitness terbaik: [0.0625 1.12890625 5.640625 ]
Urutan Populasi dengan nilai fitness terbaik : [-3.25 -1.9375 -0.625 ]
generasi ke - 4
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 -1.9375]
Nilai fitnes dari rumus x^2 + 6*x : [0.0625 1.12890625]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 -1.9375 -2.59375]
Nilai fitness setiap individu: [0.0625 1.12890625 0.16503906]
Urutan nilai fitness terbaik: [0.0625 0.16503906 1.12890625]
Urutan Populasi dengan nilai fitness terbaik : [-3.25 -2.59375 -1.9375 ]
generasi ke - 5
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.25 -2.59375]
Nilai fitnes dari rumus x^2 + 6*x : [0.0625 0.16503906]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.25 -2.59375 -2.921875]
Nilai fitness setiap individu: [0.0625 0.16503906 0.00610352]
Urutan nilai fitness terbaik: [0.00610352 0.0625 0.16503906]
Urutan Populasi dengan nilai fitness terbaik : [-2.921875 -3.25 -2.59375 ]
generasi ke - 6
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.921875 -3.25 ]
Nilai fitnes dari rumus x^2 + 6*x : [0.00610352 0.0625 ]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.921875 -3.25 -3.0859375]
Nilai fitness setiap individu: [0.00610352 0.0625 0.00738525]
Urutan nilai fitness terbaik: [0.00610352 0.00738525 0.0625 ]
Urutan Populasi dengan nilai fitness terbaik : [-2.921875 -3.0859375 -3.25 ]
generasi ke - 7
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.921875 -3.0859375]
Nilai fitnes dari rumus x^2 + 6*x : [0.00610352 0.00738525]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.921875 -3.0859375 -3.00390625]
Nilai fitness setiap individu: [6.10351562e-03 7.38525391e-03 1.52587891e-05]
Urutan nilai fitness terbaik: [1.52587891e-05 6.10351562e-03 7.38525391e-03]
Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.921875 -3.0859375 ]
17. Page 17
generasi ke - 8
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.921875 ]
Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 6.10351562e-03]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.921875 -2.96289062]
Nilai fitness setiap individu: [1.52587891e-05 6.10351562e-03 1.37710571e-03]
Urutan nilai fitness terbaik: [1.52587891e-05 1.37710571e-03 6.10351562e-03]
Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.96289062 -2.921875 ]
generasi ke - 9
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.96289062]
Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 1.37710571e-03]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.96289062 -2.98339844]
Nilai fitness setiap individu: [1.52587891e-05 1.37710571e-03 2.75611877e-04]
Urutan nilai fitness terbaik: [1.52587891e-05 2.75611877e-04 1.37710571e-03]
Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.98339844 -2.96289062]
generasi ke - 10
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.98339844]
Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 2.75611877e-04]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.98339844 -2.99365234]
Nilai fitness setiap individu: [1.52587891e-05 2.75611877e-04 4.02927399e-05]
Urutan nilai fitness terbaik: [1.52587891e-05 4.02927399e-05 2.75611877e-04]
Urutan Populasi dengan nilai fitness terbaik : [-3.00390625 -2.99365234 -2.98339844]
generasi ke - 11
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00390625 -2.99365234]
Nilai fitnes dari rumus x^2 + 6*x : [1.52587891e-05 4.02927399e-05]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00390625 -2.99365234 -2.9987793 ]
Nilai fitness setiap individu: [1.52587891e-05 4.02927399e-05 1.49011612e-06]
Urutan nilai fitness terbaik: [1.49011612e-06 1.52587891e-05 4.02927399e-05]
Urutan Populasi dengan nilai fitness terbaik : [-2.9987793 -3.00390625 -2.99365234]
generasi ke - 12
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.9987793 -3.00390625]
Nilai fitnes dari rumus x^2 + 6*x : [1.49011612e-06 1.52587891e-05]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.9987793 -3.00390625 -3.00134277]
Nilai fitness setiap individu: [1.49011612e-06 1.52587891e-05 1.80304050e-06]
Urutan nilai fitness terbaik: [1.49011612e-06 1.80304050e-06 1.52587891e-05]
Urutan Populasi dengan nilai fitness terbaik : [-2.9987793 -3.00134277 -3.00390625]
generasi ke - 13
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.9987793 -3.00134277]
Nilai fitnes dari rumus x^2 + 6*x : [1.49011612e-06 1.80304050e-06]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.9987793 -3.00134277 -3.00006104]
Nilai fitness setiap individu: [1.49011612e-06 1.80304050e-06 3.72529030e-09]
Urutan nilai fitness terbaik: [3.72529030e-09 1.49011612e-06 1.80304050e-06]
Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.9987793 -3.00134277]
generasi ke - 14
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.9987793 ]
Nilai fitnes dari rumus x^2 + 6*x : [3.72529030e-09 1.49011612e-06]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.9987793 -2.99942017]
Nilai fitness setiap individu: [3.72529030e-09 1.49011612e-06 3.36207449e-07]
Urutan nilai fitness terbaik: [3.72529030e-09 3.36207449e-07 1.49011612e-06]
Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.99942017 -2.9987793 ]
generasi ke - 15
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.99942017]
Nilai fitnes dari rumus x^2 + 6*x : [3.72529030e-09 3.36207449e-07]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.99942017 -2.9997406 ]
Nilai fitness setiap individu: [3.72529030e-09 3.36207449e-07 6.72880560e-08]
Urutan nilai fitness terbaik: [3.72529030e-09 6.72880560e-08 3.36207449e-07]
Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.9997406 -2.99942017]
18. Page 18
generasi ke - 16
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.9997406 ]
Nilai fitnes dari rumus x^2 + 6*x : [3.7252903e-09 6.7288056e-08]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.9997406 -2.99990082]
Nilai fitness setiap individu: [3.72529030e-09 6.72880560e-08 9.83709469e-09]
Urutan nilai fitness terbaik: [3.72529030e-09 9.83709469e-09 6.72880560e-08]
Urutan Populasi dengan nilai fitness terbaik : [-3.00006104 -2.99990082 -2.9997406 ]
generasi ke - 17
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00006104 -2.99990082]
Nilai fitnes dari rumus x^2 + 6*x : [3.72529030e-09 9.83709469e-09]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-3.00006104 -2.99990082 -2.99998093]
Nilai fitness setiap individu: [3.72529030e-09 9.83709469e-09 3.63797881e-10]
Urutan nilai fitness terbaik: [3.63797881e-10 3.72529030e-09 9.83709469e-09]
Urutan Populasi dengan nilai fitness terbaik : [-2.99998093 -3.00006104 -2.99990082]
generasi ke - 18
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.99998093 -3.00006104]
Nilai fitnes dari rumus x^2 + 6*x : [3.63797881e-10 3.72529030e-09]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.99998093 -3.00006104 -3.00002098]
Nilai fitness setiap individu: [3.63797881e-10 3.72529030e-09 4.40195436e-10]
Urutan nilai fitness terbaik: [3.63797881e-10 4.40195436e-10 3.72529030e-09]
Urutan Populasi dengan nilai fitness terbaik : [-2.99998093 -3.00002098 -3.00006104]
generasi ke - 19
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-2.99998093 -3.00002098]
Nilai fitnes dari rumus x^2 + 6*x : [3.63797881e-10 4.40195436e-10]
Hasil Cross Over (rata-rata) dan Penambahan Individu ke Populasi : [-2.99998093 -3.00002098 -3.00000095]
Nilai fitness setiap individu: [3.63797881e-10 4.40195436e-10 9.09494702e-13]
Urutan nilai fitness terbaik: [9.09494702e-13 3.63797881e-10 4.40195436e-10]
Urutan Populasi dengan nilai fitness terbaik : [-3.00000095 -2.99998093 -3.00002098]
generasi ke - 20
================
Seleksi Populasi dengan 2 individu terbaik dari Generasi sebelumnya : [-3.00000095 -2.99998093]
Nilai fitnes dari rumus x^2 + 6*x : [9.09494702e-13 3.63797881e-10]
Solusi ditemukan pada generasi ke 20.
Individu yang menjadi solusi pada populasi
tersebut adalah -3.00 dan kedua adalah -
2.999.
Solusi, x=3
Sama dengan perhitungan matematika biasa