- एचटीटीपी अनुरोध
- पाथ पैरामीटर
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- अनुमति के दायरे
- आईएएम की अनुमतियां
यह ShipmentModel
वाला OptimizeToursRequest
भेजता है और ShipmentRoute
वाला OptimizeToursResponse
देता है. इन रास्तों का सेट ऐसे रास्तों का होता है जिन पर वाहनों की मदद से कुल खर्च को कम किया जाता है.
ShipmentModel
मॉडल में मुख्य रूप से Shipment
होते हैं, जिन्हें पूरा करने की ज़रूरत होती है. साथ ही, Vehicle
का इस्तेमाल Shipment
को ट्रांसपोर्ट करने के लिए किया जा सकता है. ShipmentRoute
, Vehicle
के लिए Shipment
असाइन करते हैं. खास तौर पर, वे हर वाहन के लिए Visit
की सीरीज़ असाइन करते हैं, जिनमें Visit
, VisitRequest
से जुड़ा होता है, जो Shipment
के लिए पिकअप या डिलीवरी की सुविधा है.
इसका लक्ष्य Vehicle
को ShipmentRoute
का असाइनमेंट देना है, ताकि उस कुल लागत को कम किया जा सके जहां लागत में कई कॉम्पोनेंट के बारे में ShipmentModel
में बताया गया है.
एचटीटीपी अनुरोध
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:optimizeTours
यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
पाथ पैरामीटर
पैरामीटर | |
---|---|
parent |
ज़रूरी है. कॉल करने के लिए, प्रोजेक्ट या जगह को टारगेट करें. फ़ॉर्मैट: * अगर किसी जगह की जानकारी नहीं दी गई है, तो कोई इलाका अपने-आप चुन लिया जाएगा. |
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:
JSON के काेड में दिखाना |
---|
{ "timeout": string, "model": { object ( |
फ़ील्ड | |
---|---|
timeout |
अगर यह टाइम आउट सेट है, तो सर्वर, टाइम आउट होने की अवधि खत्म होने या सिंक्रोनस अनुरोधों के लिए सर्वर की समयसीमा खत्म होने से पहले जवाब देता है, जो भी पहले हो. एसिंक्रोनस अनुरोधों के लिए, सर्वर टाइम आउट खत्म होने से पहले समाधान जनरेट करेगा (अगर मुमकिन हो). सेकंड में कुल नौ दशमलव अंक, जो ' |
model |
शिपमेंट मॉडल को हल करना है. |
solvingMode |
डिफ़ॉल्ट रूप से, समस्या हल करने वाला मोड |
searchMode |
अनुरोध का समाधान करने के लिए, सर्च मोड का इस्तेमाल किया जाता है. |
injectedFirstSolutionRoutes[] |
पिछले समाधान से मिलता-जुलता पहला समाधान ढूंढने के लिए, ऑप्टिमाइज़ेशन एल्गोरिदम को गाइड करें. पहला समाधान बनाए जाने पर, मॉडल सीमित होता है. किसी रूट पर नहीं की गई शिपिंग की जानकारी को पहले विकल्प में साफ़ तौर पर स्किप कर दिया जाता है. हालांकि, उसे बाद में इस्तेमाल किया जा सकता है. समाधान को, मान्य मान्यता के कुछ बुनियादी अनुमानों को पूरा करना होगा:
अगर इंजेक्ट किया गया समाधान संभव नहीं है, तो ज़रूरी नहीं कि एक पुष्टि गड़बड़ी दिखाई गई हो और इसके बजाय, गड़बड़ी दिखाने वाली गड़बड़ी दिखाई जाए. |
injectedSolutionConstraint |
पिछले समाधान से मिलता-जुलता आखिरी समाधान ढूंढने के लिए, ऑप्टिमाइज़ेशन एल्गोरिदम को कंट्रोल करें. उदाहरण के लिए, इसका इस्तेमाल रूट के उन हिस्सों को फ़्रीज़ करने के लिए किया जा सकता है जो पूरे हो चुके हैं या जिन्हें पूरा किया जाना है, लेकिन उनमें कोई बदलाव नहीं किया जाना चाहिए. अगर इंजेक्ट किया गया समाधान संभव नहीं है, तो ज़रूरी नहीं कि एक पुष्टि गड़बड़ी दिखाई गई हो और इसके बजाय, गड़बड़ी दिखाने वाली गड़बड़ी दिखाई जाए. |
refreshDetailsRoutes[] |
अगर खाली नहीं है, तो दिए गए रास्तों को रीफ़्रेश किया जाएगा. ऐसा करते समय, उनके दिए गए क्रम या यात्रा में लगने वाले समय में कोई बदलाव नहीं किया जाएगा. सिर्फ़ दूसरी जानकारी अपडेट की जाएगी. इससे मॉडल का समाधान नहीं होता. 2020/11 से, यह सिर्फ़ उन रास्तों की पॉलीलाइन भरता है जो खाली नहीं हैं और यह ज़रूरी है कि पास किए गए रास्तों के इस फ़ील्ड का इस्तेमाल इस व्यवहार पर |
interpretInjectedSolutionsUsingLabels |
अगर सही है:
यह परिभाषा अगर सही है, तो इन कैटगरी के लेबल अपनी कैटगरी में ज़्यादा से ज़्यादा एक बार दिखने चाहिए:
अगर इंजेक्ट किए गए सलूशन में इंजेक्ट किए गए किसी सलूशन से रूट विज़िट या पूरे रूट को हटाने पर, पहले से तय की गई पाबंदियों पर असर पड़ सकता है. इसकी वजह से, समाधान में बदलाव हो सकता है, पुष्टि करने से जुड़ी गड़बड़ियां हो सकती हैं या उसे पूरा न किया जा सकता हो. ध्यान दें: कॉलर को यह पक्का करना होगा कि हर |
considerRoadTraffic |
|
populatePolylines |
अगर सही है, तो जवाब |
populateTransitionPolylines |
अगर सही है, तो जवाब |
allowLargeDeadlineDespiteInterruptionRisk |
अगर इसे सेट किया जाता है, तो अनुरोध करने की समयसीमा (https://grpc.io/blog/deadlines देखें) में 60 मिनट तक हो सकती है. अगर ऐसा नहीं है, तो समयसीमा खत्म होने में सिर्फ़ 30 मिनट लगेंगे. ध्यान दें कि लंबे समय तक सक्रिय रहने वाले अनुरोधों में रुकावट का काफ़ी ज़्यादा (लेकिन कम) जोखिम होता है. |
useGeodesicDistances |
अगर सही है, तो यात्रा की दूरी का हिसाब लगाने के लिए, Google Maps की दूरी के बजाय जियोडेसिक दूरी का इस्तेमाल किया जाएगा. साथ ही, यात्रा में लगने वाले समय का हिसाब, |
label |
इस अनुरोध की पहचान करने के लिए इस्तेमाल किया जा सकने वाला लेबल, |
geodesicMetersPerSecond |
अगर |
maxValidationErrors |
पुष्टि करने में हुई गड़बड़ियों की संख्या को छोटा करता है. आम तौर पर, इन गड़बड़ियों को BadRequest गड़बड़ी की जानकारी (https://cloud.google.com/apis/design/errors#error_details) के तौर पर, INVALID_LANGUAGE गड़बड़ी के पेलोड से जोड़ा जाता है, जब तक कि SolutionMode=VALIDATE_ONLY: |
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में OptimizeToursResponse
का एक इंस्टेंस शामिल किया जाता है.
अनुमति के दायरे
नीचे दिए गए OAuth के लिंक की ज़रूरत हाेती है:
https://www.googleapis.com/auth/cloud-platform
IAM अनुमतियां
parent
संसाधन पर, इस IAM अनुमति की ज़रूरत होती है:
routeoptimization.locations.use
ज़्यादा जानकारी के लिए, IAM दस्तावेज़ देखें.