लागत का मॉडल

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