บทนำ
คู่มือนี้อธิบายวิธีสร้างจากแหล่งข้อมูลหรือเครื่องมือ พร้อมด้วยการสนับสนุนสำหรับ .Net บน Linux
ยกเว้นในกรณีที่คุณวางแผนที่จะแก้ไขซอร์สโค้ดหรือใช้เครื่องมือแก้โจทย์ของบุคคลที่สามกับ หรือเครื่องมือ เราขอแนะนำให้ติดตั้งแพ็กเกจ
แม้ว่าคำแนะนำเหล่านี้อาจใช้ได้กับ Linux เวอร์ชันอื่นๆ ด้วย แต่เรา ได้ทดสอบอุปกรณ์ที่เป็นไปตามข้อกำหนดต่อไปนี้เท่านั้น
- Alpine Edge 64 บิต (x86_64)
- Centos 7 LTS 64 บิต (x86_64)
- Debian SID 64 บิต (x86_64)
- Debian 11 (Bullseye) 64 บิต (x86_64)
- Fedora 38 64 บิต (x86_64)
- Fedora 37 64 บิต (x86_64)
- OpenSuse Leap 64 บิต (x86_64)
- Ubuntu 24.04 64 บิต (x86_64)
- Ubuntu 22.04 LTS 64 บิต (x86_64)
- Ubuntu 20.04 LTS 64 บิต (x86_64)
ข้อกำหนดเบื้องต้น
ส่วนต่อไปนี้จะอธิบายข้อกำหนดเบื้องต้นสำหรับการติดตั้ง OR-Tools
เครื่องมือ C++
หากต้องการติดตั้งเครื่องมือ C++ ให้เปิดหน้าต่างเทอร์มินัลแล้วป้อนสิ่งต่อไปนี้
Alpine
apk add alpine-sdk linux-headers cmake lsb-release-minimal
เซนโตส
sudo yum groupinstall -y 'Development Tools'
sudo yum install -y pkgconfig redhat-lsb-core
เดเบียน
sudo apt update
sudo apt install -y build-essential cmake lsb-release
หมวกทรงฟีดอร่า
sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core
หมวกทรงฟีดอร่า
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
หากต้องการติดตั้ง SWIG ให้เปิดหน้าต่างเทอร์มินัลแล้วป้อนสิ่งต่อไปนี้
Alpine
apk add swig
เซนโตส
sudo yum install -y swig
เดเบียน
sudo apt install -y swig
หมวกทรงฟีดอร่า
sudo dnf install -y swig
หมวกทรงฟีดอร่า
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
.Net Core SDK >= 3.1
จากนั้นให้ติดตั้ง .Net Core SDK เวอร์ชัน 3.1 ขึ้นไป โดยดำเนินการดังนี้ เปิดหน้าต่างเทอร์มินัลแล้วป้อนคำสั่งต่อไปนี้
Alpine
apk add dotnet6-sdk
ref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine
เซนโตส
อ้างอิง: https://learn.microsoft.com/th-th/dotnet/core/install/linux-centos#centos-7sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install -y dotnet-sdk-6.0
เดเบียน
ก่อนติดตั้ง .NET ให้เรียกใช้คำสั่งต่อไปนี้เพื่อเพิ่มไฟล์ Microsoft คีย์ Signing แพ็กเกจลงในรายการคีย์ที่เชื่อถือได้และเพิ่มแพ็กเกจ ที่เก็บได้
วันที่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
อ้างอิง: https://learn.microsoft.com/th-th/dotnet/core/install/linux-debiansudo apt update
sudo apt install -y dotnet-sdk-6.0
หมวกทรงฟีดอร่า
sudo dnf install -y dotnet-sdk-6.0
อ้างอิง: https://learn.microsoft.com/th-th/dotnet/core/install/linux-fedora
หมวกทรงฟีดอร่า
sudo dnf install -y dotnet-sdk-6.0
อ้างอิง: https://learn.microsoft.com/th-th/dotnet/core/install/linux-fedora
OpenSUSE
ก่อนติดตั้ง .NET ให้เรียกใช้คำสั่งต่อไปนี้เพื่อเพิ่มไฟล์ Microsoft คีย์ Signing แพ็กเกจลงในรายการคีย์ที่เชื่อถือได้และเพิ่มแพ็กเกจ ที่เก็บได้
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
จากนั้นคุณจะติดตั้ง .Net SDK ได้โดยใช้คำสั่งต่อไปนี้
sudo zypper install -y dotnet-sdk-6.0
อ้างอิง: https://learn.microsoft.com/th-th/dotnet/core/install/linux-opensuse
Ubuntu
sudo apt install -y dotnet-sdk-6.0
อ้างอิง: https://learn.microsoft.com/th-th/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
อ้างอิง: https://learn.microsoft.com/th-th/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
อ้างอิง: https://learn.microsoft.com/th-th/dotnet/core/install/linux-ubuntu
ดาวน์โหลดซอร์สโค้ด
ซอร์สโค้ด OR-Tools มีส่วนที่แตกต่างกัน 2 ส่วน
GitHub: stable
และ main
สาขา stable
ได้รับการทดสอบอย่างละเอียดแล้วและควรจะทำงานได้อย่างดีเยี่ยมในทุกด้าน
แพลตฟอร์มที่รองรับได้
สาขา main
คือที่การอัปเดตล่าสุดและ
ได้รับการปรับปรุงแล้ว เป็นปัจจุบันมากกว่า แต่มีเสถียรภาพน้อยกว่า
ดาวน์โหลดซอร์สโค้ดที่เสถียร
คุณจะรับซอร์สโค้ดที่เสถียรสำหรับ OR-Tools ได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
โคลนสาขา
stable
โดยป้อนข้อมูลต่อไปนี้git clone https://github.com/google/or-tools
ดาวน์โหลดรุ่นล่าสุดในรูปแบบไฟล์ที่บีบอัด โดยการคลิก ปุ่ม
Clone or download
ใน GitHub
ดาวน์โหลดซอร์สโค้ดหลัก
หากต้องการเรียกซอร์สโค้ดจากสาขา main
ให้ป้อน
git clone -b main https://github.com/google/or-tools
ดาวน์โหลดรุ่นก่อนหน้า
คุณจะรับซอร์สโค้ดสำหรับรุ่นก่อนหน้าได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- ดาวน์โหลดรุ่นก่อนหน้าจากหน้าการเผยแพร่ GitHub
สมมติว่าคุณสร้างที่เก็บในเครื่องแล้ว (โดย
git clone
) คุณสามารถดูรุ่นที่เจาะจงโดยใช้ Git แท็ก ตัวอย่างเช่น ในการใช้งานกับรุ่น v9.10 แทนที่จะเป็น สาขาmain
ให้ป้อนคำสั่งต่อไปนี้ในที่เก็บในเครื่องgit fetch --all --tags --prune
git checkout tags/v9.10 -b v9.10
กำหนดค่าบิลด์
ก่อนสร้าง หรือใช้เครื่องมือ คุณจะต้องกำหนดค่าระบบบิลด์ CMake โปรแกรมสร้าง
เปิดเทอร์มินัลและไปยังไดเรกทอรีที่คุณแตกไฟล์ จากนั้นป้อน
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
ดู สร้างเอกสารประกอบ เพื่อดูรายละเอียด
การใช้ SCIP
ตั้งแต่เวอร์ชัน 7.8 เป็นต้นมา มีการผสานรวม SCIP แล้ว คุณจึงไม่ต้องติดตั้งด้วยตนเอง
การใช้คุโรบิ
มีการผสานรวม Gurobi ล่วงหน้าแล้ว เมื่อจำเป็น ในระหว่างรันไทม์ OR-Tools จะค้นหา
ไลบรารีที่ใช้ร่วมกันของ Gurobi ในเส้นทางการติดตั้งเริ่มต้นของตัวติดตั้ง Gurobi
ใน MAC OS X และ Windows หรือใช้ตัวแปรสภาพแวดล้อม GUROBI_HOME
การใช้เครื่องมือแก้โจทย์ MIP ของบุคคลที่สาม (ไม่บังคับ)
คุณยังสามารถใช้เครื่องมือ OR กับ MIP ของบุคคลที่สามที่ไม่บังคับดังต่อไปนี้ โปรแกรมแก้โจทย์ที่ปิดการสนับสนุนไว้โดยค่าเริ่มต้น
- CPLEX
- GLPK (Linux และ MacOS เท่านั้น)
- เครื่องมือแก้ปัญหา XPRESS
โปรดดูที่ เอกสารนี้ เพื่อดูรายละเอียด
สร้างซอร์สโค้ด
หากต้องการสร้างซอร์สโค้ด ให้เปิดเทอร์มินัลและไปยังไดเรกทอรีที่ ที่คุณแยกไฟล์แล้ว จากนั้นป้อนคำสั่งต่อไปนี้เพื่อคอมไพล์ OR-Tools
cmake --build build --config Release --target all -j -v
ดู สร้างเอกสารประกอบ เพื่อดูรายละเอียด
ทดสอบซอร์สโค้ด
คุณสามารถตรวจสอบว่าทุกอย่างทำงานได้อย่างถูกต้องโดยป้อนข้อมูลต่อไปนี้
cmake --build build --config Release --target test -v
การดำเนินการนี้เป็นการแสดงตัวอย่างสำหรับ OR-Tools หากตัวอย่างทั้งหมดทํางาน เรียบร้อยแล้ว คุณก็พร้อมที่จะ เริ่มต้นใช้งาน OR-Tools
การล้างไฟล์บิลด์
หากคุณจำเป็นต้องติดตั้ง OR-Tools อีกครั้ง ให้ใช้คำสั่งต่อไปนี้
rm -r build
จะนำทรัพยากร Dependency ที่คอมไพล์แล้วออกทั้งหมด ซึ่งอาจเป็นประโยชน์ในการรีเซ็ตให้อยู่ในสถานะปกติ
จากนั้นป้อนคำสั่งอีกครั้ง
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
cmake --build build --config Release --target all -j -v
การติดตั้ง OR-Tools ในระบบปฏิบัติการของคุณ
คุณติดตั้ง OR-Tools สำหรับ .Net บนระบบปฏิบัติการได้โดยป้อนข้อมูลต่อไปนี้
cmake --build build --config Release --target install -v