लागत का मॉडल

लागत की प्रॉपर्टी, ShipmentModel.shipments.Shipment और ShipmentModel.vehicles.Vehicle के तहत तय की जाती हैं

Route Optimization API का मुख्य मकसद, सबसे कम लागत वाले रास्ते ढूंढना है. इसलिए, लागत मॉडल, रूट ऑप्टिमाइज़ेशन के लिए मुख्य ड्राइवर है.

लागत मॉडल, प्रॉपर्टी का एक सेट होता है. इससे ग्लोबल, वाहन, और शिपमेंट की लागत के बारे में पता चलता है.

लागत मॉडल की प्रॉपर्टी, ऑप्टिमाइज़ेशन के इन मकसद के लिए काम करती हैं:

  • गाड़ियों और रास्तों को बेहतर तरीके से असाइन करना
  • किफ़ायती पिकअप और डिलीवरी में लगने वाला समय
  • ज़रूरी शिपमेंट को प्राथमिकता देना

बनावट

डायग्राम में दिखाए गए तरीके से, लागत मॉडल की प्रॉपर्टी को इस तरह व्यवस्थित किया जाता है:

इस दस्तावेज़ में, सिर्फ़ ज़रूरी लागत मॉडल पैरामीटर हाइलाइट किए गए हैं. लागत के सभी पैरामीटर के बारे में जानने के लिए, रेफ़रंस दस्तावेज़ देखें.

Essentials की चेकलिस्ट

यहां दी गई चेकलिस्ट में, ज़रूरी जानकारी के बारे में बताया गया है. इससे लागत से जुड़ी संभावित गलतियों को रोका जा सकता है. इस सूची से, आपको अपने अनुरोध की पुष्टि करने और जवाब से जुड़ी समस्या को हल करने में मदद मिल सकती है.

प्रॉपर्टी

यहां दी गई टेबल में, लागत मॉडल की प्रॉपर्टी के बारे में बताया गया है.

Parent प्रॉपर्टी का नाम प्रॉपर्टी किस तरह की है हर प्रॉपर्टी की जानकारी
Shipment penaltyCost संख्या शिपमेंट रोक दिया गया है शिपमेंट स्किप करने पर लगने वाला शुल्क.
अगर शिपमेंट पूरा करने की लागत, पेनल्टी की लागत से ज़्यादा है, तो एपीआई उस शिपमेंट को छोड़ देता है.
  • penaltyCost सेट करने से, ज़्यादा शुल्क वाले शिपमेंट को प्राथमिकता दी जाती है.
  • शिपमेंट penaltyCost को सेट न करने पर, शिपमेंट ज़रूरी हो जाता है.
  • शिपमेंट के लिए 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: सभी रास्तों के कुल किराये को जोड़कर यह कीमत तय की जाती है.