메타휴리스틱기법 (Metaheuristic Method)
쉽게 풀면
낯선 도시에서 맛집을 찾을 때 모든 식당을 하나하나 다 가볼 수는 없으니, 사람이 많은 곳을 우선 살펴보거나 평점을 참고하는 등 나름의 경험적 요령을 씁니다. 메타휴리스틱기법도 이와 비슷하게, 모든 경우의 수를 다 따져보는 대신 경험적인 탐색 규칙을 이용해 짧은 시간 안에 충분히 좋은 해를 찾아내는 방법입니다. 유전알고리즘, 타부탐색, 시뮬레이티드 어닐링 등 다양한 구체적 기법들이 이 큰 범주에 속합니다. 문제마다 세부 내용을 바꿔가며 폭넓게 적용할 수 있다는 것이 특징입니다.
왜 중요한가
산업공학에서 다루는 스케줄링, 배치, 경로 설계 같은 문제는 경우의 수가 폭발적으로 늘어나 정확한 최적해를 구하는 데 매우 오랜 시간이 걸리는 경우가 많습니다. 메타휴리스틱기법은 이론적으로 최적임을 완벽히 보장하지는 않지만, 실무에서 요구되는 시간 안에 충분히 실용적인 해를 제공할 수 있어 널리 활용됩니다.
논문에서는 이렇게 쓰입니다
정확한 해를 구하기 어려운 규모가 큰 문제에 경험적 탐색 전략을 적용해 접근했다는 뜻입니다.
완벽한 최적해는 아니더라도 훨씬 빠른 시간에 비슷한 수준의 해를 얻었다는 의미입니다.
조금 더 깊게 보면
메타휴리스틱기법은 크게 하나의 해를 점진적으로 개선해가는 지역탐색 계열(타부탐색, 시뮬레이티드 어닐링 등)과 여러 해로 구성된 집단을 진화시키는 계열(유전알고리즘, 개미군집최적화 등)로 나뉩니다. 대부분의 메타휴리스틱기법은 새로운 해를 시도하는 다양화(exploration)와 좋은 해 주변을 집중적으로 탐색하는 집중화(exploitation) 사이의 균형을 어떻게 맞추느냐가 성능의 핵심입니다.
주의할 점
메타휴리스틱기법이 찾은 해가 이론적으로 전역 최적임을 보장하지는 않으며, 문제 특성에 맞게 파라미터를 조정하지 않으면 성능이 크게 떨어질 수 있습니다.