Route Optimization API का मुख्य मकसद, सबसे कम लागत वाले रास्ते ढूंढना है. इसलिए, लागत मॉडल, रूट ऑप्टिमाइज़ेशन के लिए मुख्य ड्राइवर है.
लागत मॉडल, प्रॉपर्टी का एक सेट होता है. इससे ग्लोबल, वाहन, और शिपमेंट की लागत के बारे में पता चलता है.
लागत मॉडल की प्रॉपर्टी, ऑप्टिमाइज़ेशन के इन मकसद के लिए काम करती हैं:
- गाड़ियों और रास्तों को बेहतर तरीके से असाइन करना
- किफ़ायती पिकअप और डिलीवरी में लगने वाला समय
- ज़रूरी शिपमेंट को प्राथमिकता देना
बनावट
डायग्राम में दिखाए गए तरीके से, लागत मॉडल की प्रॉपर्टी को इस तरह व्यवस्थित किया जाता है:
Shipment
मेंpenaltyCost
प्रॉपर्टी शामिल है.Vehicle
में ये प्रॉपर्टी शामिल हैं:
इस दस्तावेज़ में, सिर्फ़ ज़रूरी लागत मॉडल पैरामीटर हाइलाइट किए गए हैं. लागत के सभी पैरामीटर के बारे में जानने के लिए, रेफ़रंस दस्तावेज़ देखें.
Essentials की चेकलिस्ट
यहां दी गई चेकलिस्ट में, ज़रूरी जानकारी के बारे में बताया गया है. इससे लागत से जुड़ी संभावित गलतियों को रोका जा सकता है. इस सूची से, आपको अपने अनुरोध की पुष्टि करने और जवाब से जुड़ी समस्या को हल करने में मदद मिल सकती है.
प्रॉपर्टी
यहां दी गई टेबल में, लागत मॉडल की प्रॉपर्टी के बारे में बताया गया है.
Parent | प्रॉपर्टी का नाम | प्रॉपर्टी किस तरह की है | हर | प्रॉपर्टी की जानकारी |
---|---|---|---|---|
Shipment |
penaltyCost |
संख्या | शिपमेंट रोक दिया गया है | शिपमेंट स्किप करने पर लगने वाला शुल्क. अगर शिपमेंट पूरा करने की लागत, पेनल्टी की लागत से ज़्यादा है, तो एपीआई उस शिपमेंट को छोड़ देता है.
|
Vehicle |
fixedCost |
संख्या | शिपमेंट | अगर इस वाहन का इस्तेमाल शिपमेंट को हैंडल करने के लिए किया जाता है, तो तय की गई लागत लागू होती है. |
costPerHour |
संख्या | घंटा | वाहन को हर घंटे चलाने की लागत. इसमें ट्रांज़िट, इंतज़ार, विज़िट, और ब्रेक का समय शामिल है. लागत बढ़ने पर, ऑप्टिमाइज़र ऐसे तेज़ रास्ते ढूंढने की कोशिश करता है जो सबसे छोटे रास्ते नहीं हो सकते. यह प्रॉपर्टी, वाहन के हिसाब से लागत की जानकारी देने वाली एक असरदार प्रॉपर्टी हो सकती है. इसकी वजह यह है कि इसमें आसानी से और पूरी जानकारी दी जाती है. |
|
costPerKilometer |
संख्या | किलोमीटर | वाहन से हर किलोमीटर की यात्रा पर आने वाला खर्च. जैसे, ईंधन का खर्च और वाहन के रखरखाव का खर्च. | |
costPerTraveledHour |
संख्या | घंटा | यात्रा के दौरान, हर घंटे वाहन चलाने की लागत. इसमें इंतज़ार, विज़िट, और ब्रेक के समय को शामिल नहीं किया जाता. इससे छोटे रास्तों के बजाय, यात्रा के तेज़ रास्तों को प्राथमिकता दी जाती है. |
उदाहरण
इस सेक्शन में, तीन तरह के उदाहरण दिए गए हैं:
- कोड के सैंपल, जिनमें लागत मॉडल की प्रॉपर्टी का स्ट्रक्चर दिखाया गया है.
- उदाहरण के तौर पर एक ऐसा परिदृश्य दिखाया गया है जिसमें कारोबार के लक्ष्य को हासिल करने के लिए, लागत मॉडल की प्रॉपर्टी का इस्तेमाल करने का एक तरीका बताया गया है.
- अनुरोध का उदाहरण, जिसमें उदाहरण के तौर पर दिए गए सिनेरियो में सेट की गई वैल्यू शामिल हैं.
कोड सैंपल
यहां दिए गए कोड सैंपल में, Shipment
में मौजूद लागत मॉडल की प्रॉपर्टी का स्ट्रक्चर दिखाया गया है:
{ "model": { "shipments": [ ... { "penaltyCost": PENALTY_COST } ], "vehicles": [ ... ] } }
यहां दिए गए कोड सैंपल में, Vehicle
में मौजूद लागत मॉडल की प्रॉपर्टी का स्ट्रक्चर दिखाया गया है:
{ "model": { "shipments": [ ... ], "vehicles": [ ... { "fixedCost": FIXED_COST, "costPerKilometer": KILOMETER_COST, "costPerHour": HOUR_COST, "costPerTraveledHour": TRAVELED_HOUR_COST } ] } }
उदाहरण के तौर पर
इस सेक्शन में, डॉगी डेकेयर के कारोबार का एक उदाहरण दिया गया है. आपको उस ट्रक के लिए रास्ता ऑप्टिमाइज़ करना है जिसका इस्तेमाल कुत्तों को उनके घरों से पिक अप करने के लिए किया जाता है. इस स्थिति में, आपको ऑप्टिमाइज़र से यह उम्मीद होगी कि वह कुत्तों को पिक अप करने और वाहन चलाने से जुड़ी लागत को ध्यान में रखकर रूट तय करे.
इस उदाहरण में, लागत की एक यूनिट का मतलब एक डॉलर है. इसका मतलब है कि आपके अनुरोध में, लागत मॉडल प्रॉपर्टी की वैल्यू ये हैं:
प्रॉपर्टी | मान | स्थिति |
---|---|---|
penaltyCost |
10 | इससे पता चलता है कि आपने अपने खरीदारों को, तय किए गए दिन पर कुत्ता न लेने पर कितना जुर्माना लगाया है. अगर आपने तय किए गए दिन कुत्ते को पिकअप नहीं किया, तो ग्राहक को सेवा के कुल शुल्क पर 40 डॉलर की छूट मिलती है. |
fixedCost |
30 | यह वाहन के लिए लिए गए लोन की रोज़ की किस्त को दिखाता है. यह हर दिन 30 डॉलर है. |
costPerKilometer |
0.08 | इससे पता चलता है कि आपकी गाड़ी एक किलोमीटर में कितना पेट्रोल खर्च करती है. आपके वाहन को चलने के लिए, हर किलोमीटर पर 0.04 गैलन ईंधन की ज़रूरत होती है. साथ ही, आपके इलाके में एक गैलन ईंधन की कीमत 2 डॉलर है. |
costPerHour |
27 | इससे पता चलता है कि आपने ड्राइवर को गाड़ी चलाने के लिए कितना किराया दिया. आपने ड्राइवर को हर घंटे के हिसाब से 27 डॉलर का पेमेंट किया. |
costPerTraveledHour |
2.5 | इससे पता चलता है कि सड़क पर यात्रा के दौरान, कुत्तों के लिए वाहन में एयर कंडीशनिंग की सुविधा इस्तेमाल करने पर, आपको हर घंटे कितना शुल्क देना होगा. जब वाहन नहीं चल रहा हो, तब ड्राइवर पीछे के दरवाज़े खोल सकता है और एयर कंडीशनर बंद कर सकता है. |
लागत के पैरामीटर के आधार पर, ऑप्टिमाइज़र ऐसे फ़ैसले ले सकता है जो उपयोगकर्ता को साफ़ तौर पर नहीं दिखते, लेकिन ऑप्टिमाइज़ेशन के ज़रिए पता लगाए जा सकते हैं.
इस डायग्राम में एक उदाहरण दिखाया गया है. इसमें ऑप्टिमाइज़र, बिंदी वाली लाल लाइन पर ट्रैफ़िक से बचने के लिए, हरी डैश वाली लाइन से लंबा लेकिन तेज़ रास्ता चुन सकता है.
इस उदाहरण में, दोनों रास्तों के लिए लागत का बैलेंस इस तरह है:
हरी डैश वाली लाइन में
costPerHour
औरcostPerTraveledHour
कम है, क्योंकि यह ट्रैफ़िक से बचने वाला तेज़ रास्ता है. यह ज़्यादा किफ़ायती भी है, भले हीcostPerKilometer
ज़्यादा हो.लाल रंग की डॉटेड लाइन का
costPerKilometer
कम है, क्योंकि यह सीधा रास्ता है. हालांकि, ट्रैफ़िक में इंतज़ार के समय की वजह सेcostPerHour
औरcostPerTraveledHour
बहुत ज़्यादा है. इस वजह से, यह सबसे महंगा रास्ता है.
ऑप्टिमाइज़र, कम लागत वाले रास्ते उपलब्ध कराने के साथ-साथ, जवाब की प्रॉपर्टी में डिलीवरी के रास्तों की कुल लागत की जानकारी भी देता है.
अनुरोध का उदाहरण
इस उदाहरण में, optimizeTours
के बुनियादी अनुरोध का स्ट्रक्चर दिखाया गया है. इसमें उदाहरण के तौर पर दिए गए परिदृश्य में सेट की गई वैल्यू शामिल हैं:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] "penaltyCost": 40 } ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "fixedCost": 30, "costPerKilometer": 0.08, "costPerHour": 27, "costPerTraveledHour": 2.5 } ] } }
जवाब की प्रॉपर्टी
OptimizeToursResponse
मैसेज में, कीमत की प्रॉपर्टी होती हैं. इनमें किसी रास्ते को पूरा करने में लगने वाले खर्च के बारे में बताया जाता है:
metrics.costs
: सभी रास्तों के लिए कुल किराया, अनुरोध फ़ील्ड के हिसाब से अलग-अलग दिखाया जाता है.metrics.totalCost
: सभी रास्तों के कुल किराये को जोड़कर यह कीमत तय की जाती है.