- एचटीटीपी अनुरोध
- पाथ पैरामीटर
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- अनुमति पाने के लिंक
- IAM की अनुमतियां
यह locations.optimizeTours
तरीके का एक वैरिएंट है, जिसे ज़्यादा टाइम आउट वैल्यू के साथ ऑप्टिमाइज़ेशन के लिए डिज़ाइन किया गया है. कुछ मिनट से ज़्यादा समय लेने वाले ऑप्टिमाइज़ेशन के लिए, locations.optimizeTours
तरीके के बजाय इस तरीके का इस्तेमाल करना चाहिए.
दिखाए गए long-running operation
(LRO) का नाम <parent>/operations/<operation_id>
फ़ॉर्मैट में होगा. इसका इस्तेमाल, कैलकुलेशन की प्रोग्रेस को ट्रैक करने के लिए किया जा सकता है. metadata
फ़ील्ड का टाइप OptimizeToursLongRunningMetadata
है. अगर response
फ़ील्ड का टाइप OptimizeToursResponse
है, तो इसका मतलब है कि फ़ील्ड को जोड़ दिया गया है.
एक्सपेरिमेंट के तौर पर उपलब्ध: ज़्यादा जानकारी के लिए, https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request देखें.
एचटीटीपी अनुरोध
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeToursLongRunning
यूआरएल में gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल किया गया है.
पाथ पैरामीटर
पैरामीटर | |
---|---|
parent |
ज़रूरी है. कॉल करने के लिए, टारगेट किया गया प्रोजेक्ट या जगह चुनें. फ़ॉर्मैट: * अगर कोई जगह नहीं चुनी जाती है, तो कोई क्षेत्र अपने-आप चुना जाएगा. |
अनुरोध का मुख्य भाग
अनुरोध के मुख्य भाग में, नीचे दिए गए स्ट्रक्चर वाला डेटा होता है:
JSON के काेड में दिखाना |
---|
{ "timeout": string, "model": { object ( |
फ़ील्ड | |
---|---|
timeout |
अगर यह टाइम आउट सेट है, तो सर्वर टाइम आउट की अवधि खत्म होने से पहले या सिंक्रोनस अनुरोधों के लिए सर्वर की समयसीमा खत्म होने से पहले, जवाब दे देता है. असाइनमेंट के लिए टाइम आउट खत्म होने से पहले, सर्वर कोई समाधान जनरेट करेगा. हालांकि, ऐसा सिर्फ़ तब होगा, जब ऐसा करना संभव हो. सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि ' |
model |
शिपमेंट का मॉडल, जिसे हल करना है. |
solvingMode |
डिफ़ॉल्ट रूप से, समस्या हल करने का मोड |
searchMode |
अनुरोध को हल करने के लिए इस्तेमाल किया गया सर्च मोड. |
injectedFirstSolutionRoutes[] |
पहले से मौजूद समाधान से मिलता-जुलता पहला समाधान ढूंढने के लिए, ऑप्टिमाइज़ेशन एल्गोरिदम को निर्देश दें. पहला समाधान बनाने पर, मॉडल पर पाबंदी लग जाती है. किसी रूट पर न किए गए शिपमेंट, पहले समाधान में छूट जाते हैं. हालांकि, उन्हें बाद के समाधानों में शामिल किया जा सकता है. समाधान, मान्य होने से जुड़ी कुछ बुनियादी शर्तों को पूरा करना चाहिए:
अगर इंजेक्ट किया गया समाधान काम नहीं करता है, तो ज़रूरी नहीं कि पुष्टि करने से जुड़ी गड़बड़ी का मैसेज दिखे. इसके बजाय, गड़बड़ी का ऐसा मैसेज दिख सकता है जिससे पता चलता हो कि समाधान काम नहीं करता. |
injectedSolutionConstraint |
पिछले समाधान से मिलता-जुलता फ़ाइनल समाधान ढूंढने के लिए, ऑप्टिमाइज़ेशन एल्गोरिदम को सीमित करें. उदाहरण के लिए, इसका इस्तेमाल उन रास्तों के हिस्सों को फ़्रीज़ करने के लिए किया जा सकता है जो पहले ही पूरे हो चुके हैं या जिन्हें पूरा करना बाकी है, लेकिन जिनमें बदलाव नहीं करना है. अगर इंजेक्ट किया गया समाधान काम नहीं करता है, तो ज़रूरी नहीं कि पुष्टि करने से जुड़ी गड़बड़ी का मैसेज दिखे. इसके बजाय, गड़बड़ी का ऐसा मैसेज दिख सकता है जिससे पता चलता हो कि समाधान काम नहीं करता. |
refreshDetailsRoutes[] |
अगर सूची में कोई जगह है, तो दिए गए रास्ते रीफ़्रेश हो जाएंगे. हालांकि, विज़िट के क्रम या यात्रा में लगने वाले समय में कोई बदलाव नहीं किया जाएगा. सिर्फ़ अन्य जानकारी अपडेट की जाएगी. इससे मॉडल की समस्या हल नहीं होती. नवंबर 2020 से, यह सिर्फ़ उन रास्तों की पॉलीलाइन भरता है जिनमें कोई डेटा मौजूद होता है. साथ ही, इसके लिए सबमिट किए गए रास्तों के इस फ़ील्ड का इस्तेमाल
|
interpretInjectedSolutionsUsingLabels |
अगर सही है, तो:
यह व्याख्या, अगर यह सही है, तो इन कैटगरी में मौजूद लेबल, अपनी कैटगरी में ज़्यादा से ज़्यादा एक बार दिखने चाहिए:
अगर इंजेक्ट किए गए समाधान में कोई इंजेक्ट किए गए किसी समाधान से, रूट विज़िट या पूरे रूट हटाने पर, लागू होने वाली पाबंदियों पर असर पड़ सकता है. इससे समाधान में बदलाव हो सकता है, पुष्टि करने में गड़बड़ियां हो सकती हैं या समाधान लागू नहीं हो सकता. ध्यान दें: कॉल करने वाले को यह पक्का करना होगा कि हर |
considerRoadTraffic |
|
populatePolylines |
अगर यह सही है, तो जवाब |
populateTransitionPolylines |
अगर यह सही है, तो |
allowLargeDeadlineDespiteInterruptionRisk |
अगर यह सेट है, तो अनुरोध की समयसीमा 60 मिनट तक हो सकती है. इसके बारे में ज़्यादा जानने के लिए, https://grpc.io/blog/deadlines पर जाएं. ऐसा न करने पर, ज़्यादा से ज़्यादा 30 मिनट का समय दिया जाएगा. ध्यान दें कि लंबे समय तक चलने वाले अनुरोधों में रुकावट आने का जोखिम ज़्यादा होता है. हालांकि, यह जोखिम बहुत कम होता है. |
useGeodesicDistances |
अगर यह सही है, तो यात्रा की दूरी का हिसाब Google Maps की दूरी के बजाय, जियोडेसिक दूरी का इस्तेमाल करके लगाया जाएगा. साथ ही, यात्रा में लगने वाले समय का हिसाब जियोडेसिक दूरी और |
label |
इस अनुरोध की पहचान करने के लिए इस्तेमाल किया जा सकने वाला लेबल, जिसकी शिकायत |
geodesicMetersPerSecond |
जब |
maxValidationErrors |
पुष्टि करने से जुड़ी गड़बड़ियों की संख्या को छोटा कर देता है. आम तौर पर, ये गड़बड़ियां INVALID_ARGUMENT गड़बड़ी वाले पेलोड में, BadRequest गड़बड़ी की जानकारी (https://cloud.google.com/apis/design/errors#error_details) के तौर पर अटैच होती हैं. हालांकि, ऐसा तब तक नहीं होता, जब तक solvingMode=VALIDATE_ONLY नहीं होता: |
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में Operation
का एक इंस्टेंस शामिल किया जाता है.
अनुमति के दायरे
नीचे दिए गए OAuth के लिंक की ज़रूरत हाेती है:
https://www.googleapis.com/auth/cloud-platform
IAM की अनुमतियां
parent
रिसॉर्स पर, IAM की इस अनुमति की ज़रूरत है:
routeoptimization.operations.create
ज़्यादा जानकारी के लिए, IAM दस्तावेज़ देखें.