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" } }