Giới thiệu
Hướng dẫn này giải thích cách tạo bản dựng từ nguồn OR-Tools có hỗ trợ Java trên MacOS.
Trừ phi bạn định sửa đổi mã nguồn hoặc sử dụng trình giải toán của bên thứ ba bằng công cụ OR-Tools, bạn nên cài đặt gói.
Mặc dù những hướng dẫn này cũng có thể hoạt động trên các biến thể MacOS khác, nhưng chúng tôi chỉ kiểm thử những hướng dẫn này trên các máy đáp ứng các yêu cầu sau:
- MacOS 13.0.1 (Ventura) Intel 64 bit (x86_64)
- MacOS 13.0.1 (Ventura) M1 (arm64)
Điều kiện tiên quyết
Các phần sau đây mô tả các điều kiện tiên quyết để cài đặt Công cụ OR.
Công cụ dòng lệnh của Xcode
Bạn phải cài đặt Công cụ dòng lệnh Xcode. Để thực hiện việc này, hãy mở cửa sổ dòng lệnh có trong /Applications/Utilities/
rồi nhập:
xcode-select --install
Nhấp vào “Cài đặt” để tải xuống và cài đặt Công cụ dòng lệnh của Xcode. Bạn không cần phải "Tải Xcode" từ App Store. Nếu bạn có kết nối Internet chậm, quá trình này có thể mất nhiều phút.
Xác minh rằng bạn đã cài đặt thành công Công cụ dòng lệnh của Xcode:
xcode-select -p
Bạn sẽ thấy:
/Library/Developer/CommandLineTools
Tiếng Homebrew
Để cài đặt các điều kiện tiên quyết còn lại, trước tiên, bạn nên cài đặt "trình quản lý gói bị thiếu cho macOS" (còn gọi là Homebrew). Để thực hiện việc này, hãy mở cửa sổ dòng lệnh rồi nhập:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew update
Để xác minh rằng bạn đã cài đặt thành công brew:
brew --version
Bạn sẽ thấy:
Homebrew 1.6.9-8-g25542d7
Homebrew/homebrew-core (git revision 0e0c84; last commit 2018-06-20)
Công cụ C++
Để cài đặt các công cụ C++, hãy mở cửa sổ dòng lệnh rồi nhập:
brew install cmake wget pkg-config
Công cụ SWIG
Để cài đặt công cụ SWIG, hãy mở cửa sổ dòng lệnh rồi nhập:
brew install swig
JDK Java
Bạn phải cài đặt Java JDK 8.0 trở lên.
Sau khi cài đặt Homebrew, bạn có thể cài đặt openjdk bằng cách mở một cửa sổ đầu cuối rồi nhập:
brew install openjdk
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
Sau đó, bạn cần xuất biến JAVA_HOME
:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk.jdk
Maven
Bạn phải cài đặt Maven.
Sau khi cài đặt Homebrew, bạn có thể cài đặt maven bằng cách mở một cửa sổ đầu cuối rồi nhập:
brew install maven
Bạn có thể kiểm thử xem Maven đã được cài đặt đúng cách hay chưa và có thể tìm Java bằng lệnh sau đây:
mvn -v
Tải mã nguồn xuống
Có hai nhánh riêng biệt của mã nguồn OR-Tools trên GitHub: stable
và main
.
Nhánh stable
đã được kiểm thử kỹ lưỡng và sẽ hoạt động hoàn hảo trên tất cả các nền tảng được hỗ trợ.
Nhánh main
là nơi đã áp dụng các bản cập nhật và cải tiến mới nhất; đây là nhánh mới hơn nhưng kém ổn định hơn.
Tải mã nguồn ổn định xuống
Bạn có thể lấy mã nguồn ổn định cho OR-Tools theo một trong các cách sau:
Sao chép nhánh
stable
bằng cách nhập:git clone https://github.com/google/or-tools
Tải bản phát hành mới nhất xuống dưới dạng tệp nén bằng cách nhấp vào nút
Clone or download
trong GitHub.
Tải mã nguồn chính xuống
Để truy xuất mã nguồn từ nhánh main
, hãy nhập:
git clone -b main https://github.com/google/or-tools
Tải bản phát hành trước xuống
Bạn có thể lấy mã nguồn cho các bản phát hành trước theo một trong những cách sau:
- Tải một bản phát hành trước đó xuống qua trang phát hành GitHub.
Giả sử bạn đã tạo một kho lưu trữ cục bộ (của
git clone
), bạn có thể xem một bản phát hành cụ thể bằng cách sử dụng thẻ Git. Ví dụ: để hoạt động với bản phát hành v9.9 thay vì nhánhmain
, hãy nhập các lệnh sau vào kho lưu trữ cục bộ:git fetch --all --tags --prune
git checkout tags/v9.9 -v v9.9
Định cấu hình bản dựng
Trước khi tạo OR-Tools, bạn cần định cấu hình trình tạo hệ thống xây dựng CMake.
Mở cửa sổ dòng lệnh rồi chuyển đến thư mục bạn đã giải nén tệp. Sau đó nhập:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_JAVA=ON
Hãy xem tài liệu về CMake để biết thông tin chi tiết.
Sử dụng SCIP
Kể từ phiên bản 7.8, SCIP hiện đã được tích hợp nên bạn sẽ không phải cài đặt theo cách thủ công.
Sử dụng Gurobi
Gurobi hiện đã được tích hợp sẵn. Khi cần, trong thời gian chạy, OR-Tools sẽ tìm kiếm thư viện chia sẻ Gurobi trong đường dẫn cài đặt mặc định của trình cài đặt Gurobi trên MAC OS X và Windows hoặc bằng cách sử dụng biến môi trường GUROBI_HOME
.
Sử dụng trình giải quyết MIP (không bắt buộc) của bên thứ ba
Bạn cũng có thể sử dụng Công cụ OR với bất kỳ trình phân giải MIP nào sau đây (không bắt buộc) mà tính năng hỗ trợ bị tắt theo mặc định:
- CPLEX
- GLPK (chỉ dành cho Linux và MacOS)
- Trình giải XPRESS
Vui lòng xem tài liệu này để biết thông tin chi tiết.
Tạo mã nguồn
Để tạo mã nguồn, hãy mở một cửa sổ dòng lệnh rồi chuyển đến thư mục mà bạn đã trích xuất các tệp. Sau đó, nhập lệnh sau để biên dịch OR-Tools:
cmake --build build --config Release --target ALL_BUILD -j -v
Hãy xem tài liệu về CMake để biết thông tin chi tiết.
Kiểm thử mã nguồn
Bạn có thể kiểm tra xem mọi thứ có đang chạy đúng cách không bằng cách nhập:
cmake --build build --config Release --target RUN_TESTS -v
Thao tác này sẽ chạy các ví dụ cho công cụ OR-Tools. Nếu tất cả ví dụ đều chạy thành công thì bạn đã sẵn sàng để bắt đầu sử dụng OR-Tools.
Dọn dẹp tệp bản dựng
Nếu bạn cần cài đặt lại OR-Tools, lệnh:
rm -r build
sẽ xoá mọi phần phụ thuộc đã biên dịch. Việc này có thể hữu ích cho việc đặt lại về trạng thái sạch.
Sau đó nhập lại các lệnh:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_JAVA=ON
cmake --build build --config Release --target ALL_BUILD -j -v
Cài đặt OR-Tools trên hệ điều hành của bạn
Bạn có thể cài đặt OR-Tools cho Java trên hệ điều hành bằng cách nhập:
cmake --build build --config Release --target install -v