공부를 끄적끄적/책 리뷰

[리뷰] 제대로 배우는 수학적 최적화: 드디어 제대로된 최적화 책이 나왔다.

공돌이J 2021. 10. 24. 19:47

 

서론

우리는 많은 상황에서 최적화라는 말을 사용합니다. 네비게이션의 최단경로찾기나 프로젝트의 마감을 준수하면서 비용을 최소화, 혹은 인력을 최대로 활용하기위한 일정 계획, 혹은 여러 공장들을 가진 기업에서 물류창고를 짓기 위한 입지 선정 등 많은 최적화 문제들이 존재하고 이를 해결하고자 하는 수요는 항상 존재해왔습니다. 이런 문제들을 해결하기 위해 주어진 제약조건들 하에서 이익이나 비용등을 나타내는 목적함수를 최대/최소화 하는 해를 구하는 것을 수리 계획법, 혹은 수학적 최적화라고 합니다.

위에서 예시로 든 다양한 최적화 문제는 수리 최적화 모델로 나타낼 수 있고, 수학적인 속성이나 문제를 해결하기 위한 알고리즘 설계를 통해 최적, 혹은 최적에 가까운 해를 찾아낼 수 있습니다. 특히, 많은 분들이 딥러닝을 접하며 한번쯤 들으셨을 경사하강법(gradient descent) 또한 손실 함수를 최소화 하기 위한 파라미터(해)를 찾기 위해 기울기라는 수학적 속성을 이용하여 해를 찾아 나가는 최적화 문제를 풀기위한 알고리즘입니다.

이 책의 내용

수리적 최적화를 공부하는 입장에서 이 책은 대학원, 혹은 산업공학과 4학년 전공교재로 사용해도 좋을 것 같다는 생각이 들 정도로 알차게 구성되어 있습니다. 책의 두께가 생각보다 얇아서 많은 내용을 얕게 다루지 않을까 걱정했는데, 그 생각이 기우일 정도로 한장한장 가득 채워 내용이 담겨있습니다.

이 책에서는 산업공학, 컴퓨터공학을 전공하며 한번씩 들어보았을 선형계획법 문제부터 비선형 계획법, 정수 계획법, 조합 최적화 등의 주제를 다루고, 그 안에서 각 문제의 수학적 특성과 문제를 해결할 수 있는 알고리즘에 대해서 소개하고 있습니다. 그 뿐만 아니라 후반부에서는 메타휴리스틱 기법까지도 다루며 독자들에게 최적화 문제를 풀 수 있는 직관적이고 검증된 방법론에 대해서 설명합니다.

이 책을 읽으며 여러 점이 인상깊었는데, 첫 번째로 선형 계획법 문제를 해결할 때 많이 사용되는 심플렉스 알고리즘(단체법)을 표가 아닌 수리적 특성을 기반으로 설명해 준다는 것입니다. 많은 경영 과학 수업에서 이 알고리즘을 간략하게 배우거나 표를 이용하여 푸는 방법을 배우게 되는데, 표 기반의 심플렉스 알고리즘은 좋은 프레임워크이기는 하나 그 이론적 배경을 모두 이해하지 않고 단순히 행렬의 기본행 연산만 수행하는 꼴이 되는 경우가 많습니다. 심플렉스 알고리즘의 수학적 배경까지 모두 설명하면서 알고리즘을 만들어가는 부분이 있다는 점에서 대학 교재로 사용되는 책들보다 훨씬 더 훌륭하다고 느껴졌습니다.

두 번째로 인상깊었던 점은 비선형 계획법에 있었습니다. 비선형 계획법에서 반드시 알아야 할 볼록 집합, 볼록 함수, 그리고 subgradient와 semidefinite이라는 개념을 소개하고 이를 하나로 연결시키는 부분에서 간결하면서 필요한 정리와 증명을 통해 풀어나가는 스토리텔링이 아주 좋다고 느껴졌습니다. 적당한 난이도와 적절한 수준의 내용으로 필요한 개념을 이해시키는 것이 매우 어려운 일인데도 매끄럽게 잘 풀어나가는 점이 인상깊었습니다.

아쉬운점

열심히 latex 작업하셨을 역자님과 편집자님께는 죄송하지만, 수식에 오탈자가 타 책에 비해 많아 보였습니다. 타 책에 비해 압도적으로 많은 수식이 있기도 하고 전공자이기 때문에 꼼꼼히 보기도 해서 그럴 수 있지만, 수식으로 풀어나가는 이야기가 많은 책이기에 조금 아쉬움이 남았습니다.

그리고 설루션이라는 번역이 조금 어색하다고 느껴졌습니다. 흔하게 쓰이는 '솔루션', 혹은 '해'로 표기해도 되지 않았을까 하는 생각이 들었습니다.

대상 독자

최적화를 조금 더 깊게 공부하고 싶은 산업공학과 전공자들에게 먼저 추천하고 싶습니다. 수학적인 내용이 많기 때문에 비 공학 출신 분들에게 권하기는 조금 어려울 것 같고 미적분학, 선형대수 강의를 수강하고 선형계획법에 대해서 공부한 적 있는 분들이 본다면, 수업에서 배웠던 내용보다 조금 더 넓은 세계를 볼 수 있는 지도가 되지 않을까 생각됩니다.

딥러닝에 관심이 많아 이 책을 보려고 하시는 분들은 비선형 계획법과 책 중간중간에 등장하는 최적화에 관련된 이론들(KKT 조건 등)이 도움이 되실 것 같습니다. 최적화 관점에서 보자면, 딥러닝의 파라미터를 찾는 방법도 최적화 문제이기 때문에 기존과는 조금 다른 관점에서 딥러닝을 살펴보실 수 있는 기회가 될 것 같습니다.

또한 정수 계획법과 조합 최적화 부분은 잘 알려진 외판원 문제(TSP)나 최단 경로 문제도 다루고 있을 뿐 아니라 동적 계획법이나 크루스컬 알고리즘 등 관련된 알고리즘도 다루고 있기 때문에 컴퓨터 공학이나 알고리즘을 공부하시는 분들에게도 참고하기 좋은 내용들이 많이 있습니다.

추천합니다

  • 산업공학에서 최적화에 대해 더 공부하고 싶으신 분
  • 딥러닝을 최적화 관점에서 바라보고 싶으신 분
  • 알고리즘 등에 대해 공부하고 싶으신 분

추천하지 않습니다

  • 미적분학, 선형대수학에 대한 이해가 부족한 분
  • 수리적인 내용이 싫으신 분

사설

수학적 최적화를 다루는 괜찮은 책이 없어서 제가 하나 써볼까 라는 생각을 했었는데, 그 생각을 접게 만들 정도로 잘 써진 책입니다. 출간되었다는 소식을 듣고 꼭 읽어보고 싶었는데, 좋은 기회에 책을 읽어볼 수 있게 되어 너무 좋았습니다. 만약 관심이 있고 함께 스터디를 하고 싶으신 분들은 댓글 남겨주시면 다음에 같이 공부해 봐도 좋을 것 같습니다.

 

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."