Route Optimization API का मकसद, वाहनों के बेड़े के लिए ऐसे रास्तों की योजना बनाना है जिनसे वे कई जगहों पर जा सकें. OptimizeToursRequest ऑब्जेक्ट, इन वाहनों और जगहों की प्रॉपर्टी के बारे में बताता है. साथ ही, यह हर एंडपॉइंट के अनुरोध के मुख्य हिस्से का मुख्य स्ट्रक्चर होता है.
OptimizeToursRequest ऑब्जेक्ट का बेसिक स्ट्रक्चर इस तरह होता है:
modelफ़ील्ड मेंShipmentModelमैसेज होता है. इसमें दो मुख्य फ़ील्ड होते हैं:
इस दस्तावेज़ में, इन मैसेज टाइप के बारे में बताया गया है:
ShipmentModel: इसमें शिपमेंट, उपलब्ध वाहनों, और अन्य ऑब्जेक्ट की सूची होती है. साथ ही, इनके बीच के संबंध के बारे में जानकारी होती है.Shipment: इससे उन जगहों के बारे में पता चलता है जहां वाहन को जाना है. ये पिकअप और डिलीवरी के लिए असल पैकेज या ऐसी जगहों को दिखा सकते हैं जहां वाहन का ड्राइवर कोई सेवा देता है.Vehicle: इससे शिपमेंट की जगहों के बीच परिवहन के तरीके के बारे में पता चलता है. हर वाहन, किसी असली वाहन या पैदल चल रहे व्यक्ति से मेल खाता है.
ShipmentModel
ShipmentModel में, रूट ऑप्टिमाइज़ेशन की समस्या से जुड़े एलिमेंट शामिल होते हैं. इसमें शिपमेंट का एक सेट होता है, जिसे वाहनों के एक सेट से पूरा किया जा सकता है. साथ ही, इसमें पाबंदियों को ध्यान में रखा जाता है और कुल लागत को कम किया जाता है.
यहां दी गई टेबल में, ShipmentModel की कुछ काम की प्रॉपर्टी के बारे में बताया गया है:
| प्रॉपर्टी | ब्यौरा |
|---|---|
shipments और vehicles |
ज़रूरी ऑब्जेक्ट, जिनमें एक या उससे ज़्यादा शिपमेंट और वाहनों की जानकारी होती है. |
globalStartTime और globalEndTime |
इससे समयसीमा की शुरुआत और खत्म होने का समय पता चलता है. इस समयसीमा में सभी वाहनों को सभी शिपमेंट पूरे करने होते हैं. इन प्रॉपर्टी का इस्तेमाल करना ज़रूरी नहीं है. हालांकि, हमारा सुझाव है कि आप इनका इस्तेमाल करें, क्योंकि समयसीमा का पालन करने पर ऑप्टिमाइज़र सबसे अच्छा काम करता है. |
ShipmentModel में मौजूद प्रॉपर्टी की पूरी सूची देखने के लिए, रेफ़रंस दस्तावेज़ देखें.
ShipmentModel उदाहरण
इस उदाहरण में, आपके पास डॉगी डेकेयर की सेवा है और आपको अनुरोध बनाना है. आपको शिपमेंट और वाहनों की जानकारी बाद में देनी है, लेकिन आपको कारोबार के खुले होने का समय और हर घंटे के हिसाब से परिचालन लागत सेट करनी है.
इस उदाहरण के लिए, आपके अनुरोध में ShipmentModel प्रॉपर्टी की वैल्यू ये हैं:
| प्रॉपर्टी | मान | ब्यौरा |
|---|---|---|
globalStartTime |
2024-02-13T00:00:00.000Z | कारोबार के खुले होने के समय की शुरुआत की तारीख और समय. |
globalEndTime |
2024-02-14T06:00:00.000Z | कारोबार के खुले होने के समय के खत्म होने की तारीख और समय. |
यहां ShipmentModel मैसेज का एक कोड सैंपल दिया गया है. इसमें उदाहरण के तौर पर दी गई वैल्यू शामिल हैं.
{ "model": { "shipments": [ ... ], "vehicles": [ ... ], "globalStartTime": "2024-02-13T00:00:00.000Z", "globalEndTime": "2024-02-14T06:00:00.000Z" } }
Shipment
Shipment मैसेज टाइप, शिपमेंट की प्रॉपर्टी के स्ट्रक्चर के बारे में बताता है. इस स्ट्रक्चर के हिसाब से, शिपमेंट को डिलीवर किया जा सकता है या किसी रूट पर सेवा दी जा सकती है.
डायग्राम में दिखाया गया है कि:
Shipmentमैसेज में, असल ज़िंदगी में शिपमेंट या सेवा से जुड़ी पूरी जानकारी होती है.- सभी
Shipmentमैसेज,shipmentsफ़ील्ड में दिए गए हैं. shipmentsफ़ील्ड में एक या कईShipmentमैसेज होते हैं.
Shipment मैसेज के लिए, कम से कम एक pickups या deliveries ऑब्जेक्ट होना ज़रूरी है.
इन ऑब्जेक्ट की परिभाषाएं यहां दी गई हैं:
pickupsसे, शिपमेंट के पिकअप करने की जगह के बारे में पता चलता है.deliveriesसे शिपमेंट की डिलीवरी की जगह के बारे में पता चलता है.pickupsऔरdeliveries, दोनों मेंVisitRequestमैसेज टाइप होता है. यह मैसेज टाइप, जगहों और अन्य जानकारी के बारे में बताता है.
नीचे दी गई टेबल में, Shipment मैसेज में pickups और deliveries के कॉन्फ़िगरेशन के आधार पर अलग-अलग स्थितियों के बारे में बताया गया है.
| स्थिति | ब्यौरा |
|---|---|
सिर्फ़ pickups |
यह मान लिया जाता है कि सिर्फ़ शिपमेंट इकट्ठा किया जा रहा है. |
सिर्फ़ deliveries |
यह माना जाता है कि आपने शिपमेंट को पहले से लोड कर दिया है या कोई सेवा डिलीवर कर रहे हैं. |
pickups और deliveries, दोनों |
जिस वाहन को टास्क असाइन किया गया है उसे सबसे पहले पिकअप करना होगा और फिर डिलीवरी करनी होगी. सिर्फ़ वह वाहन डिलीवरी कर सकता है जिसने पिकअप किया है. |
एक से ज़्यादा pickups या deliveries |
अगर किसी शिपमेंट के लिए pickups या deliveries के कई विकल्प उपलब्ध हैं, तो ऑप्टिमाइज़र पिकअप के लिए एक विकल्प और डिलीवरी के लिए एक विकल्प चुनता है. ऐसा, लागत को कम करने और शर्तों को पूरा करने के आधार पर किया जाता है. |
Shipment में मौजूद प्रॉपर्टी की पूरी सूची देखने के लिए, रेफ़रंस दस्तावेज़ देखें.
Shipment उदाहरण
इस उदाहरण में, आपके पास डॉगी डेकेयर की सेवा है. इसमें आपको कुत्तों को उनके घर से पिक अप करना होता है और उन्हें अपने डेकेयर में डिलीवर करना होता है. आपको दो कुत्तों के पिक अप करने की जगह सेट करनी है. साथ ही, उनकी डिलीवरी की जगह के तौर पर अपने कारोबार की जगह सेट करनी है:
- पहले कुत्ते का घर सैन फ़्रांसिस्को के कॉइट टॉवर में है. इस जगह के निर्देशांक, अक्षांश 37.8024 और देशांतर -122.4058 हैं.
- दूसरा डॉग पार्क सैन फ़्रांसिस्को के साउथ सनसेट प्लेग्राउंड पार्क में है. इस जगह के निर्देशांक, अक्षांश 37.7359 और देशांतर -122.5011 हैं.
- आपका पालतू जानवरों का देखभाल केंद्र, सैन फ़्रांसिस्को के मिशन डोलोरेस पार्क में है. इस जगह के निर्देशांक, अक्षांश 37.759773 और देशांतर -122.427063 हैं.
यहां Shipment मैसेज का कोड सैंपल दिया गया है. इसमें shipments ऑब्जेक्ट में, उदाहरण के तौर पर दिए गए कोऑर्डिनेट के साथ दो Shipment मैसेज टाइप शामिल हैं.
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] }, { "pickups": [ { "arrivalLocation": { "latitude": 37.7359, "longitude": -122.5011 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] } ], "vehicles": [ ... ] } }
Vehicle
Vehicle मैसेज टाइप, किसी ऐसे वाहन की प्रॉपर्टी के स्ट्रक्चर के बारे में बताता है जो किसी रूट पर शिपमेंट कर सकता है.
डायग्राम में दिखाया गया है कि:
Vehicleमैसेज में, असल वाहन की पूरी जानकारी होती है.- सभी
Vehicleमैसेज,vehiclesफ़ील्ड में दिए गए हैं. vehiclesफ़ील्ड में कईVehicleमैसेज मौजूद हैं.
यहां दी गई टेबल में, Vehicle की कुछ काम की प्रॉपर्टी के बारे में बताया गया है.
| प्रॉपर्टी | ब्यौरा |
|---|---|
startLocation और endLocation |
ऑप्टिमाइज़ किए गए फ़ाइनल रूट में शामिल वाहनों की शुरू और खत्म होने की जगह. अगर इन्हें तय नहीं किया जाता है, तो ये डिफ़ॉल्ट रूप से, पहले शिपमेंट को पिकअप करने और आखिरी शिपमेंट को डिलीवर करने की जगहों के हिसाब से सेट हो जाते हैं. |
costPerHour, costPerKilometer, costPerTraveledHour |
वाहन के हिसाब से लागत के पैरामीटर. हमारा सुझाव है कि एपीआई से ऑप्टिमाइज़ किया गया रूट पाने के लिए, आपके अनुरोध में कम से कम एक लागत पैरामीटर होना चाहिए. लागत के बारे में ज़्यादा जानने के लिए, लागत मॉडल का मुख्य सिद्धांत देखें. |
startTimeWindows और endTimeWindows |
समय अवधि तय करें, जिसके दौरान कोई वाहन किसी रूट पर चल सकता है. ये globalStartTime और globalEndTime, ShipmentModel में सेट की गई टाइम विंडो के बीच होने चाहिए. हालांकि, इस प्रॉपर्टी को शामिल करना ज़रूरी नहीं है, लेकिन इसे शामिल करने का सुझाव दिया जाता है. ऐसा इसलिए, क्योंकि समयसीमा का पालन करने पर ऑप्टिमाइज़र सबसे अच्छा काम करता है. |
Vehicle उदाहरण
इस उदाहरण में, आपके पास डॉगी डेकेयर की सेवा है. आपको दिन की शुरुआत और आखिर में, अपने वाहन की जगह की जानकारी देनी है. साथ ही, यह बताना है कि वाहन में कितना पेट्रोल खर्च हुआ. आपको वाहन के काम करने के घंटे बताने की ज़रूरत नहीं है, क्योंकि वे ShipmentModel ऑब्जेक्ट में globalStartTime और globalEndTime प्रॉपर्टी में बताए गए घंटों से मेल खाते हैं.
इस उदाहरण के लिए, आपके अनुरोध में Vehicle प्रॉपर्टी की वैल्यू ये हैं:
| प्रॉपर्टी | मान | ब्यौरा |
|---|---|---|
startLocation |
latitude: 37.759773, longitude: -122.427063 |
आपकी गाड़ी के रास्ते के शुरुआती निर्देशांक. ये कीवर्ड, सैन फ़्रांसिस्को के मिशन डोलोरेस पार्क में मौजूद आपके पालतू जानवरों के देखभाल केंद्र की जगह से मेल खाते हैं. |
endLocation |
latitude: 37.759773, longitude: -122.427063 |
आपकी गाड़ी के रास्ते के आखिरी निर्देशांक. ये कीवर्ड, सैन फ़्रांसिस्को के मिशन डोलोरेस पार्क में मौजूद आपके पालतू जानवरों के देखभाल केंद्र की जगह से मेल खाते हैं. |
costPerHour |
27 | ड्राइवर को डॉगी डेकेयर की गाड़ी चलाने के लिए कितना पेमेंट किया जाता है. आपने ड्राइवर को हर घंटे के हिसाब से 27 डॉलर का पेमेंट किया. |
यहां Vehicle मैसेज का एक कोड सैंपल दिया गया है. इसमें उदाहरण के तौर पर दी गई वैल्यू शामिल हैं.
{ "model": { "shipments": [ ... ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "costPerHour": 27 } ] } }
Vehicle में मौजूद प्रॉपर्टी की पूरी सूची देखने के लिए, रेफ़रंस दस्तावेज़ देखें.
अनुरोध का पूरा उदाहरण
यहां दिए गए कोड सैंपल में, अनुरोध का पूरा उदाहरण दिया गया है. इसमें इस दस्तावेज़ में दिखाए गए ShipmentModel, Shipment, और Vehicle के उदाहरणों को एक साथ दिखाया गया है.
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] }, { "pickups": [ { "arrivalLocation": { "latitude": 37.7359, "longitude": -122.5011 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] } ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "costPerHour": 27 } ], "globalStartTime": "2024-02-13T00:00:00.000Z", "globalEndTime": "2024-02-14T06:00:00.000Z" } }