본문으로 이동

CPLEX

위키백과, 우리 모두의 백과사전.
CPLEX
개발자IBM
안정화 버전
22.1.2[1]
종류기술 컴퓨팅
라이선스사유
웹사이트www.ibm.com/analytics/cplex-optimizer

IBM ILOG CPLEX Optimization Studio는 흔히 단순히 CPLEX라 불리는 IBM수학적 최적화 소프트웨어 패키지이다.

역사

[편집]

CPLEX 옵티마이저는 C 프로그래밍 언어로 구현된 단순법의 이름을 따서 명명되었다. 그러나 오늘날에는 다른 종류의 수학적 최적화도 지원하며 C 외의 인터페이스도 제공한다. 이 소프트웨어는 원래 로버트 E. 빅스비가 개발하여 1988년 CPLEX Optimization Inc.에서 상업적으로 판매했다. 이 회사는 1997년 ILOG에 인수되었고, ILOG는 2009년 1월 IBM에 인수되었다.[2] CPLEX는 IBM에 의해 계속해서 활발하게 개발되고 있다.

기능

[편집]

IBM ILOG CPLEX 옵티마이저는 정수 계획법 문제, 매우 큰[3] 선형 계획법 문제를 단순법의 원시 또는 이중 변형 또는 장벽 내점법을 사용하여 해결하며, 볼록 및 비볼록 2차 계획법 문제, 그리고 볼록 2차 제약 문제(SOCP, 2차 원뿔 계획법을 통해 해결)를 해결한다.

CPLEX 옵티마이저에는 C++, C 샤프, 자바 언어에 대한 인터페이스를 제공하는 Concert라는 모델링 계층이 있다. C 인터페이스를 기반으로 하는 파이썬 언어 인터페이스도 있다. 마지막으로, 디버깅 및 기타 목적을 위해 독립 실행형 대화형 옵티마이저 실행 파일이 제공된다.

CPLEX 옵티마이저는 AIMMS, AMPL, 일반 대수 모델링 시스템, OptimJ, TOMLAB과 같은 독립적인 모델링 시스템을 통해 접근할 수 있다. 이 외에도 AMPL은 CPLEX CP 옵티마이저에 대한 인터페이스를 제공한다.

전체 IBM ILOG CPLEX Optimization Studio는 수학적 프로그래밍을 위한 CPLEX 옵티마이저, 제약 프로그래밍을 위한 CP 옵티마이저,[4] 최적화 프로그래밍 언어(OPL), 그리고 긴밀하게 통합된 IDE로 구성된다.

출시 역사

[편집]

IBM이 ILOG를 인수하기 전에 CPLEX 팀은 CPLEX의 출시 기록을 공개했다.[5]

버전 출시일 주요 기능
22.1.1 2022년 12월 Python 3.7 지원 중단, 새로운 솔버 매개변수 추가.[6]
22.1.0 2022년 3월 Python 3.9 및 3.10 지원 추가, 새로운 솔버 매개변수 추가.[7]
20.1 2020년 12월 MIP 성능 개선, 새로운 'emphasis MIP 5' 모드 등.[8]
12.10 2019년 12월 MIP 성능 개선 및 버전 12.8에서 도입된 다른 일반 콜백에 대한 일반 분기 콜백 추가.
12.9 2019년 3월 다목적 최적화 직접 지원, 콜백 기능 개선.
12.8 2017년 12월 일반 콜백, 디버깅을 용이하게 하는 API 레코더, subMIP 제어 매개변수, 다운로드 및 실행 제공.
12.7 2016년 11월 자동 벤더스 분해, 모델링 지원 도구, 성능 변동성을 더 잘 평가하기 위한 runseeds 명령.
12.6.2 2015년 6월 성능 개선 (주로 SOCP, MISOCP, 비볼록 QP), 클라우드 기반 최적화 지원.
12.6 2013년 12월 비볼록 QP 및 MIQP 지원, 분산 병렬 MIP 및 MIP의 루트 노드에서 더 많은 병렬 처리.
12.5 2012년 10월 MIP 성능 개선, 성능 변동성을 해결하기 위한 랜덤 시드 매개변수, 원격 객체, QCP의 이중성, 결정론적 튜닝 도구.
12.4 2011년 11월 결정론적 시간 제한 지원, SOCP의 이중성, Concert의 2차 표현 API, 모든 알고리즘 특히 MIP의 성능 개선.
12.3 2011년 6월 64비트 인덱싱이 필요한 대규모 비영 개수 지원, 비볼록 QP의 지역 최적점, 전역화.
12.2 2010년 6월 루트 노드에서 더 많은 병렬 처리, 결정론적 병렬 동시 LP 최적화, 추가적인 장벽 성능 개선 및 MIP에서 불량 조건 기저 행렬 진단을 위한 추가 도구.
12.0 2009년 4월 IBM이 ILOG를 인수한 후 첫 번째 버전. Python, MATLAB 및 Excel용 커넥터 포함. 결정론적 병렬 장벽도 포함.
11.0 2007년 10월 혼합 정수 계획법(MIP) 모델의 획기적인 성능 향상 및 향상된 병렬 MIP 최적화. MIP 솔루션 풀 기능 및 성능 튜닝 유틸리티 도입.
10.0 2006년 1월 원시 단순법 및 장벽 방법, 그리고 MIP 옵티마이저의 성능 개선. 지시 제약 조건 및 솔루션 다듬기 휴리스틱 도입 및 실행 불가능성 분석 개선.
9.0 2003년 12월 원시 및 이중 단순법과 MIP 옵티마이저의 성능 개선. .NET 사용자를 위한 ILOG Concert Technology 및 2차 제약 프로그램 지원 포함.
8.0 2002년 7월 MIP 성능 개선 및 혼합 정수 2차 프로그램 지원.
7.5 2001년 12월 Java 사용자를 위한 ILOG Concert Technology.
7.0 2000년 10월 C++ 사용자를 위한 ILOG Concert Technology.
6.5 1999년 3월 원시 및 이중 단순법, ILOG CPLEX 혼합 정수 옵티마이저의 상당한 성능 개선.
6.0 1998년 4월 원시 및 이중 단순법, CPLEX 장벽 옵티마이저의 상당한 성능 개선.
5.0 1997년 9월 쉬운 C++ 통합을 위한 새로운 메모리 모델.
4.0.5 1996년 3월 병렬 CPLEX 혼합 정수 솔버 도입.
4.0 1995년 12월 스레드 안전 애플리케이션을 허용하도록 재설계된 고급 프로그래밍 인터페이스(API).
3.0.8 1995년 3월 병렬 CPLEX 장벽 솔버 도입.
3.0 1994년 4월 CPLEX 장벽 솔버 도입.
2.1 1993년 3월 CPLEX 사전 해결 알고리즘 도입.
2.0 1992년 4월 성능 개선.
1.2 1991년 이중 단순법 및 CPLEX 혼합 정수 옵티마이저 지원.
1.0 1988년 원시 단순법

같이 보기

[편집]

각주

[편집]
  1. “CPLEX Optimization Studio 20.1 is available”. 2020년 12월 14일에 원본 문서에서 보존된 문서. 2021년 3월 4일에 확인함. 
  2. 《IBM Completes Acquisition of ILOG》, 2009년 1월 6일, 2009년 1월 22일에 원본 문서에서 보존된 문서, 2020년 6월 24일에 확인함 
  3. Mittelmann, H. D. (2007년 7월 10일), “Recent Benchmarks of Optimization Software”, 《22nd European Conference on Operational Research》 (EURO XXII Prague, Czech Republic: Dept of Math and Stats Arizona State University) 
  4. Laborie P, Rogerie J, Shaw P, Vilim P (2018). 《IBM ILOG CP optimizer for scheduling》. 《Constraints》 23. 210–250쪽. doi:10.1007/s10601-018-9281-x. 
  5. “CPLEX History”. 《CPLEX History as published by ILOG》. 2009년 4월 13일에 원본 문서에서 보존된 문서. 2020년 6월 24일에 확인함. 
  6. “Release notes for CPLEX 22.1.1”. 2023년 1월 11일에 원본 문서에서 보존된 문서. 2023년 1월 11일에 확인함. 
  7. “Release notes for CPLEX 22.1.0”. 2023년 1월 11일에 확인함. 
  8. “CPLEX 20.1 Release Notes”. 2021년 3월 4일에 확인함. 

외부 링크

[편집]