【CLPEX 메모】COS 도입이 끝난 환경에서 DO Python API를 이동한다
처음에
IBM 최적화 솔루션 CPLEX의 표준 개발 환경은 IBM ILOG CPLEX Optimization Studio (약칭 COS)입니다.
COS 도입이 끝난 PC에서는, 통상 Eclipse의 플러그인을 사용해 OPL이라고 불리는 최적화 전용의 언어로 모델 개발을 합니다만, Python API를 사용한 개발도 가능합니다.
이 절차의 메모를 설명합니다.
참고 링크
Setting up an optimization engine
전제
동작 확인은
MacOS: 10.14.6
CPLEX Optimization Studio: 12.9
환경에서 갔다.
설정 절차
COS 도입
COS의 경우 일반적인 방법으로 기본적으로 배포를 수행합니다.
아나콘다 도입
테스트는 Jupyter Notebook에서 실시했습니다.
그 전제의 anaconda에 관해서도, 통상의 방법으로, 전부 디폴트로 실시하고 있습니다.
COS/cplex 배포 경로 확인
다음 명령을 사용하여 COS 배포 경로를 확인합니다.
$ ls -l /Applications | grep CPLEX
수중 환경에서
drwxrwxr-x 11 [email protected] admin 352 9 13 10:19 CPLEX_Optimizer129
라는 결과였습니다.
파이썬 버전 확인
다음 명령으로 확인합니다.
$ python -V
수중의 환경에서는, 다음의 결과였습니다.
Python 3.7.3
환경 변수 PYTHONPATH 설정
지금까지의 결과를 바탕으로 다음과 같은 줄을 ~/.bash_profile 에 추가합니다.
export PYTHONPATH=/Applications/CPLEX_Optimizer129/cplex/python/3.7/x86-64_osx
3.7/x86-64_osx
의 부분에 대해서는, Python 버젼과 플랫폼에 대응해 적절히 수정해 주세요.
라이브러리 도입
다음 pip 명령을 사용하여 DO Python API 라이브러리를 배포합니다.
$ pip install docplex
동작 확인
이것으로 필요한 준비가 완료되었습니다. 환경 변수 PYTHONPATH
가 설정된 상태에서,
$ jupyter notebook
에서 Jupyter Notebook을 시작합니다.
Watson에서 순회 세일즈맨 문제 해결
에서 소개하고 있는 Jupyter Notebook 파일 를 다운로드하여 불러옵니다.
나중에 Shift + Enter로 셀을 차례로 실행하면 아래 그림과 같은 최적의 길순을 CPLEX가 찾는 것입니다.
기능 제약과 라이센스의 관계
COS에는 무료로 사용되는 평가판도 있습니다. 평가판을 사용하여 위의 설정을 수행하고 순회 판매 문제를 해결하려고 하면 다음과 같은 메시지가 표시됩니다.
CPLEX Error 1016: Community Edition. Problem size limits exceeded. Purchase at https://ibm.co/2s0wqSa.
이것은 말 그대로 평가판의 기능 제약(룰수 최대 1000개)로 일어난 에러입니다.
평가판의 경우, 순환 영업 문제로 점수(N)=5로 수정하여 실행하면 기능 제약에 히트하지 않게 되어 정상 종료하게 됩니다.
Reference
이 문제에 관하여(【CLPEX 메모】COS 도입이 끝난 환경에서 DO Python API를 이동한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/makaishi2/items/d3effb4d58369b60fd05
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
동작 확인은
MacOS: 10.14.6
CPLEX Optimization Studio: 12.9
환경에서 갔다.
설정 절차
COS 도입
COS의 경우 일반적인 방법으로 기본적으로 배포를 수행합니다.
아나콘다 도입
테스트는 Jupyter Notebook에서 실시했습니다.
그 전제의 anaconda에 관해서도, 통상의 방법으로, 전부 디폴트로 실시하고 있습니다.
COS/cplex 배포 경로 확인
다음 명령을 사용하여 COS 배포 경로를 확인합니다.
$ ls -l /Applications | grep CPLEX
수중 환경에서
drwxrwxr-x 11 [email protected] admin 352 9 13 10:19 CPLEX_Optimizer129
라는 결과였습니다.
파이썬 버전 확인
다음 명령으로 확인합니다.
$ python -V
수중의 환경에서는, 다음의 결과였습니다.
Python 3.7.3
환경 변수 PYTHONPATH 설정
지금까지의 결과를 바탕으로 다음과 같은 줄을 ~/.bash_profile 에 추가합니다.
export PYTHONPATH=/Applications/CPLEX_Optimizer129/cplex/python/3.7/x86-64_osx
3.7/x86-64_osx
의 부분에 대해서는, Python 버젼과 플랫폼에 대응해 적절히 수정해 주세요.
라이브러리 도입
다음 pip 명령을 사용하여 DO Python API 라이브러리를 배포합니다.
$ pip install docplex
동작 확인
이것으로 필요한 준비가 완료되었습니다. 환경 변수 PYTHONPATH
가 설정된 상태에서,
$ jupyter notebook
에서 Jupyter Notebook을 시작합니다.
Watson에서 순회 세일즈맨 문제 해결
에서 소개하고 있는 Jupyter Notebook 파일 를 다운로드하여 불러옵니다.
나중에 Shift + Enter로 셀을 차례로 실행하면 아래 그림과 같은 최적의 길순을 CPLEX가 찾는 것입니다.
기능 제약과 라이센스의 관계
COS에는 무료로 사용되는 평가판도 있습니다. 평가판을 사용하여 위의 설정을 수행하고 순회 판매 문제를 해결하려고 하면 다음과 같은 메시지가 표시됩니다.
CPLEX Error 1016: Community Edition. Problem size limits exceeded. Purchase at https://ibm.co/2s0wqSa.
이것은 말 그대로 평가판의 기능 제약(룰수 최대 1000개)로 일어난 에러입니다.
평가판의 경우, 순환 영업 문제로 점수(N)=5로 수정하여 실행하면 기능 제약에 히트하지 않게 되어 정상 종료하게 됩니다.
Reference
이 문제에 관하여(【CLPEX 메모】COS 도입이 끝난 환경에서 DO Python API를 이동한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/makaishi2/items/d3effb4d58369b60fd05
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ ls -l /Applications | grep CPLEX
drwxrwxr-x 11 [email protected] admin 352 9 13 10:19 CPLEX_Optimizer129
$ python -V
Python 3.7.3
export PYTHONPATH=/Applications/CPLEX_Optimizer129/cplex/python/3.7/x86-64_osx
$ pip install docplex
이것으로 필요한 준비가 완료되었습니다. 환경 변수
PYTHONPATH
가 설정된 상태에서,$ jupyter notebook
에서 Jupyter Notebook을 시작합니다.
Watson에서 순회 세일즈맨 문제 해결
에서 소개하고 있는 Jupyter Notebook 파일 를 다운로드하여 불러옵니다.
나중에 Shift + Enter로 셀을 차례로 실행하면 아래 그림과 같은 최적의 길순을 CPLEX가 찾는 것입니다.
기능 제약과 라이센스의 관계
COS에는 무료로 사용되는 평가판도 있습니다. 평가판을 사용하여 위의 설정을 수행하고 순회 판매 문제를 해결하려고 하면 다음과 같은 메시지가 표시됩니다.
CPLEX Error 1016: Community Edition. Problem size limits exceeded. Purchase at https://ibm.co/2s0wqSa.
이것은 말 그대로 평가판의 기능 제약(룰수 최대 1000개)로 일어난 에러입니다.
평가판의 경우, 순환 영업 문제로 점수(N)=5로 수정하여 실행하면 기능 제약에 히트하지 않게 되어 정상 종료하게 됩니다.
Reference
이 문제에 관하여(【CLPEX 메모】COS 도입이 끝난 환경에서 DO Python API를 이동한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/makaishi2/items/d3effb4d58369b60fd05
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
CPLEX Error 1016: Community Edition. Problem size limits exceeded. Purchase at https://ibm.co/2s0wqSa.
Reference
이 문제에 관하여(【CLPEX 메모】COS 도입이 끝난 환경에서 DO Python API를 이동한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/makaishi2/items/d3effb4d58369b60fd05텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)