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 गैलन ईंधन की ज़रूरत होती है. साथ ही, आपके इलाके में एक गैलन ईंधन की कीमत दो डॉलर है. |
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: सभी रूट की कुल लागत.