शुरुआती जानकारी
इस गाइड में बताया गया है कि Linux पर .Net की सुविधा के साथ, सोर्स OR-टूल से कैसे बनाया जा सकता है.
हमारा सुझाव है कि अगर आप सोर्स कोड में बदलाव नहीं करना चाहते हैं या OR-टूल के साथ किसी तीसरे पक्ष के सॉल्वर का इस्तेमाल करना चाहते हैं, तो हम आपको पैकेज इंस्टॉल करने का सुझाव देते हैं.
हालांकि, ये निर्देश 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
Debian
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 इंस्टॉल करने के लिए, टर्मिनल विंडो खोलें और यह डालें:
Alpine
apk add swig
सेंटोस
sudo yum install -y swig
Debian
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/en-us/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
Debian
.NET इंस्टॉल करने से पहले, भरोसेमंद कुंजियों की अपनी सूची में Microsoft पैकेज साइनिंग पासकोड और पैकेज रिपॉज़िटरी जोड़ने के लिए, नीचे दिए गए निर्देश चलाएं.
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/en-us/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/en-us/dotnet/core/install/linux-fedora
फ़िडोरा हैट
sudo dnf install -y dotnet-sdk-6.0
रेफ़रंस: https://learn.microsoft.com/en-us/dotnet/core/install/linux-fedora
OpenSUSE
.NET इंस्टॉल करने से पहले, भरोसेमंद कुंजियों की अपनी सूची में Microsoft पैकेज साइनिंग पासकोड और पैकेज रिपॉज़िटरी जोड़ने के लिए, नीचे दिए गए निर्देश चलाएं.
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/en-us/dotnet/core/install/linux-opensuse
Ubuntu
sudo apt install -y dotnet-sdk-6.0
रेफ़रंस: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
रेफ़रंस: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
रेफ़रंस: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu
सोर्स कोड डाउनलोड करना
GitHub पर OR-टूल सोर्स कोड की दो अलग-अलग ब्रांच हैं: stable
और main
.
stable
की ब्रांच को अच्छी तरह से टेस्ट कर लिया गया है और यह काम करने वाले सभी प्लैटफ़ॉर्म पर बिना किसी गड़बड़ी के काम करनी चाहिए.
main
ब्रांच में नए अपडेट और सुधार लागू किए गए हैं. यह ज़्यादा नया है, लेकिन इसमें कोई बदलाव नहीं हुआ है.
स्टेबल सोर्स कोड डाउनलोड करना
OR-टूल के लिए, इनमें से किसी भी तरीके से स्टेबल सोर्स कोड मिल सकता है:
यह टाइप करके,
stable
ब्रांच का क्लोन बनाएं:git clone https://github.com/google/or-tools
GitHub में
Clone or download
बटन पर क्लिक करके, कंप्रेस की गई फ़ाइल में नई रिलीज़ डाउनलोड करें.
मुख्य सोर्स कोड डाउनलोड करना
main
शाखा से सोर्स कोड पाने के लिए, यह डालें:
git clone -b main https://github.com/google/or-tools
पिछली रिलीज़ डाउनलोड करें
पिछली रिलीज़ के लिए सोर्स कोड पाने के लिए, इनमें से किसी भी तरीके का इस्तेमाल किया जा सकता है:
- GitHub के रिलीज़ पेज से पिछली रिलीज़ डाउनलोड करें.
यह मानते हुए कि आपने पहले ही (
git clone
से) एक लोकल रिपॉज़िटरी बना लिया है, आपके पास Git टैग का इस्तेमाल करके कोई खास रिलीज़ देखने का विकल्प है. उदाहरण के लिए,main
ब्रांच के बजाय v9.9 रिलीज़ के साथ काम करने के लिए, अपने लोकल रेपो में ये निर्देश डालें:git fetch --all --tags --prune
git checkout tags/v9.9 -v v9.9
बिल्ड को कॉन्फ़िगर करें
OR-टूल बनाने से पहले, आपको C Maker बिल्ड सिस्टम जनरेटर कॉन्फ़िगर करना होगा.
टर्मिनल खोलें और उस डायरेक्ट्री पर जाएं जहां से आपने फ़ाइलें निकाली हैं. इसके बाद, यह डालें:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
देखें
ज़्यादा जानकारी के लिए, C Maker दस्तावेज़ देखें.
SCIP का इस्तेमाल करना
वर्शन 7.8 से, एससीआईपी को अब इंटिग्रेट कर दिया गया है. इसलिए, आपको इसे मैन्युअल तरीके से इंस्टॉल नहीं करना पड़ेगा.
Gurobi का उपयोग करना
गुरोबी अब पहले से इंटिग्रेट हो चुका है. ज़रूरत पड़ने पर, रनटाइम के दौरान OR-टूल, MAC OS X और Windows पर Gurobi इंस्टॉलर के डिफ़ॉल्ट इंस्टॉल पाथ में या GUROBI_HOME
एनवायरमेंट वैरिएबल का इस्तेमाल करके, Gurobi शेयर की गई लाइब्रेरी को खोजेगा.
तीसरे पक्ष के वैकल्पिक एमआईपी सॉल्वर का इस्तेमाल करना
OR-टूल का इस्तेमाल, तीसरे पक्ष के ऐसे एमआईपी के साथ वैकल्पिक तरीके से भी किया जा सकता है जिनके लिए यह सुविधा डिफ़ॉल्ट रूप से बंद रहती है:
- सीपीएलईएक्स
- GLPK (सिर्फ़ Linux और MacOS के लिए)
- XPRESS सॉल्वर
ज़्यादा जानकारी के लिए, कृपया यह दस्तावेज़ देखें.
सोर्स कोड बनाना
सोर्स कोड बनाने के लिए, एक टर्मिनल खोलें और उस डायरेक्ट्री पर जाएं जहां से आपने फ़ाइलें निकाली हैं. इसके बाद, OR-टूल को कंपाइल करने के लिए यह कमांड डालें:
cmake --build build --config Release --target all -j -v
ज़्यादा जानकारी के लिए, C Maker दस्तावेज़ देखें.
सोर्स कोड की जांच करना
यह जानकारी डालकर देखा जा सकता है कि सब कुछ ठीक से चल रहा है या नहीं:
cmake --build build --config Release --target test -v
यह OR-टूल के उदाहरण चलाता है. अगर सभी उदाहरण सही तरीके से चलते हैं, तो आप OR-टूल का इस्तेमाल शुरू करने के लिए तैयार हैं.
बिल्ड फ़ाइलें हटाई जा रही हैं
अगर आपको OR-टूल को फिर से इंस्टॉल करना है, तो यह निर्देश दें:
rm -r build
कंपाइल की गई सभी डिपेंडेंसी हटा दी जाएंगी. यह साफ़ स्थिति में रीसेट करने के लिए उपयोगी हो सकता है.
इसके बाद, निर्देश फिर से डालें:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
cmake --build build --config Release --target all -j -v
अपने ऑपरेटिंग सिस्टम पर OR-टूल इंस्टॉल करना
यह टाइप करके, अपने ऑपरेटिंग सिस्टम पर .Net के लिए OR-टूल इंस्टॉल किया जा सकता है:
cmake --build build --config Release --target install -v