Installing OR-Tools (source)

 

 아래 섹션은 Linux, Mac OS XWindows에서 OR- 도구 소스 코드 설치를 안내합니다. 소스 코드에 대한 특별한 필요가 없다면 바이너리 설치를 권장합니다.

 

 Google은 C ++에서 OR- 도구를 만들었지 만 Python, C # 또는 Java에서도 사용할 수 있습니다.
 내부적으로는 Linux에서 실행하지만 Windows 및 Mac OS X에도 설치할 수 있습니다.

 

OR-Tools의 소스 코드는 GitHub에서 사용할 수 있습니다.

 

 

 

 

GNU / Linux에 설치하기

 

★ Note : Google은 64 비트 시스템 용 소스 코드 설치 만 지원합니다.

 

 

다음 절에서는 GNU / Linux에서 소스에서 OR-Tools를 설치하는 단계를 설명합니다.


1. 필수 소프트웨어 설치
2. 선택 사항 : 타사 솔버 설치
3. 소스 코드 다운로드
4. 소스 코드 작성
5. 옵션 : OR- 도구 설치

 

 

필수 소프트웨어 설치

 

★ Trusty (Ubuntu 14.04LTS)를 사용중인 경우 cmake를 cmake3로 바꾸십시오.

 

설치할 패키지는 사용할 언어에 따라 다릅니다.

 

• C ++에서 OR- 도구를 사용하려면 :

 

sudo apt-get -y install git wget build-essential cmake autoconf libtool zlib1g-dev lsb-release

 

• Python 2에서 OR- 도구를 사용하려면 :

 

sudo apt-get -y install git wget build-essential cmake autoconf libtool zlib1g-dev lsb-release swig pkg-config python-dev python-setuptools python-wheel python-six

 

★ 참고 : Python 패키지의 경우 다음을 사용하여 pip로 설치할 수도 있습니다.

python -m pip install --user --upgrade pip setuptools wheel six

 

• Python 3에서 OR-Tools를 사용하려면 :

 

sudo apt-get -y install git wget build-essential cmake autoconf libtool zlib1g-dev lsb-release swig pkg-config python3-dev python3-setuptools python3-wheel python3-six

 

★ 참고 : Python 3 패키지의 경우 다음을 사용하여 pip로 설치할 수도 있습니다.

python3 -m pip install --user --upgrade pip setuptools wheel six

 

• Java에서 OR- 도구를 사용하려면 :

 

sudo apt-get -y install git wget build-essential cmake autoconf libtool zlib1g-dev lsb-release swig default-jdk

 

• C #의 OR-Tools를 사용하려면 다음을 수행하십시오.

 

sudo apt-get -y install git wget build-essential cmake autoconf libtool zlib1g-dev lsb-release swig mono-complete

 

★ 참고 : GNU / Linux 배포판에 apt-get 이외의 패키지 관리 시스템을 사용하는 경우 해당 시스템에 적절한 명령을 사용하십시오.

 

 

 

선택 사항 : 타사 솔버 설치

 

 혼합 정수 프로그램을 해결할 필요가있을 것으로 예상되는 경우 오픈 소스 타사 솔버 SCIP를 설치할 수 있습니다.


1. SCIP Optimization Suite 4.0.1 다운로드 및 압축 해제.
2. 터미널을 열고 tar 파일을 추출한 디렉토리로 이동하십시오.
3. 그것을 빌드하십시오 :

 

make GMP=false READLINE=false TPI=tny USRCFLAGS=-fPIC USRCXXFLAGS=-fPIC USRCPPFLAGS=-fPIC

 

 

 

소스 코드 다운로드

 

OR-Tools의 소스 코드를 가져 오는 몇 가지 옵션이 있습니다.


• 최신 릴리즈를 다음과 같이 설치하지 마십시오.

tar.gz 아카이브 또는.

 

wget "https://github.com/google/or-tools/archive/v6.7.2.tar.gz"

 

zip 아카이브.

 

wget "https://github.com/google/or-tools/archive/v6.7.2.zip"

 

이 릴리즈는 지원되는 모든 플랫폼에서 완벽하게 테스트 된 OR-Tools의 안정적인 버전입니다. 시험용 기능을 시험해보고 싶지 않으면이 옵션이 가장 좋습니다.

 

GitHub에서 최신 OR-Tools 저장소 복제


이것은 개발중인 모든 기능을 통합 한 OR-Tools 소스 코드의 최신 버전입니다.
 예를 들어 마스터를 복제하려면 다음 명령을 실행하십시오.

 

git clone https://github.com/google/or-tools

 

★ 경고 :이 코드는 모든 플랫폼에서 완전히 테스트되지 않을 수 있습니다.

 

이전 릴리스를 얻으려면 몇 가지 옵션이 있습니다.


GitHub 릴리스 페이지에서 이전 릴리스를 다운로드하십시오.
• git 태그를 사용하여 업데이트 내역의 특정 시점을 체크 아웃합니다.
예를 들어, 마스터 대신 v6.7 릴리스를 사용하려면 로컬 저장소에서 다음 명령을 실행하십시오.

 

git fetch --all --tags --prune
git checkout tags/v6.7 -b v6.7

 

 

소스 코드 작성


1. 먼저, 터미널을 열고 파일을 추출한 디렉토리로 이동하십시오. 그런 다음 다음 명령을 입력하십시오.

 

make third_party

 

 

2. 타사 솔버를 설치 한 경우 Makefile.local을 편집하십시오.
 예를 들어 SCIP의 경우 다음과 같이 추가합니다.

 

UNIX_SCIP_DIR=<path to sciptopsuite-4.0.1>/scip-4.0.1

 

 

3. 그런 다음 아래 옵션 중 하나를 선택하십시오.

 

• C ++ 만 빌드하려면 :

 

make cc

 

C ++과 Python을 모두 빌드하려면 :

 

make python

 

• C ++과 Java를 모두 빌드하려면 :

 

make java


 

• C ++ 및 C # 빌드 :

 

make csharp

 

• C ++, Python, Java 및 C #을 모두 빌드하려면 :

 

make all

 

★ 참고 : Makefile.local 파일을 수정할 때마다 다음을 사용하여 빌드 환경을 정리하십시오.

 

make clean

 

4. 타사 솔버 설치를 테스트하려면 다음 명령을 입력하여 SCIP을 사용하여 정수 프로그래밍 문제를 해결하십시오.

 

bin/integer_programming

 

 

5. 다음을 입력하여 모든 것이 올바르게 실행되고 있는지 확인할 수 있습니다.

 

make test

 

 

이것은 C ++, Python, Java 및 C #에서 다양한 예제를 실행합니다.

 

 

선택 사항 : OR- 도구 설치

 

 현재, 우리는 OR-Tools for Java 및 C #을 설치할 방법을 제공하지 않습니다.


 명령 행에서 예제를 실행하려면 PATH에 bin 디렉토리를 추가하고 LD_LIBRARY_PATH에 lib를 추가해야합니다.

 

프로젝트에서 OR- 도구를 사용하려면 아래 옵션 중 하나를 선택하십시오.

 

• C ++ OR- 도구 라이브러리를 설치하려면 :

 

make install_cc

 

★ 참고 : 프로젝트 라이브러리에 lib / libortool.so를 추가하고 프로젝트 포함 경로에 or-tools / include를 추가 할 수도 있습니다.

 

• Python OR-Tools 패키지를 설치하려면 다음을 수행하십시오.

 

make install_python

 

• Java의 경우 lib / com.google.ortools.jar의 jar를 사용하고 -Djava.library.path = PATH_TO_or-tools / lib를 명령 줄에 추가합니다.


• C #의 경우 bin / Google.OrTools.dll을 프로젝트 종속성에 추가합니다.

 

 

 

Windows에 설치

 

★ Note : Windows에 OR- Tools를 설치하고 실행하려면 컴퓨터에 Visual Studio 2015 이상이 설치되어 있어야합니다. 또한 OR-Tools 용 C ++, Java 또는 C # 프로그램은 모두 Windows 명령 프롬프트가 아닌 Visual Studio x64 네이티브 도구 명령 프롬프트에서 실행해야합니다.

 

 다음 절에서는 Windows에서 원본에서 OR- 도구를 설치하는 단계에 대해 설명합니다.


1. 필수 구성 요소 설치
2. 선택 사항 : 타사 솔버 설치
3. 소스 코드 다운로드
4. 소스 코드 작성
5. 옵션 : OR- 도구 설치

 

 

 

필수 소프트웨어 설치

 

  Windows에서 원본에서 OR- 도구를 설치하려면 다음 소프트웨어가 컴퓨터에 설치되어 있어야합니다.


Visual Studio 2015 이상
Githttps://git-scm.com/에서 다운로드 할 수 있습니다.
SVN (svn.exe를 제공하는 모든 버전에서 가능합니다.)
CMake 3 : https://www.cmake.org/download에서 공식 .dmg 아카이브를 다운로드하십시오. CMake를 설치할 때, 명령 행 접근 가능 cmake에 대한 옵션을 선택하십시오.

 

 

선택 사항 : 타사 솔버 설치

 

 혼합 정수 프로그램을 해결할 필요가있을 것으로 예상되는 경우 오픈 소스 타사 솔버 SCIP를 설치할 수 있습니다.

1. 다음 파일을 다운로드하고 압축을 풉니 다.

 

SCIP Win 4.0.1
scipoptheaders 4.0.0

 

2. 명령 창을 열고 다음 디렉토리를 만듭니다.

 

md scip-4.0.1

 

3. scipoptheaders 아카이브의 include 디렉토리를 scip-4.0.1로 복사하십시오.


4. libscipopt.lib 파일을 SCIP 컴파일 라이브러리에서 scip-4.0.1로 복사하십시오.


5. SCIP 컴파일 라이브러리의 최상위 수준에있는 .dll 파일을 Windows PATH의 모든 디렉토리에 복사합니다.

 

 

 

소스 코드 다운로드

 

OR-Tools의 소스 코드를 가져 오는 몇 가지 옵션이 있습니다.


• 최신 릴리즈를 다음과 같이 설치하지 마십시오.

 

tar.gz 아카이브 또는.

 

wget "https://github.com/google/or-tools/archive/v6.7.2.tar.gz"

 

zip 아카이브.

 

wget "https://github.com/google/or-tools/archive/v6.7.2.zip"

 

 

 이 릴리즈는 지원되는 모든 플랫폼에서 완벽하게 테스트 된 OR-Tools의 안정적인 버전입니다. 시험용 기능을 시험해보고 싶지 않으면이 옵션이 가장 좋습니다.

 

• GitHub에서 최신 OR-Tools 저장소 복제


 이것은 개발중인 모든 기능을 통합 한 OR-Tools 소스 코드의 최신 버전입니다.


 예를 들어 마스터를 복제하려면 다음 명령을 실행하십시오.

 

git clone https://github.com/google/or-tools

 

★ 경고 :이 코드는 모든 플랫폼에서 완전히 테스트되지 않을 수 있습니다.

 

 

이전 릴리스를 얻으려면 몇 가지 옵션이 있습니다.


• GitHub 릴리스 페이지에서 이전 릴리스를 다운로드하십시오.


• git 태그를 사용하여 업데이트 내역의 특정 시점을 체크 아웃합니다. 예를 들어, 마스터 대신 v6.7 릴리스를 사용하려면 로컬 저장소에서 다음 명령을 실행하십시오.

 

git fetch --all --tags --prune
git checkout tags/v6.7 -b v6.7

 

★ Note : 설치디렉토리 (파일을 추출한)의 전체 경로에는 공백이 없어야합니다.

 

 

 

소스 코드 작성


1. 먼저 Visual Studio Native Tools 명령 프롬프트를 열고 파일의 압축을 푼 디렉터리로 이동하십시오. 그런 다음 다음 명령을 입력하십시오.

 

tools\make third_party

 

★ 참고 : 설치 디렉토리의 tools 하위 디렉토리를 Windows PATH 환경 변수에 추가 할 수 있습니다

 

2. 타사 솔버를 설치 한 경우 Makefile.local을 편집하십시오. 예를 들어 SCIP의 경우 다음과 같이 추가합니다.

 

WINDOWS_SCIP_DIR=<path to scip-4.0.1>

 

★ 참고 : Makefile.local 파일을 수정할 때마다 다음을 사용하여 빌드 환경을 정리하십시오.

 

tools\make clean

 

 

3. 아래 옵션 중 하나를 선택하십시오 :

 

• C ++ 라이브러리와 예제를 빌드하려면 :

 

tools\make cc

 

• Python과 C ++ 모두를 빌드하려면 :

 

tools\make python

 

• Java 및 C ++ 모두를 빌드하려면 다음을 수행하십시오.

 

tools\make java

 

• C # 및 C ++ 모두를 빌드하려면 :

 

tools\make csharp

 

• 모든 것을 구축하기 :

 

tools\make all

 

 

4. 타사 솔버 설치를 테스트하려면 다음 명령을 입력하여 SCIP을 사용하여 정수 프로그래밍 문제를 해결하십시오.

 

bin\integer_programming

 

5. 다음을 입력하여 모든 것이 올바르게 실행되고 있는지 확인할 수 있습니다.

 

tools\make test

 

이것은 C ++, Python, Java 및 C #에서 다양한 예제를 실행합니다.

 

 

Troubleshooting

 

 원본에서 OR- Tools를 설치하기위한 지침에는 바이너리 설치 문제도 포함되어있는 문제 해결 섹션이 있습니다.

 

 

 

 

선택 사항 : OR- 도구 설치

 

 현재, 우리는 OR-Tools for Java 및 C #을 설치할 방법을 제공하지 않습니다.


 명령 행에서 예제를 실행하려면 PATH에 bin 디렉토리를 추가하고 PATH에 lib를 추가해야합니다.

 

 프로젝트에서 OR- 도구를 사용하려면 아래 옵션 중 하나를 선택하십시오.


• C ++ OR- 도구 라이브러리를 설치하려면 :

 

make install_cc

 

★ 참고 : lib / libortool.lib를 프로젝트 라이브러리에 추가하고 프로젝트 포함 경로에 or-tools / include를 추가 할 수도 있습니다.

 

• Python OR-Tools 패키지를 설치하려면 다음을 수행하십시오.

 

make install_python

 

• Java의 경우 lib / com.google.ortools.jar의 jar를 사용하고 -Djava.library.path = PATH_TO_or-tools / lib를 명령 줄에 추가합니다.


• C #의 경우 bin / Google.OrTools.dll을 프로젝트 종속성에 추가합니다.

 

 

 

빌드 파일 정리

 

 OR-Tools를 다시 설치해야하는 경우 다음 명령을 사용하십시오.

 

tools\make clean_third_party

 

 컴파일 된 모든 종속성과 Makefile.local을 제거합니다. 이는 정리 상태로 재설정하거나 종속성 / 아카이브에 아카이브를 추가 한 경우 유용 할 수 있습니다.

 

 

 

문제 해결

 

 다음 섹션에서는 소스 또는 바이너리에서 OR- Tools를 설치할 때 발생할 수있는 몇 가지 가능한 솔루션에 대해 설명합니다.

 

일반적인 문제 해결


ortools에 적합한 배포를 찾을 수 없습니다.

 

다음은 샘플 오류 메시지입니다.

 

• Unix : ortools에 대한 로컬 패키지 또는 다운로드 링크 없음 = SOME_VERSION
 오류 : Requirement.parse ( 'ortools> = SOME_VERSION')에 적합한 배포를 찾을 수 없습니다.


• Windows : 파일 또는 어셈블리 'Google.OrTools, Version = SOME_VERSION, Culture = neutral, PublicKeyToken = null'을로드 할 수 없습니다.


 이것은 바이너리 배포판을 설치하려고 할 때 발생하지만, 설치 프로그램은 운영체제에 맞는 ortools 패키지를 빌드 할 수 없습니다. 이 경우에도 소스 파일에서 OR-Tools를 설치하고 실행할 수 있으며 Python 패키지를 직접 빌드 할 수도 있습니다. 다음 단계에 따라 그렇게 할 수 있습니다.

 

 

 이것은 바이너리 배포판을 설치하려고 할 때 발생하지만, 설치 프로그램은 운영체제에 맞는 ortools 패키지를 빌드 할 수 없습니다. 이 경우에도 소스 파일에서 OR-Tools를 설치하고 실행할 수 있으며 Python 패키지를 직접 빌드 할 수도 있습니다. 다음 단계에 따라 그렇게 할 수 있습니다.

 

Linux / Mac OS X 소스 설치 또는 Windows 소스 설치에 설명 된대로 OR- 도구를 설치하고 컴파일하십시오.


• make test를 실행하여 모든 것이 잘 작동하는지 확인하는 것을 잊지 마십시오.


• make pypi_archive를 실행하십시오. temp라는 디렉토리 아래에서 패키지를 찾을 수 있습니다.

 

 

y.tab. [ch] 또는 bison : 해당 파일 또는 디렉토리를 열 수 없음

 

 가끔 파서 생성기 인 Bison이 빌드에 실패합니다. Bison은 MiniZinc 제약 모델링 언어로 사용되는 Solver 입력 언어 인 FlatZinc에만 필요합니다. 명시 적으로 필요가 없으면 makefiles / Makefile.third_party.unix에서 install bison 행을 주석 처리하고 다시 작성하십시오.

 

 

make install_python_module이 성공하지 못했습니다.


OpenSuse (및 Red Hat)를 사용 중이라면 install_python_module이 실패합니다. 한 가지 해결 방법은이 페이지에서 설명합니다. http://stackoverflow.com/questions/4495120/ combine-user-with-prefix-error-with-setup-py-install.

 

 

pcre을 다운로드 할 수 없습니다.


다음은 샘플 오류 메시지입니다.

 

svn co svn://vcs.exim.org/pcre/code/trunk -r 1336 dependencies/sources/pcre-1336 svn: E000101: Unable to connect to a repository at URL 'svn://vcs.exim.org/pcre/code/trunk' svn: E000101: Can't connect to host 'vcs.exim.org': Network is unreachable make: [dependencies/sources/pcre-1336/autogen.sh] Error 1

 

안타깝게도 pcre 서버는 불안정합니다. 작동 할 때까지 다시 시도하십시오.

 

 

누락 된 gflags.h

 

샘플 오류 메시지 :

 

src\base/commandlineflags.h(17) : fatal error C1083: Cannot open include file: 'gflags/gflags.h': No such file or directory tools\make: [objs/alldiff_cst.obj] Error 2

 

이것은 third_party가 성공하지 못했거나 실행되지 않았 음을 의미합니다.

 

 

Error C2143

 

Visual Studio 2010을 사용하고 있으며 이후 버전 (2013 년 이후)으로 업그레이드해야합니다.

 

 

[dependencies/install/lib/protobuf.jar] Error 1

 

샘플 오류 메시지 :

 

The system cannot find the path specified
make: *** [dependencies/install/lib/protobuf.jar] Error 1

 

Makefile.local에서 JDK에 대한 경로로 WINDOWS_JDK_DIR 변수를 설정해야합니다.
파이썬을 사용하려면 WINDOWS_PYTHON_VERSION 및 WINDOWS_PYTHON_PATH 변수를 설정해야합니다.

 

 

'Python.h'파일을 찾을 수 없습니다.

 

make all 또는 make python을 실행할 때이 오류가 발생하면 make가 Python의 lib 또는 디렉토리를 찾을 수 없음을 의미합니다. make가 찾을 수있는 위치를 지정하려면 다음과 같이 ADD_PYTHON_INC 환경 변수를 사용하십시오.

 

make python ADD_PYTHON_INC="-I/PATH/TO/PYTHON/lib -I/PATH/TO/PYTHON/include/pythonVERSION"

 

 

알 수없는 비주얼 스튜디오 버전

 

이것은 Windows 관련 오류이며 VisualStudioVersion 변수가 터미널에 설정되어 있지 않음을 의미합니다. 일반 Windows 터미널을 사용하는 경우 Visual Studio 터미널을 대신 ​​사용하십시오. 이미 Visual Studio 터미널을 사용하고 있다면 Visual Studio 버전을 Visual Studio 버전으로 설정하십시오.

 

•For VS2017, set VisualStudioVersion=15.0
•For VS2015, set VisualStudioVersion=14.0

 

파이썬 지원으로 설치 문제 해결하기

 

권한이 거부되었습니다 : '/Library/Python/.../EGG-INFO/namespace_packages.txt

 

위의 지침을 수행 한 후에 Python 예제 중 하나를 실행하려고 할 때이 오류가 표시되면 python setup.py install --user 대신 sudo python setup.py install을 사용하여 설치했을 것입니다. sudo를 사용하여 예제를 실행할 수 있습니다 (예 : sudo python examples / golomb8.py).

 

 

ImportError : pywraplp라는 모듈이 없습니다.

 

대부분 Windows XP를 사용하고 있습니다. 불행히도 OR-Tools에는 Windows XP와 호환되지 않는 Visual Studio 2013 이상이 필요합니다.

 

 

ImportError : 이름을 가져올 수 없습니다.

 

대부분의 경우 ortools 또는 protobuf 모듈의 올바른 버전이 없습니다. 이 경우인지 확인하려면 다음 명령을 실행하십시오.

 

make third_party_check

 

이 버전의 Python이나 protobuf 모듈이 필요한 버전과 다르거 나 설치되어 있지 않다는 메시지를 반환하면 다음과 같이 OR- Tools를 다시 설치해야합니다.

make install

 

 

기타 오류

 

Python 빌드 OR-Tools를 설치할 때 오류가 발생하면 여기에있는 지침에 따라 setuptools를 업그레이드하십시오.

 

Mac OS X에서 여전히 문제가 계속되는 경우 다음은 사용자가 발견 한 문제 해결 방법입니다.


• 실행하여 setuptools를 12.05에서 12.1로 업그레이드합니다.

curl https://bootstrap.pypa.io/ez_setup.py -o - | python

 

• Run

 

pip install ez_setup

 

• 실행하여 OR- 도구 설치

 

pip install ortools

 

 

 

Troubleshooting

 

 원본에서 OR- Tools를 설치하기위한 지침에는 바이너리 설치 문제도 포함되어있는 문제 해결 섹션이 있습니다.

 

 

 


Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

 

※ 본 내용은 Google Optimization Tools 사이트에서 가져온 내용으로 구글 번역기를 통하여 한글로 게시하였습니다.

 

 

 

※ 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.