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