메타휴리스틱기법 (Metaheuristic Method)

산업공학
한 줄 정의: 특정 문제에 국한되지 않고 다양한 최적화 문제에 적용할 수 있는, 경험적 탐색 규칙에 기반한 상위 수준의 해 탐색 전략을 말합니다.

쉽게 풀면

낯선 도시에서 맛집을 찾을 때 모든 식당을 하나하나 다 가볼 수는 없으니, 사람이 많은 곳을 우선 살펴보거나 평점을 참고하는 등 나름의 경험적 요령을 씁니다. 메타휴리스틱기법도 이와 비슷하게, 모든 경우의 수를 다 따져보는 대신 경험적인 탐색 규칙을 이용해 짧은 시간 안에 충분히 좋은 해를 찾아내는 방법입니다. 유전알고리즘, 타부탐색, 시뮬레이티드 어닐링 등 다양한 구체적 기법들이 이 큰 범주에 속합니다. 문제마다 세부 내용을 바꿔가며 폭넓게 적용할 수 있다는 것이 특징입니다.

왜 중요한가

산업공학에서 다루는 스케줄링, 배치, 경로 설계 같은 문제는 경우의 수가 폭발적으로 늘어나 정확한 최적해를 구하는 데 매우 오랜 시간이 걸리는 경우가 많습니다. 메타휴리스틱기법은 이론적으로 최적임을 완벽히 보장하지는 않지만, 실무에서 요구되는 시간 안에 충분히 실용적인 해를 제공할 수 있어 널리 활용됩니다.

논문에서는 이렇게 쓰입니다

"본 연구에서는 대규모 조합 최적화 문제를 해결하기 위해 메타휴리스틱기법을 설계하였다."

정확한 해를 구하기 어려운 규모가 큰 문제에 경험적 탐색 전략을 적용해 접근했다는 뜻입니다.

"제안한 메타휴리스틱기법은 기존 정확해법 대비 짧은 계산시간에 근접한 해를 제공하였다."

완벽한 최적해는 아니더라도 훨씬 빠른 시간에 비슷한 수준의 해를 얻었다는 의미입니다.

조금 더 깊게 보면

메타휴리스틱기법은 크게 하나의 해를 점진적으로 개선해가는 지역탐색 계열(타부탐색, 시뮬레이티드 어닐링 등)과 여러 해로 구성된 집단을 진화시키는 계열(유전알고리즘, 개미군집최적화 등)로 나뉩니다. 대부분의 메타휴리스틱기법은 새로운 해를 시도하는 다양화(exploration)와 좋은 해 주변을 집중적으로 탐색하는 집중화(exploitation) 사이의 균형을 어떻게 맞추느냐가 성능의 핵심입니다.

주의할 점

메타휴리스틱기법이 찾은 해가 이론적으로 전역 최적임을 보장하지는 않으며, 문제 특성에 맞게 파라미터를 조정하지 않으면 성능이 크게 떨어질 수 있습니다.

관련 용어