Route Optimization API का मुख्य लक्ष्य, कम से कम किराये वाले रास्ते ढूंढना है. इसलिए, लागत मॉडल, रास्ते को ऑप्टिमाइज़ करने के लिए मुख्य ड्राइवर है.
कीमत का मॉडल, प्रॉपर्टी का एक सेट होता है. इसमें ग्लोबल, वाहन, और शिपमेंट की कीमतों की जानकारी होती है.
लागत मॉडल प्रॉपर्टी, ऑप्टिमाइज़ेशन के इन मकसदों के साथ काम करती हैं:
- वाहन के असाइनमेंट और रास्ते तय करना
- पिकअप और डिलीवरी में लगने वाला समय किफ़ायती हो
- ज़रूरी शिपमेंट को प्राथमिकता देना
बनावट
डायग्राम में दिखाए गए तरीके से, लागत मॉडल प्रॉपर्टी को व्यवस्थित किया जाता है:
Shipment
मेंpenaltyCost
प्रॉपर्टी शामिल है.Vehicle
में ये प्रॉपर्टी शामिल हैं:
इस दस्तावेज़ में, सिर्फ़ लागत मॉडल के ज़रूरी पैरामीटर हाइलाइट किए गए हैं. लागत पैरामीटर के पूरे सेट के लिए, रेफ़रंस दस्तावेज़ देखें.
ज़रूरी शर्तों की चेकलिस्ट
यहां दी गई चेकलिस्ट में, ज़रूरी जानकारी दी गई है. इससे, लागत से जुड़ी संभावित गलतियां होने से बचती हैं. इस सूची से, आपको अपने अनुरोध की पुष्टि करने और जवाब से जुड़ी समस्या हल करने में मदद मिल सकती है.
प्रॉपर्टी
यहां दी गई टेबल में, लागत मॉडल की प्रॉपर्टी की सूची दी गई है और उनके बारे में जानकारी दी गई है.
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
: सभी रास्तों की कुल लागत.