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