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 मैसेज टाइप में, शिपमेंट की प्रॉपर्टी के स्ट्रक्चर के बारे में बताया जाता है. इसे किसी रूट पर डिलीवर किया जा सकता है या इस रूट पर कोई सेवा दी जा सकती है.
जैसा कि डायग्राम में दिखाया गया है:
- A
Shipmentमैसेज में, असल शिपमेंट या सेवा की पूरी जानकारी होती है. shipmentsफ़ील्ड में, सभीShipmentमैसेज की जानकारी दी जाती है.- The
shipmentsफ़ील्ड में, एक या एक से ज़्यादाShipmentमैसेज होते हैं.
A Shipment मैसेज के लिए, कम से कम एक pickups या deliveries ऑब्जेक्ट होना ज़रूरी है.
इन ऑब्जेक्ट की परिभाषाएं यहां दी गई हैं:
pickupsमें, शिपमेंट के पिकअप की जगह की जानकारी होती है.deliveriesमें, शिपमेंट की डिलीवरी की जगह की जानकारी होती है.pickupsऔरdeliveries, दोनों मेंVisitRequestमैसेज टाइप होता है. इसमें जगहों और अन्य जानकारी के बारे में बताया जाता है.
नीचे दी गई टेबल में, कॉन्फ़िगरेशन
के आधार पर pickups और deliveries के अलग-अलग स्थितियों के बारे में बताया गया है, जो Shipment मैसेज में हैं.
| स्थिति | ब्यौरा |
|---|---|
सिर्फ़ 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 मैसेज टाइप में, वाहन की प्रॉपर्टी के स्ट्रक्चर के बारे में बताया जाता है. यह वाहन, किसी रूट पर शिपमेंट कर सकता है.
जैसा कि डायग्राम में दिखाया गया है:
- A
Vehicleमैसेज में, असल वाहन की पूरी जानकारी होती है. vehiclesफ़ील्ड में, सभीVehicleमैसेज की जानकारी दी जाती है.- The
vehiclesफ़ील्ड में, एक से ज़्यादाVehicleमैसेज होते हैं.
नीचे दी गई टेबल में, Vehicle की कुछ ज़रूरी प्रॉपर्टी के बारे में बताया गया है.
| प्रॉपर्टी | ब्यौरा |
|---|---|
startLocation और endLocation |
वाहनों की शुरू और खत्म होने की जगह. ये जगहें, ऑप्टिमाइज़ किए गए फ़ाइनल रूट का हिस्सा होती हैं. अगर इन्हें तय नहीं किया जाता है, तो डिफ़ॉल्ट रूप से, ये पहले शिपमेंट के पिकअप और आखिरी शिपमेंट की डिलीवरी की जगहें होती हैं. |
costPerHour, costPerKilometer, costPerTraveledHour |
वाहन के लिए लागत के पैरामीटर. हमारा सुझाव है कि एपीआई से ऑप्टिमाइज़ किया गया रूट पाने के लिए, आपके अनुरोध में कम से कम एक लागत पैरामीटर होना चाहिए. लागत के बारे में ज़्यादा जानने के लिए, लागत मॉडल का मुख्य कॉन्सेप्ट देखें. |
startTimeWindows और endTimeWindows |
समयावधि तय करें, जब कोई वाहन किसी रूट पर चल सकता है. ये टाइम पीरियड, ShipmentModel में सेट की गई globalStartTime और globalEndTime टाइम विंडो के अंदर होने चाहिए. हालांकि, यह प्रॉपर्टी ज़रूरी नहीं है, लेकिन इसे शामिल करने का सुझाव दिया जाता है. इसकी वजह यह है कि टाइम कंस्ट्रेंट के हिसाब से काम करने पर, ऑप्टिमाइज़र बेहतर तरीके से काम करता है. |
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" } }