# 최적화를 위한 알고리듬 [PDF 이북, 621p]

> Clean Markdown view of GeekNews topic #24757. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=24757](https://news.hada.io/topic?id=24757)
- GeekNews Markdown: [https://news.hada.io/topic/24757.md](https://news.hada.io/topic/24757.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-12-02T01:33:23+09:00
- Updated: 2025-12-02T01:33:23+09:00
- Original source: [algorithmsbook.com](https://algorithmsbook.com/optimization/files/optimization.pdf)
- Points: 82
- Comments: 4

## Summary

MIT Press가 공개한 621쪽짜리 오픈 교재로 **수학적 최적화의 원리와 알고리듬 전반**을 체계적으로 정리한, 말 그대로 ‘최적화의 백과사전’입니다. **그래디언트 기반 1·2차 방법**부터 **확률적·진화적 탐색 기법**, **제약 조건과 이중성**까지 실제 연구와 산업 응용에 필요한 수학적 구조를 폭넓게 다룹니다. 특히 **자동 미분, Adam, ADMM** 등 현대 머신러닝과 직접 맞닿은 주제들이 깔끔히 정리되어 있어, 알고리듬의 근본을 다시 짚고 싶은 개발자나 연구자에게 훌륭한 참고서가 됩니다.

## Topic Body

- **수학적 최적화의 원리와 알고리듬 전반**을 체계적으로 다루는 교재로, 연속·이산 문제 모두를 포괄  
- **도함수 기반 기법**부터 **확률적·진화적 방법**까지 다양한 접근법을 단계적으로 설명  
- **제약 조건, 이중성, 선형·이차 프로그래밍** 등 실제 응용에 필요한 수학적 구조를 포함  
- 각 장마다 **요약과 연습문제**를 제공해 학습과 실습을 병행할 수 있도록 구성  
- **MIT Press의 오픈 라이선스(CC BY-NC-ND)** 로 배포  
  
---  
  
### 서문 및 개요  
- 이 책은 **최적화 문제 해결을 위한 알고리듬의 이론과 구현**을 다루는 교재로, 2판으로 출간  
  - 저자는 Mykel J. Kochenderfer와 Tim A. Wheeler  
  - MIT Press에서 발행, **Creative Commons 비상업적·변경금지 라이선스**로 공개  
- 서문과 감사의 글 이후, 13개 장으로 구성되어 있음  
- 각 장은 **핵심 개념, 요약, 연습문제**로 구성되어 학습 중심 구조를 유지  
  
### 1장. 서론  
- 최적화의 **역사, 과정, 수학적 정식화, 응용 분야**를 소개  
- **극값(minima)** 과 **최적성 조건(optimality conditions)** 을 설명  
- 전체 책의 **개요와 요약, 연습문제** 포함  
  
### 2장. 도함수와 그래디언트  
- **단일 및 다변수 도함수**의 정의와 계산 방법 설명  
- **수치 미분(numerical differentiation)** 과 **자동 미분(automatic differentiation)** 기법 포함  
- **회귀 그래디언트**와 **확률적 근사 기법(SPSA)** 다룸  
  
### 3장. 브래킷팅(Bracketing)  
- **단봉성(unimodality)** 개념과 **초기 구간 찾기** 절차 설명  
- **피보나치 탐색, 황금분할 탐색, 이차 근사 탐색** 등 구간 기반 알고리듬 수록  
- **Shubert-Piyavskii** 및 **이분법(bisection)** 방법 포함  
  
### 4장. 지역 하강(Local Descent)  
- **하강 방향 반복(descent direction iteration)** 과 **스텝 크기(step factor)** 개념 설명  
- **선 탐색(line search)** 및 **근사 선 탐색** 기법 포함  
- **신뢰 영역(trust region)** 접근법과 **종료 조건** 다룸  
  
### 5장. 1차 방법(First-Order Methods)  
- **그래디언트 하강법, 공액 그래디언트, 모멘텀, Nesterov 모멘텀** 등 주요 기법 포함  
- **AdaGrad, RMSProp, Adadelta, Adam, Hypergradient Descent** 등 현대적 최적화 알고리듬 수록  
- 각 방법의 **특징과 비교 요약** 제공  
  
### 6장. 2차 방법(Second-Order Methods)  
- **뉴턴법(Newton’s Method)** 과 **할선법(Secant Method)** 설명  
- **Levenberg-Marquardt 알고리듬** 및 **준-뉴턴(Quasi-Newton)** 방법 포함  
- **요약과 연습문제**로 마무리  
  
### 7장. 직접 방법(Direct Methods)  
- **좌표 탐색, Powell, Hooke-Jeeves, 패턴 탐색, Nelder-Mead 단순스 방법** 등 소개  
- **분할 사각형(Divided Rectangles)** 기법 포함  
- **비도함수 기반 최적화** 접근법 중심  
  
### 8장. 확률적 방법(Stochastic Methods)  
- **노이즈 하강, 메쉬 적응 탐색, 무도함수 최적화** 등 확률적 접근법 다룸  
- **시뮬레이티드 어닐링, 교차 엔트로피, 자연 진화 전략, 공분산 행렬 적응(CMA)** 포함  
- **확률 기반 탐색의 효율성**을 강조  
  
### 9장. 집단 기반 방법(Population Methods)  
- **유전 알고리듬, 차분 진화, 입자 군집 최적화(PSO)** 등 집단 탐색 기법 설명  
- **Firefly, Cuckoo Search, 하이브리드 방법** 포함  
- **집단 반복(population iteration)** 구조로 문제 해결  
  
### 10장. 제약 조건(Constraints)  
- **제약 최적화(constrained optimization)** 의 기본 개념과 제약 유형 설명  
- **라그랑주 승수법, 슬랙 변수, 패널티 및 내부점(interior point) 방법** 포함  
- **제약 제거 변환(transformations)** 과 **다중자 방법(method of multipliers)** 다룸  
  
### 11장. 이중성(Duality)  
- **이중 문제(dual problem)** 와 **원-이중(primal-dual) 방법** 설명  
- **이중 상승(dual ascent)** 및 **ADMM(Alternating Direction Method of Multipliers)** 포함  
- **분산 최적화(distributed methods)** 응용 다룸  
  
### 12장. 선형 프로그래밍(Linear Programming)  
- **문제 정식화, 심플렉스 알고리듬(Simplex Algorithm)** , **이중 증명(dual certificates)** 설명  
- **선형 제약 조건 하의 최적화 구조**를 체계적으로 제시  
  
### 13장. 이차 프로그래밍(Quadratic Programming)  
- **이차 목적 함수와 선형 제약 조건**을 포함한 문제 정식화  
- **최소제곱(least squares)** 문제와 **선형 부등식 제약** 다룸  
- **최단 거리 프로그래밍(least distance programming)** 포함  
  
### 부록 및 기타 정보  
- 각 장 말미에 **요약과 연습문제** 수록  
- **MIT Press**가 2025년판으로 발행, **비상업적 공유 허용(CC BY-NC-ND)**  
- **LaTeX 기반 조판**, 문의는 bugs@algorithmsbook.com 으로 안내

## Comments



### Comment 47081

- Author: plorrr
- Created: 2025-12-02T19:05:26+09:00
- Points: 1

지금은 접근이 안되네요ㅠ

### Comment 47101

- Author: slimeyslime
- Created: 2025-12-03T09:26:55+09:00
- Points: 2
- Parent comment: 47081
- Depth: 1

https://algorithmsbook.com/optimization/#download  
지금은 링크가 조금 바뀌었는지, 여기에서 PDF를 보거나 다운받을 수 있네요.

### Comment 47115

- Author: plorrr
- Created: 2025-12-03T11:29:05+09:00
- Points: 1
- Parent comment: 47101
- Depth: 2

감사합니다!!

### Comment 47053

- Author: neo
- Created: 2025-12-02T01:33:24+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=46101492) 
- HN 메인에 **최적화(optimization)** 주제가 올라온 게 반가움  
  내가 만든 [LP 시각화 사이트](https://lpviz.net)를 소개하고 싶음. 선형계획법(Linear Programming) 알고리즘이 제약 조건이나 목적함수가 바뀔 때 어떻게 반응하는지를 시각적으로 볼 수 있음  
  [데모 페이지](https://lpviz.net/?demo)에 들어가면 다각형이 자동으로 그려지고, 꼭짓점이나 제약선을 드래그하면서 알고리즘의 반복(iteration)을 관찰할 수 있음  
  아직 완성도는 높지 않지만, **시각적 학습**을 좋아하는 사람이라면 재미있게 쓸 수 있을 것 같음. 피드백 환영함
  - 정말 **멋진 프로젝트**라고 생각함  

- **메타휴리스틱(metaheuristics)** 관련 자료를 공유하고 싶음  
  - [Essentials of Metaheuristics](https://cs.gmu.edu/~sean/book/metaheuristics/) (Sean Luke)  
  - [Clever Algorithms](https://cleveralgorithms.com/) (Jason Brownlee)  
  내가 일하는 Timefold에서는 이 책들에 나오는 Tabu Search, Simulated Annealing 같은 알고리즘을 활용해 **근사 최적해**를 빠르게 찾음  
  Timefold 문서의 [로컬 서치 알고리즘 다이어그램](https://docs.timefold.ai/timefold-solver/latest/optimization-algorithms/local-search)도 참고할 만함
  - Timefold가 흥미로워 보임. 혹시 [InfoBax](https://willieneis.github.io/bax-website/) 같은 프로젝트도 살펴본 적 있는지 궁금함  

- 521쪽짜리 **CC 라이선스 최적화 교재**인데 정말 훌륭해 보임  
  초반에는 자동미분 기반의 최신 **gradient-based 알고리즘**(예: Adam)을 다루고, 후반부(12장)는 선형최적화(simplex 등)를 다룸  
  연습문제도 많고, 내가 오래 기다리던 바로 그런 책이었음  
  최적화 알고리즘은 단순히 문제를 푸는 게 아니라, “**일반 문제 해결기**”를 향한 시도라고 생각함. 프로그램이 해답을 직접 찾는 대신, ‘해답이 어떤 형태일지’를 정의하고 그 위에 최적화를 적용하는 방식임  
  현재 AI도 이런 접근을 기반으로 하고 있음
  - 완전한 일반 문제 해결기는 불가능하다는 **no free lunch 정리**를 떠올리게 함  

- Kochenderfer의 이 책과 이전 저서 *Decision Making Under Uncertainty*([PDF](https://web.stanford.edu/group/sisl/public/dmu.pdf))는 내가 가장 좋아하는 기술서 중 하나임  
  설명이 명확하고 시각화가 훌륭하며, **gradient descent 외의 다양한 최적화 사고방식**을 다룸  
  코드가 Julia로 되어 있지만, 다른 언어로 옮기기 어렵지 않음. 언어에 얽매이지 말고 개념에 집중해야 함  
  최적화는 단순한 테크닉이 아니라, **어려운 문제를 푸는 사고방식** 자체임
  - 실용적인 문제 해결에도 off-the-shelf **solver**를 활용하면 좋음. 예를 들어 문제를 MILP나 SMT로 재구성하면 빠르게 기준 성능을 얻을 수 있음. 명세와 계산을 분리하는 사고를 배울 수 있음  
  - 최적화 학습을 위해 다른 추천 자료가 있는지 궁금함. 나는 업무에서 **multi-armed bandit**을 자주 쓰는데, 다른 알고리즘도 탐색해보고 싶음  
  - Kochenderfer의 다른 교재 목록은 [공식 사이트](https://mykel.kochenderfer.com/textbooks/)에서 볼 수 있음  
  - Julia 예제 코드는 **LLM으로 자동 변환**해도 됨  

- 이 책은 **CMA-ES, surrogate model, Gaussian process** 등을 한 권에 다루는 드문 자료임  
  학부 연구 시절 이런 책이 있었다면 정말 도움이 되었을 것 같음. 예전엔 관련 내용이 여러 논문과 책에 흩어져 있었음  

- 박사과정 때 이 책을 여러 번 정독했음. **신경망과 수치해석**을 연구했는데, 깊이와 폭의 균형이 잘 잡혀 있음  
  지금도 참고서로 자주 활용함  

- 책에 **Firefly, Cuckoo Search** 같은 메타휴리스틱이 포함된 걸 보고 놀람  
  이 알고리즘들은 학계에서 신뢰받지 못하고, [ITOR 논문](https://onlinelibrary.wiley.com/doi/abs/10.1111/itor.12001)에서도 비판받았음  
  이런 방식만 연구하는 소규모 커뮤니티가 서로 인용하며 버블을 형성하고 있음. 학회에서도 종종 논란이 됨  

- **다목적 최적화(multiobjective optimization)** 챕터가 훌륭했음  
  이 주제에 집중한 다른 책이나 자료가 있는지 궁금함  

- 이 책과 **Nocedal & Wright의 Numerical Optimization**을 비교해줄 수 있는지 궁금함  
  - 이 책은 여러 방법을 **백과사전식으로 폭넓게** 다루지만, 실용적 사용법은 깊게 다루지 않음. 반면 Nocedal & Wright는 대학원 수준의 교재로, 소수의 핵심 알고리즘을 깊이 있게 설명함. 예를 들어 Interior Point Method는 이 책에선 2~3쪽 요약이지만, Nocedal & Wright에서는 한 챕터(약 25쪽)를 할애함  
  - 다음엔 책 제목(**Numerical Optimization**, Jorge Nocedal & Stephen J. Wright)을 먼저 언급해주면 좋겠음
