यात्रा के ऑप्टिमाइज़ेशन से जुड़ी समस्या को हल करने के बाद मिलने वाला जवाब. इसमें हर वाहन के रास्ते, छोड़े गए शिपमेंट, और समस्या को हल करने की कुल लागत की जानकारी होती है.
JSON के काेड में दिखाना |
---|
{ "routes": [ { object ( |
फ़ील्ड | |
---|---|
routes[] |
हर वाहन के लिए कैलकुलेट किए गए रूट; i-वां रूट, मॉडल में i-वें वाहन से मेल खाता है. |
requestLabel |
अगर अनुरोध में कोई लेबल बताया गया था, तो |
skippedShipments[] |
उन सभी शिपमेंट की सूची जिन्हें स्किप किया गया है. |
validationErrors[] |
पुष्टि करने से जुड़ी उन सभी गड़बड़ियों की सूची जिन्हें हमने खुद से पता लगाया है. |
processedRequest |
कुछ मामलों में, हम आने वाले अनुरोध को हल करने से पहले उसमें बदलाव करते हैं. जैसे, शुल्क जोड़ना. अगर solvingMode == TRANSFORM_AND_RETURN_REQUEST है, तो बदले गए अनुरोध को यहां दिखाया जाता है. एक्सपेरिमेंट के तौर पर उपलब्ध: ज़्यादा जानकारी के लिए, https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request देखें. |
metrics |
इस समाधान के लिए, कुल समय, दूरी, और इस्तेमाल की मेट्रिक. |
OptimizeToursValidationError
OptimizeToursRequest
की पुष्टि करते समय मिली गड़बड़ी या चेतावनी के बारे में बताता है.
JSON के काेड में दिखाना |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
फ़ील्ड | |
---|---|
code |
पुष्टि करने से जुड़ी गड़बड़ी, ( इस सेक्शन के बाद मौजूद फ़ील्ड में, गड़बड़ी के बारे में ज़्यादा जानकारी मिलती है. कई गड़बड़ियां: कई गड़बड़ियां होने पर, पुष्टि करने की प्रोसेस उनमें से कई को आउटपुट करने की कोशिश करती है. कंपाइलर की तरह ही, यह प्रोसेस भी पूरी तरह से सटीक नहीं होती. पुष्टि करने से जुड़ी कुछ गड़बड़ियां "गंभीर" होंगी. इसका मतलब है कि वे पुष्टि की पूरी प्रोसेस को रोक देंगी. ऐसा स्थिरता: |
displayName |
गड़बड़ी का डिसप्ले नेम. |
fields[] |
गड़बड़ी के संदर्भ में, ज़्यादातर मामलों में 0 या 1 फ़ील्ड शामिल होते हैं. हालांकि, इसमें एक से ज़्यादा फ़ील्ड भी शामिल हो सकते हैं. उदाहरण के लिए, वाहन #4 और शिपमेंट #2 के पहले पिकअप का रेफ़रंस इस तरह दिया जा सकता है:
हालांकि, ध्यान दें कि किसी गड़बड़ी कोड के लिए, |
errorMessage |
गड़बड़ी के बारे में ऐसी जानकारी वाली स्ट्रिंग जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. स्टेबिलिटी: स्टेबल नहीं है: किसी |
offendingValues |
इसमें फ़ील्ड की वैल्यू हो सकती हैं. यह सुविधा हमेशा उपलब्ध नहीं होती. आपको इस पर बिलकुल भरोसा नहीं करना चाहिए. इसका इस्तेमाल सिर्फ़ मैन्युअल मॉडल डीबगिंग के लिए करें. |
FieldReference
पुष्टि करने से जुड़ी गड़बड़ी के लिए संदर्भ बताता है. FieldReference
हमेशा इस फ़ाइल में मौजूद किसी फ़ील्ड को रेफ़र करता है और उसी हैरारकी वाले स्ट्रक्चर का पालन करता है. उदाहरण के लिए, हम वाहन #5 के startTimeWindows
के एलिमेंट #2 की जानकारी देने के लिए, इनका इस्तेमाल कर सकते हैं:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
हालांकि, हम मैसेज में OptimizeToursRequest
या ShipmentModel
जैसी टॉप-लेवल इकाइयों को शामिल नहीं करते, ताकि मैसेज में बहुत ज़्यादा जानकारी न हो.
JSON के काेड में दिखाना |
---|
{ "name": string, "subField": { object ( |
फ़ील्ड | |
---|---|
name |
फ़ील्ड का नाम, जैसे कि "वाहन". |
subField |
अगर ज़रूरी हो, तो बार-बार नेस्ट किया गया सब-फ़ील्ड. |
यूनियन फ़ील्ड
|
|
index |
अगर फ़ील्ड दोहराया गया है, तो उसका इंडेक्स. |
key |
अगर फ़ील्ड कोई मैप है, तो यह वैल्यू डालें. |
मेट्रिक
सभी रूट के लिए एग्रीगेट की गई कुल मेट्रिक.
JSON के काेड में दिखाना |
---|
{
"aggregatedRouteMetrics": {
object ( |
फ़ील्ड | |
---|---|
aggregatedRouteMetrics |
यह डेटा, सभी रास्तों के लिए इकट्ठा किया जाता है. हर मेट्रिक, एक ही नाम के सभी |
skippedMandatoryShipmentCount |
ज़रूरी शिपमेंट की संख्या. |
usedVehicleCount |
इस्तेमाल किए गए वाहनों की संख्या. ध्यान दें: अगर वाहन का रास्ता खाली है और |
earliestVehicleStartTime |
इस्तेमाल किए गए वाहन के लिए, सबसे पहले शुरू होने का समय. इसे आरएफ़सी 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़्ड होगा और इसमें 0, 3, 6 या 9 दशमलव अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: |
latestVehicleEndTime |
इस्तेमाल किए गए वाहन के लिए, विज्ञापन दिखाने का आखिरी समय. इसे आरएफ़सी 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़्ड होगा और इसमें 0, 3, 6 या 9 दशमलव अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: |
costs |
सॉल्यूशन की लागत, जिसे लागत से जुड़े अनुरोध फ़ील्ड के हिसाब से बांटा गया है. इनपुट OptimizeToursRequest के हिसाब से, कुंजियां प्रोटो पाथ होती हैं, जैसे कि "model.shipments.pickups.cost". साथ ही, वैल्यू, उससे जुड़े लागत फ़ील्ड से जनरेट की गई कुल लागत होती हैं, जो पूरे समाधान में एग्रीगेट की जाती हैं. दूसरे शब्दों में, costs["model.shipments.pickups.cost"] का मतलब है, पिकअप के लिए खरीदार से लिए जाने वाले सभी शुल्कों का कुल योग. मॉडल में तय की गई सभी लागतों की जानकारी यहां दी गई है. हालांकि, TransitionAttributes से जुड़ी लागतों की जानकारी 01/2022 से सिर्फ़ एग्रीगेट तरीके से दी गई है. |
totalCost |
समाधान की कुल लागत. लागत के मैप में मौजूद सभी वैल्यू का योग. |