Setiap hari para insinyur
menghadapi problem yang semakin kompleks yang tersebar dalam beberapa area
aplikasi seperti dalam operations research, desain sistem mekanik, image
processing, problem assignment dan routing komponen. Masalah-masalah yang harus
diselesaikan sering kali harus diformulasikan sebagai masalah optimasi. Apalagi
kalau problem optimasinya mempunyai konstrain, maka parameter-parameter yang
ada harus memenuhi konstrain ini. Banyak sekali permasalahan optimasi dalam
kehidupan sehari-hari yang sulit diselesaikan dengan teknik kalkulus atau
analitik. Pendekatan metaheuristik, sebagai kelanjutan dari heuristik, muncul
karena permasalahan riil yang ada susah diselesaikan dengan teknik yang
berdasarkan kalkulus. Kesulitan bisa dari segi waktu komputasi yang lama, atau
penyelesaian melalui cara analitik tidak bisa dilakukan. Belakangan ini banyak
sekali pendekatan baru yang lahir baik yang masuk dalam evolutionary algorithm
atau bioinspired algorithm atau teknik-teknik lain yang berusaha meniru
fenomena di kasus lain. Diantaranya adalah algoritma genetika, simulated
annealing, tabu search, ant colony, particle swarm optimization dan sebagainya.
Heuristik (heuristics) suatu
teknik yang didesain untuk memecahkan masalah dengan sedikit mengabaikan apakah
solusinya bisa dibuktikan benar, tetapi biasanya menghasilkan solusi yang
bagus, dalam arti optimal mendekati optimal. Heuristik dimaksudkan untuk
mendapatkan hasil yang secara komputasi lebih cepat dengan konsekuensi
mengurangi kepresisian atau akurasi. Jadi kecepatan penghitungan biasanya lebih
baik (dibandingkan optimasi eksak) dengan sedikit mengorbankan akurasi.
Walaupun pada kenyataannya solusinya bisa juga mempunyai akurasi yang tinggi.
Pendekatan heuristik biasanya sangat spesifik untuk problem tertentu. Sehingga,
diperlukan algoritma yang lain untuk problem yang berbeda. Tentu saja ini
kurang menguntungkan.
Metaheuristik adalah metoda untuk
mencari solusi yang memadukan interaksi antara prosedur pencarian lokal dan
strategi yang lebih tinggi untuk menciptakan proses yang mampu keluar dari
titik-titik local optima dan melakukan pencarian di ruang solusi untuk
menemukan solusi global. Metaheuristik (metaheuristics), dalam definisi aslinya,
adalah metoda untuk mencari solusi yang memadukan interaksi antara prosedur
pencarian lokal dan strategi yang lebih tinggi untuk menciptakan proses yang
mampu keluar dari titik-titik local optima dan melakukan pencarian di ruang
solusi untuk menemukan solusi global. Metaheuristik biasanya berupa prosedur
umum yang bisa diterapkan untuk berbagai problem. Tentu saja diperlukan
berbagai modifikasi agar suatu metoda metaheuristik sesuai dapat menyelesaikan masalah
khusus yang dihadapi. Selain itu, dalam metaheuristik ada prosedur yang
memanfaatkan satu atau lebih titik-titik tetangga (neighborhood structures)
sebagai acuan menuju solusi lain. Di dalam metaheuristik biasanya ada heuristik
di dalamnya. Sejalan dengan perkembangannya, metoda ini juga mencakup
penggunaan strategi untuk mengatasi suatu pencarian baru dimana pencarian
sering terjebak dalam local optima dalam suatu ruang solusi yang kompleks.