Metaheuristik
Dalam bidang Ilmu Komputer dan Optimasi Matematika, metaheuristik didefinisikan sebagai suatu prosedur tingkat tinggi atau pendekatan heuristik yang dirancang agar dapat menemukan, menghasilkan, mengoptimalkan, atau memilih suatu heuristik (algoritma pencarian parsial) yang dapat memberikan solusi yang memadai terhadap suatu permasalahan optimasi atau pembelajaran mesin. Khususnya, metaheuristik berguna ketika terdapat keterbatasan informasi atau ketidaksempuraan data, atau dengan kapasitas komputasi yang terbatas. Metaheuristik memungkinkan pengambilan sampel dari subkumpulan solusi yang memungkinkan dievaluasi secara efisien.Metaheuristik juga diharapkan dapat membuat asumsi dengan jumlah yang relatif sedikit terkait masalah optimasi yang sedang dipecahkan, sehingga dapat digunakan untuk berbagai jenis permasalahan.
Jika dibandingkan dengan algoritma optimasi dan algoritma iteratif, metaheuristik tidak dapat menjamin ditemukannya solusi optimal yang berlaku secara global pada beberapa jenis permasalahan. Hal ini disebabkan oleh banyaknya metode metaheuristik yang menerapkan optimasi stokastik, sehingga solusi yang ditemukan bergantung pada himpunan variabel acak yang dihasilkan. Dalam optimasi kombinatorial, suatu algoritma mencari solusi di dalam himpunan besar yang berisi kandidat-kandidat solusi. Dalam kasus ini, metaheuristik sering kali dapat menemukan solusi yang baik dengan usaha komputasi yang lebih sedikit dibandingkan algoritma optimasi, metode iteratif, atau heuristik sederhana. Oleh karena itu, pendekatan metaheuristik ini berguna untuk masalah optimasi. Beberapa buku dan makalah survei telah diterbitkan mengenai masalah ini. Terkait dengan awal penciptaannya, literatur tentang optimasi metaheuristik, [1] mengemukakan bahwa Fred Glover-lah yang menciptakan kata metaheuristik. [2]
Kebanyakan literatur terkait metaheuristik bersifat eksperimental, menggambarkan hasil empiris berdasarkan eksperimen komputer dengan algoritma yang diteliti. Namun, terdapat juga beberapa hasil teoretis formal terkait hal ini yang sering kali mengenai konvergensi dan sejauh mana kemungkinan algoritma tersebut mampu menemukan optimal global. Banyak metode metaheuristik telah diterbitkan dengan klaim kebaruan dan kemanjuran praktis. Meskipun bidang ini juga menampilkan penelitian berkualitas tinggi, banyak publikasi yang berkualitas buruk. Hal ini disebabkan karena ketidakjelasan, kurangnya elaborasi konseptual, eksperimen yang buruk, dan minimnya pengetahuan terhadap literatur sebelumnya. [3]
Sifat-sifat
Ini adalah sifat-sifat yang menjadi ciri sebagian besar metaheuristik:
- Metaheuristik adalah strategi yang memandu proses pencarian.
- Tujuannya adalah untuk mengeksplorasi ruang pencarian secara efisien untuk menemukan solusi yang mendekati optimal.
- Teknik yang membentuk algoritma metaheuristik berkisar dari prosedur pencarian lokal yang sederhana hingga proses pembelajaran yang kompleks.
- Algoritma metaheuristik bersifat perkiraan dan biasanya non-deterministik.
- Metaheuristik tidak spesifik terhadap suatu masalah.
Klasifikasi
Terdapat berbagai macam metaheuristik dan sejumlah properti yang dapat digunakan untuk mengklasifikasikannya.
Pencarian lokal vs. pencarian global
Pendekatan pertama untuk mengklasifikasikan algoritma metaheurstik adalah dari sisi strategi pencarian yang digunakan. Salah satu jenis strategi pencarian adalah perbaikan terhadap algoritma pencarian lokal yang bersifat sederhana. Salah satu algoritma pencarian lokal yang terkenal adalah metode hill climbing yang digunakan untuk mencari solusi optimum lokal. Namun, algoritma tersebut tidak dapat menjamin ditemukannya solusi optimal global.
Banyak ide-ide metode metaheuristik yang diajukan untuk meningkatkan heuristik pencarian lokal guna menemukan solusi yang lebih baik. Metaheuristik tersebut mencakup simulated annealing, tabu search, iterated local search, variable neighborhood search, dan GRASP. Metide-metdode metaheuristik ini dapat diklasifikasikan sebagai metaheuristik berbasis pencarian lokal atau pencarian global.
Metaheuristik pencarian global lainnya yang tidak berbasis pencarian lokal biasanya adalah metaheuristik berbasis populasi . Metaheuristik tersebut meliputi optimasi koloni semut, komputasi evolusioner seperti algoritma genetika atauevolution strategy, particle swarm optimization, rider optimization algorithm [5] dan algoritma bacterial foraging. [6]
Solusi tunggal vs. berbasis populasi
Metode klasifikasi lainnya adalah pencarian solusi tunggal atau berbasis populasi. Pendekatan solusi tunggal fokus terhadap modifikasi dan meningkatkan kualitas kandidat solusi tunggal. Pendekatan ini mencakup simulated annnealing, iterated local search, variable neighborhood search, dan guided local search. Sedangkan untuk pendekatan berbasis populasi, metode ini mempertahankan dan meningkatkan banyak kandidat solusi, sering kali menggunakan karakteristik populasi untuk memandu proses pencarian, metaheuristik yang menggunakan pendekatan ini mencakup komputasi evolusioner dan particle swarm optimization. Kategori metaheuristik lainnya adalah kecerdasan gerombolan atau swarm intelligence yang merupakan perilaku kolektif dari agen-agen yang terdesentralisasi dan terorganisir sendiri dalam suatu populasi atau gerombolan. Optimasi koloni semut, [7] particle swarm optimization, social cognitive optimization, dan algoritma bacterial foraging [6] adalah contoh dari kategori ini.
Algoritma hibridisasi dan memetika
Metaheuristik hibrid adalah metode yang menggabungkan metaheuristik dengan pendekatan optimasi lainnya, seperti algoritma pemrograman matematika, constraint programming, dan pembelajaran mesin. Kedua komponen metaheuristik hibrid dapat berjalan secara bersamaan dan dapat bertukar informasi untuk memandu proses pencarian.
Di sisi lain, algoritma Memetika adalah metode metaheuristik yang merepresentasikan sinergi pendekatan evolusioner atau pendekatan berbasis populasi dengan pembelajaran individu yang terpisah atau prosedur perbaikan lokal untuk pencarian solusi di suatu masalah. Contoh algoritma memetik adalah penggunaan algoritma pencarian lokal sebagai pengganti atau tambahan operator mutasi dasar di dalam algoritma evolusioner.
Metaheuristik paralel
Metaheuristik paralel adalah metode metaheuristik yang menggunakan teknik-teknik pemrograman paralel untuk menjalankan beberapa pencarian metaheuristik secara paralel; ini dapat berkisar dari skema terdistribusi sederhana hingga pencarian yang dilakukan secara bersamaan yang berinteraksi untuk meningkatkan solusi secara keseluruhan.
Metaheuristik yang terinspirasi dari alam dan berbasis metafora
Bidang penelitian yang sangat aktif di bidang ini adalah desain metaheuristik yang terinspirasi dari alam. Banyak metaheuristik terkini, khususnya algoritma berbasis komputasi evolusioner, terinspirasi oleh sistem alam. Dengan pendekatan ini, alam bertindak sebagai sumber konsep, mekanisme, dan prinsip untuk merancang sistem komputasi buatan untuk menangani masalah komputasi yang kompleks. Metaheuristik yang menggunakan pendekatan ini mencakup simulated annealing, algoritma evolusioner, optimasi koloni semut dan particle swarm optimization. Sejumlah besar metaheuristik yang terinspirasi dari metafora baru-baru ini mulai menarik kritik dari komunitas riset karena menyembunyikan kurangnya kebaruan di balik metafora yang rumit.[3]
Aplikasi
Metaheuristik adalah pendekatan yang digunakan untuk menyelesaikan berbagai jenis masalah optimasi, termasuk masalah yang melibatkan variabel kontinu, variabel bilangan bulat, atau kombinasi keduanya. Dalam konteks optimasi kombinatorial, fokusnya adalah pada pencarian solusi optimal di dalam ruang pencarian yang terdiri dari pilihan diskrit. Sebagai contoh, kita dapat mempertimbangkan permasalahan penjual keliling, di mana kita mencari rute terbaik untuk mengunjungi sejumlah lokasi dengan efisiensi maksimal. Masalah ini menunjukkan karakteristik di mana jumlah kemungkinan solusi tumbuh secara eksponensial seiring dengan bertambahnya ukuran masalah. Dengan kata lain, mencari solusi optimal dengan memeriksa setiap kemungkinan secara menyeluruh menjadi tidak mungkin atau tidak efisien seiring pertambahan kompleksitas masalah. Selain itu, masalah kombinatorial multidimensi, termasuk sebagian besar masalah desain di bidang teknik [8] [9] [10] di mana mencari bentuk atau perilaku optimal melibatkan ruang pencarian yang sangat besar sehinga mengalami kutukan dimensi, yang juga membuatnya tidak layak untuk pencarian mendalam atau metode analitis.
Metaheuristik juga sering digunakan untuk menyelesaikan masalah penjadwalan, di mana salah satu contoh klasiknya adalah penjadwalan job shop. Penjadwalan job shop melibatkan penentuan urutan langkah kerja untuk setiap pekerjaan di stasiun pemrosesan sedemikian rupa sehingga semua pekerjaan diselesaikan tepat waktu dan dalam waktu sesingkat mungkin. [11] [12]Dalam praktiknya, seringkali terdapat pembatasan seperti batasan urutan langkah kerja melalui alur kerja yang telah ditentukan, [13] atau keterbatasan terkait pemanfaatan sumber daya, misalnya, dalam hal penggunaan energi. [14] [15] Metaheuristik populer untuk masalah kombinatorial termasuk algoritma genetika oleh Holland et al., scatter search, dan tabu search oleh Glover.
Penerapan besar lainnya dari metaheuristik terjadi dalam tugas pengoptimalan di ruang pencarian bilangan bulat kontinu atau campuran. Terdapat berbagai aplikasi di bidang optimasi desain [16] [17] [18] atau berbagai tugas teknik. [19] [20] [21] Salah satu contoh yang mencakup kedua aspek ini adalah perencanaan jalur gerak yang optimal untuk robot industri. [22] [23]
Kerangka Optimasi Metaheuristik
Kerangka Optimasi Metaheuristik atau Metaheuristic Optimization Frameworks (MOF) dapat didefinisikan sebagai ''seperangkat perangkat lunak yang menyediakan implementasi yang benar dan dapat digunakan kembali dari serangkaian metaheuristik, dan mekanisme-mekanisme dasar untuk mempercepat implementasi heuristik bawahan (mungkin termasuk pengkodean solusi dan operator teknik tertentu), yang diperlukan untuk menyelesaikan suatu masalah tertentu dengan menggunakan teknik yang telah disediakan''.
Terdapat banyak kandidat alat optimzasi yang dapat dianggap sebagai MOF dengan berbagai macam fitur: Comet, EvA2, evolvica, Evolutionary::Algorithm, GAPlayground, jaga, JCLEC, JGAP, jMetal, n-genes, Open Beagle, Opt4j, ParadisEO/EO, Pisa, Watchmaker, FOM, Hypercube, HotFrame, Templar, EasyLocal, iOpt, OptQuest, JDEAL, Optimization Algorithm Toolkit, HeuristicLab, MAFRA, Localizer, GALIB, DREAM, Discropt, MALLBA, MAGMA, Metaheuristics.jl, UOF, dan OptaPlanner.
Kontribusi
Beberapa kontribusi paling signifikan di bidang metaheuristik mencakup pengembangan berbagai algoritma dan pendekatan yang telah memberikan dampak besar pada penyelesaian masalah optimasi yang kompleks. Berikut adalah beberapa kontribusi signifikan di bidang ini:
- 1952: Pekerjaan Robbins dan Monro dalam metode optimasi stokastik.
- 1954: Barricelli melakukan simulasi pertama dari proses evolusi dan menggunakannya pada masalah optimasi umum.
- 1963: Rastrigin mengusulkan pencarian acak atau random search.
- 1965: Matyas mengusulkan optimasi acak (random optimization).
- 1965: Nelder dan Mead mengusulkan heuristik simpleks, yang kemudian ditunjukkan oleh Powell bahwa algoritma tersebut dapat konvergen ke titik-titik non-stasioner pada beberapa masalah.
- 1965: Ingo Rechenberg menemukan algoritma Strategi Evolusi yang pertama.
- 1966: Fogel dkk. mengusulkan pemrograman evolusioner .
- 1970: Hastings mengusulkan algoritma Metropolis–Hastings .
- 1970: Cavicchio mengusulkan adaptasi parameter kontrol untuk pengoptimalisasi.
- 1970: Kernighan dan Lin mengusulkan metode partisi grafik, terkait dengan pencarian kedalaman variabel dan pencarian berbasis larangan (tabu) .
- 1975: Holland mengusulkan algoritma genetika .
- 1977: Glover mengusulkan scatter search
- 1978: Mercer dan Sampson mengusulkan metaplan untuk menyetel parameter pengoptimal dengan menggunakan pengoptimal lain.
- 1980: Smith mengemukakan genetic programming.
- 1983: Kirkpatrick dkk. mengusulkan simulated annealing.
- 1986: Glover mengusulkan tabu search, penyebutan pertama istilah metaheuristik .
- 1989: Moscato mengusulkan algoritma memetika .
- 1990: Moscato dan Fontanari, [24] dan Dueck dan Scheuer, [25] secara independen mengusulkan aturan pembaruan deterministik untuk simulated annealing yang dapat mempercepat proses pencarian. Hal ini menyebabkan penentuan ambang batas penerimaan suatu metaheuristik.
- 1992: Dorigo memperkenalkan optimasi koloni semut dalam tesis PhD-nya. [7]
- 1995: Wolpert dan Macready membuktikan teorema no free lunch .
Lihat juga
- Pencarian stokastik
- Optimasi meta
- Meteuristik
- Hiper-heuristik
- Kecerdasan gerombolan
- Algoritma evolusioner dan khususnya algoritma genetika, genetic programming, atau<i>evolution strategies</i> .
- Simulated annealing
- Pemodelan tenaga kerja
Referensi
- ^ X. S. Yang, Metaheuristic optimization, Scholarpedia, 6(8):11472 (2011).
- ^ Glover F., (1986).
- ^ a b Sörensen, Kenneth (2015). "Metaheuristics—the metaphor exposed" (PDF). International Transactions in Operational Research. 22: 3–18. doi:10.1111/itor.12001. Diarsipkan dari versi asli (PDF) tanggal 2013-11-02.
- ^ Classification of metaheuristics
- ^ D, Binu (2019). "RideNN: A New Rider Optimization Algorithm-Based Neural Network for Fault Diagnosis in Analog Circuits". IEEE Transactions on Instrumentation and Measurement. 68 (1): 2–26. Bibcode:2019ITIM...68....2B. doi:10.1109/TIM.2018.2836058.
- ^ a b Pang, Shinsiong; Chen, Mu-Chen (2023-06-01). "Optimize railway crew scheduling by using modified bacterial foraging algorithm". Computers & Industrial Engineering (dalam bahasa Inggris). 180: 109218. doi:10.1016/j.cie.2023.109218. ISSN 0360-8352.
- ^ a b M. Dorigo, Optimization, Learning and Natural Algorithms, PhD thesis, Politecnico di Milano, Italie, 1992.
- ^ Tomoiagă B, Chindriş M, Sumper A, Sudria-Andreu A, Villafafila-Robles R. Pareto Optimal Reconfiguration of Power Distribution Systems Using a Genetic Algorithm Based on NSGA-II.
- ^ Ganesan, T.; Elamvazuthi, I.; Ku Shaari, Ku Zilati; Vasant, P. (2013-03-01). "Swarm intelligence and gravitational search algorithm for multi-objective optimization of synthesis gas production". Applied Energy. 103: 368–374. doi:10.1016/j.apenergy.2012.09.059.
- ^ Ganesan, T.; Elamvazuthi, I.; Vasant, P. (2011-11-01). "Evolutionary normal-boundary intersection (ENBI) method for multi-objective optimization of green sand mould system". 2011 IEEE International Conference on Control System, Computing and Engineering. hlm. 86–91. doi:10.1109/ICCSCE.2011.6190501. ISBN 978-1-4577-1642-3.
- ^ Jarboui, Bassem; Siarry, Patrick; Teghem, Jacques, ed. (2013). Metaheuristics for production scheduling. Automation - control and industrial engineering series. London: ISTE. ISBN 978-1-84821-497-2.
- ^ Xhafa, Fatos; Abraham, Ajith, ed. (2008). Metaheuristics for Scheduling in Industrial and Manufacturing Applications. Studies in Computational Intelligence (dalam bahasa Inggris). 128. Berlin, Heidelberg: Springer Berlin Heidelberg. doi:10.1007/978-3-540-78985-7. ISBN 978-3-540-78984-0.
- ^ Jakob, Wilfried; Strack, Sylvia; Quinte, Alexander; Bengel, Günther; Stucky, Karl-Uwe; Süß, Wolfgang (2013-04-22). "Fast Rescheduling of Multiple Workflows to Constrained Heterogeneous Resources Using Multi-Criteria Memetic Computing". Algorithms (dalam bahasa Inggris). 6 (2): 245–277. doi:10.3390/a6020245. ISSN 1999-4893.
- ^ Kizilay, Damla; Tasgetiren, M. Fatih; Pan, Quan-Ke; Süer, Gürsel (2019). "An Ensemble of Meta-Heuristics for the Energy-Efficient Blocking Flowshop Scheduling Problem". Procedia Manufacturing (dalam bahasa Inggris). 39: 1177–1184. doi:10.1016/j.promfg.2020.01.352.
- ^ Grosch, Benedikt; Weitzel, Timm; Panten, Niklas; Abele, Eberhard (2019). "A metaheuristic for energy adaptive production scheduling with multiple energy carriers and its implementation in a real production system". Procedia CIRP (dalam bahasa Inggris). 80: 203–208. doi:10.1016/j.procir.2019.01.043.
- ^ Gupta, Shubham; Abderazek, Hammoudi; Yıldız, Betül Sultan; Yildiz, Ali Riza; Mirjalili, Seyedali; Sait, Sadiq M. (2021). "Comparison of metaheuristic optimization algorithms for solving constrained mechanical design optimization problems". Expert Systems with Applications (dalam bahasa Inggris). 183: 115351. doi:10.1016/j.eswa.2021.115351.
- ^ Quinte, Alexander; Jakob, Wilfried; Scherer, Klaus-Peter; Eggert, Horst (2002), Laudon, Matthew, ed., "Optimization of a Micro Actuator Plate Using Evolutionary Algorithms and Simulation Based on Discrete Element Methods", International Conference on Modeling and Simulation of Microsystems: MSM 2002, Cambridge, Mass: Computational Publications: 192–197, ISBN 978-0-9708275-7-9
- ^ Parmee, I. C. (1997), Dasgupta, Dipankar; Michalewicz, Zbigniew, ed., "Strategies for the Integration of Evolutionary/Adaptive Search with the Engineering Design Process", Evolutionary Algorithms in Engineering Applications (dalam bahasa Inggris), Berlin, Heidelberg: Springer: 453–477, doi:10.1007/978-3-662-03423-1_25, ISBN 978-3-642-08282-5, diakses tanggal 2023-07-17
- ^ Valadi, Jayaraman; Siarry, Patrick, ed. (2014). Applications of Metaheuristics in Process Engineering (dalam bahasa Inggris). Cham: Springer International Publishing. doi:10.1007/978-3-319-06508-3. ISBN 978-3-319-06507-6.
- ^ Sanchez, Ernesto; Squillero, Giovanni; Tonda, Alberto (2012). Industrial Applications of Evolutionary Algorithms. Intelligent Systems Reference Library (dalam bahasa Inggris). 34. Berlin, Heidelberg: Springer. doi:10.1007/978-3-642-27467-1. ISBN 978-3-642-27466-4.
- ^ Akan, Taymaz; Anter, Ahmed M.; Etaner-Uyar, A. Şima; Oliva, Diego, ed. (2023). Engineering Applications of Modern Metaheuristics. Studies in Computational Intelligence (dalam bahasa Inggris). 1069. Cham: Springer International Publishing. doi:10.1007/978-3-031-16832-1. ISBN 978-3-031-16831-4.
- ^ Blume, Christian (2000), Cagnoni, Stefano, ed., "Optimized Collision Free Robot Move Statement Generation by the Evolutionary Software GLEAM", Real-World Applications of Evolutionary Computing, Lecture Notes in Computer Science (dalam bahasa Inggris), Berlin, Heidelberg: Springer, 1803: 330–341, doi:10.1007/3-540-45561-2_32, ISBN 978-3-540-67353-8, diakses tanggal 2023-07-17
- ^ Pholdee, Nantiwat; Bureerat, Sujin (2018-12-14), "Multiobjective Trajectory Planning of a 6D Robot based on Multiobjective Meta Heuristic Search", International Conference on Network, Communication and Computing (ICNCC 2018) (dalam bahasa Inggris), ACM: 352–356, doi:10.1145/3301326.3301356, ISBN 978-1-4503-6553-6
- ^ Moscato, P.; Fontanari, J.F. (1990), "Stochastic versus deterministic update in simulated annealing", Physics Letters A, 146 (4): 204–208, Bibcode:1990PhLA..146..204M, doi:10.1016/0375-9601(90)90166-L
- ^ Dueck, G.; Scheuer, T. (1990), "Threshold accepting: A general purpose optimization algorithm appearing superior to simulated annealing", Journal of Computational Physics, 90 (1): 161–175, Bibcode:1990JCoPh..90..161D, doi:10.1016/0021-9991(90)90201-B, ISSN 0021-9991
Bacaan lebih lanjut
- Sörensen, Kenneth; Sevaux, Marc; Glover, Fred (2017-01-16). "A History of Metaheuristics" (PDF). Dalam Martí, Rafael; Panos, Pardalos; Resende, Mauricio. Handbook of Heuristics. Springer. ISBN 978-3-319-07123-7.
- Ashish Sharma (2022), Nature Inspired Algorithms with Randomized Hypercomputational Perspective. Information Sciences. https://doi.org/10.1016/j.ins.2022.05.020.
Tautan eksternal
- "Metaheuristics". Scholarpedia.
- EU/ME forum for researchers in the field.