Xây dựng từ nguồn OR-Tools Java trên MacOS

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: stablemain.

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. hình ảnh bản sao hoặc nút tải xuống

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ánh main, 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:

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