การสร้างจากซอร์ส หรือ - เครื่องมือ Java ใน MacOS

เกริ่นนำ

คู่มือนี้อธิบายวิธีสร้างจากซอร์สโค้ด "หรือ" โดยรองรับ Java ใน MacOS

เราขอแนะนำให้ติดตั้งแพ็กเกจ เว้นแต่ว่าคุณวางแผนที่จะแก้ไขซอร์สโค้ดหรือใช้เครื่องมือแก้โจทย์ของบุคคลที่สามร่วมกับ "หรือ"

แม้ว่าวิธีการเหล่านี้อาจใช้ได้กับตัวแปร MacOS อื่นๆ ด้วย แต่เราได้ทดสอบเวอร์ชันดังกล่าวในเครื่องที่เป็นไปตามข้อกำหนดต่อไปนี้เท่านั้น

  • MacOS 13.0.1 (Ventura) Intel 64 บิต (x86_64)
  • MacOS 13.0.1 (Ventura) M1 (Arm64)

ข้อกำหนดเบื้องต้น

ส่วนต่อไปนี้จะอธิบายข้อกำหนดเบื้องต้นสำหรับการติดตั้ง OR-เครื่องมือ

เครื่องมือบรรทัดคำสั่ง Xcode

คุณต้องติดตั้งเครื่องมือบรรทัดคำสั่ง Xcode โดยเปิดเทอร์มินัลที่พบใน /Applications/Utilities/ และป้อนดังนี้

xcode-select --install

คลิก "ติดตั้ง" เพื่อดาวน์โหลดและติดตั้ง Xcode Command Line Tools คุณไม่จำเป็นต้อง "รับ Xcode" จาก App Store หากการเชื่อมต่ออินเทอร์เน็ตช้า อาจต้องใช้เวลาหลายนาที

ตรวจสอบว่าคุณได้ติดตั้งเครื่องมือบรรทัดคำสั่ง Xcode เรียบร้อยแล้ว โดยทำดังนี้

xcode-select -p

คุณควรจะเห็นสิ่งต่อไปนี้

/Library/Developer/CommandLineTools

โฮมบรู

หากต้องการติดตั้งข้อกำหนดเบื้องต้นที่เหลือ ขอแนะนำให้ติดตั้ง "ตัวจัดการแพ็กเกจที่ขาดหายไปสำหรับ macOS" ก่อน หรือที่เรียกว่า Homeในรูปแบบ โดยเปิดหน้าต่างเทอร์มินัลแล้วป้อนข้อมูลต่อไปนี้

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew update

วิธียืนยันว่าคุณได้ติดตั้งเบียร์เรียบร้อยแล้ว

brew --version

คุณควรจะเห็นสิ่งต่อไปนี้

Homebrew 1.6.9-8-g25542d7
Homebrew/homebrew-core (git revision 0e0c84; last commit 2018-06-20)

เครื่องมือ C++

หากต้องการติดตั้งเครื่องมือ C++ ให้เปิดหน้าต่างเทอร์มินัลแล้วป้อนข้อมูลต่อไปนี้

brew install cmake wget pkg-config

เครื่องมือ SwG

หากต้องการติดตั้งเครื่องมือ SWIG ให้เปิดหน้าต่างเทอร์มินัลแล้วป้อนข้อมูลต่อไปนี้

brew install swig

Java JDK

คุณต้องติดตั้ง Java JDK 8.0 หรือรุ่นที่สูงกว่า

เมื่อติดตั้ง Homebr แล้ว คุณจะติดตั้ง openjdk ได้โดยเปิดหน้าต่างเทอร์มินัลแล้วป้อน

brew install openjdk
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

จากนั้นคุณต้องส่งออกตัวแปร JAVA_HOME ด้วยคำสั่งต่อไปนี้

export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk.jdk

Maven

คุณต้องติดตั้ง Maven

เมื่อติดตั้ง Homebr แล้ว คุณจะติดตั้ง maven ได้โดยเปิดหน้าต่างเทอร์มินัลแล้วป้อนข้อมูลต่อไปนี้

brew install maven

คุณทดสอบได้ว่าติดตั้ง Maven อย่างถูกต้องหรือไม่และค้นหา Java โดยใช้คำสั่งต่อไปนี้

mvn -v

ดาวน์โหลดซอร์สโค้ด

ซอร์สโค้ด 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 แทน Branch main ให้ป้อนคำสั่งต่อไปนี้ในที่เก็บในเครื่อง

    git fetch --all --tags --prune
    git checkout tags/v9.9 -v v9.9
    

กำหนดค่าบิลด์

ก่อนที่จะสร้างเครื่องมือ "หรือ" คุณจะต้องกำหนดค่าโปรแกรมสร้างระบบบิลด์ CMake

เปิดเทอร์มินัลและไปยังไดเรกทอรีที่คุณแยกไฟล์ จากนั้นป้อน

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

ดูรายละเอียดได้ในเอกสารประกอบ CMake

กำลังใช้ SCIP

ตั้งแต่เวอร์ชัน 7.8 เป็นต้นไป SCIP ได้ผสานรวมแล้ว คุณจึงไม่ต้องติดตั้งด้วยตนเอง

การใช้ Gurobi

Gurobi มีการผสานรวมไว้ล่วงหน้าแล้ว เมื่อจำเป็น ในระหว่างรันไทม์ "หรือ" เครื่องมือจะค้นหาไลบรารีที่ใช้ร่วมกันของ Gurobi ในเส้นทางการติดตั้งเริ่มต้นของตัวติดตั้ง Gurobi บน MAC OS X และ Windows หรือโดยใช้ตัวแปรสภาพแวดล้อม GUROBI_HOME

การใช้เครื่องมือแก้โจทย์คณิต MIP ของบุคคลที่สาม (ไม่บังคับ)

นอกจากนี้ คุณยังสามารถใช้เครื่องมือ OR กับโปรแกรมแก้ปัญหา MIP ของบุคคลที่สามที่ไม่บังคับดังต่อไปนี้ ซึ่งปิดใช้การสนับสนุนไว้โดยค่าเริ่มต้นได้

โปรดดูรายละเอียดในเอกสารนี้

สร้างซอร์สโค้ด

หากต้องการสร้างซอร์สโค้ด ให้เปิดเทอร์มินัลและไปยังไดเรกทอรีที่คุณแยกไฟล์ออกมา จากนั้นป้อนคำสั่งต่อไปนี้เพื่อคอมไพล์ OR-Tools:

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

ดูรายละเอียดได้ในเอกสารประกอบ CMake

ทดสอบซอร์สโค้ด

คุณสามารถตรวจสอบว่าทุกอย่างทำงานได้อย่างถูกต้องด้วยการป้อน

cmake --build build --config Release --target RUN_TESTS -v

ซึ่งจะเป็นการเรียกใช้ตัวอย่างสำหรับ OR-เครื่องมือ หากตัวอย่างทั้งหมดทำงานเสร็จสมบูรณ์ คุณก็พร้อมที่จะเริ่มต้นใช้งาน "หรือ"

การล้างไฟล์บิลด์

หากต้องการติดตั้ง "หรือ" เครื่องมืออีกครั้ง ให้ใช้คำสั่งต่อไปนี้

rm -r build

จะนำทรัพยากร Dependency ที่คอมไพล์แล้วทั้งหมดออก ซึ่งจะเป็นประโยชน์สำหรับการรีเซ็ตสถานะที่ไม่มีข้อมูลใดๆ

จากนั้นป้อนคำสั่งอีกครั้ง

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

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

การติดตั้ง OR-เครื่องมือ ในระบบปฏิบัติการของคุณ

คุณสามารถติดตั้ง "หรือ" เครื่องมือสำหรับ Java บนระบบปฏิบัติการของคุณโดยป้อน

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