제대로 배우는 수학적 최적화
수학적 최적화는 주어진 제약조건 아래 목적 함숫값을 최소(또는 최대)로 만드는 최적화 문제를 이용하여 현실 사회에서 의사결정이나 문제 해결을 실현하는 수단이다.
'알고리즘과 데이터 구조', '미적분', '선형대수'와 같은 컴퓨터 과학과 수학적 지식을 전제로 하고 있으며, (생략)
이 책은 "최적화"라는 단어에 끌려서 선택하게 되었다. 그리고 간과하지 못한 사실은 그 앞에 "수학적"이라는 단어가 따라온다는 것이다.
중등 교육 과정에 있던 수학과 대학에서 선형대수(행렬, 벡터)를 배운 부분을 제외하면 나는 수학과 거리가 아주 멀다. 선수 지식으로 요구하는 미적분은 배운 적도 없을뿐더러, 시간 복잡도를 표기할 때 나오는 log조차 문외한이라 매번 찾아본다. 갑자기 고해성사하는 이유가 무엇인가 함은, 이 책이 나 같은 수포자에게 쉬운 책은 절대 아니라는 사실을 말하기 위해서다.
책은 네 개의 챕터와 부록으로 연습 문제가 구성되어 있다.
- 수학적 최적화 입문
- 선형 계획
- 비선형 계획
- 정수 계획과 조합 최적화
미적분과 선형 대수를 학습하지 않은 사람은 3장 '비선형 학습' 쪽이 수학적 최적화 입문에 낫다는 소개가 있어 3장을 먼저 읽고, 그나마 익숙한 단어들이 있는 4장을 읽었다.
3.1 에서는 비선형 계획 문제의 예로 시설 배치 문제, 원 채우기 문제, 포트폴리오 선택 문제 등을 제시한다. 그중에 시설 배치 문제의 정의는 다음과 같다.
어떤 기업은 n 곳의 점포 개점에 맞춰, 배송 센터 설치를 검토하고 있다. 이때 어떤 장소에 배송 센터를 배치하면 좋을 것인가?
다른 챕터에서도 마찬가지로 도입부에 제시하는 문제들은 대체로 현실 세계에서 일어나는(혹은 일어날법한) 문제들을 제시한다. 그래서 수학은 잘 모르지만, 와닿지 않는 수학 문제를 툭 던지는 것보다 흥미롭게 읽을 수 있었다. (XXX 쉽다는 얘기 절대 아님 XXX)
문제 소개, 풀이 과정, 알고리즘 설명 형식으로 내용이 구성되어 있으며, 모든 챕터의 마지막에는 배운 내용을 연습할 수 있는 연습 문제가 제공된다. 아쉬운 점을 꼽자면 번역에서 Solution을 설루션으로 번역한 부분이 어색하다는 정도?
책의 내용은 좋은데 초라한 수학적 지식이 발목을 잡아서 아쉬움이 남는다.
딥러닝같이 최적화가 필요한 분야나, 알고리즘을 수학적으로 깊게 접근하고 싶은 사람에게 추천하고 싶다.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.