[논문 리뷰] Solving Mixed Integer Programs Using Neural Networks
이 논문은 Neural Diving과 Neural Branching을 도입하여 MIP 솔버를 보강하고, 그래프 신경망으로 프라이멀 휴리스틱과 분기 정책을 학습함으로써 대규모 실제 데이터와 MIPLIB 데이터셋에서 SCIP에 비해 큰 개선을 달성한다.
Mixed Integer Programming (MIP) solvers rely on an array of sophisticated heuristics developed with decades of research to solve large-scale MIP instances encountered in practice. Machine learning offers to automatically construct better heuristics from data by exploiting shared structure among instances in the data. This paper applies learning to the two key sub-tasks of a MIP solver, generating a high-quality joint variable assignment, and bounding the gap in objective value between that assignment and an optimal one. Our approach constructs two corresponding neural network-based components, Neural Diving and Neural Branching, to use in a base MIP solver such as SCIP. Neural Diving learns a deep neural network to generate multiple partial assignments for its integer variables, and the resulting smaller MIPs for un-assigned variables are solved with SCIP to construct high quality joint assignments. Neural Branching learns a deep neural network to make variable selection decisions in branch-and-bound to bound the objective value gap with a small tree. This is done by imitating a new variant of Full Strong Branching we propose that scales to large instances using GPUs. We evaluate our approach on six diverse real-world datasets, including two Google production datasets and MIPLIB, by training separate neural networks on each. Most instances in all the datasets combined have $10^3-10^6$ variables and constraints after presolve, which is significantly larger than previous learning approaches. Comparing solvers with respect to primal-dual gap averaged over a held-out set of instances, the learning-augmented SCIP is 2x to 10x better on all datasets except one on which it is $10^5$x better, at large time limits. To the best of our knowledge, ours is the first learning approach to demonstrate such large improvements over SCIP on both large-scale real-world application datasets and MIPLIB.
연구 동기 및 목표
- 대규모 MIP 해결에 사용할 휴리스틱을 자동으로 구성하기 위해 머신러닝의 활용을 동기로 제시한다.
- 프라이멀 실행 가능성과 분기 의사결정을 개선하기 위해 Neural Diving과 Neural Branching라는 두 개의 신경 구성 요소를 개발한다.
- 학습된 휴리스틱을 SCIP에 통합하여 특정 데이터셋에 맞춘 Neural Solver를 형성한다.
- 대규모 실제 데이터 및 MIPLIB 데이터셋에서 평가하여 Tuned SCIP에 비해 성능 향상을 입증한다.
제안 방법
- 변수와 제약 조건에 대한 노드와 제약 계수로 가중치가 부여된 간선으로 MIP를 이분 그래프로 표현한다.
- 그래프 컨볼루션 네트워크(GCN)를 사용하여 각 노드 임베딩을 생성하고 이를 두 작업의 신경 예측기에 feeding되도록 한다.
- Neural Diving은 SCIP가 해결하는 더 작은 하위 MIP들을 정의하는 부분 변수 할당 생성을 학습하여 고품질의 결합 할당을 얻도록 한다.
- Neural Branching은 GPU 지원 ADMM 기반 접근법으로 Full Strong Branching을 근사하여 가지치기에서 변수 선택을 위한 확장 가능한 모방 정책을 학습한다.
- 데이터셋 특정 MIP에서 Neural Diving과 Neural Branching을 학습하고 이를 SCIP에 통합하여 Neural Solver를 구성한다.
- 여러 대형 MIP 데이터셋의 보류된 인스턴스에서 프라이멀-듀얼 갭 및 생존 곡선을 사용해 평가한다.
실험 결과
연구 질문
- RQ1학습 기반 구성 요소가 SCIP와 같은 최첨단 솔버에 통합될 때 MIP 해결의 품질과 속도를 향상시킬 수 있는가?
- RQ2프라이멀 휴리스틱 생성용 하나와 분기 정책용 하나의 두 신경 구성 요소가 조정된 기준선보다 누적 개선으로 이어지는가?
- RQ3이 신경 모델들이 대형 실제 MIPs 및 MIPLIB와 같은 이질적 데이터셋에 얼마나 잘 확장되는가?
- RQ4ADMM를 이용한 GPU 기반의 Strong Branching 모방이 분기 의사결정을 위한 확장 가능하고 효과적인 학습 데이터를 제공하는가?
- RQ5다양한 응용 분야에서 결합된 Neural Solver가 표준 SCIP과 경쟁력이 있거나 우수한가?
주요 결과
- Neural Solver는 가장 큰 다섯 개 데이터셋 중 네 개에서 Tuned SCIP보다 프라이멀-듀얼 갭이 현저히 작게 나타난다.
- Neural Branching은 네 개의 데이터셋에서 보류 인스턴스에 대해 큰 시간 한도에서 평균 이중 갭이 2~20배 더 우수하다.
- Neural Diving은 여러 데이터셋에서 평균 프라이멀 갭이 약 1%에 근접하고, 대형 인스턴스에서 Tuned SCIP보다 3–10배 빠를 수 있다.
- 두 데이터셋에서 Neural Diving만으로도 1% 프라이멀 갭에 더 빨리 도달했다.
- MIPLIB 오픈 인스턴스에서 세 건의 새로운 최적 해를 찾아 상용 솔버를 능가했다.
- 결합된 Neural Solver는 가장 작거나 가장 어려운 다섯 번째 데이터셋에서 SCIP와 대등한 성능을 보여 다양한 경우에 대해 경쟁력이 있음을 입증한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.