MathOpt란 무엇인가요?

MathOpt는 선형 프로그래밍 문제 (LP) 또는 혼합 정수 프로그래밍 문제 (MIP)와 같은 수학적 최적화 문제를 모델링하고 해결하기 위한 라이브러리입니다. MathOpt는 모델링과 해결 방법을 분리하므로 사용자가 enum (및 빌드 종속 항목)을 변경하여 솔버를 선택하여 솔루션 메서드 간에 전환할 수 있습니다.

2023 JuMP 컨퍼런스 프레젠테이션의 MathOpt에 관한 간략한 소개를 이 동영상에서 확인해 보세요.

MathOpt 기능

MathOpt 모델에는 다음이 포함될 수 있습니다.

  • 정수 또는 연속 변수
  • 선형 또는 이차 제약 조건
  • 선형 또는 이차 목표
  • 여러 계층적 목표
  • 특수 MIP 제약 조건 (SOS, 표시기, 추가 예정)
  • 일부 원뿔 제약 조건 (2차 원뿔, 추가 예정)

모델은 솔버와 독립적으로 정의되며 솔버는 서로 바꿔서 사용할 수 있습니다. MathOpt는 다음과 같은 솔버를 지원합니다.

MathOpt는 최적화 모델을 빌드할 수 있도록 C++ 및 Python으로 클라이언트 라이브러리를 제공합니다.

MathOpt는 다음과 같은 여러 고급 기능을 지원합니다.

  • 타당성 분석 (Unreducible Infeasible Set 또는 IIS), Gurobi 전용
  • 증분 해결
  • 콜백
  • 이중성
  • 프라이멀/듀얼 광선
  • 차선책 및 이중 솔루션
  • 변수 및 제약조건 삭제
  • 웜 스타트 (솔루션 또는 기준)
  • 상세 해지 사유
  • 분기 우선순위
  • 중단
  • 다수의 문제 해결사 독립 매개변수