Search

Heuristic vs. Metaheuristic vs. Linear Programming 비교

가끔 최적화 문제를 어떻게 풀었는지 로직을 설명해 달라는 요청을 받을 때가 있습니다.
아마도 질문했던 분들은 휴리스틱으로 문제를 풀었다고 가정하고 질문을 했을 것이라고 생각됩니다.
cf) DB Query or If-Then 로직 등
일반적으로 휴리스틱으로 문제를 해결한 경우 대략적인 로직 설명은 가능하지만,
메타휴리스틱이나 선형계획법을 활용해 문제를 해결하는 경우에는
로직?을 설명하기 보다는 최적화 문제를 해결하는 일반적인 방법을 설명하게 됩니다.
방법
설명
장점
단점
Heuristic
직관적, 경험 기반 규칙을 적용
빠르고 간단함. 특정 문제에서 매우 효율적일 수 있음.
일반화가 어려우며, 최적해 보장이 없음
Metaheuristic
다양한 문제에 적용 가능한 최적화 방법
다양한 문제에 적용 가능. 전역 최적해를 찾을 가능성이 높음
계산 비용이 많이 들고(시간이 오래 걸리고), 최적해 보장이 없음
Linear Programming
선형 구조의 문제를 수학적으로 최적화
최적해를 보장하며, 상업용 도구로 잘 지원됨
문제 구조가 선형이어야만 적용 가능. 비선형 문제에 어려움
위의 방법 외에도 추가로 강화학습 (Reinforcement Learning) 으로 최적화 문제를 풀기 위해서 공부를 하고 있습니다.
시간이 생길때 마다 조금씩 강화학습 내용도 업데이트 하겠습니다.