Xây dựng từ nguồn OR-Tools .Net trên Linux

Giới thiệu

Hướng dẫn này giải thích cách tạo bản dựng từ công cụ OR-nguồn có hỗ trợ .Net, trên Linux.

Trừ phi bạn định sửa đổi mã nguồn hoặc dùng một trình giải của bên thứ ba bằng OR-Tools, bạn nên sử dụng thao tác cài đặt gói.

Mặc dù những hướng dẫn này cũng có thể áp dụng cho các biến thể Linux khác, nhưng chúng tôi chỉ thử nghiệm chúng trên các máy đáp ứng các yêu cầu sau:

  • Alpine Edge 64 bit (x86_64)
  • Centos 7 LTS 64 bit (x86_64)
  • Debian SID 64 bit (x86_64)
  • Debian 11 (bulls Eye) 64 bit (x86_64)
  • Panama 38 64 bit (x86_64)
  • Panama 37 64 bit (x86_64)
  • OpenSuse Leap 64 bit (x86_64)
  • Ubuntu 24.04 64 bit (x86_64)
  • Ubuntu 22.04 LTS 64 bit (x86_64)
  • Ubuntu 20.04 LTS 64 bit (x86_64)

Đ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 OR-Tools.

Công cụ C++

Để cài đặt công cụ C++, hãy mở cửa sổ dòng lệnh và nhập:

Núi cao

apk add alpine-sdk linux-headers cmake lsb-release-minimal

Centos

sudo yum groupinstall -y 'Development Tools'
sudo yum install -y pkgconfig redhat-lsb-core

Debian

sudo apt update
sudo apt install -y build-essential cmake lsb-release

Mũ phớt

sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core

Mũ phớt

sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core

OpenSUSE

sudo zypper refresh
sudo zypper install -y git gcc11 gcc11-c++ lsb-release

Ubuntu

sudo apt update
sudo apt install -y build-essential cmake lsb-release

Ubuntu

sudo apt update
sudo apt install -y build-essential cmake lsb-release

Ubuntu

sudo apt update
sudo apt install -y build-essential cmake lsb-release

SWIG

Để cài đặt SWIG, hãy mở cửa sổ dòng lệnh rồi nhập:

Núi cao

apk add swig

Centos

sudo yum install -y swig

Debian

sudo apt install -y swig

Mũ phớt

sudo dnf install -y swig

Mũ phớt

sudo dnf install -y swig

OpenSUSE

sudo zypper install -y swig

Ubuntu

sudo apt install -y swig

Ubuntu

sudo apt install -y swig

Ubuntu

sudo apt install -y swig

SDK .Net Core >= 3.1

Tiếp theo, hãy cài đặt SDK .Net Core phiên bản 3.1 trở lên. Để làm như vậy, mở cửa sổ dòng lệnh và nhập:

Núi cao

apk add dotnet6-sdk
    

ref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine

Centos

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install -y dotnet-sdk-6.0
tham khảo: https://learn.microsoft.com/vi-vn/dotnet/core/install/linux-centos#centos-7

Debian

Trước khi bạn cài đặt .NET, hãy chạy các lệnh sau để thêm tệp khoá ký gói vào danh sách khoá đáng tin cậy của bạn và thêm gói kho lưu trữ.

wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
sudo apt install -y dotnet-sdk-6.0
tham khảo: https://learn.microsoft.com/vi-vn/dotnet/core/install/linux-debian

Mũ phớt

sudo dnf install -y dotnet-sdk-6.0
tham khảo: https://learn.microsoft.com/vi-vn/dotnet/core/install/linux-feedora

Mũ phớt

sudo dnf install -y dotnet-sdk-6.0
tham khảo: https://learn.microsoft.com/vi-vn/dotnet/core/install/linux-feedora

OpenSUSE

Trước khi bạn cài đặt .NET, hãy chạy các lệnh sau để thêm tệp khoá ký gói vào danh sách khoá đáng tin cậy của bạn và thêm gói kho lưu trữ.

sudo zypper install libicu
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget https://packages.microsoft.com/config/opensuse/15/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo

Sau đó, bạn có thể cài đặt SDK .Net bằng lệnh sau:

sudo zypper install -y dotnet-sdk-6.0
tham khảo: https://learn.microsoft.com/vi-vn/dotnet/core/install/linux-opensuse

Ubuntu

sudo apt install -y dotnet-sdk-6.0
tham khảo: https://learn.microsoft.com/vi-vn/dotnet/core/install/linux-ubuntu

Ubuntu

sudo apt install -y dotnet-sdk-6.0
tham khảo: https://learn.microsoft.com/vi-vn/dotnet/core/install/linux-ubuntu

Ubuntu

sudo apt install -y dotnet-sdk-6.0
tham khảo: https://learn.microsoft.com/vi-vn/dotnet/core/install/linux-ubuntu

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ả nền tảng được hỗ trợ.
Nhánh main là nơi chứa các nội dung cập nhật mới nhất và đã được cải tiến; hệ thống đó hiện hành 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 trong một tệp nén, bằng cách nhấp vào Clone or download trong GitHub. hình ảnh nút sao chép hoặc 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 bản phát hành trước theo một trong các cách sau đây:

  • Tải 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ộ (bằng git clone), bạn có thể xem một bản phát hành cụ thể bằng cách sử dụng Git thẻ. Ví dụ: để làm việc với bản phát hành v9.10 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.10 -b v9.10
    

Định cấu hình bản dựng

Trước khi xây dựng OR-Tools, bạn sẽ cần định cấu hình hệ thống xây dựng CMake .

Mở cửa sổ dòng lệnh rồi chuyển đến thư mục mà bạn đã giải nén tệp. Sau đó nhập:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON

Xem Tài liệu CMake để biết thông tin chi tiết.

Sử dụng tính nă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.

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 OR-Tools với bất kỳ MIP nào không bắt buộc của bên thứ ba sau đây trình giải có tính năng hỗ trợ bị tắt theo mặc định:

Vui lòng tìm hiểu 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 thiết bị đầu cuối và chuyển đến thư mục chứa bạn đã giải nén các tệp đó. Sau đó nhập lệnh sau để biên dịch OR-Tools:

cmake --build build --config Release --target all -j -v

Xem Tài liệu 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 hay không bằng cách nhập:

cmake --build build --config Release --target test -v

Thao tác này sẽ chạy các ví dụ về Công cụ OR. Nếu tất cả các ví dụ trên chạy thành công, bạn đã sẵn sàng bắt đầu sử dụng OR-Tools.

Xoá tệp bản dựng

Nếu bạn cần cài đặt lại công cụ OR-Tools, hãy dùng lệnh:

rm -r build

sẽ xoá mọi phần phụ thuộc đã biên dịch. Điều này có thể hữu ích khi đặt lại về trạng thái mới.

Sau đó, hãy nhập lại các lệnh:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON

cmake --build build --config Release --target all -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 dành cho .Net trên hệ điều hành bằng cách nhập:

cmake --build build --config Release --target install -v