เกริ่นนำ
คู่มือนี้อธิบายวิธีสร้างจากแหล่งที่มา "หรือ" เครื่องมือที่รองรับ C++ บน 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 23.10 64 บิต (x86_64)
- Ubuntu 22.04 LTS 64 บิต (x86_64)
- Ubuntu 20.04 LTS 64 บิต (x86_64)
ข้อกำหนดเบื้องต้น
ส่วนต่อไปนี้จะอธิบายข้อกำหนดเบื้องต้นสำหรับการติดตั้ง OR-เครื่องมือ
เครื่องมือ 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
หมวก Fedora
sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core
หมวก Fedora
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
ดาวน์โหลดซอร์สโค้ด
ซอร์สโค้ด OR-Tools ใน GitHub มี 2 สาขา ได้แก่ stable
และ main
Branch ของ stable
ได้รับการทดสอบอย่างละเอียดแล้วและจะทํางานได้อย่างราบรื่นในแพลตฟอร์มที่รองรับทั้งหมด
สาขา main
เป็นที่ที่ใช้การอัปเดตและการปรับปรุงล่าสุด ซึ่งเป็นปัจจุบันมากกว่าแต่มีความเสถียรน้อยกว่า
ดาวน์โหลดซอร์สโค้ดที่เสถียร
คุณรับซอร์สโค้ดที่เสถียรสำหรับเครื่องมือ "หรือ" ได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
โคลนสาขา
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.9 แทน Branchmain
ให้ป้อนคำสั่งต่อไปนี้ในที่เก็บในเครื่องgit fetch --all --tags --prune
git checkout tags/v9.9 -v v9.9
กำหนดค่าบิลด์
ก่อนที่จะสร้างเครื่องมือ "หรือ" คุณจะต้องกำหนดค่าโปรแกรมสร้างระบบบิลด์ CMake
เปิดเทอร์มินัลและไปยังไดเรกทอรีที่คุณแยกไฟล์ จากนั้นป้อน
cmake -S . -B build -DBUILD_DEPS=ON
ดูรายละเอียดได้ในเอกสารประกอบ CMake
กำลังใช้ SCIP
ตั้งแต่เวอร์ชัน 7.8 เป็นต้นไป SCIP ได้ผสานรวมแล้ว คุณจึงไม่ต้องติดตั้งด้วยตนเอง
การใช้ Gurobi
Gurobi มีการผสานรวมไว้ล่วงหน้าแล้ว เมื่อจำเป็น ในระหว่างรันไทม์ "หรือ" เครื่องมือจะค้นหาไลบรารีที่ใช้ร่วมกันของ 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
ทดสอบซอร์สโค้ด
คุณสามารถตรวจสอบว่าทุกอย่างทำงานได้อย่างถูกต้องด้วยการป้อน
cmake --build build --config Release --target test -v
ซึ่งจะเป็นการเรียกใช้ตัวอย่างสำหรับ OR-เครื่องมือ หากตัวอย่างทั้งหมดทำงานเสร็จสมบูรณ์ คุณก็พร้อมที่จะเริ่มต้นใช้งาน "หรือ"
การล้างไฟล์บิลด์
หากต้องการติดตั้ง "หรือ" เครื่องมืออีกครั้ง ให้ใช้คำสั่งต่อไปนี้
rm -r build
จะนำทรัพยากร Dependency ที่คอมไพล์แล้วทั้งหมดออก ซึ่งจะเป็นประโยชน์สำหรับการรีเซ็ตสถานะที่ไม่มีข้อมูลใดๆ
จากนั้นป้อนคำสั่งอีกครั้ง
cmake -S . -B build -DBUILD_DEPS=ON
cmake --build build --config Release --target all -j -v
การติดตั้ง OR-เครื่องมือ ในระบบปฏิบัติการของคุณ
คุณสามารถติดตั้งเครื่องมือ "หรือ" สำหรับ C++ บนระบบปฏิบัติการได้โดยป้อน
cmake --build build --config Release --target install -v