यात्रा को ऑप्टिमाइज़ करने से जुड़ी समस्या को हल करने के बाद जवाब दिया जाता है. इसमें हर वाहन के लिए आने वाले रास्तों, स्किप किए गए शिपमेंट, और समाधान की कुल लागत शामिल होती है.
JSON के काेड में दिखाना |
---|
{ "routes": [ { object ( |
फ़ील्ड | |
---|---|
routes[] |
हर वाहन के लिए तय किए गए रास्ते; i-th रूट, मॉडल में i-th वाहन से मेल खाता है. |
requestLabel |
|
skippedShipments[] |
स्किप किए गए सभी शिपमेंट की सूची. |
validationErrors[] |
पुष्टि करने से जुड़ी उन सभी गड़बड़ियों की सूची जिनका हमने अलग से पता लगाया था. "कई गड़बड़ियां" देखें |
metrics |
इस समाधान के लिए, कुल समय, दूरी, और इस्तेमाल से जुड़ी मेट्रिक. |
OptimizeToursValidationError
OptimizeToursRequest
की पुष्टि करते समय मिलने वाली किसी गड़बड़ी या चेतावनी के बारे में बताता है.
JSON के काेड में दिखाना |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
फ़ील्ड | |
---|---|
code |
पुष्टि करने से जुड़ी गड़बड़ी, जोड़े ( नीचे दिए गए फ़ील्ड में, गड़बड़ी के बारे में ज़्यादा जानकारी दी गई है. एक से ज़्यादा गड़बड़ियां: कई गड़बड़ियां होने पर, पुष्टि करने की प्रोसेस में, उनमें से कई गड़बड़ियां दिखाने की कोशिश की जाती है. किसी कंपाइलर की तरह ही, यह भी एक सटीक प्रोसेस नहीं है. पुष्टि करने से जुड़ी कुछ गड़बड़ियां "गंभीर" होंगी. इसका मतलब है कि पुष्टि करने की पूरी प्रक्रिया रुक जाती है. अन्य मामलों के अलावा, स्थिरता: REFERENCE: सभी (कोड, नाम) जोड़े की सूची:
|
displayName |
गड़बड़ी का डिसप्ले नेम. |
fields[] |
गड़बड़ी के कॉन्टेक्स्ट में 0, 1 (ज़्यादातर समय) या उससे ज़्यादा फ़ील्ड शामिल हो सकते हैं. उदाहरण के लिए, वाहन #4 और शिपमेंट #2 का पहला पिकअप इस तरह से किया जा सकता है:
हालांकि, ध्यान दें कि किसी दिए गए गड़बड़ी कोड के लिए, |
errorMessage |
इस स्ट्रिंग में गड़बड़ी के बारे में ऐसी जानकारी होती है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. स्थिरता: स्थिर नहीं है: किसी |
offendingValues |
इसमें फ़ील्ड की वैल्यू शामिल हो सकती हैं. यह सुविधा हमेशा उपलब्ध नहीं होती. आपको इस पर बिलकुल भरोसा नहीं करना चाहिए और इसका इस्तेमाल सिर्फ़ मैन्युअल मॉडल डीबग करने के लिए करना चाहिए. |
फ़ील्ड रेफ़रंस
पुष्टि करने में हुई गड़बड़ी के लिए संदर्भ बताता है. 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 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: |
latestVehicleEndTime |
इस्तेमाल किए गए वाहन के खत्म होने का सबसे नया समय, जिसका हिसाब आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: |
costs |
समाधान की लागत, जिसे लागत से जुड़े अनुरोध के फ़ील्ड के हिसाब से बांटा जाता है. कुंजियां प्रोटो पाथ होती हैं, जो इनपुट OptimizeToursRequest से जुड़ी होती हैं, जैसे कि "model.shipments.pickups.cost" और वैल्यू की वैल्यू, उस लागत के फ़ील्ड से जनरेट हुई कुल लागत होती है जिसे पूरे समाधान में जोड़ा जाता है. दूसरे शब्दों में कहें, तो कीमत["model.shipments.pickups.cost"], समाधान के तौर पर पिक अप की सभी कीमतों का कुल योग है. मॉडल में तय की गई सभी कीमतों के बारे में यहां ज़्यादा जानकारी दी गई है. हालांकि, ट्रांज़िशन एट्रिब्यूट से जुड़ी लागत को छोड़कर, ये कीमतें सिर्फ़ 2022/01 तक के डेटा के आधार पर रिपोर्ट की गई हैं. एक ऑब्जेक्ट, जिसमें |
totalCost |
समाधान की कुल लागत. लागत मैप में सभी मानों का योग. |