- 생산 계획·승무원 배치·차량 경로처럼 정수 단위 결정이 필요한 최적화 문제에서, Victor Reis와 Thomas Rothvoss가 ILP 실행 시간을 크게 줄이는 새 알고리듬을 제시함
- ILP는 일반 선형 프로그래밍보다 까다롭고, 1980년대 이후에는 기록적인 개선이 거의 없었기 때문에 이번 결과가 수십 년 만의 큰 진전으로 받아들여짐
- 새 접근은 격자와 볼록체의 교차를 다루는 기하학적 도구를 결합해 가능한 정수 해의 범위를 더 강하게 좁힘
- 핵심은 2016년 격자점 관련 결과를 활용해 covering radius의 상한을 낮춘 데 있으며, 실행 시간은 ((\log n)^{O(n)}) 수준까지 줄어듦
- 아직 실제 물류 시스템에 바로 적용된 것은 아니지만, ILP의 이론적 속도 한계에 거의 근접한 결과로 실무 솔버 개선의 장기적 방향을 보여줌
정수 제약이 최적화를 어렵게 만드는 이유
- 여행하는 세일즈맨 문제는 여러 도시를 지나는 최단 경로를 찾는 오래된 계산 문제이며, 가능한 경로를 모두 확인하면 도시 수가 조금만 늘어도 감당하기 어려움
- 선형 프로그래밍은 방정식과 부등식으로 가능한 조합을 체계적으로 다루는 수학적 모델임
- 현실의 최적화 문제에서는 소수점 답이 쓸모없는 경우가 많음
- 공장 최적화 계획에서 500.7개의 소파를 생산하라는 답은 실제 결정으로 쓰기 어려움
- 정수 선형 프로그래밍(ILP) 은 이런 정수 제약이 있는 선형 프로그래밍 변형이며, 생산 계획, 항공사 승무원 일정, 차량 경로 지정 같은 이산적 결정 문제에 널리 쓰임
- Santosh Vempala는 ILP를 이론과 실무 양쪽의 운영 연구에서 핵심 도구로 봄
1980년대 이후 느리게 개선된 속도 한계
- ILP는 60여 년 전 정식화된 뒤 여러 알고리듬이 나왔지만, 필요한 단계 수 기준으로는 여전히 느린 편이었음
- 가장 단순한 기준점은 변수가 0 또는 1만 가질 수 있는 이진 변수 경우임
- 변수 1개는 가능한 조합 2개
- 변수 2개는 4개
- 변수 3개는 8개
- 일반적으로 실행 시간은 변수 수, 즉 차원에 대해 지수적으로 증가함
- 변수가 0과 1을 넘어 더 넓은 정수 값을 가질 수 있으면 실행 시간이 훨씬 더 길어짐
- 연구자들은 일반 ILP를 이 단순한 이진 경우의 속도에 더 가깝게 만들 수 있는지 오랫동안 탐구해 왔음
- 1980년대 기록 이후에는 점진적 개선만 이어짐
Lenstra가 연 기하학적 해석
- 1983년 Hendrik Lenstra는 일반 ILP 문제가 풀 수 있음을 증명하고, 이를 위한 첫 알고리듬을 제시함
- Lenstra는 ILP를 기하학적 문제로 바꿔 다룸
- ILP의 부등식은 볼록한 도형, 즉 볼록체(convex body) 로 표현됨
- 도형 내부는 부등식을 만족할 수 있는 모든 가능한 값에 대응함
- 변수 2개 문제는 평면 다각형, 변수 3개 문제는 3차원 입체처럼 차원이 늘어남
- 모든 정수는 수학적으로 격자(lattice) 의 점으로 볼 수 있음
- 2차원에서는 점들의 바다처럼 보임
- 3차원에서는 건물 철골이 만나는 지점 같은 구조가 됨
- 결국 ILP를 푸는 일은 볼록체와 격자의 교차, 즉 가능한 해가 정수점과 만나는 위치를 찾는 문제가 됨
- Lenstra의 알고리듬은 이 공간을 탐색할 수 있었지만, 효율을 위해 문제를 더 낮은 차원의 조각으로 나눠야 하는 경우가 있었고 이 과정이 실행 시간을 늘림
covering radius가 만든 30년 병목
- 1988년 Ravi Kannan과 László Lovász는 오류 정정 코드 연구에서 가져온 covering radius 개념으로 볼록체와 격자의 교차를 더 효율적으로 다루려 함
- covering radius는 볼록체를 격자 위 어디에 놓아도 적어도 하나의 정수점을 포함하도록 보장하는 크기와 관련됨
- 이 값의 크기가 ILP 문제를 얼마나 효율적으로 풀 수 있는지를 좌우함
- 이상적인 covering radius의 크기를 알아내는 일 자체가 어려운 문제였음
- Kannan과 Lovász는 가능한 값을 상한과 하한으로 좁혔고, 상한이 차원에 대해 선형적으로 커진다는 것을 보임
- 이 결과만으로는 ILP 실행 시간을 크게 줄이기에 부족했고, 이후 30년 동안 개선 폭은 제한적이었음
Reis와 Rothvoss의 새 알고리듬
- Victor Reis와 Thomas Rothvoss는 격자에 초점을 둔 별도의 수학 결과를 활용해 돌파구를 만듦
- 2016년 Oded Regev와 Noah Stephens-Davidowitz는 특정 도형 안에 격자점이 얼마나 들어갈 수 있는지를 보임
- Reis와 Rothvoss는 이 결과를 다른 도형들에 적용해 ILP의 covering radius 안에 포함되는 격자점 수를 더 잘 추정함
- 이 추정으로 상한이 낮아졌고, 전체 ILP 알고리듬 실행 시간이 크게 줄어듦
- 새 실행 시간은 ((\log n)^{O(n)})이며, 여기서 (n)은 변수 수이고 (O(n))은 (n)에 선형적으로 비례함
- 이 표현은 이진 변수 문제의 실행 시간과 “거의” 같은 수준으로 간주됨
이론적 성과와 실제 적용의 거리
- Noah Stephens-Davidowitz는 새 알고리듬을 거의 40년 만의 첫 주요 ILP 솔버 개선으로 봄
- Daniel Dadush는 이 결과를 수학, 컴퓨터 과학, 기하학의 교차점에서 나온 성과로 평가함
- 새 알고리듬은 아직 실제 물류 문제를 푸는 데 사용되지 않았음
- 현재 프로그램을 이 방식에 맞게 업데이트하려면 많은 작업이 필요함
- Rothvoss는 이번 결과의 초점이 근본적 응용을 가진 문제에 대한 이론적 이해에 있다고 봄
- ILP 계산 효율이 더 좋아질 가능성은 남아 있지만, Vempala는 이상적 실행 시간에 더 가까워지려면 근본적으로 새로운 아이디어가 필요하다고 봄