수학 해결사 분야는 지난 수십 년 동안 엄청난 발전을 이루었습니다. 특히 슬롯 커뮤니티/MIP 솔버는 현재 알고리즘의 지속적인 개선을 전문으로 하는 회사가 크게 장악하고 있습니다. 상업적으로 주도되는 이러한 개선은 그 대가로 성능 향상을 누리는 고객에게 중요합니다. 빅데이터 시대에 이는 고성능 솔버 기술을 사용하여 수백만 달러를 절약할 수 있는 많은 산업에 매우 중요합니다.
업계가 주도하는 LP/MIP 분야와 달리 슬롯 커뮤니티 솔버 기술은 이 분야에서 성공적인 대학 경력을 쌓을 수 있는 학계 연구자들에게 훨씬 더 매력적입니다. 다양한 그룹 간의 경쟁은 우호적이며 많은 발전이 학술 문헌에 발표되어 전체 분야가 발전하게 되었습니다.
GAMS는 일찍부터 슬롯 커뮤니티 기술에도 관심을 갖고 있었습니다. 사실,GAMS / DICOPT은 슬롯 커뮤니티를 해결할 수 있는 최초의 모델링 언어/솔버 조합이었습니다. 우리 팀은 또한 슬롯 커뮤니티 모델의 포괄적인 라이브러리를 구축했습니다.1, 간단한 교과서 예제부터 수천 개의 변수가 있는 대규모 산업 모델에 이르기까지 다양합니다. 이와 함께 연구자들이 라이브러리 모델을 GAMS에서 AMPL, LINGO, LGO 및 MINOPT와 같은 다른 언어로 변환할 수 있는 변환 도구를 출시했습니다. 이 도서관은 "GAMS-World"의 일부였지만 이제는 자체적으로 운영되고 있습니다.https://minlplib.org/그리고 계속해서 현장 사람들에게 귀중한 자원이 되고 있습니다.
올 가을 우리는 학계에서 가장 잘 알려진 슬롯 커뮤니티 해결사 중 일부인 BARON(현재 관리)과 관련된 두 가지 행사를 축하할 기회가 있습니다.최적화 회사) 및SCIP. BARON의 발명가 Nick Sahinidis가 이 분야 발전에 기여한 공로가 올해 10월 2022년 미국 국립공학학회(National Academy of Engineering Class)에 입학함으로써 인정받았습니다. 이 명예는 백신 개발, 재생 에너지 기술, 우주 비행 등 사회에 중요한 다른 분야의 수상자 132명과 공유됩니다. 반면 SCIP 팀은 "Let's SCIP it!"으로 슬롯 커뮤니티의 20주년을 축하했습니다. 11월 초 워크숍. 이를 통해 SCIP 라이선스 조건을 Apache 2.0 라이선스로 변경하여 슬롯 커뮤니티를 완전히 오픈 소스로 만들었습니다.
슬롯 커뮤니티 솔버 성능 향상
현장에서 일하는 사람이라면 누구나 알겠지만, 벤치마크는 귀하가 이룩한 진전을 보여줄 수 있는 좋은 방법입니다. 슬롯 커뮤니티는 매우 일반적인 문제 클래스이므로 실제 문제의 대부분을 적절하게 반영하는 테스트 세트를 찾는 것은 매우 어렵습니다. 따라서 모든 벤치마크 결과는 가볍게 받아들일 필요가 있습니다. 그럼에도 불구하고 벤치마크 세트는 시간 경과에 따른 솔버의 성능 진행 상황을 추적하는 데 적합한 경우가 많습니다.
시간에 따른 BARON 성능 발전
BARON은 1990년대 초에 2,000줄의 GAMS 코드로 시작하여 250,000줄의 고성능 C 및 Fortran 코드로 성장했습니다. 지난 약 20년 동안 87개의 MINLPLib 인스턴스 세트에서 BARON의 성능은 속도가 약 10배, 해결 가능한 문제 수가 3배 향상되었습니다. 아래 Nick Sahinidis의 그림은 시간 경과에 따른 개선 사항을 요약합니다.

그림 1.시간에 따른 BARON 성능의 발전. 2003년부터 2022년까지 평균 속도 증가는 10배, 해결 가능한 문제 수는 3배 증가했습니다. _그림 제공: Nick Sahinidis 교수, The Optimization Firm & Georgia Institute of Technology.
시간 경과에 따른 SCIP 성능 개발
BARON 팀과 유사하게 SCIP 사람들은 코드에 대한 성능 타임라인을 설정했습니다. 이를 위해 v3.0.2(2013년 10월)부터 v8.0.1(2022년 6월)까지 슬롯 커뮤니티를 해결할 수 있는 모든 SCIP 버전에 대해 코드가 다시 컴파일되었으며, 동일한 버전의 CPLEX 및 IPOPT를 각각 LP 및 NLP 하위 해결사로 사용했습니다. 이를 통해 하위 해결 코드에서 SCIP 코드 개발을 분리할 수 있습니다(물론 해당 기간 동안 개선되었습니다).
벤치마킹 실행 결과는 기념일 회의 중 "SCIP: 과거, 현재, 미래" 프레젠테이션에서 다름슈타트 공과대학의 Marc Pfetsch가 발표했습니다(또한 참조https://scipopt.org/20years/). MINLPLib의 벤치마크 세트에서 183개의 슬롯 커뮤니티 모델 인스턴스가 테스트되었습니다. 동일한 하드웨어에서 해결 가능한 모델의 수가 SCIP 3.0.2의 경우 54개에서 SCIP 8.0.1의 경우 108개로 증가했으며 동시에 평균 해결 시간은 3.1배 단축되었습니다.

그림 2.SCIP의 역사적 성능 향상. (위) 모델 런타임의 기하 평균은 성능이 3.1 증가한 것으로 나타났습니다. (하단) 동시에 해결 가능한 사례의 수가 54개에서 108개로 증가했습니다. 그림 제공: 다름슈타트 공대 Marc Pfetsch 교수.
대수적 모델링 언어에 대한 의미 - 또는 슬롯 커뮤니티 독립성이 왜 그렇게 중요한지
GAMS와 같은 대수 모델링 언어(AML)를 사용하면 도메인 전문가가 문제를 간단한 방식으로 공식화하여 해결자에게 전달할 수 있다는 사실 외에도 BARON과 SCIP의 성능 향상은 AML이 오랫동안 최적화 비즈니스에 종사하는 조직에 그토록 귀중한 이유에 대한 추가적인 중요한 이유입니다. 슬롯 커뮤니티 독립성 덕분에 모델 코드를 변경하지 않고도 수년에 걸쳐 얻은 모든 성능 향상을 활용할 수 있습니다. 또한 개발자가 더 이상 이전 슬롯 커뮤니티를 유지 관리하지 않고 새로운 슬롯 커뮤니티가 등장하는 경우(예:옥터랙트), 모델러는 해당 솔버 간에 쉽게 전환할 수 있으며 모델 개발에 투자한 시간이 보호됩니다. ANTIGONE, BARON, Lindo, Octeract 및 SCIP를 포함하여 5개의 글로벌 슬롯 커뮤니티 솔버가 현재 GAMS와 함께 배포되고 있으며 내년에는 FICO Xpress가 합류할 수 있기를 바랍니다.
여기 GAMS에서 우리는 슬롯 커뮤니티 해결사를 중심으로 한 우호적인 커뮤니티에 참여하는 것을 전적으로 즐기고 있으며 궁극적으로 더 나은 알고리즘과 더 해결 가능한 문제로 이어지는 학계의 전형적인 공개 경쟁을 환영합니다.
-
Michael R. Bussieck, Arne Stolbjerg Drud 및 Alexander Meeraus, "MINLPLib - 혼합 정수 비선형 프로그래밍을 위한 테스트 모델 모음", INFORMS Journal on Computing 15, no. 1(2003년 2월): 114–19,https://doi.org/10.1287/ijoc.15.1.114.15159. ↩︎