परिचय
इस गाइड में, सोर्स OR-टूल से ऐप्लिकेशन बनाने का तरीका बताया गया है. .Net पर, Linux पर.
अगर आपको सोर्स कोड में बदलाव करना है या इसके साथ तीसरे पक्ष के सॉल्वर का इस्तेमाल करना है, तो OR-टूल का इस्तेमाल करते हैं, तो हम पैकेज इंस्टॉलेशन का सुझाव देते हैं.
हालांकि, ये निर्देश Linux के अन्य वैरिएंट पर भी काम कर सकते हैं, लेकिन हम इनकी सिर्फ़ उन मशीनों पर टेस्ट किया है जो नीचे दी गई ज़रूरी शर्तों को पूरा करती हैं:
- अल्पाइन एज 64-बिट (x86_64)
- Centos 7 LTS 64-बिट (x86_64)
- Debian SID 64-बिट (x86_64)
- Debian 11 (बुल्सआई) 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 एलटीएस 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
फ़ेडोरा
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
डेबियन
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 कोर 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
डेबियन
.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
सोर्स कोड डाउनलोड करें
OR-Tools सोर्स कोड की दो अलग-अलग ब्रांच होती हैं
GitHub: stable
और main
.
stable
की ब्रांच की अच्छी तरह से जांच कर ली गई है. साथ ही, यह सभी पर सही तरीके से काम करेगी
इस्तेमाल किए जा सकते हैं.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
main
ब्रांच में नए अपडेट और
सुधार लागू किए गए हैं; यह ज़्यादा नया, लेकिन कम स्थिर है.
स्थिर सोर्स कोड डाउनलोड करना
OR-Tools के लिए आपको नीचे दिए गए किसी भी तरीके से स्थिर सोर्स कोड मिल सकता है:
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
ने), तो Google Chat का इस्तेमाल करके किसी ख़ास रिलीज़ को टैग. उदाहरण के लिए,main
ब्रांच, तो अपने लोकल रेपो में ये कमांड डालें:git fetch --all --tags --prune
git checkout tags/v9.10 -b v9.10
बिल्ड कॉन्फ़िगर करें
OR-टूल बनाने से पहले, आपको CMake बिल्ड सिस्टम कॉन्फ़िगर करना होगा जनरेटर.
कोई टर्मिनल खोलें और उस डायरेक्ट्री में जाएं जहां से आपने फ़ाइलें निकाली थीं. फिर यह डालें:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
क्लिक करें
चेकआउट करें CMake दस्तावेज़ देखें.
SCIP का इस्तेमाल किया जा रहा है
वर्शन 7.8 और इसके बाद के वर्शन में, SCIP को अब इंटिग्रेट कर दिया गया है. इसलिए, आपको इसे मैन्युअल तरीके से इंस्टॉल नहीं करना पड़ेगा.
Gurobi का इस्तेमाल करना
Gurobi अब पहले से एकीकृत है. ज़रूरत पड़ने पर, रनटाइम के दौरान OR-Tools खोज करेंगे
Gurobi इंस्टॉल करने वाले लोगों के डिफ़ॉल्ट इंस्टॉल पाथ में Gurobi की शेयर की गई लाइब्रेरी
MAC OS X और Windows पर या GUROBI_HOME
एनवायरमेंट वैरिएबल का इस्तेमाल करके ऐसा किया जा सकता है.
तीसरे पक्ष के किसी वैकल्पिक MIP सॉल्वर का इस्तेमाल करना
तीसरे पक्ष के इन वैकल्पिक MIP में से किसी एक के साथ भी OR-Tools का इस्तेमाल किया जा सकता है ऐसे सॉल्वर जिनके लिए सहायता पाने की सुविधा डिफ़ॉल्ट रूप से बंद रहती है:
- 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-टूल के लिए उदाहरण चलाता है. अगर सभी उदाहरण तो आप इसके लिए तैयार हैं OR-Tools का इस्तेमाल शुरू करें.
बिल्ड फ़ाइलों को मिटाया जा रहा है
अगर आपको OR-Tools को फिर से इंस्टॉल करना है, तो कमांड:
rm -r build
इकट्ठा की गई सभी डिपेंडेंसी हटा दी जाएगी. क्लीन स्थिति पर रीसेट करने के लिए यह उपयोगी हो सकता है.
इसके बाद, कमांड दोबारा डालें:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
cmake --build build --config Release --target all -j -v
अपने ऑपरेटिंग सिस्टम पर OR-Tools इंस्टॉल करना
अपने ऑपरेटिंग सिस्टम पर .Net के लिए OR-Tools इंस्टॉल करने के लिए यह डालें:
cmake --build build --config Release --target install -v