최적화 소프트웨어 비교

Comparison of optimization software

시스템 출력 값에 집합을 변화시키고, 수학적 함수 f에 설명된 점을 감안하면 최적화 alternatives,[1]의 체계적으로 허용된 집합 내에서 함수의 값을 계산, 그리고 가장 좋은 값 기록 입력 값을 선택하여 어떤 집합에서 모두 즐거운 해결책의 발생과 선택을 말한다.항의라도und가 처리됩니다.이 일반적인 프레임워크에서는 많은 현실적 및 이론적 문제를 모델링할 수 있습니다.예를 들어 입력은 모터의 설계 파라미터, 출력은 전력소비, 입력은 비즈니스 선택이 되어 얻은 이익이 될 수 있으며, 입력은 물리 시스템의 구성을 기술할 수 있으며 출력은 그 에너지가 될 수 있다.

최적화 문제는 다음과 같이 나타낼 수 있습니다.

주어진 함수 f : A { (일부 집합 A에서 실수까지)
검색: A의 모든 x에 대해 f(x0) f f(x)가 되도록 A요소0 x를 검색합니다("최소화").

전형적으로, A유클리드 공간n R의 일부 부분 집합이며, 종종 A의 구성원들이 만족시켜야 하는 제약, 등식 또는 부등식의 집합으로 지정된다.함수에 마이너스 1을 곱하면 최대화를 최소화할 수 있습니다.

최적화 소프트웨어를 사용하려면 함수 f가 적절한 프로그래밍 언어로 정의되고 최적화 소프트웨어에 링크되어야 합니다.최적화 소프트웨어는 A에서 입력 값을 전달하고 소프트웨어 모듈은 f가 계산된 f(x)를 전달함을 인식합니다.이것에 의해, 다른 최적화 소프트웨어 모듈을 같은 기능 f로 간단하게 테스트할 수 있거나, 소정의 최적화 소프트웨어를 다른 기능 f로 사용할 수 있는 등, 명확한 관심의 분리를 얻을 수 있다.

다음 표는 상당한 최적화 범위를 가진 전문 라이브러리 또는 범용 라이브러리 중 하나에서 주목할 만한 최적화 소프트웨어 라이브러리를 비교한 것입니다.

이름. 언어 최신 안정판 학술/비상업
이용은 무료입니다.
사용 가능
독자 사양의 앱
면허증. 메모들
알러지 C++, C#, FreePascal, VBA 3.8.0 / 2013년8월 네. 네. 듀얼(상용, GPL) 범용 라이브러리. 최적화 패키지를 포함합니다.
앰프 C, C++, C#, Python, Java, Matlab, R 2018년 10월 네. 네. 듀얼(상업용, 학술용) 선형, 혼합 정수 및 비선형 최적화에 널리 사용되는 대수 모델링 언어입니다.코스 버전 학생 및 AMPR은 무료로 이용하실 수 있습니다.
AP 모니터 Fortran, C++, Python, Matlab, Julia 0.6.2 / 2016년 3월 네. 네. 듀얼(상업용, 학술용) 혼합 정수 및 비선형 최적화를 위한 미분 및 대수 모델링 언어입니다.Matlab, Python 및 Julia에서 무료로 사용할 수 있는 인터페이스입니다.
아르텔리스 니트로 C, C++, C#, Python, Java, Julia, Matlab, R 11.1 / 2018년 11월 아니요. 네. 상업, 학술, 트라이얼 비선형 최적화에 특화된 범용 라이브러리.MINLP(Mixed-integer Problems) 및 MPEC(균형 제약 조건)를 포함한 수학 프로그램을 처리합니다.비선형 최소 제곱 문제에 대한 특수 알고리즘입니다.
컴플렉스 C, C++, Java, C#, Python, R 20.1 / 2020년 12월 네. 네. 상업, 학술, 시험 IBM CPLEX Optimization Studio는 최적화 엔진(수학적 프로그래밍을 위한 CP PLEX 및 제약 조건을 위한 CP Optimizer 프로그래밍), 모델링 언어(OPL) 및 통합 개발 환경의 제품군입니다.
피코 엑스프레스 Mosel, BCL, C, C++, Java, R, Python, Matlab, .Net, VB6 8.13 / 2021년 11월 네. 네. 상업, 학술, 커뮤니티, 시험 최적화 테크놀로지 및 솔루션 스위트.내용:(LP(Simplex & Barrier), MIP, MIQP, MIQCQP, MISOCP, MINLP QP, QQP, SOCP, NLP(SLP & Interior Point) 등의 해결사 테크놀로지대수 모델링 및 절차 프로그래밍 언어, 통합 개발 환경, 다양한 실행 서비스 지원, 최적화 모델 및 서비스 소프트웨어 솔루션 패키지 지원
겟코 파이썬 0.2.8 / 2020년8월 네. 네. 듀얼(상업용, 학술용) GEKKO는 기계 학습 및 혼합 정수 및 미분 대수 방정식의 최적화를 위한 Python 패키지입니다.선형, 2차, 비선형 및 혼합 정수 프로그래밍(LP, QP, NLP, MILP, MINLP)을 위한 대규모 솔버와 결합됩니다.동작 모드에는 파라미터 회귀, 데이터 조정, 실시간 최적화, 동적 시뮬레이션 및 비선형 예측 제어가 포함됩니다.
GNU 선형 프로그래밍 키트 C 4.52 / 2013년 7월 네. 아니요. GPL 선형 프로그래밍(LP) 및 혼합 정수 프로그래밍(MIP)을 위한 무료 라이브러리.
GNU 과학 라이브러리 C 1.16 / 2013년 7월 네. 아니요. GPL GNU 프로젝트에서 제공하는 무료 라이브러리입니다.
IMSL 수치 라이브러리 C, Java, C#, Fortran, Python 많은 컴포넌트 아니요. 네. 독자 사양
라이온솔러 C++, Java 2.0.198 / 2011년 10월 네. 네. 독자 사양 인터랙티브 및 학습 최적화 지원

RSO 원칙에 따라.[2]

산술 커널 라이브러리(MKL) C++, Fortran 11.1 / 2013년 10월 아니요. 네. 독자 사양 인텔의 수치 라이브러리.MKL은 선형대수에 특화되어 있습니다.
에는 최적화 관련 기능이 포함되어 있습니다.
울프람 매스매티카 C++, 울프램 언어 13.1.0 (2022년 6월 29일, 22일 전 (2022-06-29) [±][3] 아니요. 네. 독자 사양 제약된 비선형 최적화, 내부 포인트 방법, 볼록 최적화 및 정수 프로그래밍 및 일반 계산 기능과 통합된 독창적인 기호 방법.
미다코 C++, C#, Python, Matlab, Octab, Fortran, R, Java, Excel, VBA, Julia 6.0 / 2018년 3월 네. 네. 듀얼(상업용, 학술용) 단일 및 다목적 최적화를 위한 경량 소프트웨어 도구입니다.MINLP 및 병렬화 지원
NAG 수치 라이브러리 C, 포트란 마크 26 / 2017년 10월 아니요. 네. 독자 사양
NMath C# 5.3 / 2013년 5월 아니요. 네. 독자 사양 MKL 위에 구축된 C# 수치 라이브러리.
옥터랙트 엔진 C++/Python 0.11.29 / 2019년 11월 아니요. 네. 상업의 일반적인 MINLP 문제에 대한 슈퍼컴퓨팅 결정론적 글로벌 최적화 해결사.Octeract 엔진은 분산 계산에 MPI를 사용합니다.
옵타플래너 자바 8.0.0.최종 / 2020년 11월 네. 네. ASL(오픈소스) JPA-Hibernate, Quarkus, Spring, Jackson, JAXB 등의 통합 모듈을 옵션으로 탑재한 Java의 경량 최적화 솔버.코틀린과 스칼라에게도 효과가 있습니다.
SciPy 파이썬 0.13.1 / 2013년 11월 네. 네. BSD Python용 범용 수치 및 과학 컴퓨팅 라이브러리.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "수학 프로그래밍의 본질", 수학 프로그래밍 용어집, INFOMS Computing Society.
  2. ^ Battiti, Roberto; Mauro Brunato; Franco Mascia (2008). Reactive Search and Intelligent Optimization. Springer Verlag. ISBN 978-0-387-09623-0.
  3. ^ "Mathematica Quick Revision History". Retrieved 2022-06-29.

외부 링크