Algoritma AMO (Amoeba Method Optimization) / Nelder-Mead Method
Algoritma AMO
(Amoeba Method Optimization) / Nelder-Mead Method adalah salah satu algoritma
optimasi yang dapat digunakan untuk pengambilan keputusan. Contoh yang dibahas
kali ini adalah mengenai pencarian posisi dengan pengembalian nilai fungsi
maksimal.
Amoeba Method Optimization, atau disebut juga dengan
Nelder-Mead Method dan Simplex Optimization, adalah metode numerik umum yang
digunakan untuk mencari nilai minimal atau maksimal dari sebuah fungsi obyektif
pada ruang multi dimensi. Simplex Optimization bekerja dengan cara membentuk
segitiga solusi yang dikatakan sebagai solusi terbaik – lainnya – terburuk.
Pada setiap perhitungan, segitiga ini akan dihitung sehingga semakin mendekati
solusi yang terbaik. Apabila segitiga ini digambar secara berurutan pada setiap
perulangan, gerakan segitiga yang terjadi mirip dengan pola gerakan Amoeba.
Diasumsikan ada sebaran titik 2 dimensi antara -2 sampai dengan 2
Fungsi yang diketahui adalah fungsi Himmelblau, dengan rumus f(x, y) =
(x^2+y-11)^2 + (x+y^2-7)^2
Tentukan posisi dimana fungsi tersebut mengembalikan nilai maksimal
Fungsi Himmelblau adalah salah satu fungsi yang dapat digunakan untuk
mengoptimasi suatu permasalahan. Fungsi ini memiliki sebuah nilai maksimum pada
x = -0.270845, and y = -0.923039 dengan nilai fungsi sebesar f(x,y) = 181.617,
dengan asumsi bahwa rentang minimal dan maksimal dari sebaran titik adalah -2
sampai dengan 2
Grafik fungsi Himmelblau yang normal, atau untuk sebaran titik tak
terbatas adalah sebagai berikut.
Metode ini juga menggunakan
konsep simpleks , yaitu dengan n + 1 titik sudut dalam n dimensi. Contoh simpleks
meliputi ruas garis dalam ruang satu dimensi, segitiga dalam ruang dua dimensi,
Metode ini memperkirakan optimum lokal dari suatu masalah dengan n variabel ketika fungsi objektif bervariasi dengan lancar dan modal Implementasi tipikal meminimalkan fungsi memaksimalkan
.
Misalnya, seorang insinyur
jembatan gantung harus memilih seberapa tebal setiap penopang, kabel, dan
pilar. Elemen-elemen ini saling bergantung, tetapi tidak mudah untuk
memvisualisasikan dampak dari perubahan elemen tertentu. Simulasi struktur
rumit seperti itu sering kali sangat mahal secara komputasi untuk dijalankan,
mungkin memakan waktu berjam-jam per eksekusi. Metode Nelder–Mead memerlukan,
dalam varian asli, tidak lebih dari dua evaluasi per iterasi, kecuali untuk
operasi penyusutan yang dijelaskan
kemudian, yang menarik dibandingkan dengan beberapa metode optimasi pencarian
langsung lainnya. Namun, jumlah keseluruhan iterasi ke optimum yang diusulkan
mungkin tinggi.
Nelder–Mead dalam n dimensi mempertahankan satu set n + 1 titik uji yang
disusun sebagai contoh. Kemudian ia mengekstrapolasi perilaku fungsi
objektif yang diukur pada setiap titik uji untuk menemukan titik uji baru dan
mengganti salah satu titik uji lama dengan yang baru, dan teknik ini pun
berlanjut. Pendekatan yang paling sederhana adalah mengganti titik terburuk
dengan titik yang tercermin melalui pusat n titik yang tersisa .
Jika titik ini lebih baik daripada titik terbaik saat ini, maka kita dapat
mencoba meregangkan secara eksponensial sepanjang garis ini. Di sisi lain, jika
titik baru ini tidak jauh lebih baik daripada nilai sebelumnya, maka kita
melangkah melewati lembah, jadi kita mengecilkan simpleks ke arah titik yang
lebih baik. Penjelasan intuitif tentang algoritme dari "Resep
Numerik".
Metode simpleks menurun kini
mengambil serangkaian langkah, sebagian besar langkah hanya memindahkan titik
simpleks tempat fungsi terbesar ("titik tertinggi") melalui sisi
berlawanan simpleks ke titik yang lebih rendah. Langkah-langkah ini disebut
refleksi, dan dibuat untuk menghemat volume simpleks (dan karenanya
mempertahankan nondegenerasinya). Ketika dapat melakukannya, metode ini
memperluas simpleks ke satu arah atau yang lain untuk mengambil langkah yang
lebih besar. Ketika mencapai "dasar lembah", metode ini berkontraksi
sendiri dalam arah melintang dan mencoba mengalir menuruni lembah. Jika ada
situasi di mana simpleks mencoba "melewati lubang jarum", ia
berkontraksi sendiri ke segala arah, menarik dirinya di sekitar titik terendah
(terbaik).
Berbeda dengan metode optimasi modern, heuristik Nelder–Mead
dapat konvergen ke titik non-stasioner, kecuali jika permasalahan memenuhi
kondisi yang lebih kuat daripada yang diperlukan untuk metode modern. Peningkatan
modern terhadap heuristik Nelder–Mead telah diketahui sejak tahun 1979.
Banyak variasi yang ada tergantung pada sifat sebenarnya dari
masalah yang sedang dipecahkan. Varian umum menggunakan simpleks kecil
berukuran konstan yang secara kasar mengikuti arah gradient, Visualisasikan
segitiga kecil pada peta elevasi yang bergerak naik turun di lembah hingga ke
dasar setempat. Metode ini juga dikenal sebagai metode
polihedron fleksibel . Namun, metode ini cenderung berkinerja buruk
terhadap metode yang dijelaskan dalam artikel ini karena membuat
langkah-langkah kecil yang tidak perlu di area yang kurang diminati.
